在Forge-Viewer中模拟不加载任何模型

29次阅读

共计 688 个字符,预计需要花费 2 分钟才能阅读完成。

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

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

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

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

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

为了简化工作,我写了一段 Dynamo 的程序来加快速度:

然后根据我测试的结果,需要将这两个幽灵点的偏移调整为 +30000mm(最大点)和 -30000mm(最小点)。(如果这两个点太靠近 3D 视图 bounding box 的最大点或最小点,它们会在 Forge 转档之后消失。)

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

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

正文完
 0