我正在为autodesk forge开发一个标记扩展。我希望能够单击一个位置,保存相机信息,并将其作为视图添加到气泡节点。
forge api是否提供了编辑气泡节点的方法?如果是这样的话,是怎么做的?
发布于 2019-07-25 11:54:56
不幸的是,没有,这不仅仅是因为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"
然后,查看器使用此信息检索指向Forge服务中相应派生项的URL,并将它们分派到适当的模型加载器。因此,要将标记加载为气泡节点,需要注意以下几点:
目前,保存和加载标记的最好方法是作为SVG文本(有关详细信息,请参阅here )或序列化标记对象。
话虽如此,也有可能(尽管没有官方支持/文档)提出您自己的气泡节点JSON供查看器使用-请参阅here的示例。
至于保持相机视图,你可以用navigation.setView(camera.position, navigation.getTarget())
保存/加载它的状态(参见文档here)。
您还可以使用viewer.get/setState
(参见文档here)来持久化查看器的整体状态
https://stackoverflow.com/questions/57193533
复制相似问题