作者 | 小田老师 仿真秀专栏作者
首发 | 仿真秀公众号(ID:fangzhenxiu2018)
在前6节课中,我简要介绍了SCDM软件功能,并详细讲解了Python语言基础知识,基本囊括了ANSYS二次开发中所需关于Python语言方方面面的知识,推荐大家去学习。
另外,为了大家更加系统地去学习SCDM脚本建模,近期我整理了基础入门阶段的知识点,现分享给大家,满满的全是干货,我们一起学习吧!(注意:我会针对付费订阅用户群开微小课,新增进阶技能,仅在订阅群内容讲解,非订阅用户要参加微小课学习,需支付报名费100元/次)
Python基础入门
若想进行脚本开发,首先需要了解脚本语言,这样才能基于语言语法和特性去修改和编写脚本代码。一门编程语言核心内容包括:数据类型、操作符、流程控制、函数方法、面向对象编程等,掌握如上内容后,也就可以熟练使用它,提升工作的效率。
数据类型
常用数据类型包括数字、布尔、序列、集合和字典类型,每一种数据类型该如何定义和使用方法需要掌握。

操作符
操作符包括算术、赋值、关系、逻辑、成员、身份运算符。

流程控制
流程控制包括if条件控制和for、while循环控制。

函数方法
函数方法是为了封装代码,提高代码块重复利用率。Python中通过def关键字定义函数,需要了解函数方法参数、返回值以及变量作用域。

包、模块
需要了解Python中包、模块概念,知道如何导入或定义包、模块。

面向对象、类编程
面向对象编程的三大特性,区分类与对象,掌握如何定义和使用类。

异常处理

文件读写操作
掌握文件读写的方法,可以外部读入几何数据。

脚本编辑器
了解脚本编辑器功能,方便我们快速编写和调试脚本代码。

API开发文档
API文档对应着开发过程中的武功秘籍,数据结构对应修炼心法,文档中的类方法及属性对应着招式,所以在修行前需我们了解API文档结构和SCDM数据结构,才能领悟开发文档,练就绝世神功。
开发文档结构
脚本中不同工具类和对象位于不同的命名空间下,常用的类罗列如下:
◈ 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实例,作为方法参数传入。

API使用指南
◈ 关注类的方法使用功能描述;
◈ 继承关系(Inheritance Hierarchy);
◈ 类的三大成员:
① 属性(Property)
储存数据,组合起来表示类或对象当前的状态;
② 方法(Method)
表示类或对象“能做什么”、实现什么功能;
方法说明、类别、传入参数和返回值类型;
③ 事件(Event):类或对象通知其他类或对象的机制;

C# VS Python
SCDM的开发语言为基于.NET的C#语言,而其脚本语言为基于.NET的Python语言,二者在语法和数据结构上有很大不同,了解二者不同能帮助我们更好地使用开发文档。

SCDM文档数据结构
文档(Document)是加载和保存模型的单元,对应于SCDM的*.scdoc格式文件。Doc对象作为SCDM中几何信息的数据载体,保存在文档中,显示在图形窗口中,可供用户选择和编辑。SCDM所有的对象和数据结构都是建立在文档基础上的,所以了解文档数据结构尤为重要。
文档及组件结构
文档包含组件(Part)、图纸(Drawing Sheet)、材料(Materials)、窗口(Windows)等。组件作为文档中所有Doc对象的根类,提供访问的入口。

Doc对象层级关系
SCDM中的Doc对象:组件(Part)、元件(Component)、设计体(Design Bodies)、设计面(Design Faces)、设计边(Design Edges)等,是父-子层级结构关系。

Doc对象使用指南
在SCDM中如果想编辑Doc对象,首先需要得到Doc对象的实例:通过相应属性和方法去访问父子结构树中的Doc对象,如下。

Doc对象位于开发文档中SpaceClaim.Api.V18命名空间下,类继承自DocObject类,我们需要关注Doc对象的属性、方法及扩展方法。

脚本开发中常用的Doc对象为Part、Component、DesignBody、DesignFace、DesignEdge,分别对应SCDM中的根目录、元件、几何主体、几何面、几何边。常用的属性和方法汇总如下。通过访问Doc对象属性和方法可以得到几何拓扑信息,或者通过判断几何拓扑信息选择特定几何对象。

Selection和Power Selection
在SCDM中进行特征操作(如拉动、移动、填充、组合等)之前,都需要我们指定需操作的几何实体特征。
Selection创建
在SCDM脚本建模中,需要调用Selection类下的Create方法,传入Doc对象类型数据,可以创建Selection实例,用于特征操作工具中的参数传入。

Power Selection创建
使用Power Selection功能,可以快速选中特征相似或相关的主体、面、边等几何特征,方便我们轻松简化和修改几何,让脚本更加智能化。
◈ 主体选择:选择所有实体和面体,或基于主体颜色、中面厚度、表面积和体积选择相关主体特征。

◈ 面选择:选择所有内部面,或基于面积、倒角、颜色、圆角、孔洞、凸起、凹陷、同面和同轴选择相关特征面。

◈ 边选择:基于长度、方向和所在面选择相关特征的边。

◈ 搜索标准&选项:搜索标准用来定义选择的圆角类型、大小比较类型和曲面类型。选项定义强烈选择的范围。

命名选择创建和几何参数化
创建Named Selection匹配几何特征,便于后续分析中的网格控制和边界条件加载。对于简单几何结构,可以采用拉动、移动及尺寸工具进行驱动尺寸参数化,然后通过脚本更改驱动参数,实现几何参数化建模。

脚本参数化建模
脚本参数化概述
SCDM无法提供历史特征树,但使用SCDM脚本建模功能,可以记录每一步几何操作过程,然后提取脚本中的几何和拓扑参数,来实现完全参数化建模。因此,要想实现脚本参数化,首先要有模型创建的脚本,然后提取脚本中几何和拓扑参数。脚本参数化过程需要我们掌握以上所有知识点,才能对基础脚本进行修改和提参,形成全参数化模型,完成几何模型的快速参数化重建。
下面我们可以通过以下两个案例来上手练习一下,通过脚本录制功能录制建模脚本,然后提取几何与拓扑尺寸参数,形成参数化脚本。
搅拌釜模型创建
按照如下参数创建参数化搅拌釜模型,并对边界位置创建相应命名选择。

几何模型创建过程如下所示:

搅拌釜模型创建过程可参照如下视频,详细脚本参数化过程可以参照系列课《课程09_SCDM脚本参数化建模详解》。
桥梁模型创建
◈ 创建参数化的草绘曲线和平面,赋予草绘曲线梁轮廓和壳体厚度;
◈ 设置分析梁壳单元组件共享拓扑,并创建固定支撑边界命名选择。

几何模型创建过程如下,详细脚本参数化过程可以参照系列课《课程09_SCDM脚本参数化建模详解》。
我的精品课《SCDM脚本建模和二次开发52讲》
为了大家更好掌握SCDM脚本建模和二次开发,我将在仿真秀平台独家首发《SCDM脚本建模和二次开发精品课52讲》:

课程已经全部更新完,感兴趣的朋友可以关注和订阅。以下是课程具体安排:

(限50名)
特价:1299元(原价:1599元 )
学生领券享优惠!可开具发票
讲师提供vip群学习答疑和模型下载
课程永久保存,随时回放
【南流坊】粉丝识别下方二维码
限量领券再降199元
260分钟+视频抢先免费看


识别二维码点击【目录】
免费试看260分钟SCDM脚本建模精品课程
声明:原创文章,首发仿真秀公众号(ID:fangzhenxiu2018),部分图片源自网络,如有不当请联系我们,欢迎分享,禁止私自转载,转载请联系我们。

点击阅读原文,体验小田老师主讲的
《SCDM脚本建模和二次开发金牌课52讲》
本篇文章来源于微信公众号: 南流坊
评论前必须登录!
注册