Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

what is alternative way to get surface nodes? 1

Status
Not open for further replies.

roudan

Geotechnical
Joined
Sep 7, 2020
Messages
38
Location
US
Hi

I used to use getBoundingBox() to get surface nodes if outside surface is flat. Now if the surface is not flat, what alternative functions I can use to select nodes on the outside surface?? Thanks a lot


bottom_face=modelInstane.nodes.getByBoundingBox(xMin=X_tolernce*-1,xMax=Model_Width_I+X_tolernce,
yMin=Y_tolernce*-1,yMax=Model_Width_J+Y_tolernce,zMin=ZBot_Under-Z_tolernce,zMax=ZBot_Under+Z_tolernce)
 
To get nodes only from the outer surface you can create a for loop with if conditional statement inside. Define this statement in such a way that only faces with one associated element are considered (since they belong to the outer surface) and nodes from these faces are obtained.
 
You can use the part faces to define your set:

[pre]part = mdb.models['Model-1'].parts['Part-1']
set = part.Set(name='Outside', faces=part.faces)[/pre]
 
Thank you so much oldNail. If I have multiple faces( left, right, top and bottom) and I only want to pick bottom face. How to pick that bottom face? I am thinking I can do part.faces[0] or part.faces[1] or part.faces[3]. The question which one to pick? do you have another trick? Thanks
 
The part.faces is a FaceArray object. I'm sure you can find a FaceArray method that will help in the Scripting manual. In the worst-case you can iterate through each face yourself and compare centroids, normals, sizes, etc.
 
Thank you oldNail.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top