首页 » 软件开发 » 快速指南:几何脚本的创建(脚本几何创建命令类型)

快速指南:几何脚本的创建(脚本几何创建命令类型)

萌界大人物 2024-07-24 16:50:16 0

扫一扫用手机浏览

文章目录 [+]

录制/创建几何建模的脚本是件很酷的事!
它能够让你创建出高度定制的几何部件——这些部件通常不能很方便的在普通图形界面中创建出来。
市场上大部分的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()”命令则只适用于圆。

从父类型FCurve派生的圆的曲线命令列表

在GUI中使用命令

目前为止,我们知道了去哪儿找到这些命令。
那么怎么使用它们呢?首先,在GUI中我们可以在任何编辑器中直接定义公式,这里就可以使用这些类型的命令。

表达式的简单示例:使用圆弧半径作为所选点的输入

另外也可以通过CAESES的控制台来启动命令。
选中对象,输入”.”及相关命令,譬如,“设置半径为0.5”(“.setRadius(0.5)”)命令就可以设置所选中圆的半径。
或者,如果没有选择任何对象,就需要使用全名加命令,譬如,“circle.setRadius(0.5)”.这种模式也适用于CAESES批处理模式编写的脚本,即非GUI模式下的操作。

可以使用控制台来设置诸如半径之类的属性

特征定义编辑器

CAESES提供了一个创建脚本的环境,提供全面的调试功能。
在编辑器内可以使用平台的整个命令集定义相关的功能。
请参阅下面的屏幕截图,其中创建了名称为“inlet”的简单圆弧。

CAESES脚本编辑器:创建一个叫“inlet”的圆弧,半径R由用户自己输入

在编辑器的“Arguments”选项卡中预先定义变量“R”,它由用户自己输入。
此代码片段的结果在下一个屏幕截图中给出,其中此功能定义的实例显示在对象树中:

结果:用脚本编辑的圆弧

对象“test”是特征定义“myComponent”的一个实例,而且唯一的输入是半径“R”。
这个特征定义可以显示在对象树里,在节点“Feature Definitions”的正下方,并可以导出为文件,在其他工程文件中调用。
它可以随时进行修改,所有已创建的实例都将自动更新。

控制语句

与对象树中的交互式几何设置相比,在这里你可以使用各种控制语句,实现更丰富的功能。
它会带来更高的灵活性,并允许你创建任何类型的复杂几何图形。
CAESES提供以下语句:

● If/else

● While

● Loop

● For each

● Switch

几何脚本示例:控制语句,如循环和if语句

数学函数:

在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批处理模式的脚本文件

运行批处理模式调用脚本的语句是“CAESES_crt.exe turbocharger.fsc”.

1. 打开工程文件(例如一个参数化的涡轮增压器模型)

2. 根据给定的值来更改参数(比如由一个第三方优化软件来给定)

3. 输出新的几何到现有工程目录

以上是对CAESES脚本语言总体概念和主要特征的概述。
对于资深的CAESES用户来说,这些脚本功能是必不可少的,这也使得CAESES成为一个更强大有趣的工具。

标签:

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读3 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0