AutoCAD雲產品平臺ForgeViewer格式離線部署思路分析

vjmap發表於2021-10-16

背景

在上一篇博文中CAD圖DWG解析WebGIS視覺化技術分析總結提到,利用AutoCAD的自有云產品 Autodesk Forge,能在瀏覽器中渲染 3D 和 2D 模型資料,實現DWG圖形的Web釋出。還是官方出品,效能,功能那不在話下。不過其資料得儲存在AutoCAD公有云上,那能不能離線部署呢?

Forge平臺

首先先說下Forge平臺,Forge平臺是Autodesk推出的雲產品平臺,提供各種API,可以實現在網頁上上傳、瀏覽、管理模型等功能,甚至包括3D列印、VR等。具體內容可以上主頁看:https://forge.autodesk.com/

Autodesk Forge Viewer 是一個基於 WebGL 的客戶端 JavaScript 庫,用於 3D 和 2D 模型渲染。檢視器可讓您在 Web 上檢視和共享來自各種產品的設計模型,包括 AutoCADFusion 360Revit等等。具體內容可以上主頁看:https://forge.autodesk.com/en/docs/viewer/v7/developers_guide/overview/

【Forge Viewer】是一套JavaScript(.js)庫和Css庫(.css),通常使用壓縮混淆版(*.min.js, *.min.css)。最主要的程式碼檔名為‘Viewer3D.js’或者‘Viewer3D.min.js’(壓縮混淆版),很多功能是額外的JavaScript程式碼,例如第三人漫遊,標記,刨切,測量,模型實時協作等,技術上稱為Extension。

‘Viewer3D.js’有一部分是基於Three.js庫進行了擴充,而Three.js架構於瀏覽器渲染圖形基礎技術WebGL。但‘Viewer3D.js’或者‘Viewer3D.min.js’,配合上另外一個載入模型演算法庫wgs.js,很多程式碼是Autodesk針對瀏覽器圖形渲染效能做的優化,可以支援超大規模的模型資料高效載入,又能保持良好的漫遊檢視能力。還有很多程式碼是Viewer預設的功能(漫遊,模型結構,構件屬性,環境設定等),還有為應用擴充提供的大量API。其效能和擴充性得到了得到眾多朋友的認可。

如何線上檢視DWG圖形?

1、開啟https://viewer.autodesk.com/ 上傳新圖形(如沒有註冊或登入,請自行先註冊登入)

image-20211016085026716

2、選擇本地一個DWG檔案,點選上傳,會經過上傳成功和處理兩個步驟

image-20211016085315190

3、處理成功後,就能顯示出CAD圖形了.

image-20211016085449933

功能還是挺豐富的,圖層切換、檢視實體資訊、測量、標記、列印、共享等。不過需要注意的是Forge按照雲服務實際使用量而收取費用。某些服務是按用量,某些是按照雲服務操作的CPU時間,某些是按照運算元據的大小,以後的新服務或許又有其他計量方式。

如何離線部署?

不用擔心,AutoCAD官方也是給出了答案的,那就是快取策略!

官方文件在: https://forge.autodesk.com/blog/disconnected-workflows

大致為: 雖然Forge 是一個 平臺,但基於它構建的某些應用程式可能希望支援 Internet 連線暫時不可用的場景。例如,考慮一個用於審查和註釋 CAD 模型的應用程式 - 如果您可以在飛機上處理幾個 CAD 檔案,然後在您再次聯機時同步您的註釋,這不是很好嗎?在這篇文章中,我們將介紹一種使用現代 HTML5 API 支援這些場景的可能方法。我們將首先簡要介紹 我們將要使用的技術,然後是 我們可以用來快取 Forge 內容的策略。具體內容可訪問上面的文件地址。

好像這個不是我們們真正想要的解決方案,我們們的目的是想要完全真正意義上面的離線部署。

繼續查文件,發現雖然Forge沒有私有云模式,但對於【網頁中載入模型的應用】的場景,經過Forge公有云服務轉換模型以後,可以下載轉換的資料部署到本地伺服器,通過【Forge Viewer】這個瀏覽器前端技術載入,這個思路還是可以的。

那如何提取Viewer可讀的模型檔案(SVF或F2d)到本地?

可以通過官方提供的Extractor應用提取:https://extract.autodesk.io/,亦可自行部署該應用:https://github.com/cyrillef/e...

當然,如果想完全破解svf或f2d格式,也是有辦法的。市場上有些商用的軟體或者自行閱讀forge提供的SDK程式碼去分享實現。

效果

image-20211016093624247

可能訪問 demo地址 https://vjmap.com/guide/forgeviewer.html 去體驗下效果

相關文章