一、Python基础入门
若想进行脚本开发,首先需要了解脚本语言,这样才能基于语言语法和特性去修改和编写脚本代码。一门编程语言核心内容包括:数据类型、操作符、流程控制、函数方法、面向对象编程等,掌握如上内容后,也就可以熟练使用它,提升工作的效率。
1、数据类型
常用数据类型包括数字、布尔、序列、集 合和字典类型,每一种数据类型该如何定义和使用方法需要掌握。
2、操作符
操作符包括算术、赋值、关系、逻辑、成员、身份运算符。
3、流程控制
流程控制包括if条件控制和for、while循环控制。
4、函数方法
函数方法是为了封装代码,提高代码块重复利用率。Python中通过def关键字定义函数,需要了解函数方法参数、返回值以及变量作用域。
5、包、模块
需要了解Python中包、模块概念,知道如何导入或定义包、模块。
6、面向对象、类编程
面向对象编程的三大特性,区分类与对象,掌握如何定义和使用类。
7、异常处理
使用try…except…else…的语法,确保代码不会在异常和错误时崩溃,提升代码稳健性。
8、文件读写操作
掌握文件读写的方法,可以外部读入几何数据。
了解脚本编辑器功能,方便我们快速编写和调试脚本代码。
API文档对应着开发过程中的武功秘籍,数据结构对应修炼心法,文档中的类方法及属性对应着招式,所以在修行前需我们了解API文档结构和SCDM数据结构,才能领悟开发文档,练就绝世神功。
1、开发文档结构
脚本中不同工具类和对象位于不同的命名空间下,常用的类罗列如下:
DocObjects类别:表示Doc对象,属于第一类对象,作为SCDM中几何实体的载体。
Modeler类别:表示Doc对象的拓扑信息,比如:DesignBody对应Body,DesignFace对应Face、DesignEdge对应Edge,同时描述对象间的连接信息。
Geometry类别:表示无 界的几何对象,如平面(Plane),直线(Line)、曲面(Surface)、空间(Space)等。
Edit Tools类别:表示编辑工具,如拉动、移动、组合、填充、草图工具等。
CommandResults类别:表示编辑工具方法返回值,如移动工具(Move)对应返回值MoveResult。
Scripting Helper类别:脚本帮助类,包括编辑模式类(ViewHelper)、几何帮助类(GeometryHelper)、测量类(MeasureHelper)等。
Power Selection类别:选择与当前所选对象特征类似或相关的对象,包括主体、面、边。
Selection类别:选择Doc对象创建Selection实例,作为方法参数传入。
2、API使用指南
关注类的方法使用功能描述;
继承关系(Inheritance Hierarchy);
类的三大成员:
① 属性(Property)
储存数据,组合起来表示类或对象当前的状态;
② 方法(Method)
表示类或对象“能做什么”、实现什么功能;
方法说明、类别、传入参数和返回值类型;
③ 事件(Event):类或对象通知其他类或对象的机制;
3、C# VS Python
SCDM的开发语言为基于.NET的C#语言,而其脚本语言为基于.NET的Python语言,二者在语法和数据结构上有很大不同,了解二者不同能帮助我们更好地使用开发文档。
文档(Document)是加载和保存模型的单元,对应于SCDM的*.scdoc格式文件。Doc对象作为SCDM中几何信息的数据载体,保存在文档中,显示在图形窗口中,可供用户选择和编辑。SCDM所有的对象和数据结构都是建立在文档基础上的,所以了解文档数据结构尤为重要。
1、文档及组件结构
文档包含组件(Part)、图纸(Drawing Sheet)、材料(Materials)、窗口(Windows)等。组件作为文档中所有Doc对象的根类,提供访问的入口。
2、Doc对象层级关系
SCDM中的Doc对象:组件(Part)、元件(Component)、设计体(Design Bodies)、设计面(Design Faces)、设计边(Design Edges)等,是父-子层级结构关系。
3、Doc对象使用指南
在SCDM中如果想编辑Doc对象,首先需要得到Doc对象的实例:通过相应属性和方法去访问父子结构树中的Doc对象,如下。
Doc对象位于开发文档中SpaceClaim.Api.V18命名空间下,类继承自DocObject类,我们需要关注Doc对象的属性、方法及扩展方法。
脚本开发中常用的Doc对象为Part、Component、DesignBody、DesignFace、DesignEdge,分别对应SCDM中的根目录、元件、几何主体、几何面、几何边。常用的属性和方法汇总如下。通过访问Doc对象属性和方法可以得到几何拓扑信息,或者通过判断几何拓扑信息选择特定几何对象。
在SCDM中进行特征操作(如拉动、移动、填充、组合等)之前,都需要我们指定需操作的几何实体特征。
1、Selection创建
在SCDM脚本建模中,需要调用Selection类下的Create方法,传入Doc对象类型数据,可以创建Selection实例,用于特征操作工具中的参数传入。
2、Power Selection创建
使用Power Selection功能,可以快速选中 特征相似或相关的主体、面、边等几何特征,方便我们轻松简化和修改几何,让脚本更加智能化。
主体选择:选择所有实体和面体,或基于主体颜色、中面厚度、表面积和体积选择相关主体特征。
面选择:选择所有内部面,或基于面积、倒角、颜色、圆角、孔洞、凸起、凹陷、同面和同轴选择相关特征面。
边选择:基于长度、方向和所在面选择相关特征的边。
搜索标准&选项:搜索标准用来定义选择的圆角类型、大小比较类型和曲面类型。选项定义强烈选择的范围。
创建Named Selection匹配几何特征,便于后续分析中的网格控制和边界条件加载。对于简单几何结构,可以采用拉动、移动及尺寸工具进行驱动尺寸参数化,然后通过脚本更改驱动参数,实现几何参数化建模。
1、脚本参数化概述
SCDM无法提供历史特征树,但使用SCDM脚本建模功能,可以记录每一步几何操作过程,然后提取脚本中的几何和拓扑参数,来实现完全参数化建模。因此,要想实现脚本参数化,首先要有模型创建的脚本,然后提取脚本中几何和拓扑参数。脚本参数化过程需要我们掌握以上所有知识点,才能对基础脚本进行修改和提参,形成全参数化模型,完成几何模型的快速参数化重建。
下面我们可以通过以下两个案例来上手练习一下,通过脚本录制功能录制建模脚本,然后提取几何与拓扑尺寸参数,形成参数化脚本。
2、搅拌釜模型创建
按照如下参数创建参数化搅拌釜模型,并对边界位置创建相应命名选择。
几何模型创建过程如下所示:
搅拌釜模型创建过程可参照如下视频,详细脚本参数化过程可以参照系列课《课程09_SCDM脚本参数化建模详解》。
3、桥梁模型创建
创建参数化的草绘曲线和平面,赋予草绘曲线梁轮廓和壳体厚度;
设置分析梁壳单元组件共享拓扑,并创建固定支撑边界命名选择。
几何模型创建过程如下,详细脚本参数化过程可以参照系列课《课程09_SCDM脚本参数化建模详解》。