首页/文章/ 详情

“在家学”仿真:使用Python进行SCDM脚本建模攻略(385分钟+免费看)

7月前浏览10154
导读:正值疫情关键时期,仿真秀平台推出了“在家学”仿真2020计划,作为平台讲师,笔者决定拿出自己的精品系列课《Python语言在ANSYS的应用20讲-掌握SCDM脚本建模及ACT二次开发能力》中前4节免费供大家学习,总时长385分钟。


在前4节课中,我简要介绍了SCDM软件功能,并详细讲解了Python语言基础知识,基本囊括了ANSYS二次开发中所需关于Python语言方方面面的知识,推荐大家去学习。
另外,为了大家更加系统地去学习SCDM脚本建模,春节期间我整理了基础入门阶段的知识点,现分享给大家,满满的全是干货,我们一起学习下吧!(注意:我会针对付费订阅用户群开微小课,新增进阶技能,仅在订阅群内容讲解,非订阅用户要参加微小课学习,需支付报名费100元/次) 。

一、Python基础入门

若想进行脚本开发,首先需要了解脚本语言,这样才能基于语言语法和特性去修改和编写脚本代码。一门编程语言核心内容包括:数据类型、操作符、流程控制、函数方法、面向对象编程等,掌握如上内容后,也就可以熟练使用它,提升工作的效率。

1、数据类型




常用数据类型包括数字、布尔、序列、集 合和字典类型,每一种数据类型该如何定义和使用方法需要掌握。  

Python基本数据类型.png

2、操作符

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

Python操作符.png

3、流程控制

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

流程控制.png

4、函数方法

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

函数方法.png

5、包、模块

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

包、模块.png

6、面向对象、类编程

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

面向对象、类、对象.png

7、异常处理

使用try…except…else…的语法,确保代码不会在异常和错误时崩溃,提升代码稳健性。

异常处理.png

8、文件读写操作

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

文件读写操作.png

二、脚本编辑器

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

01_脚本编辑器.png

三、API开发文档

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实例,作为方法参数传入。

02_开发文档结构.png

2、API使用指南

  • 关注类的方法使用功能描述;

  • 继承关系(Inheritance Hierarchy);

  • 类的三大成员:

    ① 属性(Property)

    储存数据,组合起来表示类或对象当前的状态;

    ② 方法(Method)

    表示类或对象“能做什么”、实现什么功能;

    方法说明、类别、传入参数和返回值类型;

    ③ 事件(Event):类或对象通知其他类或对象的机制;

03_API使用指南.png

3、C# VS Python

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

04_Python.png

四、SCDM文档数据结构

文档(Document)是加载和保存模型的单元,对应于SCDM的*.scdoc格式文件。Doc对象作为SCDM中几何信息的数据载体,保存在文档中,显示在图形窗口中,可供用户选择和编辑。SCDM所有的对象和数据结构都是建立在文档基础上的,所以了解文档数据结构尤为重要。

1、文档及组件结构

文档包含组件(Part)、图纸(Drawing Sheet)、材料(Materials)、窗口(Windows)等。组件作为文档中所有Doc对象的根类,提供访问的入口。

05_文档及组件结构.png

2、Doc对象层级关系

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

06_Doc对象层级关系.png

3、Doc对象使用指南

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

07_Doc对象访问.png

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

Doc对象使用指南.png

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

09_Doc对象使用指南.png

五、Selection和Power Selection

在SCDM中进行特征操作(如拉动、移动、填充、组合等)之前,都需要我们指定需操作的几何实体特征。

1、Selection创建

在SCDM脚本建模中,需要调用Selection类下的Create方法,传入Doc对象类型数据,可以创建Selection实例,用于特征操作工具中的参数传入。

10_Selection类.png

2、Power Selection创建

使用Power Selection功能,可以快速选中 特征相似或相关的主体、面、边等几何特征,方便我们轻松简化和修改几何,让脚本更加智能化。

  • 主体选择:选择所有实体和面体,或基于主体颜色、中面厚度、表面积和体积选择相关主体特征。

11_PowerSelection.Bodies .png

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

12_PowerSelection.Faces.png

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

    13_PowerSelection.Edges.png

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

14_SearchCriteria.png

六、命名选择创建和几何参数化

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

15_08.Named Selection命名选择和几何参数化.png

七、脚本参数化建模

1、脚本参数化概述

SCDM无法提供历史特征树,但使用SCDM脚本建模功能,可以记录每一步几何操作过程,然后提取脚本中的几何和拓扑参数,来实现完全参数化建模。因此,要想实现脚本参数化,首先要有模型创建的脚本,然后提取脚本中几何和拓扑参数。脚本参数化过程需要我们掌握以上所有知识点,才能对基础脚本进行修改和提参,形成全参数化模型,完成几何模型的快速参数化重建。

下面我们可以通过以下两个案例来上手练习一下,通过脚本录制功能录制建模脚本,然后提取几何与拓扑尺寸参数,形成参数化脚本。

2、搅拌釜模型创建

按照如下参数创建参数化搅拌釜模型,并对边界位置创建相应命名选择。

案例01.png

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

案例01.1.png

搅拌釜模型创建过程可参照如下视频,详细脚本参数化过程可以参照系列课《课程09_SCDM脚本参数化建模详解》。


3、桥梁模型创建

  • 创建参数化的草绘曲线和平面,赋予草绘曲线梁轮廓和壳体厚度;

  • 设置分析梁壳单元组件共享拓扑,并创建固定支撑边界命名选择。

案例02.png


几何模型创建过程如下,详细脚本参数化过程可以参照系列课课程09_SCDM脚本参数化建模详解》。


SpaceClaimACT二次开发python
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-02-19
最近编辑:7月前
小田老师
硕士 | 仿真工程师 欢迎关注ANSYS仿真与开发!
获赞 650粉丝 3782文章 62课程 4
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈