2

emptyviewer.jpg

不久前,我收到一个关于如何在不加载任何模型的情况下初始化Forge viewer的请求。据我所知,viewer的一些初始化设定是在加载模型时才被决定的,所以基本上是无法以这种方式初始化viewer的。然而,我在StackOverflow上针对此需求提供了一种暂时的解决方法:

加载一个包含两个极小点的虚拟模型(例如放置在bounding box的最小点和最大点),让Viewer看起来像没有加载任何模型。若要加载新的模型,必须先卸除此虚拟模型,并使用Viewer3D.tearDown()释放一些内存。

现在让我们来看看该如何完成(以下步骤使用了Revit的通用族样板和3D视图的bounding box):

一、我们必须先建立一个幽灵点群代表上述提到的极小点。它的外观如下:
Ghost%20Sphere%20RFA.jpg

二、放置两个幽灵点族群的实体,并将其放置在一个非常非常接近Revit3D视图默认bounding box最大和最小点的位置,如下图所示:
Ghost%20Spheres%20on%20Maximum%20Extents.jpg

为了简化工作,我写了一段Dynamo的程序来加快速度:
Ghost%20Sphere%20Placement.png
然后根据我测试的结果,需要将这两个幽灵点的偏移调整为+30000mm(最大点)和-30000mm(最小点)。 (如果这两个点太靠近3D视图bounding box的最大点或最小点,它们会在Forge转档之后消失。)

三、将此Revit档案上传到Forge 服务器转档,并像往常一样使用viewer打开,您将会看到空的viewer。以下是视频演示:
https://www.youtube.com/watch...

是不是很簡單呢?更多程序代码的细节请查看这里的源码和范例:https://github.com/yiskang/fo...


康益昇
748 声望103 粉丝

引用和评论

0 条评论