Autodesk Forge Zip翻译参考模型:能否获取各模型URN及替代方案?
问题
向Autodesk Forge上传并翻译包含一个rootFile和若干参考模型的Zip文件后,仅能找到一个模型URN。相关疑问及尝试如下:
- 后台是否会单独上传各模型?能否获取每个模型的URN?
- 核心使用场景:
- 场景1:打开包内预定义根模型之外的其他模型,查看其2D图纸;
- 场景2:将元素/参考模型的数据与其dbId/guid和URN关联保存。
- 已尝试操作:
- 曾通过选择不同模型部件执行
this.viewer.getAggregateSelection().lastItem.model获取URN,但所有元素仅对应一个URN(该方法仅在单独翻译后聚合视图时有效); - 通过VSCode的「Autdesk Forge Tools」扩展检查存储桶和对象,仅能看到上传的Zip文件,无法查看内部模型。
- 曾通过选择不同模型部件执行
核心疑问:是否只能针对每个想要打开的模型,重新上传同一Zip包并定义新的rootFilename?2016年的相关方案是否仍是唯一可行方式?
回答
- 后台不会单独上传Zip包内的各模型,所有模型会被合并为一个翻译任务,最终仅生成一个顶层URN。包内的子模型并未被单独上传或翻译,只是作为根模型的附属资源存在,因此无法直接获取单个模型的独立URN。
- 针对你的使用场景,目前确实需要通过重新上传同一Zip包并指定不同的rootFilename来生成对应模型的独立URN,这是当前唯一可行的方案:
- 场景1:每次上传时指定目标2D图纸作为rootFilename,翻译后得到该图纸的独立URN,即可单独加载查看;
- 场景2:只有当每个模型都拥有独立的翻译URN时,才能将元素的dbId/guid与对应模型的URN关联存储。
- 关于
viewer.getAggregateSelection()方法:该方法仅适用于多个独立翻译后的模型通过聚合方式加载的场景,而Zip包翻译生成的是单一合并模型,所有元素归属同一个顶层URN,因此无法通过此方法拆分出单个模型的URN。 - VSCode的「Autodesk Forge Tools」扩展仅能查看存储桶中的顶层对象(即你上传的Zip文件),无法访问Zip包内的子模型——因为这些子模型并未作为独立对象存储在Forge中,只是在翻译过程中被解析为根模型的依赖资源。
内容的提问来源于stack exchange,提问作者gmad
相关产品推荐
相关产品推荐

