派生的 obj 文件的结构是否应该与原始步骤文件的命名一致?

Should the structure of a derived obj file coinside with the naming of the original step file?

使用模型导数时 API 我成功地从步骤文件生成了 obj 表示。但是在这个过程中有一些我不完全理解的怪癖:

  1. Post 作业有一个 output.advanced.exportFileStructure 属性 可以设置为 "multiple" 和一个 output.advanced.objectIds 属性 它允许您指定要提取模型的哪些部分。从文档中的一点点来看,我希望每个请求的 objectid 收到一个 obj 文件。根据我的经验,情况并非如此。那么这是否只适用于像 .iam.ipt 这样的压缩文件?

  2. 好吧,无论如何,我得到一个包含所有 objectId 的 obj 文件,每个 objectId 有一个多边形组。这些组被命名(duh!),所以我希望它们像它们的 objectId 一样被命名,但它接缝就像数字是以随机方式分配的一样。那么我实际上应该如何将 objectId 映射到它对应的 3d 部分呢?有什么方法可以将 GET :urn/metadata/:guid/properties 中的信息 link 返回给他们的对象吗?

我希望有人能对此有所启发。如果您需要更多信息,我可以为您提供原始步骤文件、obj 和我的服务器日志。

您误解了导数的 objectIds 属性 API:指定该字段允许您仅将特定组件导出到单个 obj,例如您的汽车模型有 1000 个不同的组件,但是您只想导出代表引擎的组件:[34、56、76](我只是编造的……)。如果要将每个 objectId 导出到单独的 obj 文件,则需要触发多个作业。 "exportFileStructure" 选项仅适用于复合设计(即程序集) 单个:为所有输入文件(程序集文件)创建一个 OBJ 文件,多个:为每个对象创建一个单独的 OBJ 文件。步骤文件不是复合设计。

如您所见,obj 组是随机命名的。据我所知,没有简单可靠的方法可以将 obj 文件中的组件映射到原始 objectId,因为 .obj 是一种非常基本的格式,它不支持元数据。您可以使用几何方法(查找 space 中的组件在哪里,使用边界框,...)来实现映射,但对于复杂模型来说这可能具有挑战性。