首页/文章/ 详情

ANSA二次开发之一键创建边界条件

1年前浏览1053

        大家新年好呀,最近空闲的时间,我都在研究ANSA在LSDYNA求解器下的二次开发。

所以最近的大部分文章更新都是和ANSA的二次开发相关的内容,我会慢慢的教大家怎么去开发一个个的小功能,最后把这些小功能组合起来,开发出一个大型的脚本。

万事开头难,所以我们就从简单的基础的来,这次就先创建一个边界条件。

有这个想法的原因是,我觉得从ANSA原本的界面里,找BOUNDARY这个按钮太麻烦了。

所以干脆自己写了一个,拿出来自己用,等到时候要用了,直接点就行。

请看效果;

下面请看代码:

import ansa

from ansa import base

from ansa import constants

@ansa.session.defbutton("Script", "BOUNDARY")

def BOUNDARY():

deck=constants.LSDYNA

cset=base.CollectEntities(deck,None,"SET")


n=cset[-1]._id


set_nodes=base.PickEntities(deck, "NODE")

node_set=base.CreateEntity(deck,  'SET',{'SID':n+1})

base.AddToSet(node_set, set_nodes)


val={"NSID":n+1,"c":"123456"}

base.CreateEntity(deck,  'BOUNDARY_SPC(SET)',val)



下面我就开始讲一下用到的几个函数,这些函数在我们后面的二次开发中还会频繁使用,所以我们要掌握好他的使用方法。

base.CollectEntities这个函数可以收集实体,我用他先来收集一下SET。

看一下SET的编号,为后面创建的nodes_set做准备。

base.PickEntities这个函数可以让我们用鼠标选择实体,这里就是用来选择做约束的节点了。

base.CreateEntity这个函数可以让我们创建实体,这里就用他来创建SET和BOUNDARY。

base.AddToSet这个函数可以让我们把前面鼠标选择的节点放到我们创建的SET里。

可以看到,这么简单的一个小脚本里,我就用了四个函数。说明这四个函数的使用还是很频繁的。

今天的教学就到这里,本文完。



来源:FEAer
二次开发ANSA
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-01-30
最近编辑:1年前
FEAer
本科 | CAE工程师 到点就下班的CAE打工人
获赞 71粉丝 97文章 80课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈