- 论坛徽章:
- 0
|
10可用积分
本帖最后由 zhanshenchuanyu 于 2010-09-20 20:34 编辑
ABAQUS有限元软件二次开发时用到Python语言,对于一个三维离散的模型(其中叫孤立网格),
如图所示
如果建立整体的集合,我可以遍历其中的节点和单元,已经实现。
有没有好的思路或算法,得到外表面的集合。
如果是手工选取的命令作为参考进行编程,不过生成的脚本文件中看到一系列数字代码,
具体代码如下,中间face1Elements-face6Elements 是具体的数字,并不规则得选
了六块,没有全列出,供参考:
p = mdb.models['Model3D'].parts['ThreeDPartMesh']
f = p.elements
face1Elements = f.getSequenceFromMask(mask=('[#ffffffff:3 #3fffffff ]', ), )
face2Elements = f.getSequenceFromMask(mask=(
'[#0:153 #fffc0000 #ffffffff:3 #ffff ]', ), )
face3Elements = f.getSequenceFromMask(mask=('[#20 #1040 #0:2 #8 #410 #0:2 #2',
' #104 #0 #80000000 #0 #41 #0 #20000000', ……
' #4000000 #1 #0 #800000 #41000000 ]', ), )
face4Elements = f.getSequenceFromMask(mask=(……
face5Elements = f.getSequenceFromMask(mask=……
face6Elements=……
p.Surface(face1Elements=face1Elements, face2Elements=face2Elements,
face3Elements=face3Elements, face4Elements=face4Elements,
face5Elements=face5Elements, face6Elements=face6Elements,
name='Surf-outer') #建立的外表面集合名为'Surf-outer'。
各位高手,如果从编程人员的角度,是不是提出可行的算法?希望不吝赐教。 |
|