如何处理NX Open中打开文件错误



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

然后我尝试在一堆文件中使用这段代码(通过for循环),一切正常。但有时当我尝试更改目标文件时,它会在BasePart上抛出异常:

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

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

这似乎是事实,你正在做多线程是问题,因为,从NX,错误代码3795014是Function may only be called from the main thread

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

大多数情况下,不能在NX Open API调用中使用多线程,无论使用哪种语言。即使语言允许这样做,例如Java,在内部,NX锁定每个调用,所以没有NX Open函数调用实际上是并行执行的。