在SCDM中进行特征操作(如拉动移动填充组合等)之前,都需要我们指定需操作的几何实体特征。例如,使用拉伸工具将面拉伸为体,需要先指定源面;同样在SCDM脚本建模中,使用特征生成方法时,我们需要先传入Selection实例对象作为参数,所以对象选择是SCDM二次开发中非常重要的操作。

1、Selection概述

在SCDM图形界面中,可以通过鼠标左键单击选择几何对象,选择对象就会以高亮形式显示。而在SCDM脚本建模中,需要调用Selection类下的Create方法,可以获得Selection实例,方法使用如下所示。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a4edc7b9-66c4-42de-bae7-560d7147659a/20190911085449-01.png

Selection.Create方法提供4种重载(Overload)形式,可以传递不同的参数,但参数都是以Doc对象为基础的,不同参数说明如下:

2、Doc对象引用

有三种方式引用实体(Entity)对象:Smart Variable(智能变量)、Index(索引)和Ray(射线)。

可以通过脚本编辑器中“插入选项”,将选中的几何实体对象作为脚本插入到脚本窗口中。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/bfb59cc3-edb1-43c9-a0b6-39c5f2e07b8b/20190911085504-02.jpg

通过更改“插入选项”下的实体引用方式,可以插入以下三种不同引用方式的脚本命令,如下所示。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ef5b0397-b3f1-4d4d-b1b1-d677fc1eac78/20190911085515-03.jpg

下面我们详细介绍以上三种对象引用方式。

2.1 Smart Variable

SCDM脚本录制时默认方法,通过智能变量引用Doc对象。智能变量存储的信息比任何其他类型都多,并且在几何更改期间匹配所选实体时更加健壮。智能变量是SCDM在后台创建的变量,包含有关所选项的大量数据;要想使用智能变量,脚本必须保存为**.scscript**文件(而不是.py文件:会丢失变量信息)。

2.2 Index –索引

通过Doc对象的父子关系,通过选定实体的内部索引引用Doc对象;父子对象的访问方法我们在上一篇文章有详细解析。推荐在脚本录制和二次开发时使用索引引用的方式。