黃書偉,曹紅松,劉 虎,劉潤華,袁毓雯
(1.中北大學(xué) 機電工程學(xué)院, 太原 030051; 2.西安航天化學(xué)動力廠, 西安 710025)
ADAMS為美國MDI公司開發(fā)的虛擬樣機分析軟件,具有強大的機械系統(tǒng)靜力學(xué)、運動學(xué)和動力學(xué)分析能力[1],被廣泛應(yīng)用于汽車制造、航空航天以及國防工業(yè)等領(lǐng)域。ADAMS自身帶有的幾何建模工具可用于建立圓柱體、立方體、球體等簡單的幾何體[2],但對于實際工程應(yīng)用中遇到的復(fù)雜機械結(jié)構(gòu),就需要借助于專業(yè)CAD建模軟件,比如UG等進行三維模型建造,形成裝配體,并導(dǎo)入ADAMS中進行相應(yīng)的運動學(xué)、動力學(xué)仿真分析。
UG模型可通過IGES、STEP、Parasolid等多種途徑導(dǎo)入ADAMS[3],直接導(dǎo)入ADAMS中模型的完整性會根據(jù)導(dǎo)入方式不同而有所區(qū)別,但都存在模型零部件名稱錯亂的問題,ADAMS自身的命名規(guī)則會對UG導(dǎo)入模型的各零部件進行重命名,使其名稱與UG環(huán)境下的名稱失去一致性,設(shè)計人員需要手動修改各零部件名稱,對于零部件較多的模型,工作繁瑣,易于出錯且不利于對模型進行反復(fù)修改。
本文針對三維建模軟件UG和動力學(xué)仿真軟件ADAMS中模型的各自特征,對Parasolid文件格式和ADM文件格式進行了研究,開發(fā)了動力學(xué)模型快速重建軟件,實現(xiàn)了ADAMS中動力學(xué)仿真模型快速建立功能。
現(xiàn)以手槍彈匣模型為例,在UG中建立4個零件,彈匣體、彈匣基座、拖彈簧及托彈板,分別按照工程命名規(guī)則進行命名,并組裝成裝配體;在對其輸彈過程進行動力學(xué)分析時,需將各零件之間都設(shè)置為接觸關(guān)系,才能真實地體現(xiàn)出輸彈過程的動力學(xué)特性,模型及目錄樹如圖1所示[4]。
由圖1左側(cè)目錄樹可知,按照工程命名規(guī)則命名的各零件名稱為,Magazine spring(拖彈簧)、Magazine base(彈匣基座)、Magazine follower(托彈板)和tube magazine(彈匣體)。約束關(guān)系為,彈匣基座與彈匣體之間為固定關(guān)系,拖彈簧下部與彈匣基座為接觸關(guān)系,托彈板與拖彈簧之間為接觸關(guān)系,托彈板與彈匣體之間為接觸關(guān)系[5]。
將彈匣的裝配模型從UG中導(dǎo)入ADAMS中時,希望能夠同時將零件裝配關(guān)系和名稱信息完整地繼承過來。下面以不同方式將該模型導(dǎo)入到動力學(xué)仿真軟件ADAMS中,分析其存在的問題。
IGES(Initial Graphics Exchange Specification),初始化圖形交換規(guī)范,是一種基于不同電腦系統(tǒng)之間的通用ANSI信息交換標(biāo)準(zhǔn)。它以ASCII和二進制的形式存儲圖形數(shù)據(jù)[1]。IGES作為一種實體模型交換標(biāo)準(zhǔn),被絕大多數(shù)商品化CAD/CAM系統(tǒng)所采用。
在實際應(yīng)用中,由于IGES本身存在一些問題,在交換過程中經(jīng)常會發(fā)生錯誤或數(shù)據(jù)丟失現(xiàn)象,導(dǎo)致圖形無法轉(zhuǎn)換。UG模型以IGES格式導(dǎo)入ADAMS中時,如圖2(a)所示,ADAMS將整個UG裝配體模型識別為一個零件,與圖1中零件名稱對比可以看到,ADAMS中模型的名稱出現(xiàn)錯誤。
STEP(Standard for the Exchange of Product Model Data),產(chǎn)品模型數(shù)據(jù)交換標(biāo)準(zhǔn),是國際標(biāo)準(zhǔn)化組織制定的一種幾何圖形數(shù)據(jù)交換標(biāo)準(zhǔn)[2]。它的出現(xiàn)提供了一種獨立于任何具體系統(tǒng)而又能完整描述產(chǎn)品數(shù)據(jù)信息的表示機制和實施的方法與技術(shù),被汽車、飛機、船舶、機械設(shè)計等行業(yè)廣泛采用。
在實際應(yīng)用中,STEP格式較IGES格式,性能得到相應(yīng)的提高,但仍然存在一些問題。UG模型以STEP格式導(dǎo)入ADAMS中時,如圖2(b)所示,ADAMS同樣會將整個UG裝配體模型當(dāng)成一個零件進行處理,無法進行后續(xù)的機構(gòu)運動學(xué)、動力學(xué)仿真分析,與圖1中零件名稱對比可知ADAMS中整個裝配體各零部件名稱也出現(xiàn)錯誤,與UG中名稱不一致。
Parasolid是著名的幾何造型核心系統(tǒng)之一,SolidWorks、UG、Pro/E等眾多商用軟件都采用它作為幾何核心[1],與IGES、STEP等通用格式相比,Parasolid幾何核心系統(tǒng)可提供精確的幾何邊界表達(dá),能夠在以它為幾何核心的CAD/CAE系統(tǒng)之間可靠地傳遞幾何和拓?fù)湫畔ⅰ?/p>
Parasolid還提供了一項容錯造型技術(shù),當(dāng)軟件的后置處理器處理傳來的數(shù)據(jù)時,往往會發(fā)生邊界間和表面間的公差不配合現(xiàn)象和容易造成數(shù)據(jù)傳送錯誤,甚至導(dǎo)致難以讀入數(shù)據(jù)。采用容錯造型技術(shù)的Parasolid幾何核心,可根據(jù)情況對不配合的公差進行優(yōu)化,并能在優(yōu)化保持處理的連續(xù)性和一致性,這樣就可通過生成的xmt_txt格式文件實現(xiàn)數(shù)據(jù)無縫傳送,避免了用IGES傳送復(fù)雜數(shù)據(jù)文件時的數(shù)據(jù)丟失和可靠性差等問題[6]。
Parasolid格式可以穩(wěn)定地進行模型信息傳遞,裝配模型以Parasolid格式傳遞到ADAMS中后,如圖2(c)所示,ADAMS可以識別裝配中各個零部件信息,在左側(cè)模型樹中以部件(PART)加實體(SOLID)的形式體現(xiàn)出來,相對于其他幾種圖形傳遞格式,這點是極大進步;與圖1對比可知零部件名稱依然沒有被繼承。
綜上所述,這3種模型傳遞格式均存在名稱信息不能繼承的問題,需要手動修改模型零件名稱,對于零件較多的裝配模型,不能快速進行動力學(xué)模型的重建。
UG具有強大的幾何造型功能,ADAMS也廣泛被軍工、航天、車輛行業(yè)采用進行運動學(xué)及動力學(xué)仿真分析。UG中的Motion運動仿真模塊可以輔助進行機構(gòu)動力學(xué)仿真分析,相比于專業(yè)動力學(xué)分析軟件ADAMS還是存在一些不足??梢越柚鶸G motion的文件導(dǎo)出功能,將動力學(xué)模型以ADM格式導(dǎo)出到動力學(xué)分析軟件ADAMS中進行動力學(xué)分析[7]。
ADM格式為UG motion 環(huán)境下模型導(dǎo)出的一種格式,主要針對動力學(xué)模型。adm文件是ADAMS/Solver模型語言(ADAMS Data Language)文件,以“.adm”作為文件名后綴,該文件中包含裝配模型中的拓?fù)浣Y(jié)構(gòu)信息,運動副、約束等信息。ADAMS/Solver求解器可以讀取adm文件,與Parasolid格式模型文件配合,進行動力學(xué)模型重建,可直接進行機構(gòu)動力學(xué)仿真[8]。
UG與ADAMS進行聯(lián)合運動學(xué)仿真,在UG motion模塊中將裝配模型導(dǎo)出為Parasolid格式,工作目錄下會出現(xiàn)Parasolid格式文件和adm文件及其他相關(guān)文件,將Parasolid文件和adm文件導(dǎo)入ADAMS中,會發(fā)現(xiàn),裝配體模型和約束關(guān)系都被完整地傳遞到ADAMS中,裝配模型中各零部件都可以被ADAMS識別,但是裝配模型各零部件的名稱并未進行傳遞,如圖3所示。通過手動修改名稱和添加約束可以解決此問題,對于包含眾多零部件的大型裝配模型,工作量是巨大的。
通過對UG motion模塊下導(dǎo)出的Parasolid和ADM格式文件分析解讀,以進一步解決ADAMS中動力學(xué)模型重建問題?,F(xiàn)以彈匣模型的Parasolid XT格式文件和ADM格式文件為例,對這兩種格式文件進行解讀。
UG motion中導(dǎo)出的彈匣模型Parasolid XT格式文件如圖4所示。
Parasolid XT格式文件主要由兩部分內(nèi)容組成:包含建模器版本和架構(gòu)編號等信息的文件頭和包含模型幾何特征信息的文件主體。
1) 文件頭結(jié)構(gòu)分析。文件頭由3部分內(nèi)容組成,以關(guān)鍵字“PART”為標(biāo)志:
第1部分:由分號隔開的一系列關(guān)鍵字符:
MC= Intel x86/Windows NT,….//計算機系統(tǒng)型號
MC_MODEL= …intel(r)core? cpu…//計算機處理器型號
MC_ID= lenovo //計算機用戶名
FILE=F:…….……xmt_txt; //文件所在路徑
……
第1部分內(nèi)容是可以被建模器(或者操作系統(tǒng))讀取的“標(biāo)準(zhǔn)信息”。建模器的相應(yīng)功能就是搜集相關(guān)信息并形成規(guī)范,以文本形式體現(xiàn)出來。
第2部分:由分號隔開的一系列關(guān)鍵字符:
SCH= SCH_2400143_20000 //架構(gòu)關(guān)鍵字
USFLD_SIZE=0//用戶名的長度(0-16個整數(shù))
第3部分:非標(biāo)準(zhǔn)信息,由建模器進行編寫,并且只有建模器可以讀取。
第3部分內(nèi)容由建模器進行編寫,并且只能被建模器讀取。但是,其他的建模器必須能夠?qū)@部分信息進行分析以確定文件頭是否結(jié)束,這部分信息必須像第一和第二部分?jǐn)?shù)據(jù)一樣遵循相應(yīng)的語法[9]。
2) 文件主體結(jié)構(gòu)分析。這部分內(nèi)容包含裝配模型中各零件的幾何模型特征,節(jié)點、線、面、顏色等信息,是Parasolid XT格式文件的核心。各零部件中所包含的模型特征標(biāo)志信息如表1所示。
表1 Parasolid XT格式文件模型特征標(biāo)志解讀
對上述Parasolid XT格式文件進行分析,可知文件頭第1部分信息是生成Parasolid XT格式文件的計算機相關(guān)信息,系統(tǒng)版本、建模程序版本等;第2部分信息為生成Parasolid XT文件的架構(gòu)信息;第3部分信息是非標(biāo)準(zhǔn)信息,這部分信息由建模程序進行編寫和讀取。
幾何模型的相關(guān)信息都存儲在文件主體中,這里主要對文件體進行分析。通過對Parasolid XT格式文件的主體進行分析,可知這部分包含模型幾何特征的信息主要由字符串和整數(shù)組成。對其中字符串進行檢索,發(fā)現(xiàn)字符串“SOLID_XXX”出現(xiàn)的次數(shù)與裝配體模型說包含的零部件個數(shù)一致,是需要獲取的關(guān)鍵信息。
adm文件是由UG motion模塊生成的,包含幾何模型的拓?fù)浣Y(jié)構(gòu)信息、運動副及約束信息。該文件由兩部分組成,實體信息和其他信息,其中實體信息包括零部件名稱、質(zhì)量、質(zhì)心位置等信息;其他信息包含約束信息以及單位信息,都以特定關(guān)鍵字和“====”標(biāo)志進行區(qū)分,以UG motion中導(dǎo)出的ADM格式文件為例,截取其中一部分對ADM文件進行分析,如圖5所示[9]。
ADM格式文件主要由實體信息和其他信息兩部分組成,其他信息又包含約束信息和單位信息。
1) 實體信息。實體信息包含裝配模型中各零件的信息,以關(guān)鍵字“Body”和“====”標(biāo)志相互隔開。
adams_view_name='Tube_magazine'//零件在ADAMS中的名稱
MASS = 0.01462241585//零件質(zhì)量
IP = 6.071399952,5.272969254,1.221602282//零件轉(zhuǎn)動慣量
…………………
2) 其他信息。約束信息:
adams_view_name=′J001′//約束在ADAMS中的名稱
,Inplane//約束類型 平面副
………
單位信息:
FORCE = Newton//力單位
,MASS = Kilogram//質(zhì)量單位
,LENGTH = Millimeter//長度單位
………
KGRAV = -9806.65//K向重力加速度
通過對截取的部分ADM文件進行分析,實體信息中包含了零部件名稱、質(zhì)量、質(zhì)心位置、轉(zhuǎn)動慣量等信息;約束信息中包含了約束類型、約束關(guān)聯(lián)部件等信息;單位信息中包含了各個量的單位、重力加速度等信息。其中零部件名稱信息是需要獲取的關(guān)鍵信息。
通過對Parasolid和ADM文件進行分析,可知兩文件中提取的關(guān)鍵字符是相互關(guān)聯(lián)的,Parasolid文件中的“SOLID_XXX”字符串和ADM文件中零部件的名稱一一對應(yīng)?;贑語言和ADAMS二次開發(fā)功能開發(fā)動力學(xué)模型快速重建軟件,解決了幾何模型以Parasolid格式傳遞到ADAMS中的名稱不匹配問題。
該模型重建軟件的模型信息整合及名稱重構(gòu)功能主要通過外部程序和菜單對話框的的方式實現(xiàn),模型重建流程如圖6所示。
該模型重建軟件的設(shè)計主要分為兩部分:外部可執(zhí)行程序和基于MSC ADAMS開發(fā)的菜單和對話框。通過外部可執(zhí)行程序可實現(xiàn)零部件名稱的一致性;通過基于MSC ADAMS開發(fā)的菜單對話框可以實現(xiàn)動力學(xué)模型的快速重建功能。
該模型重建技術(shù)的目標(biāo)是針對UG motion模塊導(dǎo)入到ADAMS中的運動模型,自動實現(xiàn)自動機各零部件名稱的重建,保證不同軟件平臺下運動模型各零部件名稱的一致性。通過編程以及對ADAMS的二次開發(fā),形成動力學(xué)模型快速重建軟件,保證動力學(xué)模型信息傳遞的完整性,以提高建模效率,為設(shè)計人員節(jié)省大量時間[10]。
動力學(xué)仿真模型的快速建立通過執(zhí)行外部的應(yīng)用程序及菜單對話框進行實現(xiàn)。設(shè)計人員在UG環(huán)境下對裝配體各零部件進行三維CAD建模,按照約定的命名規(guī)范對零部件進行命名,在裝配環(huán)境下形成裝配體并在motion模塊中進行求解并導(dǎo)出ADM格式文件[12]。
基于MSC ADAMS環(huán)境,定制開發(fā)模型重建軟件。該軟件能夠自動讀入UG導(dǎo)出的自動機零部件與名稱信息,實現(xiàn)在MSC ADAMS環(huán)境中動力學(xué)仿真模型的自動建立,并按照UG環(huán)境下已給定的名稱對各零部件自動命名,實現(xiàn)名稱一致性。
通過C語言可對Parasolid XT文件、ADM文件進行讀取并提取關(guān)鍵信息,實現(xiàn)動力學(xué)模型的完整重建,部分代碼如下:
for(intn=0;n>2;--n)
{
…………
p1=strstr(p2+1,"SOLID");
p4=strstr(p1+1," 1");
if(p1==NULL||p2==NULL||p1>p2||(p2-p1)>15)
{
……………
}
通過上述代碼可對Parasolid XT文件進行讀取,實現(xiàn)關(guān)鍵字符“SOLID”的定位。
for(intm=0;m { ………… admfile[t]=admname[t]; p3=strstr(b1," "); p4=strstr(p3+1,"PART"); …………… } 通過上述代碼可對ADM文件進行讀取,實現(xiàn)關(guān)鍵字符的定位。 通過Strcpy函數(shù)可以對兩個關(guān)鍵字符進行匹配,實現(xiàn)動力學(xué)模型的快速重建功能。 在如圖7所示的信息處理界面,選取相應(yīng)文件后,依次點擊“創(chuàng)建新的動力學(xué)模型文件”和“創(chuàng)建ADAMS模型”,即可建立所需動力學(xué)仿真模型。 經(jīng)過動力學(xué)模型快速重建軟件軟件的處理后,導(dǎo)入到MSC ADAMS中的模型各零部件名稱的一致性得以保證,如圖8所示。 最終運動仿真模型重建效果如圖9所示,模型信息被完整地傳遞,各零部件被一一識別,名稱信息和約束信息也被完整傳遞,可直接進行運動學(xué)仿真求解。 通過對IGES、STEP、Parasolid及ADM格式的幾何模型傳輸情況進行分析,Parasolid格式文件包含了裝配體模型中各個零部件的信息,ADM文件包含了裝配模型的拓?fù)浣Y(jié)構(gòu)關(guān)系、約束信息及零件名稱等信息;結(jié)合兩文件中的零部件名稱信息,重點通過程序?qū)煞N格式文件進行解讀并提取關(guān)鍵信息,開發(fā)動力學(xué)模型快速重建軟件,實現(xiàn)動力學(xué)模型從UG到ADAMS中的完整傳遞,解決了模型傳遞過程中模型幾何特征信息及零部件名稱信息缺失的問題,有益于設(shè)計人員進行動力學(xué)模型的快速重建,提高工作效率。 參考文獻: [1]陳新剛,張士新,李永偉.UG與ADAMS之間的圖形傳輸試驗[J].農(nóng)業(yè)裝備與車輛工程,2007(10):43-46. [2]畢世英,楊曉京,李哲昆.UG與ADAMS_View之間的圖形數(shù)據(jù)交換研究[J].機械,2004,31(6):8-9. [3]郁飛鵬,賈鴻社.ADAMS與UG、solidworks的數(shù)據(jù)交換實踐[J].鑄造,2005(10):37-39. [4]宮鵬涵,周克棟,康小勇,等.某自動步槍發(fā)射動力學(xué)仿真[J].彈道學(xué)報,2014,26(1) 94-97. [5]徐萬和.高初速榴彈發(fā)射器動力學(xué)特性仿真研究[J].南京理工大學(xué)學(xué)報,2006,30(4) 429-433. [6]朱虎,扶建輝.STL數(shù)據(jù)的Parasolid數(shù)據(jù)變換[J].計算機集成制造系統(tǒng),2011,17(1):117-124. [7]宋曉華.機械壓力機運動學(xué)仿真分析和虛擬樣機研究[D] 杭州:浙江工業(yè)大學(xué),2005. [8]邢俊文,陶永忠,譯.MSC.ADAMS/View高級培訓(xùn)教程[M].北京:清華大學(xué)出版社,2004. [9]王永輝.CAD數(shù)據(jù)轉(zhuǎn)換格式的對比[J].機械設(shè)計與制造,2002,(3):44-46. [10] 賀飛,曹紅松,王泉,等.基于MSC Adams/Engine的發(fā)動機懸置系統(tǒng)優(yōu)化設(shè)計通用模塊[J].計算機輔助工程,2010,19(1):32-35. [11] 沈冠軍,曹紅松,白友平,等.火炮自動機仿真優(yōu)化平臺開發(fā)技術(shù)研究[J].火炮發(fā)射與控制,2012(3):76-80.4.2 MSC ADAMS中交互功能的實現(xiàn)
5 結(jié)論