- 积分
- 3
- 注册时间
- 2007-8-24
- 仿真币
-
- 最后登录
- 1970-1-1
|
PYTHON是一种模块化的可扩展的语言,它功能强大,既可用于独立的程序,也可用于脚本程序,且适合各种领域。它含有高效率的数据结构,是一种简单但有效的面积对象的编程语言。
PYTHON的显著特点是:面向对象,适应性强,可扩展性强,可移植性强,快速建模,是一种简单易学而且不失严谨、自由的开放源码、功能强大的编程语言。
ABAQUS有限元程序通过集成脚本语言PYTHON向二次开发者提供了很多函数库。通过PYTHON语言调用这些函数库可以增强ABAQUS的交互式操作功能,绕过ABAQUS/CAE界面,直接操纵ABAQUS内核,实现建模、划分网格、指定材料属性、提交作业、后处理分析结果等操作,可以对ABAQUS的GUI用户界面进行二次开发,也可以编写适合自己的脚本应用程序等。
mdb.models['Model-1'].ConstrainedSketch(gridSpacing=5.29, name='__profile__',
sheetSize=211.89, transform=
mdb.models['Model-1'].parts['Part-1'].MakeSketchTransform(
sketchPlane=mdb.models['Model-1'].parts['Part-1'].faces[4],
sketchPlaneSide=SIDE1,
sketchUpEdge=mdb.models['Model-1'].parts['Part-1'].edges[10],
sketchOrientation=RIGHT, origin=(2.5, 0.0, 20.0)))
凡是使用PYTHON语言的,对上面这段代码都不会陌生,在使用PYTHON语言编写代码时,不可避免会涉及到对模型体的线和面的操作,而每一个新特征的建立都是以一个相应的面和线为基础建立起来的,如上代码所示中faces[4]、edges[10],而在此过程中,必须对面4和线10的编号进行确认,才能建立出自己想要的特征,ABAQUS的PYTHON中对线面的编号有一套自己独特的规定,刚开始时也很摸不着头脑,这一段时间通过一个实际项目的操作,逐步摸出了一些门道,感觉ABAQUS对此的定义还是很有科学性的。
下面以拉伸的特征来具体阐述,在PYTHON中,首先要了解的是编码规则,对面线的编码都是从0开始起算的,在任意一个拉伸的实体特征中,最大的数字编号都是留给了特征草图面,而面依照顺时钟方向进行编号,线依照逆时钟的方向从小到大进行编号。如图(箭头指明特征拉伸方向):
从图中可以看出,圆形特征体拉伸是比较特殊的,没有0面,也因此可以看出,所有特征的建立都是在平面上产生生成的。
上面是对单个特征体的面线的编号的简要介绍,下面将以四边形的特征体为例具体讲述多个特征生成后的线面编号特征。
从图二中可以看出,四边形的特征体拉伸后形成的0~5编号的六个面,ABAQUS在PYTHON下始终将最新生成的特征体的面编号为0~4,5号面在上一个特征体的面上建立,自然就没有了。编号的特点是按照特征生成的倒序进行编号。这种编号的好处就是当新的特征都是在上一个特征基础上生成时,草图面的编号就始终是0~5,而当是在别的特征面上进行新特征创作进,其面的确定公式如下:
X——草图特征面的编号
i——单个特征面编号,在0~5之间
n——新特征创建之前的特征数
y——草图面所在特征的创建顺序数
z——特征体数,图一中z=4,图二中z=5,图三中z=6
下面以图例说明,如图所示的A、B、C依E方向拉伸,D依F方向拉伸,拉伸生成顺序依次是A-B-C-D,面的编号如图标注:
图五:拉伸体的生成后的面编号
依图六对以a、b、c面为草图面建立新特征时草图面的编号依照公式作一说明:
我们的特征体都是六面体,所以z=5
a面:在第一个特征体上,y=1,是第一个特征体的拉伸面,i=5,图示已经创建了4个特征,即将创建第5个新特征,n=4,由此,X=5+(4-1)*5=20,所以在此面上新建特征就是FACES[20]。
b面同理
c面:在第三个特征体上,y=3,是第三个特征体的生成面,i=4,图示已经创建了4个特征,即将创建第5个新特征,n=4,由此,X=4+(4-3)*5=9,所以在此面上新建特征就是FACES[9]。
而至于线的编号,则同样依前图所示,顺序算出即可。
开端部分参考<ABAQUS6.6在机械工程中的应用>
上面仅是我这段时间的学习的一点感悟,一家之言,欢迎大家提出自己的看法意见,交流提高. |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
评分
-
1
查看全部评分
-
|