如何在伪造模型的bubblenode中编辑视图

时间:2019-07-25 02:35:06

标签: autodesk-forge

我正在为autodesk forge制作标记扩展。我希望能够单击一个位置,保存相机信息,并将其作为视图添加到bubblenode。

forge api是否提供一种编辑气泡节点的方法?如果可以,怎么办?

1 个答案:

答案 0 :(得分:0)

不幸的是,不,这不仅是因为Viewer不为此提供API。

本质上是当Viewer将一个buddle节点作为JSON对象(通常从文档作为其模型视图之一从文档中解析)加载时,您可以看到它包含模型视图的元数据,例如:

data:
children: [{…}]
guid: "b3322d42-e636-4506-9605-7b869cf6d872"
hasThumbnail: "true"
name: "Scene"
progress: "complete"
role: "3d"
size: 20870311
status: "success"
success: "100%"
type: "geometry"

然后

Viewer使用此信息从Forge服务中检索到对应派生类的URL,并将它们分派到适当的模型加载器。因此,要将标记加载为气泡节点,需要注意的是:

  • Viewer没有可用于其设计数据的加载器(既没有SVG也没有标记对象)
  • 除非我们通过翻译作业重新生成衍生工具及其元数据,否则它们在Forge服务上都是不可变的-但您仍然可以从自己的设置中加载它们,稍后再讨论

目前,保存和加载标记的最佳方法是作为SVG文字(有关详细信息,请参见here)或序列化标记对象。

已经说过,有可能(尽管没有得到官方支持/记录)提出自己的气泡节点JSON供Viewer使用-参见here

关于持久保存相机视图,您可以使用navigation.setView(camera.position, navigation.getTarget())保存/加载其状态(请参阅文档here)。

您还可以使用viewer.get/setState(请参阅文档here)来保持Viewer的整体状态