Reputation: 621
I'm trying to run a parametric study using Abaqus scripting. It's going to create a shell geometry and then partition it a varying number of times depending on how many times I specify.
My problem is that I'm trying to apply a centrifugal force and to do that I have to find all faces in the part. Is there a simple way to select a whole part? Its easy to calculate a coordinate system for each face, but I'm having trouble trying to combine them all into a value that Abaqus accepts.
Abaqus requires the coordinates to specified as follows, ((x1,y1,z1),), ((x2,y2,z2),)......... ((xn,yn,zn),)
I have been trying to use a while loop (shown below) to create a tuple with the coordinates but it does not like the extra set of brackets put either side. It also won't accept a string.
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,))
Any ideas how I could achieve this would be much a appreactiated.
Cheers, Matt
Upvotes: 0
Views: 5452
Reputation: 194
try using the commands:
mdb.models['Model-1'].parts['part_name'].faces.getBoundingBox(,,,)
or
mdb.models['Model-1'].parts['skt_R_board'].faces.getByBoundingSphere(
or
mdb.models['Model-1'].parts['skt_R_board'].faces.index[#]
Upvotes: 1