楊 妍, 鄂 洋, 費(fèi) 燁
(1.沈陽建筑大學(xué) 機(jī)械工程學(xué)院, 遼寧 沈陽 110168; 2.遼寧永茂液壓機(jī)械有限公司, 遼寧 撫順 113126)
液壓缸在實際工程中應(yīng)用范圍較廣, 是液壓系統(tǒng)中的重要執(zhí)行元件。隨著市場需求的增加,液壓缸產(chǎn)品規(guī)格繁多、更新速度加快,提高設(shè)計效率便成為快速響應(yīng)市場的重要手段。
在這種背景下, 基于參數(shù)化技術(shù)的各類計算機(jī)輔助設(shè)計軟件逐漸取代了效率低下的傳統(tǒng)設(shè)計方法。 但該類設(shè)計軟件形成的方案仍需結(jié)構(gòu)工程師通過有限元軟件進(jìn)行分析計算,然后依據(jù)分析結(jié)果修改參數(shù),在軟件中重新生成新設(shè)計,再計算,如此循環(huán)迭代直至定型,這些重復(fù)性的勞動無形中限制了設(shè)計效率的進(jìn)一步提高。
本文基于液壓缸參數(shù)化設(shè)計系統(tǒng), 開發(fā)有限元自動建模與分析模塊,使系統(tǒng)兼具設(shè)計和分析校核功能,提高液壓缸設(shè)計效率。 此外, 該模塊通過C# 對ANSYS 的封裝,降低了用戶操作ANSYS 進(jìn)行有限元分析的難度及工作量, 為非結(jié)構(gòu)工程專業(yè)人員完成液壓缸結(jié)構(gòu)分析提供了便利。
液壓缸計算機(jī)輔助設(shè)計系統(tǒng)是以SolidWorks、ANSYS兩個軟件的二次開發(fā)技術(shù)為基礎(chǔ), 利用C# 語言在Visual Studio 平臺建立人機(jī)交互界面,設(shè)計出的一套適用于企業(yè)的產(chǎn)品設(shè)計與工程分析一體化的計算機(jī)輔助設(shè)計系統(tǒng)。系統(tǒng)的參數(shù)化設(shè)計模塊基于API 接口技術(shù)對SolidWorks軟件進(jìn)行二次開發(fā), 標(biāo)準(zhǔn)件生成直接調(diào)用已建立的企業(yè)零件模型庫,非標(biāo)準(zhǔn)件生成采用參數(shù)化尺寸驅(qū)動法,應(yīng)用SQL Server 建立零件數(shù)據(jù)庫,存儲零件的尺寸參數(shù)。 該系統(tǒng)包括液壓缸零件三維模型生成、 工程圖輸出等參數(shù)化設(shè)計模塊。
利用APDL 可以實現(xiàn)ANSYS 的二次開發(fā), ANSYS分析時生成的.log 文件可以修改,利用更改的新文件再次分析,進(jìn)而完成多次有限元分析任務(wù)。同時,利用C# 編制人機(jī)交互操作界面,對APDL 文件的相關(guān)參數(shù)進(jìn)行改寫,能夠?qū)崿F(xiàn)對分析過程的控制,實現(xiàn)設(shè)計與分析的同步進(jìn)行[4]。
在系統(tǒng)主界面菜單欄中加入 “液壓缸ANSYS 分析”選項,點(diǎn)擊進(jìn)入選型界面,見圖1。 選型后進(jìn)入?yún)?shù)設(shè)置界面,以整體式活塞桿單耳環(huán)為例,見圖2,零件分析子窗體,見圖3。
圖1 選型界面
圖3 零件分析子窗體
利用APDL 語言編寫液壓缸有限元分析程序, 生成循環(huán)分析所用的準(zhǔn)確、完整的命令流文件,為系統(tǒng)后臺調(diào)用ANSYS 做準(zhǔn)備。
參數(shù)化前處理過程要設(shè)置參數(shù),完成建模分網(wǎng)、邊界條件施加及接觸對的設(shè)置。 在保證結(jié)果精度的前提下略去對受力分布影響不大的結(jié)構(gòu),以提高網(wǎng)格劃分質(zhì)量,同時軸對稱結(jié)構(gòu)只需選取1/4 進(jìn)行建模[1-2]。 形狀較規(guī)則的旋轉(zhuǎn)體進(jìn)行網(wǎng)格劃分時,可進(jìn)行體切分處理[3],采用掃略劃分規(guī)則的六面體單元, 并在著重校核的危險部位進(jìn)行網(wǎng)格加密。對液壓缸與外部的連接部分施加約束,在內(nèi)部受壓面上施加壓力荷載, 由此生成具有力學(xué)意義的有限元模型。 在求解及后處理過程中, 按照試驗壓力1.25 倍于額定壓力進(jìn)行加載,完成分析后進(jìn)入結(jié)果查詢界面。
參數(shù)的改寫與傳遞關(guān)鍵的一點(diǎn)要求用戶操作界面上的數(shù)據(jù)能夠轉(zhuǎn)化為APDL 語言,進(jìn)而ANSYS 能夠正確讀取運(yùn)行。
首先,代碼中要完成必要Using 的引用,在命名空間添加System.IO,命令流文件中的參數(shù)通過StreamWrite 類修改,WriteLine 是StreamWrite 類的常用方法, 可以寫入指定的某些數(shù)據(jù),將用戶界面上輸入的數(shù)據(jù)轉(zhuǎn)化為APDL語言,實現(xiàn)參數(shù)的改寫與傳遞[4]。 關(guān)鍵代碼如下:
應(yīng)用上述代碼可在F 盤創(chuàng)建model.txt 文件, 將界面控件中的參數(shù)寫入此文件中,生成模型分析命令流文件。
為保證有限元模型與設(shè)計模型一致, 使分析結(jié)果真實反映設(shè)計液壓缸的強(qiáng)度, 需要將部分設(shè)計參數(shù)同步應(yīng)用到有限元模型的建立中, 這可通過將局部變量改用Public 語句聲明為全局變量來實現(xiàn),具體方法為:
在有限元自動建模與分析系統(tǒng)中, 會使用多個相關(guān)的進(jìn)程共同完成一項任務(wù),要求進(jìn)程之間能夠互相通信,從而共享資源和信息。 因此,實現(xiàn)開發(fā)程序與ANSYS 軟件接口的通信問題是對ANSYS 二次開發(fā)調(diào)用的核心問題。 C# 后臺調(diào)用ANSYS 的關(guān)鍵代碼如下:
系統(tǒng)在執(zhí)行完整的命令流分析文件之后, 相關(guān)的結(jié)果文件會保存到ANSYS 工作目錄中,見圖4。結(jié)果云圖可以顯示白底和黑底兩種形式,呈現(xiàn)不同的視角便于查看,將結(jié)果圖形反饋到用戶界面可查看分析結(jié)果形, 液壓缸整體的應(yīng)力云圖見圖5。
調(diào)用結(jié)果文件圖片的關(guān)鍵代碼為:
pictureBox1.Image = Image.FromFile(@"F: 文件路徑 項目名稱.jpg");
圖4 ANSYS 分析結(jié)果文件
圖5 液壓缸整體應(yīng)力云圖
基于液壓缸參數(shù)化設(shè)計系統(tǒng), 嵌入有限元自動建模與分析模塊,具有如下優(yōu)點(diǎn):
研究了C#.NET 與ANSYS 之間的數(shù)據(jù)交互過程,實現(xiàn)液壓缸有限元自動建模與分析。
有限元自動建模與分析模塊的嵌入實現(xiàn)了液壓缸設(shè)計與校核的同步進(jìn)行,有效提高了設(shè)計效率。
將液壓缸有限元分析過程封裝, 通過簡潔友好的界面得以調(diào)用, 降低了設(shè)計人員利用有限元進(jìn)行校核的技術(shù)難度,提高了設(shè)計質(zhì)量。