不久前,我收到一個關於如何在不加載任何模型的狀況下初始化Forge viewer的請求。據我所知,viewer的一些初始化設定是在加載模型時才被決定的,因此基本上是沒法以這種方式初始化viewer的。然而,我在StackOverflow上針對此需求提供了一種暫時的解決方法:git
加載一個包含兩個極小點的虛擬模型(例如放置在bounding box的最小點和最大點),讓Viewer看起來像沒有加載任何模型。若要加載新的模型,必須先卸除此虛擬模型,並使用Viewer3D.tearDown()釋放一些內存。
如今讓咱們來看看該如何完成(如下步驟使用了Revit的通用族樣板和3D視圖的bounding box):github
1、咱們必須先創建一個幽靈點羣表明上述提到的極小點。它的外觀以下:服務器
2、放置兩個幽靈點族羣的實體,並將其放置在一個很是很是接近Revit3D視圖默認bounding box最大和最小點的位置,以下圖所示:測試
爲了簡化工做,我寫了一段Dynamo的程序來加快速度:
而後根據我測試的結果,須要將這兩個幽靈點的偏移調整爲+30000mm(最大點)和-30000mm(最小點)。 (若是這兩個點太靠近3D視圖bounding box的最大點或最小點,它們會在Forge轉檔以後消失。)spa
3、將此Revit檔案上傳到Forge 服務器轉檔,並像往常同樣使用viewer打開,您將會看到空的viewer。如下是視頻演示:
https://www.youtube.com/watch...3d
是否是很簡單呢?更多程序代碼的細節請查看這裏的源碼和範例:https://github.com/yiskang/fo...視頻