首页/文章/ 详情

SCDM二次开发系列:Doc对象详解

1月前浏览6949

本文摘要(由AI生成):

本文介绍了SCDM中的Doc对象,它是几何拓扑信息的数据载体,并提供了丰富的属性和方法接口,方便用户访问和操作几何特征对象。文章详细阐述了Doc对象的组成结构,以及如何通过属性和方法访问其子对象。同时,文章还介绍了面向对象编程的思想,并以SCDM的API文档为例,解析了如何正确阅读开发文档。最后,通过案例操作展示了如何应用Doc对象进行几何模型的创建和修复。掌握Doc对象对于SCDM二次开发至关重要,希望本文能够帮助读者更好地理解和使用Doc对象。

Doc对象作为SCDM中几何拓扑信息的数据载体,是SCDM二次开发中使用次数最多的对象,提供属性和方法接口方便用户访问几何特征对象(体、面、边等),用于几何模型创建和修复,所以理解Doc对象是SCDM二次开发的基础。

1、Doc对象

SCDM中的Doc对象:设计体(Design Bodies)、设计面(Design Faces)、设计边(Design Edges)、坐标系(Coordinate Systems)、元件(Components)、基准面(Datum Plane)、基准线(Datum Lines)和基准点(Datum Points),父子结构树如下所示:

01.png

2、对象访问

SCDM脚本提供相应属性方法去访问父子结构树中的Doc对象,方法如下:

02.png

上面Doc对象访问的API详细使用方法,可以参考SCDM脚本开发文档:“API_Class_Library.chm”和“API_Scripting_Class_Library.chm”。
SCDM开发语言为C# .Net,脚本语言为基于.Net实现的IronPython,两者都是面向对象语言,所以想理解和使用好API接口,首先就需要具备面向对象的编程思想。
2.1 面向对象思想
什么是面向对象编程?
面向对象的程序设计语言以归纳如下:系统中一切事物皆为对象;对象(Object)是属性(Properties)及其方法(Methods)的封装体;对象可按其性质划分为类(Class),对象成为类的实例化。
面向对象编程的要素有哪些?
  • 类:创建一类具有相同特征的对象的模板;
  • 对象:万物皆对象,类的实例化即为对象;
  • 属性:对应着对象的状态,表示对象状态的数据结构;
  • 方法:表示对象的行为,是实现功能的关键所在;
  • 构造方法:表示创建对象时所调用的方法;
  • 继承:子类具有父类的属性和方法或者重新定义、追加属性和方法;
  • 多态:指方法的重载和方法的重写, 在相同名称的方法下,实现不同功能;
  • 封装:就是把属性和方法封装到一个类中, 通过方法来修改和执行功能;
上面介绍了面向对象的概念,接下来我们以SCDM的API文档中Part类为例,解析开发文档正确的阅读姿势
下图为Part对象对应的类Part Class,在API文档中非常详细列出了其继承关系、属性和方法。通过查看属性及方法来获取使用接口。

03.png

下图中罗列了Part对象下的属性和功能描述,详细使用方法可以点开对应属性查看。

04.png

Part类下的Bodies属性为例:通过调用Part对象下的Bodies属性,返回值类型为ICollection<DesignBody>:表示Part对象下DesignBody对象的集 合,对应Python中的列表(list)类型,接下来再通过列表索引方式就可以访问集 合中各个DesignBody对象。

05.png

2.2 访问方法
  • 列表索引
通过Doc对象属性访问其子对象,返回值为子对象列表几何,然后通过列表索引访问特定子对象,方法如下:

06.jpg

  • 对象引用

通过Doc对象方法引用返回子对象实例,如Part对象下的GetAllBodies()方法返回所有DesignBody对象集 合。

07.jpg

  • 循环遍历

08.jpg

获取Doc对象之后,可以使用对象的方法和属性;可以看以下示例。

09.jpg

3、案例操作

下面通过案例操作来加深对SCDM中Doc对象的理解。案例目标:将前缀相同的实体移动到同一元件中

10.jpg

今天分享就到这儿,小伙伴们有什么疑问和建议,欢迎文章后留言交流哦

SpaceClaim代码&命令
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2019-08-29
最近编辑:1月前
小田老师
硕士 | 仿真工程师 欢迎关注ANSYS仿真与开发!
获赞 626粉丝 3666文章 62课程 4
点赞
收藏
未登录
2条评论
达芬奇        仿真秀秀
又到了吃冷面的季节还爱吃酸菜
4年前
很细致
回复
new home
签名征集中
4年前
非常好的工程师
回复

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈