Add an Obstacle
Obstacles define keep-out zones where the solver must not place material during design optimization. Use them for clearance requirements, cable routing paths, assembly constraints, or any region that must remain empty in the final design.
For a deeper explanation of how obstacles work conceptually, see Obstacles.
Obstacle availability
Obstacles are available for most analysis types, but not for:
- Flexure analysis
If your analysis type does not support obstacles, the Obstacles section will not appear in the sidebar and the toolbar will not offer obstacle creation options.
Creating a part-based obstacle
A part-based obstacle uses a geometric primitive (rectangle in 2D, box in 3D) or an imported file (STEP, STL) to define the keep-out zone shape.
From the sidebar
- In the sidebar, locate the Obstacles section header.
- Click the + button to create a new obstacle. This creates an obstacle object with no part attached.
- In the obstacle card that appears, click Create Part and choose one of:
- Rectangle / Box (Primitive) -- a parametric shape you can resize and reposition
- STEP Model (Import) -- an imported CAD model
- STL Model (Import) -- an imported mesh model
- The part is automatically linked to the obstacle.
From the section header context menu
Right-click the Obstacles section header to access:
- Create Obstacle -- creates an obstacle with a primitive part already attached
- STEP Obstacle -- creates an obstacle with an imported STEP part
From the toolbar
The secondary toolbar also offers obstacle creation options under the Obstacles dropdown, which provides the same options as the section header context menu.
Generating a hull-based obstacle
Hull-based obstacles are created by computing a 3D convex hull from the vertices of STEP mesh data in the scene. This is useful when you want to constrain the solver to only place material within the physical envelope of your imported geometry.
How to generate
- Import at least one STEP file into the scene (as a preserve part or standalone step part linked to the analysis).
- In the Obstacles section header, click the hexagon icon (next to the + button). This is the "Generate from STEP" button.
- deFlex collects all vertices from STEP mesh data in the scene -- both from deformation step preserves (undeformed and deformed meshes) and from standalone STEP parts referenced by analysis preserves or obstacles.
- A 3D convex hull is computed from these vertices. At least 4 non-coplanar points are required.
- A new obstacle is created with the hull vertices stored directly on the object. The default name is "STEP Hull Boundary".
The "Generate from STEP" button is disabled when:
- The scene is read-only
- No STEP mesh data is available (the tooltip reads "Import STEP files first")
- A hull generation is already in progress
The invert mode toggle
Hull-based obstacles have an invert toggle that controls which side of the hull is the keep-out zone:
- Inverted (the default): Everything outside the hull is the keep-out zone. Material can only exist inside the hull wireframe. The obstacle card shows the label "Outside hull = keep-out (material only inside wireframe)".
- Non-inverted: Everything inside the hull is the keep-out zone. Material can only exist outside the hull. The card shows "Inside hull = keep-out (material only outside)".
In the viewport, an inverted hull obstacle is rendered by filling the design domain volume with translucent orange while cutting out the hull region using a stencil mask. The hull wireframe marks the boundary between allowed and forbidden zones. A non-inverted hull renders as a filled translucent orange shape.
Obstacle appearance in the sidebar
Each obstacle appears as a card in the Obstacles section with two possible layouts:
- Part-based obstacles show the linked part (with its name and a part icon). Clicking the part opens its properties. If no part is linked yet, a "Create Part" dropdown is shown.
- Hull-based obstacles show the convex hull info: the number of hull vertices, the source object name (if tracked), and a description of what the hull means ("Outside hull = keep-out" or "Inside hull = keep-out").
Right-click an obstacle card to access the object context menu, which includes Hide/Show, Suppress, Rename, Duplicate, and Delete.
How obstacles affect the solver
Obstacles define regions where the topology optimizer must not place material. During optimization, the solver treats obstacle regions as exclusion zones -- elements overlapping with an obstacle's geometry are forced to zero density, preventing material from appearing there regardless of the optimization objective.
The solver routes load paths around obstacles while maintaining structural integrity. This means adding obstacles may increase compliance (reduce stiffness) compared to an unconstrained optimization, but ensures the final design respects your physical clearance requirements.