Abaqus GUI程序开发之常用的Abaqus内核指令(一)
說明:本篇帖子是博主學(xué)習(xí)Abaqus GUI開發(fā)的筆記,基于賈利勇主編的《ABAQUS GUI程序開發(fā)指南? Python語言 第一版》這本書,僅供學(xué)習(xí)參考使用。
書的配套資料下載:網(wǎng)盤資料:《AbaqusGUI程序開發(fā)指南(Python語言)》配套資源下載
內(nèi)核指令是Abaqus GUI開發(fā)過程中的核心文件, Abaqus/CAE將用戶在圖形界面程序中進行的各種操作轉(zhuǎn)化為內(nèi)核指令,通過執(zhí)行這些指令完成一系列繁雜的前后處理操作。用戶可以通過編寫Python內(nèi)核腳本指令,越過Abaqus/CAE直接完成前后處理工作。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Abaqus/CAE內(nèi)核腳本指令采用Python語言編寫,在繼承Python語言自身類模型的基礎(chǔ)上,針對Abaqus的自身特點,Abaqus/CAE 對Python語言進行了擴展,增加了500多個新的類模型。新增的類模型總體上分為三大類,分別為Session類,Mdb類以及Odb類,分別對應(yīng)視圖、模型數(shù)據(jù)庫和計算結(jié)果數(shù)據(jù)庫三類對象。Abaqus異常豐富的內(nèi)核函數(shù)庫是本書無法完全覆蓋的,本章僅簡單介紹一些常用的Abaqus內(nèi)核指令,有關(guān)內(nèi)核函數(shù)更加詳盡的內(nèi)容請參照《AbaqusScripting Reference Manual》。
1.Abaqus/CAE中python的執(zhí)行方式
方式一:將內(nèi)核指令輸入到Abaqus GUI命令行交互窗口。注意點擊 >>> 之后進入編程模式。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 方式二:將指令寫成文本,保存為后綴.py的腳本。在Run Script中運行即可。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 方式三:在Abaqus PDE開發(fā)環(huán)境下輸入指令。就是個自帶的Python編譯器。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
2. 內(nèi)核腳本的快捷編輯方式? ? ? ? ? ? ? ? ? ? ? ? ? ?
內(nèi)核腳本并不需要完全自己寫。
?
每次使用Abaqus,目錄下均會自動保存一個與模型名稱同名的.jnl文件。后綴為.rpy 與.jnl的文件中均記錄了整個建模過程中所用得到的指令,用戶可以用文本編輯軟件將上述兩類文件打開,并根據(jù)自己的需求對某些指令進行修改。采用這種方式可以節(jié)省大量腳本編輯時間,提高用戶腳本編寫效率。通過修改.rpy文件來寫自己的腳本,可在【體驗版_Abaqus自定義插件制作】去感受一下,很有意思,建議去試一試。
基于這樣的特點,有一款工具,專門用來讀取rpy文件,相關(guān)介紹在這:?
Abaqus Python腳本神器-PythonReader?https://www.bilibili.com/read/cv8574531/https://www.bilibili.com/read/cv8574531/
鏈接: 百度網(wǎng)盤 請輸入提取碼? ? ? ?提取碼: 9k84
3.? 高亮顯示及取消高亮顯示
3.1 highlight()高亮顯示
語法: highlight(...)?
括號里為對象類別及索引號。
單個對象高亮
例如:
highlight(mdb.models['Model-1'].parts['Part-1'].edges[0])多個對象高亮?
在上面的基礎(chǔ)上對實體劃分網(wǎng)格,并選擇其中10個單元創(chuàng)建一個單元集合,單元集合命名為“ele_set”,單元集合全部高亮。set即為集。?
p = mdb.models['Model-1'].parts['Part-1'] highlight(p.sets['ele_set'])3.2 unhighlight()? 取消高亮顯示
與高亮顯示基本差不多。
?語法: unhighlight(...)?
3.3? highlight(...)和?unhighlight() 支持的對象
4. 幾何模型導(dǎo)入?
Abaqus/CAE支持非常多的幾何格式,基本主流三維軟件都比較兼容,更是可以直接可以搞Catia、SolidWorks的文件。如下圖所示:
以CATIA為例,在書的配套資料3.4中,有這么幾個文件:
現(xiàn)將其part1和part2裝配到assembly文件中,寫腳本如下:
#-*-coding:UTF-8-*- from abaqus import* from abaqusConstants import* from caeModules import*mdb.Model(name='Model-1', modelType=STANDARD_EXPLICIT)a = mdb.models['Model-1'].rootAssembly session.viewports['Viewport: 1'].setValues(displayedObject=a)catia = mdb.openCatia(fileName='D:/TEMP/importassembly.CATProduct',topology=SOLID, useServer=True)mdb.models['Model-1'].PartFromGeometryFile(name='importassembly-1',geometryFile=catia,combine=False,#stitchAfterCombine = True,stitchTolerance=1.0,dimensionality=THREE_D, type=DEFORMABLE_BODY,scale=1.0)mdb.models['Model-1'].PartFromGeometryFile(name='importassembly-2',geometryFile=catia, bodyNum=2, combine=False, #stitchAfterCombine = True,stitchTolerance=1.0, dimensionality=THREE_D, type=DEFORMABLE_BODY,scale=1.0)p = mdb.models['Model-1'].parts['importassembly-2']session.viewports['Viewport: 1'].setValues(displayedObject=p)?導(dǎo)入igs文件:
#-*-coding:UTF-8-*- from abaqus import* from abaqusConstants import* from caeModules import*mdb.openIges('D:/TEMP/part.igs',msbo=False,scaleFromFile=OFF,trimCurve=DEFAULT) mdb.models['Model-1'].PartFromGeometryFile(combine=False,convertToAnalytical=1,dimensionality=THREE_D,geometryFile=mdb.acis,name='part-1',#stitchAftercombine=False,stitchEdges=1,stitchTolerance=1.0,type=DEFORMABLE_BODY)幾何導(dǎo)入指令中的參數(shù)定義:
- topology參數(shù)表示的是幾何的拓?fù)漕愋?#xff0c;分為SOLID、SHELL、WIRE三種,分別對應(yīng)實體、曲面、線框三類幾何拓?fù)湫螤?#xff0c;默認(rèn)值為SOLID;
- Dimensionality表示的是幾何體的維度,有THREE_D、TWO_D_PLANAR以及AXISYMMETRIC三種類型,分別對應(yīng)三維幾何、二維平面幾何以及軸對稱幾何;
- type表示的是導(dǎo)入后零件的屬性,分為可變形體DEFORMABLE_BODY、離散剛體DISCRETE_RIGID_SURFACE、分析剛體ANALYTIC_RIGID_SURFACEI以及歐拉體EULERIAN四種類型。
?
總結(jié)
以上是生活随笔為你收集整理的Abaqus GUI程序开发之常用的Abaqus内核指令(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: getsockopt( )函数详解
- 下一篇: 无心剑中译纳瓦尔·拉维肯特《如何不靠运气