找回密码
 注册
Simdroid-非首页
查看: 430|回复: 5

[二次开发] 原创总结:ABAQUS 中PYTHON脚本代码下的面线编号初探

[复制链接]
发表于 2008-2-29 20:21:45 | 显示全部楼层 |阅读模式 来自 江苏南京
PYTHON是一种模块化的可扩展的语言,它功能强大,既可用于独立的程序,也可用于脚本程序,且适合各种领域。它含有高效率的数据结构,是一种简单但有效的面积对象的编程语言。
PYTHON的显著特点是:面向对象,适应性强,可扩展性强,可移植性强,快速建模,是一种简单易学而且不失严谨、自由的开放源码、功能强大的编程语言。
ABAQUS有限元程序通过集成脚本语言PYTHON向二次开发者提供了很多函数库。通过PYTHON语言调用这些函数库可以增强ABAQUS的交互式操作功能,绕过ABAQUS/CAE界面,直接操纵ABAQUS内核,实现建模、划分网格、指定材料属性、提交作业、后处理分析结果等操作,可以对ABAQUSGUI用户界面进行二次开发,也可以编写适合自己的脚本应用程序等。
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的编号进行确认,才能建立出自己想要的特征,ABAQUSPYTHON中对线面的编号有一套自己独特的规定,刚开始时也很摸不着头脑,这一段时间通过一个实际项目的操作,逐步摸出了一些门道,感觉ABAQUS对此的定义还是很有科学性的。
下面以拉伸的特征来具体阐述,在PYTHON中,首先要了解的是编码规则,对面线的编码都是从0开始起算的,在任意一个拉伸的实体特征中,最大的数字编号都是留给了特征草图面,而面依照顺时钟方向进行编号,线依照逆时钟的方向从小到大进行编号。如图(箭头指明特征拉伸方向):









从图中可以看出,圆形特征体拉伸是比较特殊的,没有0面,也因此可以看出,所有特征的建立都是在平面上产生生成的。
上面是对单个特征体的面线的编号的简要介绍,下面将以四边形的特征体为例具体讲述多个特征生成后的线面编号特征。
从图二中可以看出,四边形的特征体拉伸后形成的0~5编号的六个面,ABAQUSPYTHON下始终将最新生成的特征体的面编号为0~45号面在上一个特征体的面上建立,自然就没有了。编号的特点是按照特征生成的倒序进行编号。这种编号的好处就是当新的特征都是在上一个特征基础上生成时,草图面的编号就始终是0~5,而当是在别的特征面上进行新特征创作进,其面的确定公式如下:
X=i+(n-y)*z
X——草图特征面的编号
i——单个特征面编号,在0~5之间
n——新特征创建之前的特征数
y——草图面所在特征的创建顺序数
z——特征体数,图一中z=4,图二中z=5,图三中z=6
下面以图例说明,如图所示的ABCE方向拉伸,DF方向拉伸,拉伸生成顺序依次是A-B-C-D,面的编号如图标注:






图五:拉伸体的生成后的面编号
依图六对以abc面为草图面建立新特征时草图面的编号依照公式作一说明:
我们的特征体都是六面体,所以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

查看全部评分

发表于 2008-3-1 09:02:00 | 显示全部楼层 来自 北京丰台

很好

Simdroid开发平台
赞钻研精神,很有用,但我觉得靠编号还选几何体还是不够强大
回复 不支持

使用道具 举报

发表于 2008-5-6 11:01:29 | 显示全部楼层 来自 北京
初学abaqus的脚本编程,太好了。感谢lz
回复 不支持

使用道具 举报

发表于 2010-7-7 03:03:11 | 显示全部楼层 来自 德国
这个看起来还是很晕
回复 不支持

使用道具 举报

发表于 2010-7-11 13:29:00 | 显示全部楼层 来自 北京
恩 不错 不错
回复 不支持

使用道具 举报

发表于 2010-7-13 18:01:49 | 显示全部楼层 来自 江苏南京
依照LZ理论,为啥我觉得四边形特整体编号中面4和面5编号应该互调一下呢?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-28 07:20 , Processed in 0.041043 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表