我正在使用JS forge查看器。Forge viewer:放大房间内的资产(资产前面)
我试图选择建筑物中的资产,然后使用资产所在房间内的相机对其进行放大。我试图用
let boundingBox = this.viewer.utilities.getBoundingBox(false); this.viewer.navigation.fitBounds(false, boundingBox, true);
是否有可能全自动检测资产的前方,转动相机到这个,然后放大?
我正在使用JS forge查看器。Forge viewer:放大房间内的资产(资产前面)
我试图选择建筑物中的资产,然后使用资产所在房间内的相机对其进行放大。我试图用
let boundingBox = this.viewer.utilities.getBoundingBox(false); this.viewer.navigation.fitBounds(false, boundingBox, true);
是否有可能全自动检测资产的前方,转动相机到这个,然后放大?
长时间等待道歉。开发团队已确认Revit会议室不会翻译为模型衍生服务的翻译程序。因此,Forge Viewer目前不支持与房间相关的功能或API。
此外,我们发现您的API请求,放大房间内的资产,只适用于使用Forge技术开发的BIM应用程序,并且根据此请求可能会有许多不同种类的用例。因此,很难在Forge Viewer中为您的请求设计一个通用函数或API。因此,它可能在Forge Viewer的未来版本中不受支持。
然而,我们鼓励开发者喜欢你自己来实现此功能,并在这里对你是一个解决办法:
THREE.Geometry
。 [这是一个访问网格信息的例子。 Forge Viewer(link)]。step. 2
中计算THREE.Geometry
的计算BoundingSphere
,并将球体中心视为所选资产的中心点。Three.js raytracing
与BoundingSphere
中心的房间几何图形,以找到一些没有任何阻碍摄像机和所选资产之间的光线。 [这是一个示例,显示如何使用Forge Viewer(link)]使用Three.js光线跟踪。step. 4
的射线为视线。step. 5
中选择所需的视线以重新计算摄像机的位置,目标和支点。附:由于这只是一个解决方法,而不是正式的解决方案。您必须自行承担风险才能使用它。
根据我的拇指,它可能不可用,房间的几何图形将在翻译过程中被删除。我将与开发团队核对一下,并回复你A.S.A.P. –
@EasonKang好吧,我会等你的回复。提前致谢。 – Rockernaap