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