在 Visual Studio 中单步执行 iLogic 规则

Stepping Through - Cover.png

注意:本文以英文撰写和发表,是原文的翻译版本此处。   

Visual Studio 通过附着到正在运行的 Inventor 进程并在代码中触发断点,可以用于调试 Autodesk Inventor iLogic 规则(内部和外部)。本指南概述了 iLogic 规则的逐步调试和变量检查的工作流。 

 

核心概念 

  • iLogic 规则在 Inventor 流程内部执行。 
  • Visual Studio 在运行后必须附着到 Inventor。 
  • 断点是从规则中以编程方式触发的,而不是在源文件中预设的。 
  • Visual Studio 打开运行时生成的只读临时文件进行调试。 

 

将 Visual Studio 附着到 Inventor 

 

分步 

  • 启动 Autodesk Inventor。 
  • 打开 Visual Studio(包含代码或不包含代码)。 
  • 在 Visual Studio 中: 
  • 导航到调试 = >附着到进程 
  • 设置: 
  • 连接类型: 当地 
  • 过程: Inventor.exe 
  • 单击Attach 

 

预期结果 

  • Visual Studio 现在正在侦听 Inventor 进程。 
  • 尚未打开任何源代码。 
  • Visual Studio 仅在遇到断点或异常时激活。 

 

有关 Autodesk 的官方演练,请参见: 使用 Visual Studio 调试 iLogic 规则 

tingting_miao_0-1767957598785.png

 

 

调试 iLogic 规则 

 

运作方式 

  • 当执行到达断点调用时,Inventor 会向调试器发出信号。 
  • Visual Studio 将打开规则的临时运行时版本。 
  • 执行在中断线上暂停。 
  • 所有局部变量、对象和调用堆栈都是可检查的。 

 

内部 iLogic 规则 

内部 iLogic 规则具有一个内置关键字,用作断点并触发暂停执行。 

在规则中的任意位置添加以下行: 

 

>>>插入 HTML 代码块 1<<< 
 
外部 iLogic 规则 

对于与内部规则相同的功能,外部规则可以具有类似的方法。这些规则将在运行时编译,从而使更改立即生效,而无需重新启动 Inventor。 

将以下方法添加到外部规则类,并在规则中的任意位置调用它: 

>>>插入 HTML 代码块 2<<< 

重置 iLogic 缓存  

iLogic 可以缓存规则并存储运行时状态。以下命令可以添加到单独的规则中,它将强制 iLogic 释放内存并重置其执行上下文。  

用法(何时考虑重置) 

  • 内部规则行为不一致。 
  • 较长的调试会话。 

>>>插入 HTML 代码块 3<<< 

常见陷阱 

  • 在执行规则之前忘记附加。 
  • 期望断点在运行之间持续存在。 
  • 编辑由 Visual Studio 打开的临时文件。 

 

总结 

通过简单的附加到流程设置和特意的断点触发器,Visual Studio 成为了 iLogic 开发的强大调试环境。这种方法的范围涵盖了快速规则检查和大型外部规则工作流,并为Inventor自动化提供了一致的调试体验 

 

 

注意:本文以英文撰写和发表,是原文的翻译版本此处。