簡單插件實例--創建帶孔板有限元模型(下)


前言

Python具有以下特點。Python語言是一種動態解釋型編程語言,其功能強大,簡單易學,支持面向對象編程(object-oriented programming),雖然由于其動態性致使程序解釋執行速度比編譯語言慢,但是隨著Python語言的不斷優化以及計算機硬件的迅猛發展,Python語言將會受到越來越多用戶的關注。Python具有開源、自由等特征。它的簡潔性和易用性使程序的開發過程變得簡單,特別適用于快速應用程序開發。以有效提高前后處理效率,節省建模及數據處理時間。

采用Python語言對 Abaqus進行二次開發具有以下優點。

(1)可以通過圖形交互界面,實現參數的統一管理。

(2)可以避免大量重復性的建模工作,避免人為建模錯誤。對于具有典型共有特征的模型可以建立標準的建模模板,實現完全參數化或者快速建模。

(3)可以通過執行內核指令實現Abaqus/CAE不具備的甚至是人工手動操作無法實現的復雜問題建模。

Abaqus 用戶圖形界面程序主要有兩種:簡單GUI插件程序和用戶自定義GUI應用程序。插件程序可以輔助完成一個或者幾個功能,自定義應用程序可集成多功能、多界面,將多個功能組件集成在統一的平臺內進行管理,適合大型應用程序開發。上述兩類圖形界面程序均可以輔助用戶提高有限元建模及數據處理效率。


上一期講到文件包里含有四個文件,注冊文件,圖形界面文件,內核執行文件,圖標文件。今天就針對核心部分的內核程序圖形界面程序拆開講講,代碼里面的結構是什么樣,各個部分有什么作用


1 圖形界面程序

圖形界面文件的主要作用是定義各類窗體、控件,關聯控件的執行命令及對象。通過定義文本框、單復選按鈕、表格等各類控件,用戶可以方便地將所需參數集成到統一的圖形界面下,形成友好的輸入輸出界面。其程序部分源代碼如下。

1.1 (class)的結構

舉一個例子,正如一類工具有很多種功能一樣,一個類里面包含很多種函數。就如下面所示這樣。

簡單插件實例--創建帶孔板有限元模型(下)的圖1


1.2 引入相關的庫

簡單插件實例--創建帶孔板有限元模型(下)的圖2abaqusConstantsabaqusGuikernelAccess,這三個庫都是集成在abaqus中的,和 abaqus密切相關的庫。

1.3 規定相應的功能

先觀察案案例中的插件程序界面里面有什么東西。簡單插件實例--創建帶孔板有限元模型(下)的圖3

首先是有一個大框把所有東西都裝起來,還有標題,再加上注意事項,畫面中間還有一些小的參數框和示意圖,最下面還有兩個按鈕。所以在這個部分就要先設計一個自己的對話框,在往對話框中填東西。就往最簡單的方向,先造一個夠用的小對話框。對話框里首先是底部按鈕參數對話框,示意圖。分別講講這三個函數。

按鈕用.getActionButton()來定義,

參數對話框用AFXTextField(p=GroupBox_l, ncols=’, labelText='零件名:', tgt=form.partnameKw, sel=O)。值得注意,因為我們有四個參數,名字,寬度,高度,直徑,所以參數對話框就需要四個。

示意圖用afxCreatePNGIcon()函數創建。


2 內核程序

內核執行文件是插件程序的核心,其作用是驅動Abaqus/CAE執行內部命令,完成CAE建模以及數據處理等功能。內核文件接受,外部傳進來的參數,進行運算和創建相應的模型。本插件程序中的內核執行文件,其程序部分源代碼如下。

簡單插件實例--創建帶孔板有限元模型(下)的圖4

接下來幾期將簡要介紹Python語言的特點、基本語法以及Python語言與Abaqus的關系。本系列的側重點是基于Python語言的Abaqus GUI程序開發后續干貨輸出請持續關注

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

4
3
2