X 是点的变量。 x = parameter.GetItem(i) 0.04) if (x.GetAttributeReal(\ x.SetAttributeReal(\ } 有关 C-EKL 的更多信息
定义
函数由其签名、输入参数以及输出参数标识。 方法与对象相关联。它由包含 # in 和 # out 的签名标识。
使用变量
通过引用传递变量
调用函数时,知识工程模块语言通过引用系统地传递变量。通过引用分配意味着新的变量仅引用 (即“指向”)原始变量。对新变量的更改将影响原始变量,反之亦然。这也意味着不执行复制。 因此,调用函数或方法时,不复制值。参数通过引用传递。若写入 sin(x),将可以直接在正弦 函数的几何体中使用变量 x。
强键入 知识工程模块语言为强键入,这意味着必须遵守某
些规则。 作为参数传递的变量
作为函数输入中的参数传递的变量必须至少是此函数参数的子类型或其类型类似于该参数。若写 入 area (s),则 s 必须是曲面。返回函数的参数时也具有此规则。有关类型层次结构的更多信 息,请参见高级工程语言。
赋值规则 设置变量时,值的类型必须是变量创建类型的子类型。创建变量后,其类型便无法更改。
请注意,存在以下 4 种例外:
关键字 set 使您可以在不检查类型的情况下影响变量。若位于赋值规则右侧的成员对 象同样支持位于左侧的变量类型,则执行该规则。否则,变量被设置为 NULL。
set x=y,x 是点类型的变量而 y 是实体类型的变量。x=NULL set P1=Pad 和 set x=y。在此情况下 x 被赋值。 11
关键字 NULL 是常量。将此常量作为函数的参数传递时,将不执行任何类型检查。因 此,您可以将任何变量设置为 NULL 或比较变量和 NULL 以确定是否未设置该变量。
pointOncurve (C, 10mm, NULL)
某些方法的返回类型是 UndefinedType。此时,可以对任何返回此类型的变量赋值。
x = List.GetItem
使用值类型的变量时,将不对实型变量执行检查,因此您可以:
将整型赋值给实数 将角度赋值给实数 将实数赋值给长度 将角度赋值给长度
临时变量的范围
临时变量可以使用关键字 let 进行声明。规则执行结束后,临时变量不会继续充当参数。let x = 5 mm if PartBody Hole.1 Diameter > x { PartBody Hole.1 Activity = false
} 对于非数字值,必须指定类型:
let S(Surface)
S= split
(...,...)
必须在规则的开头,在指定任何其它指令前声明临时变量。 let S1(Surface) let S2(Surface) let S3(Surface) S1 = Split ... S2 = ... S3 = ... 12
执行以下操作的不同方式
写入值
假设 p 是长度类型的参数。
let p1 = 12mm let p2 = 7 mm let x = 3mm let pt (Point)
x=p // 将 p 的值赋值给变量 x x=p+3 // 读取 p
pt.coord (p,p1,p2) // p 由带有输出参数的变量赋值
此类参数与局部变量具有完全相同的行为。
写入输入对象
假设 H1 是孔 (Hole.1)
let x = 0 mm let H3 (Hole) let H4 (Hole) H1.Diameter = 3mm // 对属性赋值 X=H1.Diameter+3mm // 读取属性 H3=H1 // H3 指向 Hole.1 H4=H3 // H4 变量指向由 H3 指向的特征 处理此类对象类似处理常量变量。同一类型的局部变量具有与此相似的行为。编写输出对象:基准
假设 D1 和 D2 是 2 个现有的几何基准。
let S1 (Surface) let S2 (Surface) let P1(Point) S1 = S2 // 变量 S1 指向由变量 S2 指向的特征 S1 = D1 // 变量 S1 指向基准特征 D1 D1 = D2 // 将 D2 的几何结果复制到 D1 中 13
D1 = S1 // 将由 S 指向的特征的结果复制到 D1 中 a = area(D1) // 作为输入参数传递 D1 = point (0mm,0mm,0mm) // 将点的几何结果复制到 D1 中 P1 = point (0mm, 0mm, 0mm) // 变量 S 指向点运算符的结果(局部特征)
无法创建基准的局部变量,但可以通过知识工程类型使用基准。
编写输出对象:列表
假设存在 2 个列表:L1 和 L2 let L3(List) L1.Size() // L1 作为输入 L1=L2 // 内容受到影响 L3=L1 // 内容受到影响
7、设计表方法
CloserSupConfig 方法 CloserInfConfig 数 MinInColumn 函数 函 CloseValueSupInColumn 方法 MaxInColumn 方法 CellAsBoolean 方法 LocateInRow 方法
CloseValueInfInColumn 方法 LocateInColumn 方法 CellAsReal 方法 CellAsString 函数 SetCell 方法
Sheet.CloserConfig CloserSupConfig()
适用于设计表图纸。返回配置,该配置包含大于或等于给定参数值的最小值。如果几个配置满足 此条件,该方法将按照参数列表中指定的列顺序挑选出可能的配置。
语法
sheet.CloserSupConfig(columnName:String, minValue:Literal, ...):Integer
CloserSupConfig 函数使用以下参数:
参数 columnName 描述 应放在引号中。至少需要一组参数 columnNamei/minValuei 14
minValue
必选。应指定单位。
示例
假定下面的设计表:
1 2 3 4 SketchRadius(mm) 120 130 120 140 PadLim1(mm) 60 50 60 50 PadLim2(mm) 10 30 25 40
表达式如下:
Relations
DesignTable1
sheet_name.CloserSupConfig(\
\ 返回 3
CloserInfConfig()
适用于设计表图纸。返回配置,该配置包含小于或等于给定参数值的最大值。如果几个配置满足 此条件,该方法将按照参数列表中指定的列顺序挑选出可能的配置。
语法
sheet.CloserInfConfig(columnName:String, maxValue:Literal, ...):Integer
CloserInfConfig 方法使用以下参数:
参数 columnName maxValue
描述 应放在引号中。至少需要一组 columnName/maxValue 必选。应指定单位。
示例
假定下面的设计表:
1 2 SketchRadius(mm) 120 130 PadLim1(mm) 60 50 PadLim2(mm) 10 30 15