韓非,呂海飛,陳志仁,楊斌,王鵬飛,李凱
(上海無線電設備研究所,上海 201109)
隨著近年來機械自動化行業的迅猛發展,基于設計-仿真-設計的設計理念已成為目前主流的機械設計方法,基于高精度與高性能的設計理念,對機構的動力學仿真提出了更為嚴苛的要求,但對于構件多、空間小的復雜機構,一方面在零件較多的情況下,難以兼顧仿真結果由整化零對零件進行優化設計;另一方面機構運動復雜,在運動條件的約束下難以建模及對其進行集中調整與參數提取[1],近年隨著軟件二次開發的廣泛應用,針對復雜系統的定制化二次開發成為了處理以上問題的新方法[2]。
Simcenter 3D繼承了NX的開發接口,包含了4種開發工具:GRIP、UG/Open、KF、NX Open[3]。其中,NX Open C++是西門子公司主推的基于C++語言的二次開發方式,功能強大,幾乎可以實現NX的全部功能。GRIP等開發工具NX不再更新它的函數,同時具有代碼量大、無法與UI完美結合等缺點,由于上述原因,本文采用NX Open C++進行開發[4]。
二次開發包含了多種其他開發文件,其中MenuScript腳本語言可以根據用戶需求創建和編輯菜單和工具條,Block UI Style是一個可視化用戶界面生成器,設計NX交互風格對話框[5],UF_MOTION_XXX等為用戶提供了運動仿真模塊相關參數,在二次開發界面,設計人員可通過運動仿真結果對摩擦等參數進行修改,以達到對機構仿真輸出結果參數的修正[6]。
機構動力學仿真系統工作思路為根據Simcenter 3D動力學仿真方法,對機構模型導入、構建運動體、定義約束等功能進行集成,同時設立調參模塊,對剛度、摩擦因數等參數進行調整及對仿真結果進行一鍵導出,不斷在取值范圍內修改相關參數直至仿真結果等滿足設計要求,完成機構的設計仿真工作,技術路線如圖1所示。

圖1 技術路線
在Simcenter 3D初始界面中將三維模型部件定義為運動體對象,并添加質量、轉動慣量、質心等物理屬性。同時在運動體上定義一系列約束,包括運動副、3D接觸、彈簧、力、摩擦阻尼等約束特征,并創建結算方案,定義重力、主數組等參數。構建完畢后,轉入前后處理模塊,選擇103柔性體定義模塊進入有限元分析,定義材料屬性、劃分網格、添加1D連接與約束、創建柔性體,并將*.op2仿真結果文件導入艙門運動模型中,重新解算,完成剛柔耦合。解算完成后,可在運動展示模塊查看動力學仿真結果,例如三維動畫、二次圖標,同時可在參數設置模塊批量修改運動參數,簡化操作。
通過UI設計,將二次開發系統設為模型求解、運動分析、參數設置、動畫設置、參數導出5個模塊,系統設置如圖2所示。

圖2 系統設置
建立環境變量UGII_USER_DIR,建立項目文件夾中已經創建startup和application文件夾,其中startup保存的是菜單欄空間按鈕文件、MenusCript菜單腳本文件及UI文件;application儲存的是動態鏈接庫文件[7],通過NX1897及VS2017編輯環境,編輯NX Open C++Wizard項目,與定義在自制菜單上的UI接口相結合,實現可編輯功能[8]。
一個完整的NX二次開發應用程序開發步驟包括:1)編輯源文件;2)編輯源文件為目標文件;3)鏈接對象為可執行文件;4)與界面UI等相結合測試;5)如果運行成功則輸出運行結果,總體框架如圖3所示[9]。

圖3 總體框架
機構模型中存在多種柔性體,多種柔性體同時結算時,不易觀察單一構件的應力集中現象,可在柔性體設置模塊對柔性體進行激活,同時由于Simcenter 3D軟件對定義摩擦,接觸與路面的構件無法定義柔性體,在激活柔性體的同時關閉構件上定義的摩擦,在關閉柔性體時激活摩擦。
在參數設置模塊中可以對摩擦、彈簧剛度、預緊長度、接觸剛度等運動參數進行批量修改,用戶在UI界面中寫入想要修改的參數,每一個輸入框對應BLOCKID數字接口,用戶填寫后,對其中的參數進行提取,調用模塊相關dll動態鏈接庫中接收數據,應用在相關的運動體上,調整參數,流程如圖4所示。機構二次開發動力學仿真系統針對復雜而重復的調參操作進行腳本化替代,在確定機構相關約束后可以快速地進行調參,不用單獨設置,簡化機構動力學參數設置過程,有效節約仿真測試人員的測試時間與測試成本。

圖4 柔性體設置
飛機艙門是機身中較為復雜的部位之一,包含上千零部件,同時作為進出機艙的可開關重要組件,對其功能具有嚴格的要求,艙門中多數部件作為機構的一部分參與運動,同時傳遞艙門打開及鎖閉過程中手柄與門軸產生的啟動及旋轉力矩,機身艙門的動力學仿真在實際操作過程中較為繁瑣,結合前一次實驗結果改進參數后,需要重復上一次的動力學仿真操作,對于多次進行仿真測試實驗效率低下,不利于設計進度的推進,應用Simcenter 3D二次開發技術,針對一些復雜而重復的操作進行腳本化替代,能夠有效節約仿真測試人員的測試時間與測試成本,通過二次開發,可以快速修改參數,艙門三維模型及參數設置界面如圖5所示。在確定模型約束后能進行快速仿真,二次開發的方法都能做到一鍵修改參數并進行重復且復雜的仿真計算的操作,避免了多次進行重復操作,以提升效率。

圖5 艙門模型及調參界面
根據設計要求,艙門在提升時手柄力不應超過196 N,一般峰值為147 N左右,否則將對機務人員產生較大的負擔,同時要求手柄力變化平穩,保證艙門開啟的流暢性,同時艙門在打開過程中應始終與機身平行,系統在調參后求解所得手柄轉矩與艙門位移曲線如圖6所示。

圖6 手柄轉矩曲線與艙門位移曲線
通過對運動參數的調整,手柄力峰值趨于147 N,同時艙門在運動過程中始終與機身保持平行狀態。導出剛柔耦合模型手柄柔性體應力位移云圖如圖7所示。

圖7 艙門手柄位移及應力云圖
仿真系統在柔性體模塊定義了包括手柄、主鉸鏈臂、平衡桿、門軸、滑軌等柔性桿件,實現了艙門模型的剛柔耦合,同時可以對多個柔性體進行激活操作,觀察單一構建的應力集中現象。
基于Simcenter 3D的艙門動力學仿真系統實現了對艙門模型導入至數據導出全套的開發流程,可以根據艙門實體數據要求改變相關運動參數,達到精確的控制效果,通過二次開發可以實現包括運動定義、參數導出、動畫設置等多項功能,具有很高的實用價值。