2

我编写了从 NX 文件导出 PDF 文件的代码。当我为单个文件运行它时,一切正常。

然后我尝试通过一堆文件(通过for循环)使用此代码,一切都很好。但有时当我尝试更改目标文件时,它会在 BasePart 上引发异常:

basePart1 = theSession.Parts.OpenActiveDisplay(SourceFilePath, DisplayPartOption.AllowAditional, out _);

在那个错误之后,我必须重新打开项目并从头开始运行它,问题总是不会再次出现。但是当我尝试打开另一堆文件时,通常会再次出现问题。我该如何处理?

4

1 回答 1

2

似乎您正在执行多线程是问题所在,因为从 NX 开始,错误代码 3795014 是Function may only be called from the main thread.

请参阅有关NX Open 的多线程的 Siemens 文档。

在大多数情况下,您不能将多线程与 NX Open API 调用一起使用,无论是哪种语言。即使语言允许,例如 Java,在内部,NX 会锁定每个调用,这样实际上不会并行执行任何 NX Open 函数调用。

于 2021-10-28T20:32:49.613 回答