对于所有类型的项,用户可以计算域数。 length (Curve):Length 返回曲线的总长度。
length (Curve, Point, Boolean):Length 返回位于 Point1 与某个曲线端点之间的曲线段的长度。 修改布尔值可以检索从指定点到另一端的长度。
length (Curve, Point, Point):Length 返回被两个点定界的曲线段的长度。
area (Surface):Area
返回由创成式外形设计产品(例如拉伸曲面)生成的曲面面积。 area (Curve):Area 返回被曲线定界的面积。
perimeter (Surface,...):Length 返回曲面的周长。它接受包含多个曲面特征的输入。周长函数将每个曲面的周长相加。返回 值是长度。
Point->coord (x:out Length, y:out Length, z:out Length):Void Type
使用户可以计算点坐标。
Point->coord (rank:Integer):Length
返回点的坐标。如果指定 1 则返回 X,如果指定 2 则返回 Y,如果指定 3 则返回 Z。
Body->centerofgravity (x:out length, y:out length, z:out length):Void Type
使用户可以计算重心。
volume (closed_surface:Surface, ...):Volume 返回闭合曲面的体积。
volume (Volume geometry,...):Volume 返回立体几何图形的体积。
angle (Center:Point, Pt1:Point, Pt2:Point):Angle 返回“C-Point1”线和“C-Point2”线之间的角度。
angle (Direction, Direction):Angle
6
返回两个方向之间的角度。 angle (Line, Line):Angle 返回两条线之间的角度。
angle (Plane, Plane):Angle 返回两个平面之间的角度。
angleoriented (Direction, Direction, Direction):Angle 返回两个方向之间由第三个方向定位的角度。 angleoriented (Line, Line, Direction):Angle 返回两条线之间由方向定位的角度。
angleoriented (Plane, Plane, Direction):Angle 返回两个平面之间由方向定位的角度。 curvature (crv:Curve, pt:Point):Real 返回曲线在给定点的曲率。
distancedir (Body, Body, Direction):Length 返回零件的两个几何体之间由方向定位的距离。
4、零件测量
smartVolume 和 smartWetarea 是指实体的中间状态。smartVolume 不计算包含 在零件几何体中的每个凸台的体积,但计算总体积。
示例:已知包含 3 个凸台的零件几何体:Pad.1 的体积 = 0.1m3、Pad.2 的体积 = 0.1m3 和 Pad.3 的体积 = 0.1m3。显示的 Pad.3 的体积为 Pad.3 = 0.3M3。 Pad.3 的体积 = Pad.1 的体积 + Pad.2 的体积 + Pad.3 的体积。
注意,这也适用于 smartWetarea(计算潮区域的总数)。
smartVolume(elem:Solid, ...):Volume 返回实体的体积。
示例 Total_Volume= smartVolume(PartBody)
smartWetarea(elem:Solid, ...): Area 返回实体的潮区域。
7
示例 Total_Area=
smartWetarea(PartBody
Pad.1 )
5、核心工程语言(C-EKL)
请注意,此语言继承数学工程语言 (M-EKL) 的组成内容。
C-EKL 添加如下语言元素:
控制结构的关键字,如:规则中的条件语句“if... then... else”。
特定函数,如:专用于用户输入的消息和提示、几何图形构造或字符串和列表操作等的 函数。
其它运算符,例如“=>”运算符,它相当于检查时所用的一种意思为“意味着”的关键字。
C-EKL 用于以下知识工程项目,这些项目通过其参数与更新过程相关:
公式
设计表 知识工程顾问产品中提供的规则和检查。
规则、检查、公式和设计表是集成到 CATIA V5 更新过程的对象。要符合更新过程,重 要的是这些对象仅将参数作为输入或输出(参数为单值、列表或几何基准)进行操作。建 议不要使用它们访问那些对象的属性或调用方法。
知识工程模块和扩展函数
设计表 列表 运算符 圆构造函数 线构造函数 平面构造函数 线框构造函数
关键字 数学函数 字符串 方向构造函数
测量 点构造函数
法则曲线 消息 分析运算符 电气函数 零件测量 曲面构造函数
8
属于知识工程产品的运算符。
属于非知识工程产品的运算符和构造函数。
下面提供的信息是使用 C-EKL 时所必须了解的基本知识。
6、控制结构
条件语句
规则
if ... else ... else if
根据表达式的值有条件地执行一组语句。可以使用以下块形式的语法之一:
if condition statements [else elsestatements ]
或者
if condition { statements } [else if condition-n [ { elseifstatements } ] ] . . . [else [ { elsestatements } ] ] 可对简短规则使用单行形式语法(第一个语法)。但是块形式语法(第二个语法)与单 行语句相比,提供了更多的结构和灵活性,并且通常更易于读取、维护和测试。
else 和 else if 子句都是可选子句。在块 if 下可以有多个 else if 语句,但 else
子句后不能出现 else if 语句。块 if 语句可以彼此嵌套(即包含)。
检查
检查只能读取参数。因此,不能在输出中使用具有变量的函数。 Relations
Formula.1
Activity == false
检查可使用特定的关键字 =>. statement1 => statement2 (if statement1 then
statement2)。
每次 statement1 满足而 statement2 无效时,都将显示消息(如果类型是警告或信息)且
在结构树中显示为红色。
9
OK => KO KO => KO KO => OK OK => OK
For 语句
关键字 For 的第一种用法是基于列表中元素的循环。请参见右边 let List.1(List) 的语法。 let x(Point) For x inside List { x 是变量名(属于给定类型。它可以表示一个对象或一个 值)。 可以在几何体中使用 x(与语言的其它变量一样)。它包 含与当前迭代相对应的列表中的元素。 List 是类型列表的变量名或返回列表的表达式。 Body if (x <> 其中: NULL) } 几何体将执行 N 次,其中 N 是列表中元素的数量。 关键字 For 的第二种用 法是执行循 环,直到表 达式的值变 为 For x while predicate false 为止。请参见右边的语法。 { 其中: } x 是整数类型的变量名。它在每次执行几何体后递增。 Body 谓词是布尔表达式。只要此表达式的值为 true,几何体 就会继续执行。此表达式在几何体前赋值。 请注意,For 运算符的第二种用法可能导致无限循环。
While 语句
此循环一直执行到表达式的值变为 false 为止。请参见右边的 let i = 1 let x(Point) 语法。 其中: for i while i<=parameter.Size() i 是整数类型的变量名。它在每次执行几何体后递增。 {
10