- 积分
- 0
- 注册时间
- 2011-6-8
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2017-4-9 10:32:19
|
显示全部楼层
来自 重庆沙坪坝区
findAt()只是一个选取点的函数,找的对象可以是point,edge,plane/face 和cell。至于怎么选取cell,实际上你的问题应该是怎么访问cell。知道怎么访问上面这些对象,就知道怎么选取他们了。我就举个cell访问方法的例子吧,其访问方法如下:
import part
mdb.models[name].parts[name].allInternalSets[name].cells
mdb.models[name].parts[name].allSets[name].cells
mdb.models[name].parts[name].cells
mdb.models[name].parts[name].sets[name].cells
import assembly
mdb.models[name].rootAssembly.allinstances.cells
mdb.models[name].rootAssembly.allinstances.sets[name].cells
mdb.models[name].rootAssembly.allInternalSets[name].cells
mdb.models[name].rootAssembly.allSets[name].cells
mdb.models[name].rootAssembly.instances[name].cells
mdb.models[name].rootAssembly.instances[name].sets[name].cells
mdb.models[name].rootAssembly.modelInstances.sets[name].cells
mdb.models[name].rootAssembly.sets[name].cells
上面分别是part中的cell和assembly中的cell,各自有很多类型,对应着各自的访问语句。以上面划横线的那种cell为例,用findAt()来访问就是:
mdb.models[name].parts[name].cells.findAt(1,1,0)
上面这条语句就是选取一个cell,这个cell是所框出来的空间包含坐标点(1,1,0)或者离这个坐标点非常非常近。如果你要选取多个cells,也可以用这个函数一次实现。例如下面语句就是选取了myCrackedBlockInstance在坐标点(0,0,0),(1, 1, 1), (-1, -1, -1)处的三个cells并将他们返回给cells1这个变量.
cells1 = myCrackedBlockInstance.cells.findAt(((0, 0, 0),),
((1, 1, 1),),
((-1, -1, -1),),)
至于point,edge和face等的选取,你参看ABAQUS用户手册programming部分专门有findAt函数的讲解。
|
|