在Abaqus中Python通過findAt方法定位建立region區域的方法匯總

Abaqus中Python通過findAt方法定位建立region區域的方法匯總

(轉帖自 <http://blog.sina.com.cn/s/blog_4fff04900102vff3.html>)


Abaqus腳本接口中許多命令都包含region參數,包括:

1)Load命令:使用region指定施加荷載的區域。例如集中力施加在頂點上,壓力施加在邊或面上。

2)Mesh命令:使用region指定單元的類型、網格種子的定義區域。

3)Set命令:使用region參數指定集合的區域。例如:節點集,單元集等。

4)Coupling命令:使用region參數指定需要耦合的區域或者參考點,節點等。

 

如果在Abaqus/CAE中,Abaqus將自動為模型的特征進行編號,例如節點編號,單元編號,表面中各條邊的編號,參考點的編號。但在腳本中無法獲知這些模型特征的ID,而且對某個模型特征編輯后ID將發生變化,新舊版本ID不同不兼容。

 

鑒于定位尋找模型特征(頂點(vertex)、邊(edge)、面(face)、體(cell)、參考點(referencePoint))的重要性——可以用來施加荷載邊界條件,劃分網格、建立集合、建立耦合,有必要通過坐標的方法尋找定位這些模型特征!

 

findAt方法就可以達到這一點。用法參考《Abaqus Scripting Reference Manual》。

 參考:7.2 CellArray Object、7.4EdgeArray Object、7.6FaceArray Object、7.16VertexArray Object。

 雖然并沒有ReferencePointsArray Object,而且ReferencePoint Object也沒有findAt方法,但是Region要求的是一個序列類型,因此需要從referencePoints庫(《Abaqus Scripting User’s Manual》5.3.3節)中取出ReferencePoint對象,可以這樣操作:

a.ReferencePoint(point=(f1Mid_tr[0][0],f1Mid_tr[0][1],f1Mid_tr[0][2]))#建立參考點此時是一個feature對象

#####解釋:The ReferencePoint object has no direct constructor; it is created when a Feature object is created. TheReferencePoint method creates a Feature object that creates a ReferencePoint object.

###########################################################################

r1 = a.referencePoints###建立ReferencePoint object 并存入庫中
refPoints1=r1.findAt((f1Mid_tr[0][0],f1Mid_tr[0][1],f1Mid_tr[0][2]),)###取出庫中的對象
region1=(refPoints1,)###建立區域

尋找模型特征最重要的要明白需要的模型特征的路徑!

例如,Face這一模型特征路徑如下,可以是部件、實例、集合等,在需要的路徑下調用findAt方法定位關心的魔性特征。例如,vertices.findAt、faces.findAt、edges.findAt、referencePoints.findAt、cells.findAt

Vertex路徑:

001sPmSszy6Rjc1eGLO9c&690.jpg

Edge路徑:

 001sPmSszy6Rjc5Hq2uba&690.jpg

Face路徑:

001sPmSszy6Rjbasu8n1f&690.jpg


Cell路徑:

001sPmSszy6Rjc8fGSua2&690.jpg

ReferencePoint路徑:

001sPmSszy6Rjcb6wRea4&690.jpg
findAt命令經返回相應的模型特征的對象或者對象的序列,例如An Edge object or a s equence o f Edge o bjects.

如果返回的是一個對象,那么需要region=((返回的那個對象),)來建立一個序列賦值給region。

如果返回的是對象的序列則不需要。

在rpy文件顯示出findAt命令,按如下方法:

session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry=COORDINATE)
在命令行中直接輸入上述語句
結果.rpy文件中的findAt語句就會以坐標形式出現
session.graphicsOptions.setValues(backgroundStyle=SOLID,backgroundColor='#000000', translucencyMode=2)
在命令行中直接輸入上述語句
背景顏色就會變成黑色


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

TOP

6
2
4