(二)自己也能開發(fā)ABAQUS復合材料層合板自動建模工具?
前文我們介紹了基于“厚度”推進策略生成網(wǎng)格,并自動定義鋪層、材料的層合板建模算法。
為了提高展示度,同時也是方便給別人使用。我們可以開發(fā)一個界面,并封裝成一個軟件。
作為一個小的案例,同樣采用MATLAB實現(xiàn)。
很多人都用過MATLAB的GUI模塊,然而這個東西適合做一些小的工具,稍微復雜一點的功能,就完全無法開展。
GUI模塊
一個最簡單的例子,就是選項卡,通過選項切換不同的頁面。在以前的GUI中,你只能再畫一個界面,然后在兩個界面之間傳遞變量。使用的時候,當切換頁面時候會彈出預設的界面,體驗很差。如果有了選項卡,就不存在界面跳轉(zhuǎn)的問題了,都在一個頁面就完成了。
為了解決這個痛點,MATLAB推出了APP designer,它和QT十分相似,尤其是新的容器和網(wǎng)格布局的引入,大大提升了實用性。而經(jīng)典的GUI模塊在以后的版本中,將被刪除。
APP designer
我現(xiàn)在遇到的一些不大不小的開發(fā)需求,就會采用APP designer。當然,更復雜的需求的話,還是用QT更加方便。
本期我們就大致介紹一下基于APP designer實現(xiàn)工具開發(fā)的基本路線。
網(wǎng)格布局
QT中提供了多種多樣的自動對齊、填充方式。而在MATLAB中,這個是通過“網(wǎng)格布局”實現(xiàn)。
眾所周知,MATLAB是基于矩陣思想開發(fā)的平臺,這個“網(wǎng)格布局”就是這個路子。通過定義縱橫分塊和尺寸,實現(xiàn)界面分區(qū),組件放進去以后它們就會自動對齊、適應分區(qū)大小,保證了界面的美觀性。
本次界面整體設計為左右布局,左側(cè)放置參數(shù)定義和二維繪圖區(qū),右側(cè)為三維繪圖區(qū)。
組件填充
幾何參數(shù)和材料參數(shù),用表格組件。鋪層數(shù)據(jù),考慮到鋪層可能很多,我們直接通過導入指定路徑的txt文件實現(xiàn)。
兩個繪圖窗口還是基礎的AXIS。組件填充后效果如下:
代碼嵌入
將之前開發(fā)好的算法嵌入到界面中。APP designer通過點擊右上角的視圖,可以方便的切換界面視圖和代碼視圖,這個切實提升了開發(fā)效率,也是我個人認為遠勝于QT的地方。
嵌入代碼后,運行效果如下:
至此我們完成了一個小工具的開發(fā)。
這個案例雖然簡單,如果我們更換為更復雜的結構,再加入調(diào)用ABAQUS自動計算、后處理的部分,它就進化成了一個軟件平臺。
很多項目包裝的很花哨,從邏輯上來講,借助商用求解器,自己開發(fā)前后處理模塊,本質(zhì)上就是上面的路子。
麻雀雖小五臟俱全,如果能嵌入自己的求解器,那么它就是一個專用的有限元軟件了。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















