原創|工業3D解決方案|編輯:何家巧|2022-01-07 10:44:14.877|閱讀 334 次
概述:現實世界環境中的所有事物、人、業務流程的3D可視化,不再只出現在科幻電影中,這就是數字孿生。數字孿生是描述環境、事物、人及其關系的數字表現的術語,而Azure數字孿生(ADT)是一個允許創建和與這種數字表現互動的平臺。它不僅允許創建模型,而且還提供了圖形API來查詢和與它的孿生互動。ADT Explorer是一個工具,允許用戶將ADT模型和孿生可視化,并探索不同事物、人和過程之間的關系。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
但這些二維圖形并不像實際物體的大小、形狀、顏色或位置。靈活的三維表示法對于瀏覽、理解、監控和對這些信息的變化
做出反應是非常有幫助的。必須與數字雙胞胎互動的操作人員需要以一種對他們來說簡單而直觀的方式進行互動。HOOPS Web 平臺是一套軟件開發工具包,它可以補充ADT,提供一個基于網絡的三維瀏覽器,可以導入CAD模型并連接到ADT中存儲的數據和事件。使用HOOPS和ADT,我們可以創建一個工廠的3D數字孿生,其直觀的界面可以讓操作員輕松看到每臺機器的狀態。
DTDL是Azure Digital Twins中用來描述模型和雙胞胎的語言。在這里了解更多。我們使用一個基于這個ADT學習模塊的DTDL圖。你需要連接到一個與此類似的托管ADT圖。
要使用來自CAD模型的自定義3D數據,你需要HOOPS Web平臺。
導入數據注意:流緩存數據有兩個主要變體。
Stream Cache Standalone (SCS) - 可以使用 REST API 函數輕松加載這些單一文件,就像加載其他文件一樣。在可視化之前必須下載整個文件。在本文中,我們使用這種方法來管理 3D 數據。
Stream Cache Compressed (SCZ) – 這些壓縮文件使用 HOOPS SC Server 應用程序的實例進行流式傳輸,該應用程序在服務器和客戶端之間建立 WebSocket 連接。3D 模型數據通過此連接逐步流式傳輸,并可立即進行交互。這種格式有助于可視化非常大的模型。
可以找到支持的文件格式的完整文件列表。大多數情況下,可以將 HOOPS Converter 不支持的格式保存為中性格式,例如 STEP、STL 或 FBX,然后轉換為流緩存文件。
ADT圖中的一些節點可能有相關的3D數據,包括物理建筑或場地、機器、傳感器和其他對象,無論是否啟用物聯網。對于有三維數據的ADT節點,你可以把相關的模型名稱保存為一個屬性。雖然模型文件名保存在ADT內,但模型文件本身應該保存在其他地方,可能是在托管你的后臺的服務器上的/scs_models目錄下。我們使用的DTDL。
除了SCS文件的路徑,我們還保存了一個轉換矩陣,幫助我們在三維空間中放置物體。變換矩陣是一個4x4的矩陣,編碼它在3D場景中的位置、旋轉和比例。因為DTDL不支持將數組作為一個屬性,這個矩陣被存儲為一個地圖。索引 "1 "到 "16 "代表了矩陣中16個元素的每一個。建議將SCSFile名稱和轉換保存為ADT圖的一部分,但它們也可以在你的特定應用程序中硬編碼,保存在JSON文件中或保存在一個外部數據庫中。這個例子假設它是存在的,并將使用這些屬性來自動加載相關的三維數據。
可視化數據
HOOPS Web Viewer (HWV) 是一種基于瀏覽器的應用程序,用于查看 3D 數據并與之交互。它可以通過廣泛的 JavaScript API 進行配置。hoops_webviewer_sample.html 顯示了如何配置 WebViewer 并將工具欄和其他常用工具連接到查看器。此示例是我們示例項目的基礎。
使用從 hoops_web_viewer.js 提供的客戶端代碼實例化 WebViewer。我們首先加載一個附加到命名 HTML <div> 的空查看器,WebViewer 將控制并渲染到該 HTML 中。
接下來,我們為所有定義了“SCSFile”和“Transformation”的節點查詢 ADT,并使用 loadSubtreeFromScsFile() 將它們加載到 WebViewer 中。
這會在 WebViewer 和 ADT 中的對象之間創建綁定。當 ADT 發生變化時,我們使用 ADT Id 查找 WebViewer 節點 Id,然后使用節點 Id 更改 WebViewer 中的 3D 表示。我們使用此綁定來顯示元數據并對事件做出反應。
或者,與 3D 查看器中的對象交互可以通過使用此數組從 WebViewer 節點 ID 查找關聯的 ADT Id 來影響 ADT 圖。例如,
這是在重新定位對象或更改與 ADT 節點關聯的 3D 模型時完成的。標記
通常需要在 3D 對象旁邊顯示靜態或實時信息。ADT 中的每個實體都可以有與之關聯的元數據。WebViewer 可以通過多種方式將其顯示為文本。一種方法是通過一段標記。對事件的反應
另一個典型的工作流程是對事件做出反應,尤其是單個節點的錯誤狀態或 ADT 圖中的傳播錯誤。我們將事件狀態視為另一塊元數據。我們不將其顯示為文本,而是在錯誤狀態下突出顯示整個對象。我們的 ADT 實例會在研磨振動超過 300 時設置警報。UI 中的“觸發”按鈕會自動將 ADT 圖表中的振動設置為 300 以上以進行測試。
在我們的輪詢功能中,我們檢查是否在節點上設置了警報,然后突出顯示:
hwv.selectionManager.selectNode(object.nodeId);每個對象的位置、旋轉和大小都存儲為一個 16 元素的浮點數組,表示一個 4x4 變換矩陣 ( //en.wikipedia.org/wiki/Transformation_matrix )。這有助于將每個對象放置在 3D 空間中。將變換矩陣留空會將對象放置在 3D 場景的中心 (x=0, y=0, z=0)。
我們為圖中的每個節點設置了適當的轉換。利用幾何手柄如果添加了新對象或者您想重新定位現有對象。這些可以在演示中未來的工作
使 ADT 和 HOOPS 之間的集成對開發人員更加友好的幾項舉措:Tech Soft 3D的旗艦圖形引擎已為20多年來成功合作的程序提供最先進的圖形支持,這些軟件包括來自Oracle,SOLIDWORKS,Trimble,Hexagon,ANSYS,3D Systems,Mitutoyo,Actify等。全球各地的公司都依賴HOOPS Visualize在平臺,設備和圖形卡之間實現極高的性能,和一致的穩定性。有興趣探索HOOPS Visualize API功能的開發人員可以。
關于Tech Soft 3D
Tech Soft 3D是全球領先的開發工具提供商,可幫助軟件團隊交付成功的應用程序。Tech Soft 3D成立于1996年,總部位于俄勒岡州本德市,并在加利福尼亞州,法國,英國和日本設有辦事處。該公司的工具包產品為全球數億臺計算機上運行的近500個獨特應用程序提供支持。
掃碼關注“HOOPS”微信公眾號,及時獲取更多hoops技術資訊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn