免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2829 | 回复: 1
打印 上一主题 下一主题

关于不同对象赋值的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-30 15:44 |只看该作者 |倒序浏览
5可用积分
本帖最后由 zhanshenchuanyu 于 2010-09-30 21:10 编辑

之前的一个帖子提过目的是建立一个带有网格的三维实体外表面的集合。
通过以下语句
p.Surface(face1Elements=p.elementFaces, name='Surf-outer')  
我实现了对所有面集合的建立,其中红色的p.elementFaces取的是所有的单元面,
包括外表面和内部的一起,因为只要外表面集合,所以提交任务的时候就出现了错误提示。
但是这一句的语法是没有问题的,即p.elementFaces赋到上头这句话能够生成一个这个集合,只是还不是我要的集合。
说得啰嗦点,就是我要一个和p.elementFaces同类型,但只包括其中p.elementFaces[0],p.elementFaces[n]等几个对象的集合。
之前考虑的思路是这样的
>>>p.elementFaces
['MeshFace object','MeshFace object'……'MeshFace object']
>>>type(p.elementFaces[0])
<type 'MeshFace'>
我编写程序的时候以p.elementFaces为列表处理,程序如下:
p = mdb.models['Model3D'].parts['ThreeDPartMesh'] #一个零件命名为p;
listface=[]      #认为p.elementFaces这种初始值为列表???因为看到起输出;
facenumber=len(p.elementFaces)
for i in range(facenumber):
    N=len(p.elementFaces.getElements()) #N为面所在的单元数,调试没问题;
    if N==1:
        listface+=p.elementFaces,               
p.Surface(face1Elements=listface, name='Surf-outer')#建立了一个名为'Surf-outer'的外表面。
把它当成列表只是看起来,这样建立的集合是不行的。

论坛徽章:
0
2 [报告]
发表于 2010-10-01 15:47 |只看该作者
不知所云啊。。。就不能把你的问题抽象出来么。。。

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP