Catia V6 - 退出用户选择框导致错误

Catia V6 - Escaping out user selection box causes error

我正在用 C# 开发应用程序,其中一部分需要使用内置函数进行交互式用户选择:

SelectMultipleElements( CATSafeArrayVariant  iFilterType, 
 CATBSTR  iMessage, 
 boolean  iMaySkipInteractiveSelection, 
 CATMultiSelectionMode  iMultiSelectionMode, 
 boolean  iTooltip) As CATBSTR  

这在 Catia 会话中显示了一个 window - 我缺少代表来添加...

如果用户可以在屏幕上找到正确的几何图形,那就太好了。

如果他们按下这个 UI 处于活动状态的退出键,它就会正确地消失。

但是,如果重新启动脚本(按 Escape 键后),每当再次请求此交互式选择 window 时,我都会收到 COM 异常:

The script is badly written. Since the beginning of the script execution, the user pressed the Escape key, and the script did not exit. See Selection.SelectElement documentation

这会阻止 window 重新显示。 我发现解决问题的唯一方法是重新启动 Catia 会话 - 在 debug/testing 期间对我来说很好,但对于我们的设计师来说不是一个可行的解决方案,他们不想重新加载什么他们正在努力。

Dassaults Automation 文档非常坦率地令人震惊,我在其中找到解决方案并不开心。

按下转义键时如何避免这个错误?我希望这不是特定于 Catia 的问题,但我对创建独立应用程序还比较陌生。

因此,最终在与同事调查后,这是 Catia 应用程序中的一个巨大错误。

除了找到不依赖于 "SelectMultipleElements" 函数的变通方法外,我们找不到其他方法来防止此问题