c# - 如何处理 NX Open 中的打开文件错误

标签 c# pdf runtime-error siemens-nx nxopen

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

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

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

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

最佳答案

看来您正在执行多线程处理是问题所在,因为从 NX 来看,错误代码 3795014 是函数只能从主线程调用

参见the Siemens docs使用 NX Open 进行多线程处理。

在大多数情况下,无论使用何种语言,您都无法在 NX Open API 调用中使用多线程。即使语言允许,例如 Java,NX 在内部也会锁定每个调用,以便实际上不会并行执行 NX Open 函数调用。

关于c# - 如何处理 NX Open 中的打开文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69513273/

相关文章:

node.js - Express - 从 Web 服务返回二进制数据

user-interface - 如何使用搜索选项修复 Gui 的 netbeans 中的运行时错误?

java - "A Java Exception has occured"可能是什么原因?

C# - 通过 HTTP 发送文件

c# - 无效的 Resx 文件。找不到部分路径

c# - 如果该行项为真,如何使数据网格的一行变为粗体?

c++ - Qt Release build 给出 MSVC++ Runtime Library Error

c# - 将 OperationCanceledException 关联到 CancellationToken 的正确方法

html - 使用自定义渲染器的本地 HTML 到 PDF 仅添加最近查看的图像

c# - C#OpenFileDialog打开包含单个文件的zip文件夹?