韓非,呂海飛,陳志仁,楊斌,王鵬飛,李凱
(上海無線電設(shè)備研究所,上海 201109)
隨著近年來機(jī)械自動(dòng)化行業(yè)的迅猛發(fā)展,基于設(shè)計(jì)-仿真-設(shè)計(jì)的設(shè)計(jì)理念已成為目前主流的機(jī)械設(shè)計(jì)方法,基于高精度與高性能的設(shè)計(jì)理念,對(duì)機(jī)構(gòu)的動(dòng)力學(xué)仿真提出了更為嚴(yán)苛的要求,但對(duì)于構(gòu)件多、空間小的復(fù)雜機(jī)構(gòu),一方面在零件較多的情況下,難以兼顧仿真結(jié)果由整化零對(duì)零件進(jìn)行優(yōu)化設(shè)計(jì);另一方面機(jī)構(gòu)運(yùn)動(dòng)復(fù)雜,在運(yùn)動(dòng)條件的約束下難以建模及對(duì)其進(jìn)行集中調(diào)整與參數(shù)提取[1],近年隨著軟件二次開發(fā)的廣泛應(yīng)用,針對(duì)復(fù)雜系統(tǒng)的定制化二次開發(fā)成為了處理以上問題的新方法[2]。
Simcenter 3D繼承了NX的開發(fā)接口,包含了4種開發(fā)工具:GRIP、UG/Open、KF、NX Open[3]。其中,NX Open C++是西門子公司主推的基于C++語言的二次開發(fā)方式,功能強(qiáng)大,幾乎可以實(shí)現(xiàn)NX的全部功能。GRIP等開發(fā)工具NX不再更新它的函數(shù),同時(shí)具有代碼量大、無法與UI完美結(jié)合等缺點(diǎn),由于上述原因,本文采用NX Open C++進(jìn)行開發(fā)[4]。
二次開發(fā)包含了多種其他開發(fā)文件,其中MenuScript腳本語言可以根據(jù)用戶需求創(chuàng)建和編輯菜單和工具條,Block UI Style是一個(gè)可視化用戶界面生成器,設(shè)計(jì)NX交互風(fēng)格對(duì)話框[5],UF_MOTION_XXX等為用戶提供了運(yùn)動(dòng)仿真模塊相關(guān)參數(shù),在二次開發(fā)界面,設(shè)計(jì)人員可通過運(yùn)動(dòng)仿真結(jié)果對(duì)摩擦等參數(shù)進(jìn)行修改,以達(dá)到對(duì)機(jī)構(gòu)仿真輸出結(jié)果參數(shù)的修正[6]。
機(jī)構(gòu)動(dòng)力學(xué)仿真系統(tǒng)工作思路為根據(jù)Simcenter 3D動(dòng)力學(xué)仿真方法,對(duì)機(jī)構(gòu)模型導(dǎo)入、構(gòu)建運(yùn)動(dòng)體、定義約束等功能進(jìn)行集成,同時(shí)設(shè)立調(diào)參模塊,對(duì)剛度、摩擦因數(shù)等參數(shù)進(jìn)行調(diào)整及對(duì)仿真結(jié)果進(jìn)行一鍵導(dǎo)出,不斷在取值范圍內(nèi)修改相關(guān)參數(shù)直至仿真結(jié)果等滿足設(shè)計(jì)要求,完成機(jī)構(gòu)的設(shè)計(jì)仿真工作,技術(shù)路線如圖1所示。
圖1 技術(shù)路線
在Simcenter 3D初始界面中將三維模型部件定義為運(yùn)動(dòng)體對(duì)象,并添加質(zhì)量、轉(zhuǎn)動(dòng)慣量、質(zhì)心等物理屬性。同時(shí)在運(yùn)動(dòng)體上定義一系列約束,包括運(yùn)動(dòng)副、3D接觸、彈簧、力、摩擦阻尼等約束特征,并創(chuàng)建結(jié)算方案,定義重力、主數(shù)組等參數(shù)。構(gòu)建完畢后,轉(zhuǎn)入前后處理模塊,選擇103柔性體定義模塊進(jìn)入有限元分析,定義材料屬性、劃分網(wǎng)格、添加1D連接與約束、創(chuàng)建柔性體,并將*.op2仿真結(jié)果文件導(dǎo)入艙門運(yùn)動(dòng)模型中,重新解算,完成剛?cè)狁詈稀=馑阃瓿珊?,可在運(yùn)動(dòng)展示模塊查看動(dòng)力學(xué)仿真結(jié)果,例如三維動(dòng)畫、二次圖標(biāo),同時(shí)可在參數(shù)設(shè)置模塊批量修改運(yùn)動(dòng)參數(shù),簡(jiǎn)化操作。
通過UI設(shè)計(jì),將二次開發(fā)系統(tǒng)設(shè)為模型求解、運(yùn)動(dòng)分析、參數(shù)設(shè)置、動(dòng)畫設(shè)置、參數(shù)導(dǎo)出5個(gè)模塊,系統(tǒng)設(shè)置如圖2所示。
圖2 系統(tǒng)設(shè)置
建立環(huán)境變量UGII_USER_DIR,建立項(xiàng)目文件夾中已經(jīng)創(chuàng)建startup和application文件夾,其中startup保存的是菜單欄空間按鈕文件、MenusCript菜單腳本文件及UI文件;application儲(chǔ)存的是動(dòng)態(tài)鏈接庫(kù)文件[7],通過NX1897及VS2017編輯環(huán)境,編輯NX Open C++Wizard項(xiàng)目,與定義在自制菜單上的UI接口相結(jié)合,實(shí)現(xiàn)可編輯功能[8]。
一個(gè)完整的NX二次開發(fā)應(yīng)用程序開發(fā)步驟包括:1)編輯源文件;2)編輯源文件為目標(biāo)文件;3)鏈接對(duì)象為可執(zhí)行文件;4)與界面UI等相結(jié)合測(cè)試;5)如果運(yùn)行成功則輸出運(yùn)行結(jié)果,總體框架如圖3所示[9]。
圖3 總體框架
機(jī)構(gòu)模型中存在多種柔性體,多種柔性體同時(shí)結(jié)算時(shí),不易觀察單一構(gòu)件的應(yīng)力集中現(xiàn)象,可在柔性體設(shè)置模塊對(duì)柔性體進(jìn)行激活,同時(shí)由于Simcenter 3D軟件對(duì)定義摩擦,接觸與路面的構(gòu)件無法定義柔性體,在激活柔性體的同時(shí)關(guān)閉構(gòu)件上定義的摩擦,在關(guān)閉柔性體時(shí)激活摩擦。
在參數(shù)設(shè)置模塊中可以對(duì)摩擦、彈簧剛度、預(yù)緊長(zhǎng)度、接觸剛度等運(yùn)動(dòng)參數(shù)進(jìn)行批量修改,用戶在UI界面中寫入想要修改的參數(shù),每一個(gè)輸入框?qū)?yīng)BLOCKID數(shù)字接口,用戶填寫后,對(duì)其中的參數(shù)進(jìn)行提取,調(diào)用模塊相關(guān)dll動(dòng)態(tài)鏈接庫(kù)中接收數(shù)據(jù),應(yīng)用在相關(guān)的運(yùn)動(dòng)體上,調(diào)整參數(shù),流程如圖4所示。機(jī)構(gòu)二次開發(fā)動(dòng)力學(xué)仿真系統(tǒng)針對(duì)復(fù)雜而重復(fù)的調(diào)參操作進(jìn)行腳本化替代,在確定機(jī)構(gòu)相關(guān)約束后可以快速地進(jìn)行調(diào)參,不用單獨(dú)設(shè)置,簡(jiǎn)化機(jī)構(gòu)動(dòng)力學(xué)參數(shù)設(shè)置過程,有效節(jié)約仿真測(cè)試人員的測(cè)試時(shí)間與測(cè)試成本。
圖4 柔性體設(shè)置
飛機(jī)艙門是機(jī)身中較為復(fù)雜的部位之一,包含上千零部件,同時(shí)作為進(jìn)出機(jī)艙的可開關(guān)重要組件,對(duì)其功能具有嚴(yán)格的要求,艙門中多數(shù)部件作為機(jī)構(gòu)的一部分參與運(yùn)動(dòng),同時(shí)傳遞艙門打開及鎖閉過程中手柄與門軸產(chǎn)生的啟動(dòng)及旋轉(zhuǎn)力矩,機(jī)身艙門的動(dòng)力學(xué)仿真在實(shí)際操作過程中較為繁瑣,結(jié)合前一次實(shí)驗(yàn)結(jié)果改進(jìn)參數(shù)后,需要重復(fù)上一次的動(dòng)力學(xué)仿真操作,對(duì)于多次進(jìn)行仿真測(cè)試實(shí)驗(yàn)效率低下,不利于設(shè)計(jì)進(jìn)度的推進(jìn),應(yīng)用Simcenter 3D二次開發(fā)技術(shù),針對(duì)一些復(fù)雜而重復(fù)的操作進(jìn)行腳本化替代,能夠有效節(jié)約仿真測(cè)試人員的測(cè)試時(shí)間與測(cè)試成本,通過二次開發(fā),可以快速修改參數(shù),艙門三維模型及參數(shù)設(shè)置界面如圖5所示。在確定模型約束后能進(jìn)行快速仿真,二次開發(fā)的方法都能做到一鍵修改參數(shù)并進(jìn)行重復(fù)且復(fù)雜的仿真計(jì)算的操作,避免了多次進(jìn)行重復(fù)操作,以提升效率。
圖5 艙門模型及調(diào)參界面
根據(jù)設(shè)計(jì)要求,艙門在提升時(shí)手柄力不應(yīng)超過196 N,一般峰值為147 N左右,否則將對(duì)機(jī)務(wù)人員產(chǎn)生較大的負(fù)擔(dān),同時(shí)要求手柄力變化平穩(wěn),保證艙門開啟的流暢性,同時(shí)艙門在打開過程中應(yīng)始終與機(jī)身平行,系統(tǒng)在調(diào)參后求解所得手柄轉(zhuǎn)矩與艙門位移曲線如圖6所示。
圖6 手柄轉(zhuǎn)矩曲線與艙門位移曲線
通過對(duì)運(yùn)動(dòng)參數(shù)的調(diào)整,手柄力峰值趨于147 N,同時(shí)艙門在運(yùn)動(dòng)過程中始終與機(jī)身保持平行狀態(tài)。導(dǎo)出剛?cè)狁詈夏P褪直嵝泽w應(yīng)力位移云圖如圖7所示。
圖7 艙門手柄位移及應(yīng)力云圖
仿真系統(tǒng)在柔性體模塊定義了包括手柄、主鉸鏈臂、平衡桿、門軸、滑軌等柔性桿件,實(shí)現(xiàn)了艙門模型的剛?cè)狁詈希瑫r(shí)可以對(duì)多個(gè)柔性體進(jìn)行激活操作,觀察單一構(gòu)建的應(yīng)力集中現(xiàn)象。
基于Simcenter 3D的艙門動(dòng)力學(xué)仿真系統(tǒng)實(shí)現(xiàn)了對(duì)艙門模型導(dǎo)入至數(shù)據(jù)導(dǎo)出全套的開發(fā)流程,可以根據(jù)艙門實(shí)體數(shù)據(jù)要求改變相關(guān)運(yùn)動(dòng)參數(shù),達(dá)到精確的控制效果,通過二次開發(fā)可以實(shí)現(xiàn)包括運(yùn)動(dòng)定義、參數(shù)導(dǎo)出、動(dòng)畫設(shè)置等多項(xiàng)功能,具有很高的實(shí)用價(jià)值。