如何添加您的知识

规则和表单

    什么是 iLogic 浏览器?

    iLogic 浏览器将列出 iLogic 规则、表单、全局表单和外部规则。

    在 iLogic 浏览器中还可以使用项目的关联菜单。该菜单中包含的命令随选择的项目而不同。

    • 如果当 Autodesk Inventor 关闭时,该浏览器处于显示状态,则当 Autodesk Inventor 重新启动后,它将重新显示(为空)。
    • 如果激活不支持规则或表单的文档(例如表达视图),或者 Autodesk Inventor 处于“无文档”状态,则浏览器窗口只包含“规则”标题,而无其他内容。此约定与“无文档”状态下的模型浏览器相似。
    • 如果激活支持规则和表单的文档,则无论规则或表单定义是否存在于激活文档中,选项卡都会显示。

    在 iLogic 浏览器中,规则排列在两个选项卡下面:

    • “规则”选项卡列出了文档中存储的所有规则。
    • “外部规则”选项卡列出了所有未存储在 Inventor(磁盘上)中的规则,它们与所打开的文档无关。

    表单将排列在两个选项卡下面:

    • “表单”选项卡列出了所有表单和按钮以触发存储在当前文档中的规则。
    • “全局表单”选项卡列出了所有表单和按钮以触发存储 Inventor 之外的规则,而与所打开的文档无关。

    iLogic 浏览器显示后将保持显示状态,直至您手动关闭它。此设置可以跨任务保持。

    通过启用或禁用“iLogic 浏览器”复选框,可以显示和隐藏 iLogic 浏览器。此复选框可以在“视图”选项卡的“窗口”面板上的“用户界面”下拉列表中找到。

    此外,您也可以在 Autodesk Inventor 窗口的任意一侧固定 iLogic 浏览器。

    规则

    什么是规则?

    规则是可以监视并控制其他 Inventor 参数、特征或零部件的 Visual Basic (VB.NET) 小程序。

    规则如何工作?

    iLogic 将规则作为对象直接嵌入到零件、部件和工程图文档中。规则可确定并驱动设计参数和属性值。通过控制这些值,您可以定义模型属性、特征及零部件的行为。知识内容可以直接保存在文档中,就像存储几何设计元素一样。

    规则中的参数

    在规则中,您可以将标准 Inventor 参数名称作为 Visual Basic 变量使用。当运行规则时,会将此类参数的值指定给此类变量。对于数值参数,该值是以“工具”“文档设置”中指定的文档单位表示的实数。在规则中,文本参数会变成字符串变量。真/假参数会变成布尔变量。

    参数的出现方式有两种:

    • 链接至数值或非数值参数的 VB.NET 变量。这些变量会以蓝色亮显:

      当规则开始运行时,iLogic 会将这些参数的值从模型读取到规则中。规则运行完毕后,iLogic 会将更改后的值保存回模型。

      若要在规则运行完毕之前保存这些值,请使用 RuleParametersOutput 函数。如果您要立即更改模型,该函数非常有用。

    • 使用 Parameter 函数访问的参数。例如:

      如果使用这种方法指定值,这些值会立即保存至模型,即在规则中的下一行语句执行之前保存。如果您使用 Parameter 函数读取值,则会立即从 Inventor 模型中读取该值。

    在规则中更改默认的实体名称

    在规则中使用以下某一个 Autodesk Inventor 实体名称之前,如果该实体在创建时指定了默认名称,请更改其名称:

    • 特征
    • 草图
    • 定位特征
    • 阵列
    • 约束
    • iMate

    使用有意义的名称。名称更改可以让您或模型的其他用户更容易了解规则的作用。

    更改默认名称的另一个目的是为了使名称更容易移植。在本地化之后的 Autodesk Inventor 版本中,默认项目名称已被翻译成该版本对应的语言。这些名称在模型浏览器中会自动更改,但在 iLogic 规则中不会自动更改。因此,规则可能会找不到使用默认名称的项目。如果其他人在其他语言版本的 Inventor 中使用模型,则必须更改默认名称。此建议仅适用于在规则中通过名称调用的项目。例如,测量函数可以使用定位特征名称。如果您有定位特征,但不在测量函数中使用它们,则您无需对其进行重命名。此建议的一个例外是嵌入式 Excel 工作表。请勿对其进行重命名。

    在非英文版的 Autodesk Inventor 中,请在规则中使用英文名称。例如:

    "3rd Party:Embedding 1"
    注意某些实体(例如 iMate)允许在创建时为其指定名称。

    规则何时运行?

    如果在规则中将参数直接用作变量,则通常情况下当参数值发生更改时,规则会为响应更改而自动运行。也可以通过事件触发规则。

    除非规则被抑制,否则在您编辑规则后,规则会立即运行。当规则运行时,参数中的更改直到规则运行完毕后才更新模型。如果需要,您可以使用以下任一函数强制参数更改立即生效:

    • Parameter 函数
    • 规则中的 RuleParametersOutput() 函数

    规则顺序

    • 除非通过包含 iLogicVb.RunRule("ruleName") 函数另行指定了顺序,否则规则会按照在浏览器中出现的顺序运行。
    • 如果多个规则参考了发生更改的参数,则在列表中最先出现的规则将最先运行。不论参数如何更改,规则均会按照此顺序执行。
    • 不论主 iLogic 浏览器列表如何显示,均可使用“事件触发器”命令更改与文档事件相关联的列表中的规则顺序。

    如何处理规则?

    当您创建或编辑规则时,规则文本会被转换为有效的 VB.NET 代码,然后进行编译。某些 Inventor 参数名称不是有效的 VB.NET 变量名称。为允许您使用所有 Inventor 参数名称,iLogic 会在内部为 Inventor 参数替换新变量名称。

    用作参数名称的关键字

    尽管您可以将 Visual Basic 关键字用作参数名称,但不建议对新文档这样做。但是,当您将规则添加至现有文档时,通常不需要更改任何参数名称。如果存在与关键字相同的名称,而您又需要在规则中使用该关键字,则可以:

    • 在可能的情况下更改 Inventor 参数名称(建议)。
    • 在规则中使用该关键字,但大写不同的字母。例如,如果 Inventor 参数命名为 class,则将使用 Class。Inventor 参数名称区分大小写,但 VB 不区分。在示例中,在 VB 看到代码之前,class 会被其他名称替换,但 Class 会保持不变。

    规则的内部转换

    规则文本会在内部转换为有效的 VB.NET 代码,此代码是不可见的,并且会随规则一起储存。这种类型的储存使得无论何时运行规则都无需为 iLogic 生成代码。代码仅在您编辑规则时才会发生更改。

    VB 编译器错误消息实际参考此中间代码。在极少数使用复杂代码的情况下,您会收到错误“与规则代码不相符”。如果发生这种情况,请简化代码。如果需要,请验证您是否具有 Sub Main()End Sub 语句。

    当 iLogic 将规则转换为有效的 VB.NET 代码进行编译时,它会使用转换系数替换单位。

    规则中的单位

    您可以在规则中使用 Inventor 单位,方式与在标准 Inventor 参数表达式中一样。

    • 规则不需要单位。例如,假设将数值指定给带有单位的参数,但没有在表达式中指定单位。在这种情况下,iLogic 会假设该数值使用与该参数一致的文档单位。这种类型的假设同样适用于复合单位,例如 mi/hr。文档单位在“工具”“文档设置”“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 参数编辑器”中:

    • 将参数 x 设置为 1 in
    • 将参数 y 设置为 12.5 mm

    已将规则编写为:

    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 提供了若干可用于为特定任务创建复杂规则的向导。这些向导可在“编辑规则”对话框的“向导”选项卡上找到:

    • 为对话框创建规则 - 使用自定义对话框驱动参数值。
    • 捕获当前视图 - 捕获视图方向并缩放显示值。
    • 消息框 - 创建显示 Windows 消息框的规则。
    • 参数极限值 - 设定参数的最小值和最大值。

    表单

    什么是表单?

    创建自定义用户界面并将其与 Inventor 零件、部件或工程图文档的参数、特性和规则关联起来。通过拖放方式设计用户界面,而无需进行编程。使用控件驱动对现有设计的更改。表单定义可以是特定于文档的,可将其保存在设计文档中,也可以存储起来以用于多个文档。

    注意创建表单不一定要用到规则。

    操作步骤

    使用规则

    创建规则

    在您创建规则之前,请首先创建要包含在规则中的所有参数。

    1. 在功能区上,单击 “管理”选项卡 “iLogic”面板 “添加规则”
    2. 在“规则名称”对话框中,输入新规则的名称,然后单击“确定”。
    3. 使用“编辑规则”对话框定义规则。
      • 在零件或工程图文档中,单击参数组以在“参数”选项卡的右侧显示该参数列表。然后,双击该列表中的参数以将该名称插入到规则文本中。

        在部件文档中,选择“三维模型”选项卡以显示零部件,或选择“文件树”选项卡以显示子部件和零件文件。展开零件文件项目以显示该文件内的参数和特征。

        注意当您在“模型”树中单击非参数项目时,其名称会列在“名称”选项卡(在“参数”选项卡旁边)下。您可以双击此列表中的项目以将名称插入至规则中。许多工程图代码段都需要视图名称。双击列表中的相应项目,可获得当前工程图中的视图名称,以便将其包含在规则中。
      • 在项目上单击鼠标右键,然后选择“捕获当前状态”以将为项目指定值的文字插入到规则中。

        例如,捕获参数的当前状态以插入该参数及其当前值,例如 d0 = 4.0 in

        捕获参数时始终同时捕获其单位,但在编写新表达式时不需要使用单位。您可以在参数组上单击鼠标右键,以捕获特定类型的所有参数的状态。也可以在特征或零部件上单击鼠标右键,以捕获其当前的 IsActive 状态(抑制或未抑制)。

      • 使用“系统和自定义”选项卡下“代码段”区域中列出的代码段添加函数,然后可以为规则自定义这些函数。双击某个代码段可将其添加至规则。
      • 可使用规则文本区域上方的编辑工具栏上的选项操纵规则的外观。也可以使用这些选项插入条件语句、关键字和运算符。
    4. 单击“确定”以保存规则。

    编辑规则

    1. 在功能区上,单击 “管理”选项卡 “iLogic”面板 “iLogic 浏览器” (如果当前未显示该浏览器)。
    2. 在“iLogic 浏览器”中,单击“规则”选项卡,以在打开的文档中编辑规则。或者,单击“外部规则”选项卡,以为外部文件中的零部件编辑规则。
    3. 双击规则,或单击鼠标右键并从关联菜单中选择“编辑规则”。
    4. 使用“编辑规则”对话框编辑规则。在您输入文本时,系统会对您的文本应用相应的颜色编码以提高可读性。
    5. 完成后,请单击“确定”。

    重命名规则

    若要重命名规则,请在“iLogic 浏览器”中的名称上缓慢单击两次(两次不连续的单击)以启用编辑模式,然后更改现有的名称。

    插入规则语法

    使用“编辑规则”对话框中规则文本区域上方的工具栏上的下拉列表,将语法字符串插入到规则中,而不是手动输入语法。插入后,您可以根据需要自定义这些字符串。提供适用于以下各项的选项:

    • 条件语句
    • 关键字
    • 运算符

    插入字符串的步骤:

    1. 将光标置于规则中的目标位置。
    2. 从其中一个下拉列表中选择字符串。系统会使用相应的颜色编码插入字符串,以提高可读性。
    3. 可根据需要编辑插入的字符串。

    插入代码段

    使用“编辑规则”对话框的“代码段”区域中的选项将代码段插入到规则中。然后,您可以根据需要修改插入的代码段。

    1. 在规则文本区域中,将光标置于插入点处。
    2. 在“代码段”区域中单击“系统”或“自定义”选项卡,以显示该选项卡可用的类别。
    3. 双击代码段,以在光标位置插入该代码段。系统将对代码段的每个组成部分(例如条件文字、函数及变量和参数的占位符)进行颜色编码,以提高可读性。
    4. 编辑插入的代码段。

    使用可收拢的代码区域

    创建可收拢的代码区域和注释

    定义可收拢的代码区域和注释,可使规则文本区域更整洁。

    代码区域

    • 插入单引号(其后跟一个左方括号),以指示可收拢的代码区域的开始。使用单引号(其后跟一个右方括号),以指示可收拢的代码区域的结束。
    • 单击节点图标 (-) 可收拢代码。

    注释

    • 在一行的开头插入三个单引号可将其定义为可收拢的注释。如果注释占了多行,请在每行的开头均插入三个单引号。
    • 单击节点图标 (-) 可收拢注释。

    操纵可收拢的代码区域和注释的节点显示

    在规则文本区域中使用以下关联菜单选项可操控可收拢的代码区域和注释:

    • 单击鼠标右键,然后选择“节点显示”“切换当前代码节点显示”,可在光标位置展开和收拢代码区域或注释。
    • 单击鼠标右键,然后选择“节点显示”“切换所有代码节点显示”,可展开和收拢规则中的所有可收拢代码区域和注释。
    • 单击鼠标右键,然后选择“节点显示”“停止代码节点显示”,可禁用所有节点显示功能和展开所有收拢的代码区域或注释。节点显示树也会从显示中删除。若要启用节点显示功能,请单击鼠标右键并选择“节点显示”“启动代码节点显示”

    阻止规则自动运行

    1. 在“规则编辑器”中打开规则。
    2. 选择“选项”选项卡。
    3. 选择“抑制”复选框。
    4. 单击“确定”。
      注意您可以手动运行抑制的规则。也可以在“iLogic 浏览器”中抑制规则。

    运行规则,但不显示 Inventor 对话框

    1. 在“规则编辑器”中打开规则。
    2. 选择“选项”选项卡。
    3. 选择“静默操作”复选框。
    4. 单击“确定”。

    当所参考的参数值发生更改时立即运行从属规则

    1. 在“规则编辑器”中打开规则。
    2. 选择“选项”选项卡。
    3. 选中标记为“立即触发从属规则”的复选框。
    4. 单击“确定”。
      注意通过立即运行从属规则,您可以在设定参数后包含明确的模型更新。发生更新时,参数已更改,并且从属规则已运行。

    阻止规则在参数更改时运行

    1. 在“规则编辑器”中打开规则。
    2. 选择“选项”选项卡。
    3. 选中标记为“不自动运行”的复选框。
    4. 单击“确定”。
      注意如果选择此选项,您将只能通过以下方式运行规则:手动运行、通过事件触发器运行,或者通过 iLogicVB.RunRule 运行。

    在规则间共享代码

    1. 在“规则编辑器”中打开规则。
    2. 选择“选项”选项卡。
    3. 选中标记为“直接 VB 代码”的复选框。
    4. 单击“确定”。

    iLogic 不会预处理规则中标识为直接 VB 代码的代码,因此,Inventor 参数名称在规则中无法识别。规则应该包含可以从其他规则中调用的类别或模块。使用此选项可在规则间共享代码,或者作为保留代码模块化的方法。但是,请注意,共享代码更难编写。

    为“规则编辑器”选择其他字形和字号

    1. 在“规则编辑器”中打开规则。
    2. 选择“选项”选项卡。
    3. 单击“选择字体”
    4. 选择字体和字号。“样例”文本框会显示选择的效果。
    5. 单击“确定”。

    为“捕获当前状态”选择语法

    对部件内的零部件中的参数使用“捕获当前状态”时,此选项仅影响部件:

    1. 在“规则编辑器”中打开规则。
    2. 选择“选项”选项卡。
    3. 选中“使用零部件名称”复选框以将零部件名称(例如 Parameter("PartA:1", "d0") = 5.6 in)作为语法的一部分包含进来。为使规则更容易移植,建议选中此选项。

      或者,可以清除该复选框以排除零部件名称(例如 PartA.ipt.d0 = 5.6 in)。

    4. 单击“确定”。
      注意在部件级创建规则时,您可以通过单击参数名称将参数插入到规则中。如果您以后将零部件名称从其原文件名更改为其他名称,使用参数语法可以更容易找到该零部件。

    运行规则

    若要手动运行规则,请在“iLogic 浏览器”中的规则上单击鼠标右键,然后从关联菜单中选择“运行规则”。

    若要确保规则中的参数与模型同步,请在运行规则之前从关联菜单中选择“重新生成规则”。

    若要在规则内明确运行其他规则,请使用 iLogicVb.RunRule 函数。

    在“iLogic 浏览器”中对树进行重排序

    在“iLogic 浏览器”中,拖放任意规则可以更改其在树中的排序。位于您放置规则的位置上或该位置下方的所有规则都将在树中下移。

    重新生成规则

    将特定规则中的参数与模型同步的步骤:

    1. 在“iLogic 浏览器”中选择规则。
    2. 单击鼠标右键,然后从关联菜单中选择“重新生成规则”。

    该命令会将规则重新连接至 Inventor 参数,重新编译规则,然后运行规则。

    重新生成当前文档中的所有规则

    使用该命令可将所有规则中的参数与模型同步。

    1. 在“iLogic 浏览器”中选择文档。
    2. 单击鼠标右键,然后从关联菜单中选择“重新生成所有规则”。

    或者,您可以使用功能区上的“重新生成所有规则”命令。选择 “管理”选项卡 “iLogic”面板 “重新生成所有规则”

    删除规则

    1. 在功能区上,单击 “管理”选项卡 “iLogic”面板 “iLogic 浏览器”
    2. 在规则上单击鼠标右键,然后从关联菜单中选择“删除”。
    3. 当系统提示您确认选择时单击“确定”。

    删除文档中的所有规则

    当您已完成模型配置并且想要保存或导出样例配置时,请使用该命令。此命令会删除所有规则。

    注意如果在部件中运行此命令,则子部件和零件中的所有规则也将被删除。

    使用外部规则

    创建外部规则

    “iLogic 浏览器”包含一个外部规则选项卡。通过此选项卡,您可以加载外部规则或创建新外部规则。

    使现有规则成为外部规则的步骤:

    1. 打开规则。
    2. 复制代码。
    3. 创建新的外部规则,并将代码粘贴到新规则中。

    将外部规则另存为 .iLogicVb 文件(建议使用此扩展名),或者另存为 .vb 或 .txt 文件。将外部规则保存到从其他规则中运行这些外部规则时能够找到的文件夹中。iLogic 会按照所列顺序在以下文件夹中查找外部规则文件:

    • 当前的 Inventor 文档所在的文件夹(允许复制模型以及关联的规则)
    • 当前的 Inventor 项目工作空间文件夹
    • 在 iLogic 配置中设定的文件夹列表(通常用于工作组或公司规则)

    “iLogic 浏览器”为树中的顶部节点(“文件中的外部规则”)及每个规则提供关联菜单。

    创建外部规则图标

    您可以为“iLogic 浏览器”中显示的外部规则加入图标。在规则文件所在的文件夹中创建一个与规则文件同名的 .bmp 文件(建议大小为 16 x 16)。

    例如,如果外部规则名为 Custom Checks Rule.iLogicVb,则将该图标文件命名为 Custom Checks Rule.bmp

    创建位图图像后,重新启动 Autodesk Inventor 即可显示该图标。Autodesk Inventor 运行时,您无法编辑该图标。

    编辑外部规则

    若要编辑外部规则,请打开“编辑规则”对话框,然后双击树中的规则以进行编辑。

    也可以使用外部程序(例如“记事本”)来编辑规则。保存规则后,在树中使用关联菜单中的“从文件重新加载”可将更改带入 Inventor 中。

    外部规则和参数

    外部规则不会为响应特定参数更改而自动运行。与内部规则不同,参数名称不能自动用作规则变量。

    例如,以下规则语句无法执行:

    d1 = d0 * 0.5

    而应使用以下语句:

    Parameter("d1") = Parameter("d0") * 0.5

    此语句适用于具有名为 d0 和 d1 的参数的任何零件或部件。该语句可用于对共享相同项目的相关零件执行操作。

    使用向导创建特殊规则

    重要信息使用 iLogic Form Designer 创建自定义用户界面表单。用户界面可以包含用于触发规则、更改参数值和设置 iProperty 的控件。iLogic Form Designer 不需要进行任何编程。当所需的用户界面超出 iLogic Form Designer 的功能范围时,请使用 Visual Basic 来设计表单并对其进行编程。

    根据模型参数控制对话框

    1. 在“编辑规则”对话框的“向导”选项卡上单击“为对话框创建规则”

      “打开 DLL 文件”对话框会显示包含先前创建的 DLL 文件的 iLogicAdd 文件夹的内容。

      注意您可能需要创建 iLogicAdd 文件夹,路径为 C:\Program Files\Autodesk\Inventor {版本号}\Bin\iLogicAdd
    2. 选择 DLL 以使用相应的类别和变量名称填充“外部 DLL 的规则”对话框。
    3. 单击“确定”以生成代码。

    捕获当前显示视图

    1. 在“编辑规则”对话框的“向导”选项卡上单击“捕获当前视图”
    2. 从“捕获视图”对话框中选择一个大小选项。
      • 保存并恢复当前视图范围 - 将视图恢复为规则捕获视图时的方向和缩放设置。
      • 恢复时不更改视图大小 - 将模型移动至显示屏中心并设定方向,但不更改缩放比例。
      • 恢复时调整为模型大小 - 将模型移动至显示屏的中间位置并填充显示屏(与“全部缩放”相同)。
    3. 单击“确定”以生成代码。

    生成消息框

    使用此向导创建生成消息框的规则。

    1. 在“编辑规则”对话框的“向导”选项卡上单击“消息框”
    2. 输入要显示在消息框顶部的标题。
    3. 选择要显示在消息框上的按钮组合。
    4. 指定默认按钮,方法是根据按钮选集,选择与该按钮在按钮顺序中的相对位置对应的号码。

      例如,如果您选择了“YesNoCancel”作为按钮方案,而您的默认按钮为“No”,则应选择 “2”

    5. 选择要显示在消息框中的状态图标。
    6. 输入要显示在消息框中的文字,应置于双引号内。
    7. 单击“预览”以显示使用您选择的项目的消息框。
    8. 单击“确定”以生成代码。

    当参数值超出指定范围时显示诊断信息

    1. 在“编辑规则”对话框的“向导”选项卡上单击“参数极限值”
    2. 输入参数名称。
    3. 指定最大值和最小值。
    4. 输入要针对最大值和最小值超范围情况显示的消息标题和消息正文。
    5. 单击“应用”以生成代码,或单击“默认消息”以将消息重置为其默认文字。

    使用规则显示对话框

    您可以使用规则显示让用户进行输入的对话框。对话框可以包含在规则中;但是,将其包含在外部 DLL(类库)中会更加简单、灵活。

    使用 Visual Studio 版本 2005 或 2008。Visual Basic Express 可以从 Microsoft 免费下载。

    Visual Basic 2008 快速入门

    1. 如果您的计算机上还没有安装 Visual Basic 2008 Express,请从 Microsoft® 网站下载并进行安装。该下载是免费的。
    2. 打开 Visual Basic 2008 Express,然后创建类库类型的项目。
    3. 将该项目命名为 ClassLibrary1(默认名称),然后单击“确定”。将您键入的名称准确地记在一张纸上。以后此名称在这些指令中十分重要。

      系统将显示一个新窗口,“方案资源管理器”位于该窗口的右上角。

    4. 在“方案资源管理器”中,在该项目名称上单击鼠标右键并选择“添加”,然后从子菜单中选择“新建项”。系统将显示“添加新项”对话框。
    5. 选择“对话框”模板,然后单击“添加”。

      系统将在 Windows Form Designer 中显示对话框的图形视图。您可以使用此界面将控件添加至对话框。

      屏幕左侧的“工具箱”列出了您可以添加至对话框的控件。对于此项目,请添加文本框以显示 Inventor 参数的值,并且可让您编辑该参数。

    6. 从“工具箱”面板的“常用控件”组中单击“文本框”并将其拖放至对话框中的灰色区域。您可以根据需要重新调整对话框的大小。
    7. 为该文本框添加标签,以显示参数名称。
    8. 小心避开标签和文本框,双击对话框的背景以显示代码编辑器。系统将显示以下代码。
    9. 立即将光标移动至以下行下方 -
      Public Class Dialog1
    10. 添加此行 -
      Public d0 As Double
    11. 将光标放在子例程 OK_Button_Click 的顶部,Me.DialogResult... 语句的前面,然后按 Enter 键以添加新行。
    12. 在新行上,添加 -
      d0 = TextBox1.Text

      您的代码显示如下 -

    13. 使用“文件”“保存”或者“文件”“全部保存”保存您的工作。

      现在,您基本可以构建项目了。当您执行构建操作时,Visual Basic 会创建 DLL 文件。您可以通过修改构建操作的输出路径指定 Visual Basic 创建此文件的位置。

    14. 单击项目标题所在的选项卡,然后再次单击“编译”选项卡。输出路径为 -

      Program Files\Autodesk\Inventor {版本号}\Bin\iLogicAdd\

    15. 若要构建项目,请在顶部的菜单中单击“构建”选项卡。如果构建过程成功完成,则会在屏幕左下角的状态栏中显示“构建成功”消息。
    16. 使用“全部保存”再次保存您的工作,并打开 Inventor。
    17. 使用“添加规则”创建名为 Form Rule 的规则,该规则由以下代码组成 -
      AddReference "ClassLibrary1"
      Sub Main()
      dim dlg as new ClassLibrary1.Dialog1
      dlg.d0 = d0
      i = dlg.ShowDialog()
      if (i = vbOK)then
      d0 = dlg.d0
      end if
      End Sub
      注意也可以使用“编辑规则”对话框的“向导”选项卡上的“为对话框创建规则”创建此代码。

      此规则会将 Inventor 参数 d0 的当前值发送给对话框,然后显示该对话框。使用对话框的用户可以在对话框中编辑该值。如果该用户单击“确定”,则会将对话框中的值重新指定给该参数。

    创建对话框

    创建可让您显示并修改某些参数值的对话框的步骤:

    1. 打开 Visual Studio。
    2. 创建类库类型的项目。
    3. 在“方案资源管理器”中,在该项目名称上单击鼠标右键,然后依次选择“添加”“新建项”“对话框”。

      系统将在 Windows Form Designer 中显示对话框的图形视图。您可以使用此界面将控件添加至对话框。

    4. 单击“视图”“工具箱”以预览可用的控件。
    5. 如果您需要有显示 Inventor 参数值并进行编辑的功能,请添加文本框控件。为每个文本框添加标签,以显示参数名称。
    6. 双击对话框的背景。

      代码编辑器将显示在名为 Dialog1_Load 的新子例程中。

    7. 在此子例程中,在子例程结尾前面添加此行 -
      TextBox1.Text = d0
    8. 将光标移动至以下行下方 -
      Public Class Dialog1
    9. 添加此行 -
      Public d0 As Double
    10. 在名为 OK_Button_Click 的子例程顶部添加此行 -
      d0 = TextBox1.Text

      现在您的代码显示如下 -

      Imports System.Windows.Forms
      Public Class Dialog1
      Public d0 As Double 
      Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click  
        Me.DialogResult = System.Windows.Forms.DialogResult.OK
        Me.Close()
      End Sub
      Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel  
        Me.Close()
      End Sub
      Private Sub Dialog1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
         TextBox1.Text = d0
      End Sub
      End Class
    11. 构建项目,并使用“文件”“全部保存”保存项目。

    构建项目的同时会创建一个 DLL。您可以:

    • 将该 DLL 复制到 iLogicAdd 目录中,该目录位于 Autodesk Inventor 程序的 Bin 目录下(通常位于 C:\Program Files\Autodesk\Inventor {版本号}\Bin\iLogicAdd)。
    • 更改项目设置,以将该 DLL 自动发送至该目录。使用 “iLogic 配置”命令可更改 iLogic 查找 DLL 的目录。请参见“展开 iLogic 功能”,以获取有关在规则中使用 DLL 文件的详细信息。

    以下示例规则使用对话框:

    AddReference "ClassLibrary1"
    Sub Main()
    dim dlg as new ClassLibrary1.Dialog1
    dlg.d0 = d0
    i = dlg.ShowDialog()
    if (i = vbOK) then
    d0= dlg.d0
    end if
    End Sub

    此规则会将 Inventor 参数 d0 的当前值发送给对话框,然后显示该对话框。使用对话框的用户可以在对话框中编辑该值。如果该用户单击“确定”,则会将对话框中的值重新指定给该参数。

    可以自动生成类似的对话框代码。在“编辑规则”对话框中,选择“向导”选项卡,然后选择“为对话框创建规则”。

    使用表单

    创建表单

    创建自定义用户界面并将其与 Inventor 零件、部件或工程图文档的参数、特性和规则关联起来。

    创建全局表单

    全局表单将存储起来,以便在多个文档中使用。

    使用表单

    使用表单来控制和修改模型。表单可以是:

    • 模态 - 表单显示时,仅可以与表单交互。
    • 非模态 - 表单显示时,可以与模型、其他控件和工具交互。

    编辑表单

    编辑现有表单,以添加、删除或修改控件。

    复制和粘贴表单

    复制现有表单并将其粘贴到同一文档内、其他文档或“全局表单”选项卡。

    删除表单

    删除不再需要的表单。在“iLogic 浏览器”选项卡的空白区域中单击鼠标右键可显示“表单和规则编辑器”,您可以从中删除表单。

    使用图像

    向表单中添加静态图像或基于参数值设置要更改的图像。

    调整控件大小

    重要信息如果稍后编辑表单,则控件将还原为默认大小。

    在 iLogic 浏览器上添加或编辑控件

    • 直接在“表单”或“全局表单”选项卡上添加用于触发规则的控件。
    • 按组、选项卡式组和行来组织控件。
    • 修改控件外观。
    • 向控件中添加图像或工具提示。

    参照

    iLogic 浏览器

    访问:

    功能区:“管理”选项卡 “iLogic”面板 “规则浏览器”

    规则

    关联菜单

    在 iLogic 浏览器中的规则或参数上单击鼠标右键可显示该项目的关联菜单。

    对于规则,关联菜单命令包括:

    运行规则

    运行规则。使用此命令可测试规则或确保模型是最新的。也可以使用此命令运行不会自动运行的规则。

    编辑规则

    针对选择的规则打开“编辑规则”对话框。

    也可以在浏览器中双击规则来编辑规则。

    重新生成规则

    重新生成选择的规则。此命令会将规则重新连接至其参考的 Inventor 参数,然后重新编译并运行该规则。

    抑制规则(或“解除抑制规则”)

    抑制的规则不会自动运行。您可以手动运行抑制的规则。

    删除

    删除规则。也可以使用 Delete 键删除规则。若要删除所有规则,请使用功能区上的“删除所有规则”命令。

    顶级关联菜单

    对于 iLogic 浏览器树根部的文档,关联菜单命令包括:

    添加规则

    此命令执行的操作与功能区上的“添加规则”命令相同。

    运行所有规则

    运行文档中的所有规则。如果文档为部件,此命令还会运行所有子部件和零件中的所有规则。您可以使用此命令确保模型是最新的。一旦遇到错误,该命令即停止运行。如果收到错误,请编辑引起问题的规则,然后重新运行此命令。

    如果您对由规则驱动的模型进行了更改,也可以使用此命令。规则仅会为响应参数更改而运行。可由规则设定的任何其他项目(例如特征或零部件抑制、iPart 配置、手动更改或 iProperty)均可独立更改。

    除非通过包含 iLogicVb.RunRule("ruleName") 函数另行指定了顺序,否则规则会按照在浏览器中出现的顺序运行。

    “运行所有规则”可确保模型处于规则指定的状态。

    重新生成所有规则

    将规则重新连接至 Inventor 参数,重新编译规则,然后运行规则。与“运行所有规则”相似,此命令会处理子部件和零件中的规则。

    “规则”选项卡

    列出当前 Inventor 文档内定义的规则。

    “外部规则”选项卡

    列出外部文件中定义的规则。

    表单

    顶级关联菜单

    在空白区域中单击鼠标右键可显示该选项卡的关联菜单。

    添加表单

    添加空白表单,并为该新表单打开“表单编辑器”对话框。

    编辑

    打开“表单和规则编辑器”对话框可添加或编辑选项卡上的控件。

    粘贴表单

    将先前复制的表单粘贴到选项卡上。

    表单关联菜单

    在表单上单击鼠标右键可显示该表单的关联菜单。

    编辑

    打开选定表单的“表单编辑器”对话框。

    复制表单

    复制选定的表单。在选项卡的空白区域中单击鼠标右键可粘贴该表单。

    规则按钮关联菜单

    在规则按钮上单击鼠标右键可显示该规则的关联菜单。

    编辑

    针对选择的规则打开“编辑规则”对话框。

    “表单”选项卡

    创建自定义用户界面并将其与 Inventor 零件、部件或工程图文档的参数、特性和规则关联起来。

    “全局表单”选项卡

    创建可存储起来以用于多个文档的自定义用户界面并将其与 Inventor 零件、部件或工程图文档的参数、特性和规则关联起来。

    iLogic 浏览器行为

    • iLogic 浏览器显示后将保持显示状态,直至您关闭它。
    • iLogic 浏览器的状态可以跨任务保持。如果当 Inventor 关闭时,iLogic 浏览器处于显示状态,则当 Inventor 重新启动后,它会重新显示(为空)。
    • 如果激活不支持规则或表单的文档(例如表达视图),或者 Autodesk Inventor 处于“无文档”状态,则浏览器窗口只包含“iLogic”标题,而无其他内容。此约定与“无文档”状态下的模型浏览器相似。
    • 如果激活支持规则和表单的文档,则无论规则或表单定义是否存在于激活文档中,选项卡都会显示。

    添加规则

    使用“编辑规则”对话框可定义新规则或更改现有规则。

    访问:

    功能区:“管理”选项卡 “iLogic”面板 “添加规则”

    代码段

    列出可重复使用的代码段。双击代码段可将其插入到规则中。

    “系统”选项卡

    列出安装提供的 iLogic 代码段。

    切换显示,以仅包含识别为“收藏”的代码段。

    显示用于标识收藏的代码段的对话框。

    “自定义”选项卡

    列出您创建的代码段或从“系统”选项卡复制的代码段。

    保存代码段文件

    使用其他名称保存代码段文件。

    使用文件中的代码段替换列表中的所有代码段。

    合并列表中的代码段与文件中的代码段。

    显示列表中的代码段的文件信息。

    模型

    显示零件或工程图的模型视图,或者部件的零部件视图。

    参数

    根据在树中选择的参数类型列出参数。

    名称

    随着从树中选择项目,累积列出项目。

    单击“清除列表”可从列表中删除项目,然后重新开始。

    文件树

    显示部件的文件视图,代替在“参数”选项卡上显示的零部件视图。使用此视图可在零件和部件名称下快速查找对象。

    文件

    列出部件中的零件文件的名称。使用此视图可复制文件名以在规则中使用。

    选项

    确定规则的行为,以及特定的规则外观特性。
     

    该规则的行为

    抑制 - 阻止规则自动运行。

    静默操作 - 通过自动选择默认响应来运行规则,而不显示 Inventor 对话框。

    立即触发从属规则 - 对于由此规则更改的参数触发的其他规则,在参数值发生更改时立即执行这些规则。不再等待此规则执行完成。

    不自动运行 - 阻止规则为响应参数更改而运行。

    直接 VB 代码 - 将此规则识别为可在规则间共享的代码。

     

    规则编辑器

    选择字体 - 为规则文本选择字体。
     

    捕获语法

    使用零部件名称 - 使用零部件名称将参数自动转换为参数语法。

    搜索和替换

    在当前规则中查找字符串,并使用其他字符串替换该字符串(可选)。

    查找内容

    输入要搜索的字符串。

    替换为

    输入要替换原始字符串的字符串。

     

    区分大小写

    选择该选项以区分小写字符和大写字符。
     

    仅全字匹配

    选中该选项以仅寻找完全相符的字符串。即使所查找的字符串包含在一个更长的词内,也不相符。
     

    查找

    查找字符串。
     

    查找下一个

    查找下一处的字符串。
     

    查找上一个

    返回至上一处的字符串。
     

    替换

    使用指定的替换字符串替换找到的字符串。
     

    在该规则中全部替换

    使用指定的替换字符串替换在当前规则中所有位置的所查找字符串。
     

    在所有规则中全部替换

    使用指定的替换字符串替换在所有规则中所有位置的所查找字符串。

    向导

    可让您从多个基于任务的向导中进行选择。

    为对话框创建规则

    根据模型参数为自定义对话框创建规则。

    消息框

    创建生成消息框的规则。
     

    捕获当前视图

    创建捕获当前屏幕视图的规则。
     

    参数极限值

    创建当参数值超出指定范围时显示诊断消息的规则。

    编辑工具栏

    包括用于处理 iLogic 规则的工具。

    打印

    打印当前规则的文本。

    页面设置

    确定用于打印规则文本的页面设置。
     

    剪切

    删除所选规则文本,并将该文本的副本放在剪贴板上。
     

    复制

    将所选规则文本的副本放在剪贴板上。
     

    粘贴

    将剪贴板上的规则文本副本放置到光标所在位置。
      重做重新应用上一个编辑功能的效果。
     

    撤消

    删除上一个编辑功能的效果。
     

    增加缩进

    在当前行的左端添加空格。
     

    减少缩进

    删除当前行左端的空格。
     

    注释掉选定行

    将所选的规则文本行更改为注释。
     

    取消注释选定行

    从注释行中删除注释标签。
     

    If...Then...End If

    显示用于插入所选条件语句的下拉列表。
     

    关键字

    显示用于插入所选关键字的下拉列表。
     

    运算符

    显示用于插入所选运算符的下拉列表。
     

    帮助

    显示此对话框的帮助。
     

    确定

     
     

    取消

     

    外部 DLL 的规则

    使用此对话框可根据模型中的参数为自定义对话框创建规则。

    访问:

    功能区:“管理”选项卡 “iLogic”面板 “添加规则”,然后在“编辑规则”对话框的“向导”选项卡上选择“为对话框创建规则”。选择 DLL 文件。
    浏览至 DLL显示“打开 DLL”对话框,该对话框让您可以选择 DLL 以使用类和变量名称填充对话框。
    DLL 名称显示所选 DLL 文件的名称。
    对话框或类名称显示所选 DLL 文件的对话框或类名称。可以选择或取消选择对话框或类名称。取消选择以从规则中忽略。
    变量名称显示所选 DLL 文件的变量名称。您可以选择或取消选择变量名称。取消选择以从规则中忽略。
    确定创建规则。
    取消取消操作。

    捕获视图

    使用此对话框可创建根据选择的大小选项捕获当前显示视图的规则。

    访问:

    功能区:“管理”选项卡 “iLogic”面板 “添加规则”,然后在“编辑规则”对话框的“向导”选项卡上单击“捕获当前视图”
    保存并恢复当前视图范围将视图恢复为规则捕获视图时的方向和缩放设置。
    恢复时不更改视图大小将模型移动至显示屏中心并设定方向,但不更改缩放比例。
    恢复时调整为模型大小将模型移动至显示屏的中间位置并填充显示屏(与“全部缩放”相同)。
    确定将文本添加至规则。
    取消取消操作。

    消息框向导

    使用此对话框可创建生成消息框的规则。

    访问:

    功能区:“管理”选项卡 “iLogic”面板 “添加规则”,然后在“编辑规则”对话框的“向导”选项卡上选择“消息框”
    标题消息框顶部显示的标题。
    按钮显示在消息框上的按钮组合。
    默认按钮默认按钮的号码,根据其在按钮选集中的相对位置确定。
    图标要显示在消息框中的状态图标。
    提示文本要显示在消息框中的文本,应置于双引号内。
    预览根据当前选择的项目显示消息框预览。
    确定将文本添加至规则。
    取消取消操作。

    iLogic 极限值向导

    使用此对话框可创建当参数值超出指定范围时显示诊断消息的规则。

    访问:

    功能区:“管理”选项卡 “iLogic”面板 “添加规则”,然后在“编辑规则”对话框的“向导”选项卡上单击“参数极限值”
    名称参数的名称。
    最大值触发消息之前所允许的最大值。
    最小值触发消息之前所允许的最小值。
    超范围最大值当参数值超出所允许的最大值范围时显示的文本。
    标题(针对超范围最大值) 要在消息框上显示的标题。
    超范围最小值当参数值小于所允许的最小值范围时显示的文本。
    标题(针对超范围最小值) 要在消息框上显示的标题。
    默认将消息重置为其默认文本。
    确定创建规则。
    取消取消操作。

    高级规则创建技术

    您只能使用 Autodesk Inventor 参数指定语句、预先定义的 iLogic 函数及简单的 VB.NET 代码编写 iLogic 规则。但是,您可以随意使用这些技术。您可以在规则中使用更高级的 VB.NET 功能。Visual Basic 2005 或 2008 可用于创建可从规则中调用的外部 DLL 文件。您也可以调用使用 C# 或 C++ 编写的 DLL 文件。

    在规则代码中支持 Visual Basic 2008 (.NET Framework 3.5) 语法。

    以下语句可以在规则的顶部、主规则代码之前使用:

    Option Explicit On

    Option Strict On

    Option Infer Off

    AddReference "filename.dll"

    Imports ...

    AddVbRule "Other Rule"

    AddVbFile "filename.vb"

    AddResources "filename.resources"

    OptionImports 是标准的 VB.NET 语句。

    Option Explicit Off 是默认值。它可让您在不进行声明的情况下使用局部变量。

    Option Strict Off 是默认值。Option Strict On 也适用于大多数规则。

    Option Infer On 是默认值。

    主规则代码是“隐含”子例程。若要添加更多子例程、函数、特性或类,请按照如下方式声明 Sub Main()

    Sub Main()
    ' your main rule code here
    End Sub

    不论规则是否包含其他代码,Sub Main() 均可在任意规则中使用。若要了解有关明确声明规则类的更多详细信息,请参见“如何处理规则?”。

    AddReference

    使用特殊的 iLogic 语法。将 DLL 名称添加至 AddReference 语句与在 Visual Studio 或 Visual Basic Express 中使用 AddReference 命令并浏览 DLL 作用相同。仅支持 .NET 部件。DLL 可以为标准 Microsoft 部件,与在 Microsoft.NET\Framework 目录中相同。

    例如,考虑以下语句:

    AddReference "System.Drawing.dll"

    在此语句中,.dll 扩展名是可选的。

    您也可以指定用户创建的类库或第三方类库作为参考。用户创建的 DLL 或第三方 DLL 必须全部位于一个目录中。默认情况下,这些 DLL 位于 Autodesk Inventor 安装目录下的 iLogicAdd 子目录中,例如:

    C:\Program Files\Autodesk\Inventor [版本]\Bin\iLogicAdd

    您可以使用“iLogic 配置”命令更改此位置。您也可以在 Autodesk Inventor Bin 主目录(例如 C:\Program Files\Autodesk\Inventor [版本]\Bin)中添加对 DLL 的参考。

    AddReference 语句不支持完整路径指定。您只能指定文件名。使用如下合格名称添加对 Global Assembly Cache (GAC) 中的部件的参考:

    AddReference "VsWebSite.Interop, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”

    您也可以在规则中使用 CreateObjectGetActiveObject 来创建或访问已注册的 COM 对象。不必针对 COM DLL 使用 AddReference

    AddVbRule

    将指定规则中的代码作为与主规则一起编译的 VB 代码包括在规则中。指定规则不能为标准规则。必须在“编辑规则”对话框的“选项”面板中为该代码启用“直接 VB 代码”选项。iLogic 不会预处理此类规则中的代码。该规则包含可以从其他规则中调用的类或模块。使用此语句可在规则间共享代码,或者保留代码模块化。

    示例

    AddVbRule "Other Rule"

    AddVbFile

    该语句执行的操作与 AddVbRule 相似,但 VB 代码却存储在外部文件(而非规则)中。与使用 AddVbRule 相同,必须为代码启用“直接 VB 代码”选项。此语句对于在模型间共享相同的代码十分实用。文件规格必须为相对路径名称。iLogic 使用搜索外部规则所采用的相同搜索顺序在当前 Autodesk Inventor 文档目录及其他目录中进行搜索。

    示例

    AddVbFile "fileName.vb"

    AddResources

    添加字符串或位图等资源。这些资源必须使用 Visual Studio 进行编译。

    示例

    AddResources "fileName.resources"

    导入

    不允许重复使用导入语句。可以在所有规则中隐含使用以下默认导入语句:

    • Imports System
    • Imports System.Math
    • Imports System.Collections
    • Imports Microsoft.VisualBasic
    • Imports Autodesk.iLogic.Interfaces
    • Imports Autodesk.iLogic.Runtime

    如果在规则中使用 MessageBox,则 iLogic 会自动添加以下语句:

    Imports System.Windows.Forms

    如果使用 ThisApplication 或其他 Autodesk Inventor 对象,则 iLogic 会自动添加以下语句:

    Imports Inventor

    规则参数

    iLogic 提供的高级功能允许您将上下文信息以规则参数形式传递给运行的规则。可使用该信息修改规则的行为,而不必创建重复的规则。

    您可以使用 IiLogicAutomation 界面(用于外部客户端)和 iLogicVB(用于其他规则代码和内部客户端)中可用的函数来传递参数。这些参数可通过 RuleArguments 特性在规则中使用。

    对于 IiLogicAutomation,可用的函数包括:

    Function RunRuleWithArguments(ByVal doc As Inventor.Document, ByVal ruleName As String, ByVal ruleArguments As Inventor.NameValueMap) As Integer

    Function RunExternalRuleWithArguments(ByVal doc As Inventor.Document, ByVal ruleName As String, ByVal ruleArguments As Inventor.NameValueMap) As Integer

    Function RunRuleDirectWithArguments(ByVal rule As iLogicRule, ByVal ruleArguments As Inventor.NameValueMap) As Integer

    对于 iLogicVB,可用的函数包括:

    Function RunRule(ByVal ruleName As String, ByVal ruleArguments As Inventor.NameValueMap) As Integer

    Function RunRule(ByVal compoOrDocName As Object, ByVal ruleName As String, ByVal ruleArguments As Inventor.NameValueMap) As Integer

    Function RunExternalRule(ByVal ruleName As String, ByVal ruleArguments As Inventor.NameValueMap) As Integer

    创建规则参数

    若要创建规则参数,请使用 Inventor API 创建新的 NameValueMap 对象。然后,该对象将在运行该规则时传递给某个函数。

    访问已传递给规则的参数

    x = RuleArguments(“myArg”)

    确定是否已将参数传递给规则

    If RuleArguments.Exists(“myArg”) Then...

    使用 RunRule 将该组参数传递给其他规则

    iLogicVB.RunRule(“someOtherRule”, RuleArguments.Arguments)

    其他语句

    如果使用 Sub Main(),规则会遵循类的标准 VB.NET 格式,但 Class...End Class 语句将不可见,且 Sub Main() 前面的语句在该类外部。因此,需要将所有指定语句放到 Sub、Function 或 Property 内部。您可以在子例程或函数外部包括类成员变量的声明语句(例如 Private temp As Double = 4.5)。

    您可以将 SubFunctionPropertyClass 定义添加到 Sub Main()... End Sub 的后面。添加的任何 Class 均嵌套在该规则的主规则 Class 中,无法从其他规则进行使用。若要添加独立的 ClassModule,使用以下内容明确地声明该规则 Class

    Class ThisRule ' ...
    Sub Main
    End Sub
    ' ...
    End Class

    然后可以在该代码外添加另一个 ClassModule(也可添加多个)。Class ThisRule 成为主规则 Class,iLogic 将调用 Sub Main(在其内部)以运行规则。

    若要包含对于多个规则可见的 ModuleClass,请将其放在外部部件 (DLL) 中。可以在一个 DLL 中放置多个模块或类。您也可以使用 AddVbRule 将它们放在 Inventor 文档 () 内标识为“直接 VB 代码”的规则中。或者,使用 AddVbFile 将它们放在外部 VB 文件中。

    当您开发高级 VB.NET 代码时,请使用 Visual Studio 或 Visual Basic Express,而不要直接在规则中进行编码。然后,您可以从 Visual Studio 中剪切相对较小的代码段,然后将其粘贴到规则中。您甚至可以粘贴到整个对话框 Class 中(虽然资源不容易支持)。或者在需要的地方,为更大的代码单元创建部件,然后将其作为外部 DLL 从规则进行使用。

    您可以使用 iLogic 规则共享变量函数来存储用户定义的 Class 实例对象。若要存储这些对象,请序列化 Class,否则必须将其从 MarshalByRefObject 中衍生。

    外部 DLL

    您可以使用 .NET 编写自己的外部 DLL,然后从规则中调用它们。若要对 DLL 进行调试,请在“项目特性”“编译为 iLogicAdd”下面设定构建输出路径(在 Inventor Bin 目录下面)。然后,在 Visual Studio 中,为项目特性中的“启动外部程序”选择“Inventor.exe”。此方法可让您利用调试环境的一切优势功能,包括“编辑”和“继续”。

    当使用规则显示可让用户进行输入的对话框时,外部 DLL 十分实用。

    Inventor API

    若要从规则中访问 Inventor API,请使用 ThisApplication 特性访问 Inventor 应用程序。使用 ThisDoc.Document 访问包含当前规则的文档。您可以创建和修改特征。使用 Parameter.Param 直接访问 Inventor.Parameter。

    若要从您自己的 DLL 中使用 Inventor API,请在您的 Visual Basic 项目中添加对 Autodesk.Inventor.Interop.dll 的参考。它将显示在“添加参考”对话框上的“.NET”选项卡上。对于 Inventor 2011,该版本为 15.0.0.0。

    在外部 DLL 中使用 iLogic 接口

    所有 iLogic 函数都分组在诸如 Parameter、iProperty、iPart 等接口对象下。您可以将 iLogic 接口对象作为参数传递给外部 DLL 中的函数。若要在项目中使用这些对象,请添加对 Autodesk.iLogic.Interfaces.dll 的参考。选择“添加参考”对话框中的“浏览”选项卡,浏览至 Inventor Bin 目录下的 iLogicBin 目录(通常位于 C:\Program Files\Autodesk\Inventor [版本]\Bin\iLogicBin)。

    Autodesk.iLogic.Interfaces.xml 中提供了 iLogic 接口的文档。在 Visual Studio 中,您可以使用“对象浏览器”读取接口描述。这些描述包括在规则中实现接口的对象的名称。例如,规则中的 Feature 对象实现 ICadFeature 接口。

    规则中的参数

    在默认情况下,规则中的数值参数不会声明为 Double,而是声明为称为 DoubleForEquals 的自定义 iLogic 类型。

    “表单编辑器”对话框

    使用此对话框可创建或编辑自定义用户界面表单。

    访问:

    功能区:“管理”选项卡 “iLogic”面板下拉箭头 “添加表单”

    过滤器

    按以下条件过滤“参数”、“规则”和“iProperty”选项卡上的列表:

    • 全部
    • 重命名

    选项卡

    将选项卡上的项目拖放到表单设计树中,可在用户界面设计上添加控件。选项卡上仅显示现有的参数和规则。

    表单设计树

    在表单设计树区域中设计用户界面。

    • 将参数、规则、iProperty 和工具箱项目拖放到表单设计树中,可设计和组织用户界面。
    • 拖放树上的项目可组织控件。
    • 在标签中单击可编辑文本。
    • 亮显某项目可在特性区域中定义特性。

    工具箱

    将项目拖放到表单设计树。

     

    分组

    对用户界面上的项目进行分组。在用户界面上,各组周围都有边框,并且可收拢。

     

    选项卡组

    在用户界面上创建选项卡。

     

    创建行使您可以横向组织控件。默认情况下,控件是纵向组织的。

     

    图片

    在用户界面上添加图片。图片仅供参考。选择表单设计树中的图片项目,并定义图像文件的特性。

     

    图片文件夹

    为备用图片添加文件夹。

     

    空白空间

    在用户界面表单上添加空白空间。

     

    标签

    在用户界面表单上添加文字标签。

     

    拆分条

    在用户界面上添加可调整尺寸的拆分条。

    特性

    为表单设计树中亮显的项目定义特性。特性会因选定的项目而不同。

    允许调整控件大小

    如果设置为“真”,则启用表单上的快捷菜单选项“调整控件大小”。此选项允许您调整控件和组的大小。

    编辑控件类型

    定义要使用的控件类型以编辑此参数。

    启用参数名称

    定义 Inventor 真/假参数的名称。将此参数设置为“真”可启用该控件。

    字体

    定义该控件的字体。

    内容的字体

    定义此表单或组内控件的字体。

    图像

    定义要显示在该控件内的图像文件。

    标签

    定义表单中此元素的显示文本。

    最大宽度

    定义该控件的最大宽度。该数字指示以指定字体显示的字符数。

    最小宽度

    定义该控件的最小宽度。该数字指示以指定字体显示的字符数。

    模态

    如果设置为“假”,则可以在表单处于激活状态时与模型交互,并使用其他功能。

    图片参数名称

    定义基于参数值更改的图片控件。为图片控件指定参数,而不是指定图像。配合使用包含图片的“图片文件夹”,其中的图像均指定了参数值。

    请参见“在表单中使用图像”。

    预定义的按钮

    定义显示在表单底部的按钮。从预定义集合列表中进行选择。

    只读

    如果设置为“真”,则将参数设置为不可从表单中编辑。

    显示项目边框

    如果设置为“真”,将显示控件周围的所有边框。

    装入零部件时显示

    如果设置为“真”,则将该模型作为零部件装入部件时,会显示表单。此设置会影响“装入零部件”和“装入 iLogic 零部件”。如果模板文件包含表单,则该设置也会影响“创建在位零部件”。

    内容的文本位置

    定义此表单或组内控件的文本位置。

    工具提示

    定义鼠标悬停在控件上方时显示的工具提示文本。

    视觉样式

    定义表单的视觉样式或皮肤。从选项列表中进行选择。

    “表单和规则编辑器”对话框

    使用此对话框可添加或编辑用于从 iLogic 浏览器启动表单和触发规则的控件。

    访问:

    在 iLogic 浏览器的空白区域单击鼠标右键,然后选择“编辑”。

    规则

    将规则拖放到表单设计树中,以在 iLogic 浏览器上添加按钮。使用此按钮可以触发该规则。

    表单设计树

    在表单设计树区域中设计 iLogic 浏览器。

    • 将规则和工具箱项目拖放到表单设计树中,以设计和组织 iLogic 浏览器。
    • 在标签中单击可编辑文本。
    • 亮显项目可在特性区域中定义特性。

    工具箱

    将项目拖放到表单设计树。

     

    表单

    添加空白用户界面表单。使用“表单编辑器”对话框自定义表单。

     

    分组

    对 iLogic 浏览器上的项目进行分组。各组周围都有边框,并且可收拢。

     

    选项卡组

    在 iLogic 浏览器内创建选项卡式组。

     

    创建行使您可以横向组织控件。默认情况下,控件是纵向组织的。

     

    空白空间

    在“iLogic 浏览器”选项卡上添加空白空间。

     

    标签

    在“iLogic 浏览器”选项卡上添加文字标签。

     

    拆分条

    在“iLogic 浏览器”选项卡上添加可调整尺寸的拆分条。

    特性

    为表单设计树中的亮显项目定义特性。特性会因选定的项目而不同。

    启用参数名称

    定义 Inventor 真/假参数的名称。将此参数设置为“真”可启用该控件。

    字体

    定义该控件的字体。

    内容的字体

    定义此表单或组内控件的字体。

    图像

    定义要显示在该控件内的图像文件。

    标签

    定义表单中此元素的显示文本。

    最大宽度

    定义该控件的最大宽度。该数字指示以指定字体显示的字符数。

    最小宽度

    定义该控件的最小宽度。该数字指示以指定字体显示的字符数。

    单击时的操作

    定义单击该按钮时有何作用。从选项列表中进行选择。

    显示图框

    如果设置为“真”,将显示控件周围的所有图框。

    显示文本

    如果设置为“真”,标签文本将显示在按钮上。如果希望按钮上仅显示图片,请设置为“假”。

    内容的文本位置

    定义此表单或组内控件的文本位置。

    工具提示

    定义鼠标悬停在控件上方时显示的工具提示文本。

    视觉样式

    定义表单的视觉样式或皮肤。从选项列表中进行选择。