免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4739 | 回复: 1

对于一个三维模型怎么建立外表面的集合 [复制链接]

论坛徽章:
0
发表于 2010-09-20 20:29 |显示全部楼层
10可用积分
本帖最后由 zhanshenchuanyu 于 2010-09-20 20:34 编辑

ABAQUS有限元软件二次开发时用到Python语言,对于一个三维离散的模型(其中叫孤立网格),
如图所示
1.jpg
如果建立整体的集合,我可以遍历其中的节点和单元,已经实现。
有没有好的思路或算法,得到外表面的集合。
如果是手工选取的命令作为参考进行编程,不过生成的脚本文件中看到一系列数字代码,
具体代码如下,中间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'。
各位高手,如果从编程人员的角度,是不是提出可行的算法?希望不吝赐教。

论坛徽章:
0
发表于 2010-09-23 11:29 |显示全部楼层
num=len(p.elementFaces[i].getElements())
if num==1:
    ok!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP