本書共6章,主要講解采用Python語言對Abaqus進行圖形界面程序的開發,包括GUI插件程序(Plug-ins)的開發以及用戶自定義GUI應用程序(Customized Applications)的開發。各章的主要內容是:第1章以簡單的入門插件程序為例,介紹了Abaqus圖形界面程序開發的意義。第2章簡要介紹了Python語言的基本語法。第3章介紹了一些Abaqus中常用的Python內核指令。第4章詳細介紹了Python語言中多種常用GUI控件的使用方法。第5章介紹了Abaqus中基于Python語言的GUI插件程序開發過程以及插件程序的管理,同時給出了多個完整的插件程序實例。第6章介紹了Abaqus中用戶自定義GUI應用程序的開發過程,包括GUI工具條、工具箱、菜單、模塊的創建方法及管理,同時給出了自定義GUI應用程序的開發實例,并對實例做了詳細的注釋。本書適合高校、研究所以及工程設計單位的Abaqus中高級用戶學習使用,要求讀者對Abaqus有限元軟件有一定的認識和操作能力。
內容涉及Python語言的基本語法、常用內核腳本、Abaqus控件使用、插件開發到自定義應用平臺開發等多個方面專注于Abaqus GUI程序開發,詳細介紹了20多種GUI控件的使用,可滿足各類復雜GUI程序的開發需求全彩印刷,書中所有代碼均按照免費軟件Notepad 中Python語言格式進行語法著色,方便讀者閱讀人民郵電出版社異步社區提供本書配套程序源代碼及CAE模型供讀者下載學習使用。
作者簡介賈利勇,工程師,2008年畢業于西北工業大學航空學院飛行器設計與工程專業,2011年獲中國航空研究院工學碩士學位,2015年至2016年于英國帝國理工學院做訪問學者。現就職于中航工業第1飛機設計研究院結構設計研究所,主要從事飛機結構設計、復合材料失效分析工作,精通非線性商業有限元軟件Abaqus復合材料子程序開發及圖形界面程序開發。 富琛陽子,工程師,2009年畢業于西北工業大學材料科學與工程專業,現就職于中航工業第1飛機設計研究院結構設計研究所,主要從事飛機結構設計工作。 賀高,陜西安塞人,研究員,中國航空工業集團公司特級專家,現就職于中航工業第1飛機設計研究院結構設計研究所,主要從事飛機結構設計、復合材料結構設計工作。 周正光,高級工程師,碩士研究生,2007年畢業于北京航空航天大學飛行器設計專業,現就職于中航工業第1飛機設計研究院結構設計研究所,主要從事飛機結構設計工作。
序 言
前 言
及時章 概 述1
1.1 簡單插件實例——創建帶孔板有限元模型2
1.2 Abaqus圖形界面程序開發的意義10
第二章 Python語言基礎11
2.1 Python語言的特點12
2.2 Python與Abaqus13
2.3 Python的編碼規則15
2.4 內置對象類型17
2.5 動態類型簡介29
2.6 運算符35
2.7 if條件語句38
2.8 while和for循環39
2.9 函數42
2.10 模塊44
2.11 包導入46
2.12 文件的操作48
第三章 常用Abaqus內核指令52
3.1 Abaqus/CAE中Python指令的執行方式53
3.2 內核腳本的快捷編輯方式53
3.3 高亮顯示及取消高亮顯示54
3.4 幾何導入56
3.5 創建集合57
3.6 單元和節點重新編號58
3.7 更改草圖平面59
3.8 創建基于單元的面62
3.9 統計零件或實例的單元和節點數量62
3.10 sendCommand()命令注意問題64
3.11 合并節點mergeNodes()65
3.12 elementFaces與elemFaces的區別66
3.13 by angle的選取方式67
3.14 使用findAt()選取對象68
3.15 有關系統日期和時間的指令69
3.16 .rpy及.jnl文件輸出格式控制69
第四章 常用控件使用方法72
4.1 GUI圖形界面的創建方式73
4.2 目標和消息74
4.3 按鈕控件push button 使用方法76
4.4 單選按鈕FXRadioButton使用方法83
4.5 復選框FXCheckButton使用方法86
4.6 文本框控件AFXTextField使用方法88
4.7 表格控件AFXTable使用方法90
4.8 文件選擇控件中文件類型的設置103
4.9 控件提示語設置104
4.10 快捷鍵的設置104
4.11 如何創建并調用菜單106
4.12 顏色按鈕AFXColorButton使用方法107
4.13 飛出按鈕的使用方法107
4.14 列表控件AFXList使用方法108
4.15 樹列表控件FXTreeList使用方法109
4.16 帶復選框的樹控件AFXOptionTreeList使用方法112
4.17 自定義下拉框控件AFXComboBox使用方法113
4.18 進度條的使用方法116
4.19 圖標的創建及使用方法120
4.20 Pick Button的創建及使用方法123
4.21 提示框的使用方法125
4.22 單輸入函數getInput()使用方法130
4.23 多輸入函數getInputs()使用方法132
4.24 警告反饋函數getWarningReply()使用方法133
4.25 在自定義窗體中調用Abaqus/CAE內嵌功能133
4.26 工具條Toolbar 和工具箱toolbox的區別135
4.27 控件的格式及位置136
4.28 控制控件的使用狀態139
4.29 調整對話框尺寸145
4.30 行列布局管理器145
第五章 插件程序開發指南148
5.1 插件的創建方法149
5.2 插件的保存方式149
5.3 插件的使用方法150
5.4 插件程序的組成150
5.5 插件程序的管理150
5.6 插件程序實例一:復合材料沖擊損傷有限元模型自動建模程序154
5.7 插件程序實例二:六邊形蜂窩自動建模程序184
第六章 用戶自定義GUI應用程序開發指南196
6.1 用戶自定義GUI應用程序與插件程序的區別197
6.2 用戶自定義 GUI應用程序組成197
6.3 如何修改Abaqus/CAE標準應用程序203
6.4 自定義GUI工具包AFXToolsetGui205
6.5 自定義GUI模塊AFXModuleGui208
6.6 自定義GUI樹形工具條TreeToolsetGui211
6.7 用戶自定義GUI應用程序實例詳解213
參考文獻231
附錄A 本書中用到的對象及方法232