录制/创建几何建模的脚本是件很酷的事!它能够让你创建出高度定制的几何部件——这些部件通常不能很方便的在普通图形界面中创建出来。市场上大部分的CAD工具都至少会提供一些基本的小程序或者脚本,使用户能够自动的重新生成几何或者使用调用宏运行重复的任务。通常,这些脚本是可以录制的,或者可以由用户在某种专有的编译环境中手动创建。这类有录制脚本功能的软件工具有SpaceClaim、FreeCAD、在线CAD平台Onshape等。
对于我们的CAD建模和优化平台CAESES来说,这种自动化的理念10年之前就有了。CAESES是一个完全基于命令和面向对象的结构,一直致力于脚本编写及几何自动创建的工作。在这个面向对象的结构之上,我们创建了一个直观的图形用户界面。
这篇快速指南概述了CAESES中的建模理念和编程功能。
对象类型和命令
首先,我们来快速浏览一下CAESES的基础:基本上所有东西都是一个特定类型的对象。譬如,你创建了一个名为“P1”的3D点,它会出现在对象树并且它的类型是F3DPoint(所有的类型都以“F”打头)。选中这个点之后,你可以设置它的X、Y、Z坐标。
然而,如果你点击了编辑域旁边的“帮助”按钮,你就能看到在后台实际触发了哪个命令。在我们这个案例中,它采用了“setX()”这个命令。换句话说,一旦你为“X”设定了一个值,后台就执行了“p1.setX(0.5)”(为P1点的X坐标赋值0.5)这个命令。
为一个点设置X坐标:在后台显示触发的命令
参考手册
在软件的参考手册Documentation中有每个几何类型的命令和类型层次结构的说明文档。只需单击对象编辑器中的类型图标,即可在主窗口中显示文档。它包含了类似于设置X坐标这种类型的命令以及一些其他功能的命令。
层次结构
正如前面提到的,CAESES是一个面向对象的平台——类似于其他一些包含类结构的编程语言。子类型可以从父类型派生属性和命令。譬如,圆(FCircle)是一种特殊类型的曲线(FCurve)。其他类型的曲线,如贝塞尔曲线或者插值曲线,所有这些专用曲线都可以使用从父曲线类型派生的命令。
譬如:你可以使用“getLength()”这些命令来计算任意曲线的长度,计算曲率,抓取曲线的位置,或者寻求曲线的起点和终点。所有这些命令都来自父类型“FCurve”,并且它们适用于所有派生的曲线类型。另一方面,“getRadius()”命令则只适用于圆。
在GUI中使用命令
目前为止,我们知道了去哪儿找到这些命令。那么怎么使用它们呢?首先,在GUI中我们可以在任何编辑器中直接定义公式,这里就可以使用这些类型的命令。
另外也可以通过CAESES的控制台来启动命令。选中对象,输入”.”及相关命令,譬如,“设置半径为0.5”(“.setRadius(0.5)”)命令就可以设置所选中圆的半径。或者,如果没有选择任何对象,就需要使用全名加命令,譬如,“circle.setRadius(0.5)”.这种模式也适用于CAESES批处理模式编写的脚本,即非GUI模式下的操作。
特征定义编辑器
CAESES提供了一个创建脚本的环境,提供全面的调试功能。在编辑器内可以使用平台的整个命令集定义相关的功能。请参阅下面的屏幕截图,其中创建了名称为“inlet”的简单圆弧。
在编辑器的“Arguments”选项卡中预先定义变量“R”,它由用户自己输入。此代码片段的结果在下一个屏幕截图中给出,其中此功能定义的实例显示在对象树中:
对象“test”是特征定义“myComponent”的一个实例,而且唯一的输入是半径“R”。这个特征定义可以显示在对象树里,在节点“Feature Definitions”的正下方,并可以导出为文件,在其他工程文件中调用。它可以随时进行修改,所有已创建的实例都将自动更新。
控制语句
与对象树中的交互式几何设置相比,在这里你可以使用各种控制语句,实现更丰富的功能。它会带来更高的灵活性,并允许你创建任何类型的复杂几何图形。CAESES提供以下语句:
● If/else
● While
● Loop
● For each
● Switch
数学函数:
在CAESES的参考手册中,有一栏“Global Commands”,这里边包含一些数学函数。这些函数也可以在你创建自定义功能时使用。典型的有:
● sin(), cos(), tan(), atan()
● ln(), log()
● crossproduct(), dotproduct()
● floor(), ceil()
● min(), max(), modulo()
● pow(), sqrt()
● rand()
I/O文件处理
使用CAESES的特征编辑器,你不但可以脚本化几何体生成过程,还可以利用文件I/O方法来写出或读入文件。这是实现定制化导入和导出格式的一种简便方法。
外部过程
类似于典型的编程语言,在这里也可以启动外部进程。等待该进程终止,可以继续进行下一步的操作,例如收集结果数据等。以下是触发外部进程的示例:
批处理模式
除此之外,脚本和自动化的功能还可以应用在CAESES的批处理模式中。这种模式不需要启动GUI,它允许用户将强大的几何引擎插入到现有设计流程中,可以通过简单的脚本调用生成新的几何模型。
一个CAESES工程文件中的设计参数可以通过set()命令来更改。下面是一个典型的批处理模式下CAESES的控制脚本:
运行批处理模式调用脚本的语句是“CAESES_crt.exe turbocharger.fsc”.
1. 打开工程文件(例如一个参数化的涡轮增压器模型)
2. 根据给定的值来更改参数(比如由一个第三方优化软件来给定)
3. 输出新的几何到现有工程目录
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删