Abaqus Scripting:使用findat查找不同数量的面孔

时间:2013-09-02 09:10:50

标签: python scripting tuples

我正在尝试使用Abaqus脚本进行参数研究。它将创建一个shell几何体,然后根据我指定的次数将其分区不同的次数。

我的问题是我正在尝试施加离心力,为此我必须找到部件中的所有面孔。有没有简单的方法来选择整个部分?很容易计算每个面的坐标系,但是我很难将它们全部组合成Abaqus接受的值。

Abaqus要求坐标指定如下,((x1,y1,z1),),((x2,y2,z2),).........((xn,yn,zn) ,)

我一直在尝试使用while循环(如下所示)创建一个带坐标的元组,但它不喜欢任何一侧放置额外的括号。它也不接受字符串。

El = 1      #Used as a counter for how many partitions
allFaceCoords = ()

while El <= NumOfElLength:      
    regionCentreSpan = (Length/NumOfElLength)*0.5+((El-1)*(Length/NumOfElLength)) # Creates z coord
    regionCentre = (CentreLineXCord, 0.0, regionCentreSpan) # Put x,y,z coords in one value

    faceCoords =((regionCentre),)   # Abaqus wants each repeating unit as ((x,y,z),)
    allFaceCoords = allFaceCoords + (faceCoords,) # To add all the coordinates into 1 tuple

    El=El+1

facesAll = faces.findAt((allFaceCoords,))

任何能够实现这一目标的想法都会非常适合。

干杯,马特

1 个答案:

答案 0 :(得分:1)

尝试使用命令:

mdb.models [ '型号-1']。份[ 'part_name']。faces.getBoundingBox(,,,)

mdb.models [ '型号-1']。份[ 'skt_R_board']。faces.getByBoundingSphere(

mdb.models [ '型号-1']。份[ 'skt_R_board']。faces.index [#]