Abaqus二次開發(fā):內核與GUI應用實例詳解 陳開偉
定 價:99 元
- 作者:陳開偉
- 出版時間:2024/3/1
- ISBN:9787111741589
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:O241.82-39
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書詳細闡述了Python語言基礎知識、Abaqus內核二次開發(fā)、Abaqus 插件GUI二次開發(fā)和Abaqus 主窗口GUI二次開發(fā)的相關知識,通過大量實例和詳細說明,幫助讀者掌握Abaqus 二次開發(fā)基礎知識和應用方法。
本書共14章,前兩章為基礎篇,包括Abaqus二次開發(fā)概述和Python語言基礎;第3~6章為內核開發(fā)篇,包括Abaqus內核開發(fā)和它的三個應用實例;第7~14章為GUI開發(fā)篇,介紹了Abaqus RSG對話框生成器、Abaqus GUI二次開發(fā)和它們的五個實例,以及Abaqus主窗口GUI的二次開發(fā)。本書配套實例源文件,封底掃碼即可下載。
本書適合企業(yè)及科研院所結構仿真工程師等崗位人員,以及理工科院校機械、汽車、航空航天、土木工程等專業(yè)的學生學習和參考。
- 系統(tǒng)全面:Python語言+Abaqus內核+GUI實現(xiàn)。
- 以用促學:以應用講基礎,以完整實例深化應用。
- 講解細致:注釋詳細,要點清晰,易于理解。
前言
Abaqus是一款強大的有限元分析軟件,廣泛應用于裝備制造、航空航天、建筑工程、汽車交通等領域,能夠模擬金屬、橡膠、復合材料、巖石等各種工程材料,國內外使用都已比較成熟。然而,對于一些特定的問題和需求,一步步手動操作Abaqus完成分析可能會過于煩瑣,甚至無法滿足要求。在這種情況下,二次開發(fā)成為一個重要的解決方案,用戶可以根據(jù)具體需求對Abaqus內核和GUI進行二次開發(fā),實現(xiàn)功能擴展、模塊定制、流程自動化等,從而大大提高工作效率,甚至可以開發(fā)出全新的主窗口界面,以獲取一個專屬自己的Abaqus。
本書內容
本書共三篇,具體內容如下。
1)第1章和第2章為基礎篇。第1章Abaqus二次開發(fā)概述簡要介紹了Abaqus內核二次開發(fā)、插件程序GUI二次開發(fā)、主窗口GUI二次開發(fā)的內涵、方法和應用等,以及三者構成的二次開發(fā)鏈,讓讀者對Abaqus二次開發(fā)形成系統(tǒng)的認識;第2章Python語言基礎對Python的開發(fā)工具、語法、數(shù)據(jù)類型、流程控制等進行了比較全面詳細的介紹,基本能夠滿足Abaqus二次開發(fā)的需要。
2)第3~6章為內核開發(fā)篇。第3章Abaqus內核開發(fā)首先展示了一個比較典型的Abaqus內核代碼文件,并對其進行了簡要分析,然后詳細介紹了Abaqus所特有的數(shù)據(jù)類型、內核對象,以及常見知識點和小實例,提供了讀者進行Abaqus內核開發(fā)的知識;第4~6章是三個實例,涉及前處理、后處理及PPT報告自動生成,通過實例介紹、代碼注釋和要點講解幫助讀者快速掌握Abaqus內核開發(fā)的常見代碼和應用。
3)第7~14章為GUI開發(fā)篇。第7章介紹了如何使用Abaqus RSG對話框生成器制作一個完整的對話框插件,完成本章學習后,讀者可以學會簡單插件的制作和應用;第8章Abaqus GUI開發(fā)是對Abaqus GUI Toolkit的應用,以實例代碼為依托,首先介紹了模塊導入、AFXDataDialog類和構造方法,然后詳細講解了各種布局、控件、關鍵字的應用,以及相關函數(shù)/方法的參數(shù);第9~13章是插件程序GUI二次開發(fā)的應用實例,除幫助讀者熟悉Abaqus GUI二次開發(fā)的諸多功能外,也展示了控件狀態(tài)切換、模型連續(xù)拾取、連續(xù)對話框等常見應用;第14章同樣以實例代碼為導引,介紹了Abaqus主窗口GUI的二次開發(fā)功能與應用。
本書特點
本書內容全面,講解細致,注重實用性,從Python語言知識,到Abaqus內核代碼解析與應用,再到插件和主窗口定制,力圖幫助讀者快速上手,從0到1完成一個Abaqus二次開發(fā)項目。為此,本書的編排考慮了以下幾個方面。
1)實例貫穿,易學易用。在Python語言知識和Abaqus內核基礎知識講解中,以實例代碼說明其內涵和使用方法;GUI基礎知識章節(jié)中,在展示完整實例代碼的基礎上,將實例代碼分段解析與體系化的知識點講解相融合。
2)注釋詳細,要點清晰。實例代碼添加了比較詳細的注釋,方便讀者在查看代碼講解前概覽和分析完整代碼,理解其功能和實現(xiàn)邏輯;對代碼進行了清晰、細致的分段逐行解析,幫助讀者深入理解每行代碼的含義,并提取其中要點進行了一些核心概念和技術的講解。
3)列表說明,參數(shù)詳盡。對常用函數(shù)/方法的功能進行了介紹,將其參數(shù)的類型、默認值、含義通過表格的形式進行了說明,并給出了一些必要的難點解析和應用拓展。
由于編者水平有限,書中不妥之處在所難免,懇請讀者批評指正。希望本書能幫助讀者更加深入地理解Abaqus二次開發(fā)技術,并在工作和研究中用其解決更多問題。
最后,對編者的家人表示感謝,他們長期以來的無私奉獻和理解使編者能夠專注于本書的編寫。也感謝機械工業(yè)出版社編輯給予的指導和建議,他們的專業(yè)知識和經(jīng)驗使本書更加完善。
陳開偉,從事CAE仿真分析工作近10年,對Abaqus和Hyperworks等的二次開發(fā)有濃厚興趣,有豐富的實踐經(jīng)驗;仿真秀、技術鄰等平臺課程講師,錄制有《Abaqus主窗口GUI的二次開發(fā)》《108個Hypermesh二次開發(fā)常用命令詳解 》等多套二次開發(fā)專題視頻課程。
目錄
序一
序二
前言
基礎篇
第1章 Abaqus二次開發(fā)概述
1.1 Abaqus二次開發(fā)簡介
1.2 知識
1.3 開發(fā)內容
1.3.1 Abaqus內核
1.3.2 Abaqus插件程序GUI
1.3.3 Abaqus主窗口GUI
1.4 Abaqus二次開發(fā)鏈
1.5 本章小結
第2章 Python語言基礎
2.1 Python開發(fā)工具
2.1.1 Abaqus PDE
2.1.2 Sublime Text 3
2.2 Python語法基礎
2.2.1 縮進
2.2.2 注釋
2.2.3 變量
2.2.4 運算符
2.3 數(shù)據(jù)類型
2.3.1 數(shù)字
2.3.2 字符串
2.3.3 列表
2.3.4 元組
2.3.5 集合
2.3.6 字典
2.4 流程控制
2.4.1 條件控制
2.4.2 循環(huán)控制
2.5 函數(shù)、模塊和包
2.5.1 函數(shù)的定義和調用
2.5.2 參數(shù)的傳遞
2.5.3 模塊和包
2.6 面向對象編程
2.6.1 類的概念
2.6.2 初始化方法、實例屬性和實例方法
2.6.3 類對象和類屬性
2.6.4 繼承和重寫
2.7 本章小結
內核開發(fā)篇
第3章 Abaqus內核開發(fā)
3.1 實例:生成H型鋼的代碼提取及修改
3.2 Abaqus數(shù)據(jù)類型
3.2.1 符號常量(SymbolicConstants)
3.2.2 布爾值(Booleans)
3.2.3 序列(Sequences)
3.2.4 倉庫(Repositories)
3.3 Abaqus內核三大對象
3.3.1 Session對象
3.3.2 Mdb對象
3.3.3 Odb對象
3.4 常見知識點和小實例
3.4.1 內核腳本導入的模塊
3.4.2 關鍵字參數(shù)
3.4.3 內核腳本通用代碼
3.4.4 高亮顯示
3.4.5 視口顯示模型的切換
3.4.6 單元/節(jié)點集合在Mdb和Odb中的訪問方式
3.4.7 自定義場/歷史輸出變量
3.4.8 識別獨立/非獨立實體
3.4.9 命名空間(Namespace)
3.4.10 精確查找findAt()
3.4.11 模糊查找getClosest()
3.4.12 查找單元
3.4.13 getByBoundingBox()參數(shù)的使用方法
3.4.14 掩碼編碼、坐標值和索引值的切換
3.4.15 特征對象的調用
3.4.16 使用文件選擇/保存對話框
3.4.17 導出odb文件中集合的場輸出數(shù)據(jù)
3.4.18 導出odb文件中集合的歷史輸出數(shù)據(jù)
3.4.19 提交多個計算作業(yè)的批處理代碼
3.5 本章小結
第4章 實例:批量施加螺栓力
4.1 實例介紹
4.2 腳本代碼
4.3 腳本要點
4.4 本章小結
第5章 實例:后處理中自動對單元集合截圖
5.1 實例介紹
5.2 腳本代碼
5.3 腳本要點
5.4 本章小結
第6章 實例:自動生成PPT版仿真報告
6.1 實例介紹
6.2 安裝python-pptx模塊
6.3 腳本代碼
6.4 腳本要點
6.4.1 獲取最大應力值并截圖
6.4.2 制作PPT
6.5 可拓展之處
6.6 本章小結
GUI開發(fā)篇
第7章 Abaqus RSG對話框生成器
7.1 Abaqus RSG簡介
7.1.1 GUI標簽頁
7.1.2 Kernel標簽頁
7.2 RSG對話框生成器的使用方法
7.2.1 布局和控件的介紹
7.2.2 布局的使用方法
7.2.3 控件的使用方法
7.2.4 布局和控件的參數(shù)設定
7.2.5 關聯(lián)內核腳本
7.3 保存對話框
7.4 實例:懸臂梁受力分析的前處理插件
7.4.1 插件制作思路
7.4.2 實例演示
7.4.3 制作對話框
7.4.4 更改內核腳本
7.4.5 可改進之處
7.4.6 中文亂碼的解決方法
7.5 本章小結
第8章 Abaqus GUI二次開發(fā)
8.1 實例:對話框腳本和注冊腳本
8.2 模塊導入、AFXDataDialog類和構造函數(shù)
8.2.1 模塊導入
8.2.2 AFXDataDialog類
8.2.3 AFXDataDialog構造函數(shù)
8.3 標簽頁、標簽項、垂直框架和分組框
8.3.1 標簽頁FXTabBook和target/message
8.3.2 標簽項FXTabItem
8.3.3 垂直框架FXVerticalFrame
8.3.4 分組框FXGroupBox
8.4 標簽、垂直對齊、文本框和關鍵字
8.4.1 標簽FXLabel和字體FXFont
8.4.2 垂直對齊AFXVerticalAligner
8.4.3 文本框AFXTextField和關鍵字AFXKeyword
8.4.4 字符串類型關鍵字和參數(shù)tgt/sel第一種設置方式
8.5 文件選擇對話框、水平框架和按鈕
8.5.1 文件選擇對話框AFXFileSelectorDialog
8.5.2 水平框架FXHorizontalFrame
8.5.3 按鈕FXButton和參數(shù)tgt/sel第二種設置方式
8.6 復選按鈕和單選按鈕
8.6.1 復選按鈕FXCheckButton和布爾類型關鍵字
8.6.2 單選按鈕FXRadioButton和整型類型關鍵字
8.7 顏色按鈕、分隔線和拾取控件
8.7.1 顏色按鈕AFXColorButton
8.7.2 分隔線FXHorizontalSeparator
8.7.3 拾取控件和對象類型關鍵字
8.8 列表、下拉列表、微調和滑塊
8.8.1 列表AFXList和列表項
8.8.2 下拉列表AFXComboBox和浮點類型關鍵字
8.8.3 微調AFXSpinner/AFXFloatSpinner
8.8.4 滑塊AFXSlider
8.9 表格AFXTable和表格類型關鍵字
8.10 下拉列表框、進度條和便簽
8.10.1 下拉列表框AFXListBox和常量類型關鍵字
8.10.2 進度條AFXProgressBar和參數(shù)tgt/sel第三種設置方式
8.10.3 便簽AFXNote和元組類型關鍵字
8.11 本章小結
第9章 實例:創(chuàng)建方鋼/方管的插件
9.1 實例演示
9.2 對話框腳本
9.2.1 對話框腳本代碼
9.2.2 轉換方法addTransition()
9.2.3 定義實例方法
9.3 注冊腳本
9.3.1 注冊腳本代碼
9.3.2 修改關鍵字類型
9.3.3 發(fā)送命令方法issueCommands()
9.3.4 插件注冊方法registerGuiMenuButton()
9.4 內核腳本
9.4.1 內核腳本代碼
9.4.2 參數(shù)設置
9.5 本章小結
第10章 實例:創(chuàng)建角鋼/圓管插件
10.1 實例演示
10.2 對話框腳本
10.2.1 對話框腳本代碼
10.2.2 切換器FXSwitcher
10.2.3 文本框的復選按鈕
10.2.4 進程更新方法processUpdates()
10.3 注冊腳本
10.3.1 注冊腳本代碼
10.3.2 單選按鈕
10.3.3 自定義檢查方法doCustomChecks()
10.4 內核腳本
10.4.1 內核腳本代碼
10.4.2 默認參數(shù)
10.5 本章小結
第11章 實例:連續(xù)拾取插件
11.1 實例演示
11.2 注冊腳本
11.2.1 注冊腳本代碼
11.2.2 Procedure模式和拾取關鍵字
11.2.3 getFirstStep和getNextStep
11.2.4 激活方法activate()
11.3 對話框腳本
11.4 內核腳本
11.4.1 內核腳本代碼
11.4.2 內核腳本要點
11.5 本章小結
第12章 實例:連續(xù)對話框插件
12.1 實例演示
12.2 對話框腳本
12.2.1 對話框腳本代碼
12.2.2 對話框腳本要點
12.3 注冊腳本
12.3.1 注冊腳本代碼
12.3.2 創(chuàng)建多對話框的關鍵字
12.3.3 getFirstDialog和getNextDialog
12.3.4 自定義檢查方法doCustomChecks()
12.3.5 驗證關鍵字值方法verifyKeywordValues()
12.3.6 自定義任務方法doCustomTasks()
12.4 內核腳本
12.4.1 內核腳本代碼
12.4.2 內核腳本要點
12.5 本章小結
第13章 實例:懸臂梁一鍵前處理插件升級
13.1 實例升級介紹
13.2 腳本代碼
13.2.1 主插件對話框腳本代碼
13.2.2 主插件注冊腳本代碼
13.2.3 主插件內核腳本代碼
13.3 增加八個功能
13.3.1 檢查輸入數(shù)值
13.3.2 檢查CPU數(shù)量
13.3.3 檢查是否拾取
13.3.4 切換模塊
13.3.5 添加默認塑性參數(shù)
13.3.6 覆蓋已有材料
13.3.7 打開非線性
13.3.8 導出INP文件
13.4 添加子插件
13.4.1 子插件的對話框腳本代碼
13.4.2 子插件的注冊腳本代碼
13.4.3 子插件的內核腳本代碼
13.4.4 子插件的設置要點
13.5 本章小結
第14章 Abaqus主窗口GUI的二次開發(fā)
14.1 Abaqus個性化定制實例介紹
14.2 主窗口定制化腳本介紹
14.3 修改插件腳本
14.4 執(zhí)行文件
14.5 啟動腳本
14.5.1 腳本代碼
14.5.2 腳本要點
14.6 主窗口腳本
14.6.1 腳本代碼
14.6.2 腳本要點
14.7 定制View菜單
14.7.1 腳本代碼
14.7.2 腳本要點
14.8 定制工具集Toolset
14.8.1 腳本代碼
14.8.2 腳本要點
14.9 自定義模塊
14.9.1 腳本代碼
14.9.2 腳本要點
14.10 定制Step模塊
14.10.1 腳本代碼
14.10.2 腳本要點
14.11 定制已有工具條
14.11.1 腳本代碼
14.11.2 腳本要點
14.12 獲取錯誤提示
14.13 本章小結
參考文獻