点的类型
ABAQUS内置的点对象主要有以下几种:
- Vertex
- Datum point
- MeshNode
- ReferencePoint
Vertex指的边顶点和封闭圆上的标记点,比如图中的封闭圆孔边,具有一个顶点,该顶点的位置就是草图中用于确定半径的点。
另外还有一种临时点对象:InterestingPoint
(关键点),关键点既然是临时对象,那就无法通过脚本数据库进行访问,只能用于生成其他对象,比如在圆孔中心或者边的重点生成参考点。关键点位于以下位置:
- 边的中点
- 圆弧的中点
- 圆弧的圆心
关键点的分布见下图,其中顶点已被高亮,未高亮部分均为关键点。
需要注意的是是,图中在过滤器中已经选择了Vertices,但是依然可以通过点击任意一个关键点来生成参考点,这应该是abaqus中的一个小bug,并不是说关键点也属于vertices(顶点)。我们通过len
函数可以获取顶点数量如下,可见,图中只有10个顶点,分别是两端面4个、两个封闭圆边上各一个,即上图中高亮部分。
>>> len(v2)
10
其余的点对象无用作过多介绍。
获取点的坐标
在编写脚本经常需要访问点的坐标,其中Vertex
、Datum point
都具有pointOn
的成员属性,可以直接通过下标获取其坐标值,MeshNode
具有coordinates
成员函数,也可获取坐标值。
#打印顶点坐标
>>> v1=mdb.models['Model-1'].parts['Part-1'].vertices
>>> for each in v1:
... each.pointOn
...
((23.75, 16.25, 20.0),)
((23.75, -15.0, 20.0),)
((23.75, -15.0, 0.0),)
......
#通过成员属性访问节点坐标
>>> for each in mdb.models['Model-1'].parts['Part-1'