iLogic 浏览器将列出 iLogic 规则、表单、全局表单和外部规则。
在 iLogic 浏览器中,规则排列在两个选项卡下面:
表单将排列在两个选项卡下面:
规则是可以监视并控制其他 Inventor 参数、特征或零部件的 Visual Basic (VB.NET) 小程序。
iLogic 将规则作为对象直接嵌入到零件、部件和工程图文档中。规则可确定并驱动设计参数和属性值。通过控制这些值,您可以定义模型属性、特征及零部件的行为。
知识内容可以直接保存在文档中,就像存储几何设计元素一样。
在规则中,您可以将标准 Inventor 参数名称作为 Visual Basic 变量使用。当运行规则时,会将此类参数的值指定给此类变量。对于数值参数,该值是以“工具”“文档设置”中指定的文档单位表示的实数。在规则中,文本参数会变成字符串变量。真/假参数会变成布尔变量。
参数的出现方式有两种:
当规则开始运行时,iLogic 会将这些参数的值从模型读取到规则中。规则运行完毕后,iLogic 会将更改后的值保存回模型。
若要在规则运行完毕之前保存这些值,请使用 RuleParametersOutput 函数。如果您要立即更改模型,该函数非常有用。
如果使用这种方法指定值,这些值会立即保存至模型,即在规则中的下一行语句执行之前保存。如果您使用 Parameter 函数读取值,则会立即从 Inventor 模型中读取该值。
在规则中使用以下某一个 Autodesk Inventor 实体名称之前,如果该实体在创建时指定了默认名称,请更改其名称:
使用有意义的名称。名称更改更便于了解规则的作用。
更改默认名称的另一个目的是为了使名称更容易移植。在本地化之后的 Autodesk Inventor 版本中,默认项目名称已被翻译成该版本对应的语言。这些名称在模型浏览器中会自动更改,但在 iLogic 规则中不会自动更改。因此,规则可能会找不到使用默认名称的项目。如果其他人在其他语言版本的 Inventor 中使用模型,则必须更改默认名称。此建议仅适用于在规则中通过名称调用的项目。例如,测量函数可以使用定位特征名称。如果您有定位特征,但不在测量函数中使用它们,则您无需对其进行重命名。此建议的一个例外是嵌入式 Excel 工作表。请勿对其进行重命名。
在非英文版的 Autodesk Inventor 中,请在规则中使用英文名称。例如:
"3rd Party:Embedding 1"
如果在规则中将参数直接用作变量,则通常情况下当参数值发生更改时,规则会为响应更改而自动运行。也可以通过事件触发规则。
除非规则被抑制,否则在您编辑规则后,规则会立即运行。当规则运行时,参数中的更改直到规则运行完毕后才更新模型。如果需要,您可以使用以下任一函数强制参数更改立即生效:
当您创建或编辑规则时,规则文本会被转换为有效的 VB.NET 代码,然后进行编译。某些 Inventor 参数名称不是有效的 VB.NET 变量名称。为允许您使用所有 Inventor 参数名称,iLogic 会在内部为 Inventor 参数替换新变量名称。
尽管您可以将 Visual Basic 关键字用作参数名称,但不建议对新文档这样做。但是,当您将规则添加至现有文档时,通常不需要更改任何参数名称。如果存在与关键字相同的名称,而您又需要在规则中使用该关键字,则可以:
规则文本会在内部转换为有效的 VB.NET 代码,此代码是不可见的,并且会随规则一起储存。这种类型的储存使得无论何时运行规则都无需为 iLogic 生成代码。代码仅在您编辑规则时才会发生更改。
VB 编译器错误消息实际参考此中间代码。在极少数使用复杂代码的情况下,您会收到错误“与规则代码不相符”。如果发生这种情况,请简化代码。如果需要,请验证您是否具有 Sub Main() 和 End Sub 语句。
当 iLogic 将规则转换为有效的 VB.NET 代码进行编译时,它会使用转换系数替换单位。
您可以在规则中使用 Inventor 单位,方式与在标准 Inventor 参数表达式中一样。
在该示例中,零件文件使用英寸作为文档单位:
d0 = 4.5 in d18 = 7.2 in sum = d0 + d18MessageBox.Show(sum,”Document Units - Inches”)
除非另行指定,否则 iLogic 会假设数值单位被定义为文档单位。在此案例中,sum = 11.7。系统会在消息框中显示该值并指示文档单位为英寸。
若要将值 7.2 mm(而非值 7.2 in)指定给参数 d18,请指定以毫米来表示 d18:
d0 = 4.5 in d18 = 7.2 mm sum = d0 + d18 MessageBox.Show(sum,”Document Units - Inches”)
在此案例中,sum = 4.78346456692913。系统会在消息框中显示该值并指示文档单位为英寸。
若要对文档单位为毫米的零件文件执行前一个计算,请为所有以英寸表示的参数添加英寸单位(例如 d0 = 4.5 in)。
最后,如果在语句中忽略长度单位,iLogic 会使用文档单位值。
在该示例中,零件文件使用英寸作为文档单位。在“iLogic 参数编辑器”中:
已将规则编写为:
result = x + y MessageBox.Show(result,“Mixed Units Defined in Parameter Editor”)
执行添加操作时,iLogic 会将参数 y 的值从 12.5 mm 转换为 .4921 英寸。系统会在消息框中显示值 1.49212598425197 并指示已在参数编辑器中定义混合单位。
相反,如果文档单位被定义为毫米,则 iLogic 会将参数 x 的值从 1 in 转换为 25.4 mm。系统会在消息框中显示值 37.9 并指示已在参数编辑器中定义混合单位。
单位规格会在执行任何其他数学运算之前进行应用,其优先级高于其他所有运算符。单位名称:
以下是有效使用单位名称的示例:
12 in 144 in 144 in^2 125.2 mm 60 mi/hr
您可以在规则中使用复合单位规格。复合单位规格遵循 Inventor 格式。若要在规则中包含复杂的单位规格,请在“参数”对话框中为该规格创建表达式。然后,在“规则编辑器”中对该参数使用“捕获当前状态”。
外部规则可以用作 iLogic 规则或者手动运行的小程序(如 VBA 宏)。它们单独储存在文本文件或 VB 文件中,独立于任何 Inventor 文档(零件、部件或工程图)。您可以手动运行它们,也可以从其他规则中运行它们。
当您在 iLogic 浏览器中查看外部规则列表时,无论您打开何种文档,该列表均相同。该列表不与各个文档相关联。
您也可以将外部规则作为事件驱动的规则运行。
iLogic 提供了若干可用于为特定任务创建复杂规则的向导。这些向导可在“编辑规则”对话框的“向导”选项卡上找到:
创建自定义用户界面并将其与 Inventor 零件、部件或工程图文档的参数、特性和规则关联起来。
通过拖放方式设计用户界面,而无需进行编程。使用控件驱动对现有设计的更改。表单定义可以是特定于文档的,可将其保存在设计文档中,也可以存储起来以用于多个文档。