0

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

  1. Post 作业有一个output.advanced.exportFileStructure可以设置的属性"multiple"和一个output.advanced.objectIds可以让您指定要提取模型的哪些部分的属性。从文档所述的少量内容来看,我希望每个请求的 objectid 都会收到一个 obj 文件。根据我的经验,情况并非如此。那么这仅适用于压缩文件.iam.ipt

  2. 好吧,无论如何,我为所有 objectIds 获得一个 obj 文件,每个 objectId 一个多边形组。这些组被命名(duh!),所以我希望它们像他们的 objectId 一样命名,但它看起来像是数字是以随机方式分配的。那么我应该如何实际将 objectId 映射到其相应的 3d 部分?有没有办法将 GET :urn/metadata/:guid/properties 中的信息链接回它们的对象?

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

4

1 回答 1

0

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

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

于 2017-01-23T20:40:09.153 回答