乾貨!高效能Web端BIM 3D視覺化引擎——破碎模式

一、概述

HOOPS Web Viewer元件使將多個模型聚合在一起變得容易。此類模型可能由聯合BIM模型中的各種學科、汽車配置中的底盤不同變體或複雜 MCAD 裝配的子元件組成。複雜的元件,例如汽車或飛機,由成百上千的單個零件組成。通常在原始CAD裝配中,裝配的每個子元件都將儲存在其自己的檔案中。 HOOPS Communicator中“破碎模式”支援的目標是在將裝配體轉換為SC格式時在很大程度上保留該結構。 我們沒有為裝配建立單個的整體式快取記憶體(SC)模型,而是為每個零件生成了單獨的SC模型,然後是將這些零件聚合為表示完整裝配“master主模型”或XML產品結構檔案。

二、破碎模式的優勢

HOOPS Communicator

中檢視複雜CAD裝配的一種方法是使用我們的轉換工具或透過直接創作建立一個包含裝配的所有零件的SC模型。儘管此SC模型可能會變得很大,但Stream Cache Server中的智慧流式支援可確保幾乎立即檢視此模型。結合記憶體限制或使用伺服器端渲染,甚至可以在一般的膝上型電腦或行動電話上檢視大型整體模型。您還可以使用OnDemand模式將模型保留在伺服器上,並且僅請求使用者感興趣的零部件或子裝配。

與單片模式不同,破碎模式的主要優勢在於它如何處理裝配體的變體和配置(子模型變更),而PLM系統就是一個最好的示例。在同一裝配體上工作的多個使用者意味著資料在不斷髮展和變化,零件的新變體正在“檢入”,一些可能被刪除,新增並重新配置子裝配。此外,使用者可能希望檢視裝配體的較舊狀態或模擬其他配置。在大多情況下,每次請求模型更改或模型的不同變體時,必須生成一個新的單片SC 模型,該模型可能速度慢且資源量大。使用破碎的方法,建立裝配體的新配置只需更新裝配體的 XML 產品層次結構,然後重新轉換已更改的模型的元件。在大多數情況下,它使檢視模型的不同變體幾乎是即時的。

為了快速檢視,這首先涉及建立XML產品結構檔案。該檔案描述了模型的結構及其對其他SC模型的依賴關係,而後者又通常代表裝配的零件。然後,在可選步驟中,我們的轉換工具可以從此XML檔案生成SC master主模型。可以像其他任何SC模型一樣,透過流快取伺服器將該檔案載入到檢視器中。

請參閱下面的兩個圖,其中顯示了典型的稍微簡化的裝配樹層次結構以及與此層次結構關聯的檔案。

乾貨!高效能Web端BIM 3D視覺化引擎——破碎模式

Catia 裝配的簡化。請注意,每個唯一零件由單個“catpart”檔案表示,而每個裝配體(和子裝配體)由“catproduct”檔案表示。例項零件(如螺釘)只表示一次,但在層次結構中多次顯示。

乾貨!高效能Web端BIM 3D視覺化引擎——破碎模式

將第一個關係圖中顯示的裝配體轉換為破碎SC模型時,將為裝配體中的每個唯一零件建立SC檔案。此外,可能從包含裝配體結構和引用零件級流快取模型的 XML 產品結構檔案建立SC master模型。SC 的破碎實現不支援引用子裝配,因此這些子裝配被展平。

三、客戶端破碎

儘管您可以在伺服器上建立一個與頂層裝配體檔案等效的“master主模型”,但這種方法的缺點是,每次裝配體結構發生更改時,都需要重新生成此主模型 。此外,SC主模型必須透過HOOPS流快取伺服器進行流傳輸,並且不能為SCS檔案。 該方法的替代方法是“客戶端破碎”。

在之前,我們已經談到了客戶端支援的功能。通常的方法是您利用我們的匯入工具轉換CAD裝配時或直接由您的應用程式生成的XML產品結構檔案。您只需將此檔案傳遞給相關的loadSubtree函式:

loadSubtreeFromXMLFile

loadSubtreeFromXMLBuffer

loadSubtreeFromScsXMLFile

loadSubtreeFromScsXMLBuffer

如您所見,客戶端破碎也支援 SCS 檔案,這意味著它不需要流快取伺服器。

客戶端破碎的缺點是,您需要將 XML 產品結構檔案傳輸到瀏覽器客戶端(或在那裡生成)。流載入效能和一般幀速率也不如伺服器端破碎,因為流式處理之前對模型進行的最佳化較少。

四、使用 HTTP 壓縮來減少資源大小

具有許多零件的複雜裝配體的XML檔案可能會變得很大。隨著此檔案的增加,將資源傳輸到客戶端進行處理的時間增加了,從而降低了使用者體驗,因為他們必須等待更長的時間才能看到螢幕上的內容。

HTTP 壓縮是處理大型 XML 裝配檔案時獲得性能提升的一種簡單方法。此方案在伺服器或瀏覽器級別實現,不需要修改客戶端程式碼。啟用壓縮後,壓縮演算法將應用於伺服器上的資料,然後再發送給客戶端。在瀏覽器和伺服器之間協商編碼。

在下圖中,大型裝配的XML檔案為11。6mb。傳送回客戶端的響應為717kb,而資源大小為11。6mb。檢查響應頭,我們可以看到content-encoding設定為gzip,而content-type是application/xml。

乾貨!高效能Web端BIM 3D視覺化引擎——破碎模式

啟用壓縮所需的步驟將因伺服器和框架而異。但是,必須確保為xml檔案啟用壓縮。

相關閱讀:乾貨!HOOPS Communicator——Web端高效能BIM 3D視覺化引擎!-控制元件新聞-慧都網

關注“HOOPS技術”微信公眾號

及時瞭解HOOPS的更多資訊

乾貨!高效能Web端BIM 3D視覺化引擎——破碎模式