本文摘要(由AI生成):
本文主要介绍了SCDM中进行特征操作之前,需要指定需操作的几何实体特征,并详细介绍了Selection类下的Create方法,以及Doc对象引用的三种方式:Smart Variable、Index和Ray。此外,还介绍了Selection类的常用方法和多对象选择,并通过案例操作演示了如何移动元件中小于或等于1.5e-5m3的所有主体到相同元件,并将元件重命名为“smallBodies”;移动组件中体积大于1.5e-5m3的所有主体到相同元件,并将元件重命名为“bigBodies”。
在SCDM中进行特征操作(如拉动、移动、填充、组合等)之前,都需要我们指定需操作的几何实体特征。例如,使用拉伸工具将面拉伸为体,需要先指定源面;同样在SCDM脚本建模中,使用特征生成方法时,我们需要先传入Selection实例对象作为参数,所以对象选择是SCDM二次开发中非常重要的操作。
在SCDM图形界面中,可以通过鼠标左键单击选择几何对象,选择对象就会以高亮形式显示。而在SCDM脚本建模中,需要调用Selection类下的Create方法,可以获得Selection实例,方法使用如下所示。
Selection.Create方法提供4种重载(Overload)形式,可以传递不同的参数,但参数都是以Doc对象为基础的,不同参数说明如下:
IDocObject:表示单个Doc对象,如IDesignBody-实体、IDesignFace-面、IDesignEdge-边等。
IDocObject[]:表示多个Doc对象集 合,类型为ICollection<IDocObject>。
IEvalSmartVariable:表示智能变量创建的脚本对象集 合。
IEnumerable<IDocObject>:表示给定Doc对象列表。
有三种方式引用实体(Entity)对象:Smart Variable(智能变量)、Index(索引)和Ray(射线)。
可以通过脚本编辑器中“插入选项”,将选中的几何实体对象作为脚本插入到脚本窗口中。
通过更改“插入选项”下的实体引用方式,可以插入以下三种不同引用方式的脚本命令,如下所示。
下面我们详细介绍以上三种对象引用方式。
2.1 Smart Variable
SCDM脚本录制时默认方法,通过智能变量引用Doc对象。智能变量存储的信息比任何其他类型都多,并且在几何更改期间匹配所选实体时更加健壮。智能变量是SCDM在后台创建的变量,包含有关所选项的大量数据;要想使用智能变量,脚本必须保存为.scscript文件(而不是.py文件:会丢失变量信息)。
2.2 Index – 索引
通过Doc对象的父子关系,通过选定实体的内部索引引用Doc对象;父子对象的访问方法我们在上一篇文章有详细解析。推荐在脚本录制和二次开发时使用索引引用的方式。
2.3 Ray – 射线
通过创建射线端点(Point)和指定方向(Direction)生成射线矢量,射线会穿过实体对象与之相交,通过相交的位置引用Doc对象。具体使用方法如下图所示。
案例解析:如下所示为长宽高都为100mm的正方体,在其顶面上方创建坐标点pt-(50, 50, 200),接着创建方向矢量dir-(0, 0, -1),通过调用RayFire.Fire方法,并给定参数pt和dir,可得到射线相交的Doc对象集 合(1主体,2面)。
3.1 常用方法
Selection类中常用方法如下所示,更多方法及详细使用细节可参考脚本开发文档。
3.2 多对象选择
在图形操作中,可以Ctrl+单击选择多个对象;在脚本建模中,同样支持多个Doc对象的选择。
相同类型的Doc对象选择方法如下:
混合类型Doc对象选择方法如下:
通过脚本命令实现:移动元件中小于或等于1.5e-5m3的所有主体到相同元件,并将元件重命名为“smallBodies”;移动组件中体积大于1.5e-5m3的所有主体到相同元件,并将元件重命名为“bigBodies”。
以上是这期的全部内容,大家有什么疑问和建议,欢迎文章后留言交流哦。