王 楠 侯志敏 陳慧珍
?
基于SolidWorks軟件實現三維模型的自動化裝配
王 楠 侯志敏 陳慧珍
沈陽科技學院,遼寧 沈陽 110167
把虛擬裝配系統中的模型轉換為零件模型和裝配約束模型這兩個重要部分是實現SolidWorks裝配模型轉換的最佳方式。在使用虛擬仿真格式后,可以讓OpenFlight的數據庫表達方式更具有層級化,在面對對象層次虛擬裝配以后能實現裝配模型的重塑。
SolidWorks軟件;三維模型;自動化裝配
模擬裝配是整個產品在實物模擬以及裝配時兩者進行的模擬映射,對它進行改進能轉變傳統實物模型的驗證裝配性,最終用戶就能在虛擬的環境中對驗證產品的裝配性進行深入了解。裝配建模的主要任務之一是在虛擬的環境中建立對應的產品零件模型,通過對裝配的約束建立對應的通用虛擬方式,然后再將CAD轉換為虛擬裝配模型。
虛擬裝配系統的模型轉換方式有如下兩類方式:第一,圖形交換中使用中性的文件定義法,可以在使用IGS格式、STEP格式等時自定義格式,但是由于中性文件格式異常復雜,所以在信息組織煩瑣的同時,會缺少裝配信息,這就致使整個裝配的效果欠佳。第二,在與共享底層數據庫進行CAD系統裝配的時候,可以讓CAD系統與虛擬裝配系統兩者相互統一,最終達成底層數據庫。但是由于這種方法的難度偏大,所以無論是通用性亦或是擴展性均會受到限制。
通過對CAD軟件的二次開發,可以在提取部分產品信息的同時,對拓撲信息、面片信息和裝配信息等數據有深刻的認識,從而在整個裝配約束存儲中進行文本格式的存儲,特別是在以OpenGL PERformer的虛擬裝配環境中加入了新的文件,以實現裝配模型的虛擬重構[1]。其實這種方法很難對整個產品的裝配信息進行系統性表達,尤其在很多細節方面還是不夠完善的,所以可以先把拓撲信息和面片信息等特征參數填入標準化層次數據庫結點中,然后通過輸入不同結點的信息,建立系統映射。其實這種虛擬映射不是在各類信息加載中運用程序映射的方式,而是現實面片信息和參數信息的集成與轉換。

圖1 虛擬裝配模型轉換流程圖
OpenFlight作為一種場景數據庫模擬規范系統,可以在仿真虛擬界實現工業化標準[2]。現在較為常見的虛擬軟件包括MultiGen Creator、圖形系統OpenGVS,World Tool Kit等均是以OpenFlight場景為主要的數據庫規范場景。
OpenFlight數據庫結構可以如圖2所示,通過分層技術場景的規劃,讓結點構成樹狀結構,然后不同的結點與子結點進行連接,這樣就能讓每個節點的數據屬性得以精準的定義,然后在該節點中使用這項功能。由于這種層次化的結構既能表達出零件的拓撲信息和面片信息,又可以在結點中添加部分附加信息,譬如特征參數等對應信息,使用OpenGL Performr加載OpenFlight數據庫模型以后,通過對OpenGL Performer API等函數進行數據模型訪問的方式,讓不同的模型層次結構點之間形成緊密聯系。正是使用這一特性,才能實現OpenGL Performr和OpenFlight集成的特點能滿足零件信息重構[3]。

圖2
對SolidWorks系統的二次開發,能對裝配模型的底層數據進行系統化提取,這樣就能深入了解裝配約束信息和裝配零件信息,使用具有裝配特征的裝配信息,先要讓函數get-IActiveDoc獲得對應的裝配模型,然后使用IFirstFeature函數裝配系統,通過對應MateGroup的特征,既使用裝配特征,又讓裝配定義零件約束信息系統的裝配效果更佳。
首先,要從CAD模型中針對性地模型轉換所需要的信息,之后再將這些提取出來的信息以固定的模型存儲。最后,將數據模型提取到虛擬裝配系統中。數據信息本身應具有完整性和簡單性,能夠非常清晰地將零件模型的層次表達出來;不同信息之間應盡可能地減少匹配,尤其是在加載數據模型的過程中,更應減少不同信息的映射。要將所提取的信息以固定規則導入OpenFlight數據庫中,并在裝配約束條件下,將所需進行匹配的零件裝配面進行映射,從而減少映射時的不同信息之間的關系。
將信息以虛擬現實格式進行保存就需要使用OpenFlight接口。設計者可以將零部件的模型在建模軟件中進行顯示,同時也可以將提取出來的信息進行一系列的編輯工作,使得數據信息能夠更好地滿足建模要求。為了使得零件模型能夠具有更好的層次,就需要對零件進行邏輯建模,同時還需要提取OpenFlight數據庫和SolidWorks信息映射關系,再將信息分別寫入各個不同層面的結點中。映射關系如圖2所示,將零件進行分層處理,從而將不同層與OpenFlight結點形成映射。用Group結點進行拓撲信息的存儲工作,并對特征參數和面片進行編號處理。
拓撲信息是不同結點之間所存在的拓撲關系。譬如以圓柱面做為父節點的面片,那么這個父節點的特征便是拉伸[4]。寫入信息時,需要對面片層和特征面層進行分別寫入,并以固定的規則進行命名。
模型的特征以及參數是規則面的參數。譬如當前只有一個裝配面的情況下我們便可以得到相關的參數和裝配面的類型,以及裝配面的特征等等。裝配類型包括圓柱面以及平面等等。裝配參數則包括例如圓心的坐標以及圓的邊界和圓的半徑等等。
面片的信息主要指的是三角面片所代表的編號、坐標以及相關的顏色等等[5]。面片信息的功能主要是用于顯示裝配條件以及虛擬環境下需要做的碰撞檢測等。
拓撲信息可以使結點信息在查詢功能上實現雙向信息流通,從而使相關結點所包含的參數信息能夠被快速地查詢到。拓撲的結點中存儲了特征參數的所有相關信息,所以這兩部分信息中所包含的內容都可以根據不同的需求進行擴展。
模型中所提取出來的信息和參數需要寫入OpenFlight的數據結點中。為了滿足這項功能要求,就必須命名數據結點,只有這樣才能使這部分信息得到表達。所有從CAD模型中獲得的相關信息在結點中都可以表達出來。
本文提出了由SolidWorks模型直接到虛擬裝配模型的系統化表達方式。由于該方式需要從SolidWorks軟件中提取部分拓撲信息、面片信息等數據信息。所以使用以OpenFLIght格斯層次化模型的表達方式,能通過對層次模式化表達的產品進行裝配約束。兩個模型在對其零件名稱進行特征變化映射關系建立時,應從虛擬裝配模型重構的角度思考問題,這樣能讓虛擬仿真標準格式的表達更具完整性,減少信息之間的不對稱映射操作,通過實例能讓該方法的表達更為簡明,也能切實感受產品的裝配信息,最終提升產品的可拓展性。
[1]陸培華,傅烽.淺談SolidWorks軟件在機械制圖教學中的應用[J].陜西教育(高教版),2015(6):14-15.
[2]郭黨號.基于SolidWorks的船舶柴油機虛擬裝配及運動仿真[J].船海工程,2016(11):12-13.
[3]武文亮.利用GoogleSketchUp快速構建滑坡三維模型[J].現代商業,2014(1):12-13.
[4]毛華揚,劉加利.面向內容的三維模型數據庫設計及其檢索系統的實現[J].北方經貿,2016(16):12-13.
[5]徐純.一種基于空間對稱變換的三維模型形狀描述方法[J].大慶社會科學,2015(9):2-3.
Automated Assembly of 3D Models Based on SolidWorks Software
Wang Nan Hou Zhimin Chen Huizhen
Shenyang Institute of Science and Technology, Liaoning Shenyang 110167
It is the best way to convert the models in virtual assembly system into parts model and assembly constraint model. After using the virtual simulation format, you can make the king of OpenFlight database expression more hierarchical, in the face of object-level virtual assembly to achieve assembly model remodeling.
SolidWorks software; three-dimensional model; automated assembly
TP391.9
A
1009-6434(2017)9-0068-03