5 ways to select geometry in Abaqus using Python

One of the most common operations and sometimes the hardest to automate in our Python scripts is the selection of geometry. This task is essential to assign material properties, define boundary conditions, control the mesh settings, create interactions, etc. The default method recorded by Abaqus is based on masks, but it has several drawbacks (not reliable when geometry changes and non-intuitive).

In this post, I would like to show you a few other methods to automate the selection of geometry using Python in Abaqus.

1. Methods to select geometry

The five strategies to select geometry in Abaqus (vertices, edges, faces and cells) using Python commands are:

#1 Masks

This is the default syntax used by Abaqus to record the selection of geometry through Python commands (getSequenceFromMask). It might be enough for geometries that do not change, but it is useless if the geometry changes.

#2 findAt

This is one of the most powerful and versatile methods (findAt). This Python function is used to retrieve geometrical objects (e.g. cells, edges…) by means of coordinates in 3D space.

#3 Functions "getByBounding..."

This group of commands has 3 flavours: getByBoundigBoxgetByBoundingCylinder and  getByBoundingSphere. They return the geometrical objects contained into the box-cylinder or sphere defined by the arguments.

#4 Boolean operations

Boolean operations (union, difference and intersection) are supported among sets, both at the part and the assembly levels. In essence, the Python function does not return geometry, but it creates a new set (setByBoolean).

#5 Direct selection of geometry

We can filter geometry features individually based on one or multiple conditions. You can read this other blog post on how to get information from the geometry using Python.

Some of these methods are also applicable to mesh selections, such as masks, findAtgetByBounding functions and direct selection.

2. Practical cases

In the following video you will see a practical demonstration on how to apply these 5 strategies in Abaqus using Python scripts.

If you are interested in Abaqus Scripting with Python, take a look at the first and second scripts to generate the FE models shown in the video. And of course, if you have any question leave it in the comments section below.

And if you want to get started in Abaqus Scripting with Python check out this post to learn how to create your own scripts.

I hope that you find these tips useful!

Leave a Comment

Scroll to Top