您可以不将 iLogic 规则存储在 Inventor 模型中,而不是将它们存储在外部文件中,然后导入或导出外部规则。
这种存储方法可让您在多个不同的位置使用同一规则。
iLogic 规则可以使用其他 NET 部件中的代码。您可以指定这些 NET 部件所在的目录。您可以使用编程工具(例如 Visual Studio)开发 NET 部件。有关在规则中使用 NET 部件的详细信息,请参见“高级规则编程”。
导入/导出 iLogic 配置设置(以 XML 文件格式)以在不同用户和计算机之间共享。配置完成后,外部映射文件夹会显示在“标准目录”树下,当内容(子文件夹和规则)更改时,该树将会立即更新或刷新。
创建展开时,将利用和映射外部规则配置设置。
通过快捷关联选项刷新全局表单可以反映最新的表单。
iLogic 提供了一个自动化接口。您可以使用此接口从 Inventor VBA、VB6 或 NET 代码访问参数和规则。
类 iLogicAutomation 可启用此功能。
在 VBA 或 VB 项目中,您可以将其作为后期绑定类型(声明为对象)使用,而无需添加参考。由于它不是完整的 COM 对象,您无法浏览其方法。
iLogic 使用称为 DoubleForEquals 的自定义数据类型存储参数值。DoubleForEquals 支持简单的数值比较。此参数与标准的 VB.NET 类型 Double 相似。但在比较 DoubleForEquals 值时,会将其视为 Single 值(有 7 个而非 15 个小数位)。在默认情况下,规则中的参数将声明为 DoubleForEquals。
利用 DoubleForEquals,在比较中忽略舍入错误更加容易。例如,假设您的零件使用英寸作为文档单位,而您有一个值为 13/16 英寸的参数。由于参数值在模型中以厘米存储,该零件在规则中不会准确地等于 13/16。然后,该值会被转换为英寸以在规则中使用。考虑以下比较:
if d0 = 13/16 then ...
在此示例中,如果 d0 为 Double 类型,比较则会失败。但是,如果 d0 为 DoubleForEquals 类型,比较则会成功。
DoubleForEquals 将值存储为 Double 类型,并将值视为 Double 值执行所有计算。只有执行比较时,才将值视为 Single 值。
如果需要,您可以使用 CDbl 函数将参数值转换为 Double 值。
DoubleForEquals 在 VB.NET 中为 Structure(一种值类型)。
DoubleForEquals 将与零进行的比较视为特殊案例。如果测试相等的两个数值中有一个为零,则如果另一个数值小于 0.0000001(绝对值),测试会成功。
此比较使得忽略值中接近于零的舍去错误更加容易。例如,以下比较确定 x = 0:
angle = PI/2 x = cos(angle) If (x = 0) Then ... End If
DoubleForEquals 是规则中使用的所有 Inventor 参数的默认类型。您可以出于以下原因禁用此设置:
使用 Web 浏览器联机搜索 VB 教程和信息。