我们有的时候会用到一些高级的Inventor技巧,其中这些高级的Inventor技巧就包括inventor中的 iLogic 技巧,小编话不多说,你要不要来学一学?
其他语句
如果使用 Sub Main(),规则会遵循类的标准 VB.NET 格式,但 Class... 和 End Class 语句将不可见,且 Sub Main() 前面的语句在该类外部。因此,需要将所有指定语句放到 Sub、Function 或 Property 内部。您可以在子例程或函数外部包括类成员变量的声明语句(例如 Private temp As Double = 4.5)。
您可以将 Sub、Function、Property 和 Class 定义添加到 Sub Main()... End Sub 的后面。添加的任何 Class 均嵌套在该规则的主规则 Class 中,无法从其他规则进行使用。若要添加独立的 Class 或 Module,使用以下内容明确地声明该规则 Class:
Class ThisRule ' ... Sub Main End Sub ' ... End Class
然后可以在该代玛外添加另一个 Class 或 Module(也可添加多个)。Class ThisRule 成为主规则 Class,iLogic 将调用 Sub Main(在其内部)以运行规则。
若要包含对于多个规则可见的 Module 或 Class,请将其放在外部部件 (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 接口。
转载请注明来源本文地址:https://m.tuituisoft/bim/15707.html