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

[二次开发] python设置顶点或节点集合问题

[复制链接]
发表于 2010-6-8 10:04:12 | 显示全部楼层 |阅读模式 来自 江西抚州
随便画了个三角形线框3D模型,想选取其中某个顶点或对应node的坐标,为此想建立该点的set,虽然可以用frommask,但是因为要用于Python参数化循环优化计算,该处的坐标每次循环都会变化,所以想用findAt做:
以下是我的思路:

a=mdb.models['Model-1'].rootAssembly
b=mdb.models['Model-1'].rootAssembly.instances['Part-1-1'].vertices
c=b.findAt(坐标)
a.Set(vertices=c,name='set-1')

前三条语句都过了,就最后一条老报错,提示信息如下:
TypeError: keyword error on vertices

后我直接在CAE里做了一个,rpy文件里的对应代码如下:
a = mdb.models['Model-1'].rootAssembly
v1 = a.instances['Part-1-1'].vertices
verts1 = v1.getSequenceFromMask(mask=('[#1 ]', ), )
a.Set(vertices=verts1, name='Set-1')

我就纳闷了,同样是vertices啊,怎么我的就不行了呢?求教高手
 楼主| 发表于 2010-6-8 10:05:33 | 显示全部楼层 来自 江西抚州
Simdroid开发平台
另外,我找了下帮助,node好像没用提到findAt,是不是不能用?
回复 不支持

使用道具 举报

发表于 2010-6-8 17:07:28 | 显示全部楼层 来自 上海
本帖最后由 yanzongbao110 于 2010-6-8 17:08 编辑

2# lj2009jl

我可以回答一下顶点的定义集合。
你可以将你上面的语句改一下,至于为什么,你要查python的书了。
这是最基本的“类型”问题。我也在此被绊了不少时间,呵呵。。。
脚本如下:

a=mdb.models['Model-1'].rootAssembly
b=mdb.models['Model-1'].rootAssembly.instances['Part-1-1'].vertices- v) p% h- @: P; t
c=b.findAt(((坐标),),)
a.Set(vertices=c,name='set-1')
,
oicW/ m! C,

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-6-8 17:34:06 | 显示全部楼层 来自 上海
2# lj2009jl

刚查了下帮助,单元与节点的集合定义采用“编号”,没有findAt方法。
回复 不支持

使用道具 举报

 楼主| 发表于 2010-6-9 09:58:09 | 显示全部楼层 来自 江西抚州
谢谢版主大大,我马上去试
回复 不支持

使用道具 举报

 楼主| 发表于 2010-6-9 10:38:00 | 显示全部楼层 来自 江西抚州
按版主的办法试成功了,谢谢版主
回复 不支持

使用道具 举报

发表于 2010-12-16 21:54:17 | 显示全部楼层 来自 上海
想请教大家,楼上的方法是不是适合于选择单个节点?如果想选择某个截面上的多个节点,该如何操作呢?有没有一个命令可以选择某个面上的所有节点呢?
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 03:27 , Processed in 0.052159 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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