python訪問對象

訪問Material對象:

    import material

    mdb.models[model].materials[material]   必須使用mdb限定材料對象、命令或成員

    mdb.models[crash].materials[steel]

    mdb.models[crash].materials[steel].Elastic(table=((30000000.0,0.3),))

    elasticityType=mdb.models[crash].materials[steel].elastic.type

訪問HistoryRegion對象:

    import odbAccess

    session.odbs[odb].steps[step].historyRegions[region]

    session.odbs[odb].steps[step].frames[i].fieldOutputs[field output]

 如果訪問對象的路徑很長,可以通過創建變量的方法簡化語句:

    sideLoadStep=session.odbs[‘Forming loads’].steps[‘Side load’]

    lastFrame=sideLoadStep.frames[-1]

    stressData=lastFrame.fieldOutputs[‘S’]

    integrationPointData=stressData.getSubset(position=INTEGRATION_POINT)

               stressData對象調用getSubset方法來訪問積分點Mises應力S

    invariantsData=stressData.validInvariants

               訪問stressData對象的不變量

構造函數:創建對象

    mdb.models[‘Model-1’].Part(name=’Part-1’,dimensionality=THREE_D,type= DEFORMABLE_BODY)    創建零件

    mdb.models[‘Model-1’].parts[‘Part-1’]              將零件放入部件庫

Abaqus腳本接口的慣例是:構造函數的首字母大寫,其他字母小寫;其他方法則以小寫字母開頭。

    session.Viewport      創建視口對象

 

    myFieldOutput=session.odbs[name].steps[‘Side load’].frames[-1].\

FieldOutput(name=’S’,description=’stress’,type=TENSOR_3D_FULL)

函數定義形參和實參時可以使用關鍵字(keyword定位參數(positional arguments,并可以制定參數的默認值。編寫腳本時,建議盡量使用關鍵字參數,其優點在于:

1)參數的順序可以任意(如果不使用關鍵字,要求參數的順序與要求的順序必須完全一致;也可以使用關鍵字參數和定位參數相結合的方法來編寫腳本,關鍵字參數可以放在定位參數之后,但定位參數卻不允許放在關鍵字參數之后)

2腳本更加易讀

如果腳本中需要使用符號函數,就必須使用下列語句導入所有的符號常數:

    from abaqusConstants import *

 

定義材料隨溫度變化的彈性模量:

mdb.models[‘Model-1’].materials[‘Steel’].Elastic(temperatureDependency=ON, table=((200000000000.0,0.3,0),(210000000000.0,0.3,100.0),(220000000000.0,0.3,200.0),(230000000000.0,0.3,300.0)))

blob.png

基于矩形草圖創建三維變形體部件:

from abaqusConstants import *

mdb.Model(‘Body’)    mySketch=mdb.models[‘Body’].ConstrainedSketch(name=’__profile__’,sheetSize=200.0)

mySketch.rectangle(point1=(0.0,0.0),point2=(70.0,70.0))

switch=mdb.models[‘Body’].Part(name=’Switch’,dimensionality=THREE_D,type=DEFORMABLE_BODY)

switch.BaseSolidExtrude(sketch=mySketch, depth=20.0)

 

 

【小結】

1) 對象object):對數據和處理數據的函數進行封裝;

2) 成員(member被對象封裝的數據

3) 方法method處理數據的函數

4) 構造函數constructor創建對象的方法首字母大寫,其他字母小寫

5) 創建對象后可以調用各種方法來輸入或修改對象的數據。例如,調用setValues方法設置成員值;調用addNodesaddElements方法為部件增加節點和單元等。

6) Abaqus腳本接口中的一般慣例為:對象類型名的首字母要大,通常情況下,構造函數名與創建對象的類型名相同。

7) 編寫腳本時,要善于經常查閱《Abaqus Scripting Reference Manual對象的訪問(access方法和構造函數的路徑,在訪問對象后的路徑后面還可以繼續添加方法或成員。

8) 調用setValues(…)方法可以修改對象的成員值,但是,不允許使用賦值語句制定對象的成員值。

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

TOP

1
1