Object Types
Every element in a deFlex scene is a scene object. Each object has a type (and sometimes a subtype) that determines its behavior. This page documents every object type, its properties, and how it is used by the solver.
Common properties
All scene objects share these base properties:
| Property | Description |
|---|---|
| Unique ID | An automatically assigned identifier for every object. |
| Type | The kind of object: Part, Preserve, Path, Preserve Pair, Obstacle, Analysis, Solver Job, or Solver Result. |
| Name | User-visible display name (editable). |
| Visible | Whether the object appears in the viewport. |
| Locked | Whether the object is protected from editing. |
| Parent | The parent object in the scene tree hierarchy (if any). |
| Created / Modified | Timestamps showing when the object was created and last changed. |
| Tags | User-defined tags for organization. |
Parts
Parts define geometry in the scene. They serve as design domains, preserve regions, and obstacle volumes.
Rectangle Part
2D rectangular primitive. The primary design domain for 2D analyses.
| Property | Default | Description |
|---|---|---|
| Position | (0, 0, 0) | Position in world space (mm). |
| Rotation | None | Orientation of the rectangle. |
| Scale | (1, 1, 1) | Scale factors. |
| Width | 10 mm | Width in the X direction. Must be greater than 0. |
| Height | 10 mm | Height in the Y direction. Must be greater than 0. |
| Center X | On | When on, the position marks the horizontal center. When off, it marks the left edge. |
| Center Y | On | When on, the position marks the vertical center. When off, it marks the bottom edge. |
| Material | -- | Visual appearance (color, metalness, roughness). |
Box Part
3D box primitive. The primary design domain for 3D analyses.
| Property | Default | Description |
|---|---|---|
| Width | 10 mm | X dimension. |
| Depth | 10 mm | Y dimension. |
| Height | 10 mm | Z dimension. |
| Center X | On | Center along X. |
| Center Y | On | Center along Y. |
| Center Z | Off | When off, the bottom face sits on the XY plane (Z = 0). |
STEP Part
Imported STEP (ISO 10303) CAD file.
| Property | Description |
|---|---|
| Filename | The original filename shown in the scene tree. |
| Placement | Position, rotation, offset, and uniform scale of the imported geometry. |
| Cross-section polygons | Optional 2D cross-section outlines extracted from the STEP geometry. |
STL Part
Imported STL mesh file.
| Property | Description |
|---|---|
| Filename | The original filename shown in the scene tree. |
| Placement | Position, rotation, offset, and uniform scale of the imported mesh. |
Paths
Paths define motion or force directions. Preserves reference a linked path to specify which direction force or displacement acts.
Linear Path
Straight-line direction vector anchored to a part.
| Property | Description |
|---|---|
| Direction | Direction vector in mm. The magnitude may encode force or displacement. |
| Stroke color | Color of the path arrow in the viewport. |
| Stroke width | Thickness of the path arrow in the viewport. |
Rotational Path
Rotation about an axis through a part.
| Property | Description |
|---|---|
| Axis | Rotation axis direction. For 2D scenes this is always perpendicular to the working plane. |
| Angle | Rotation angle in degrees. |
| Center offset | Offset from the parent part center to the rotation center. |
| Clockwise | Whether the rotation is clockwise (default is counter-clockwise). |
Preserves
Preserves define boundary conditions for the solver. Each preserve applies a constraint to a region of the design domain.
Input Preserve
Where force is applied. Colored by the active theme in the viewport.
| Property | Default | Description |
|---|---|---|
| Linked part | -- | The part geometry this preserve covers. |
| Linked path | -- | The path defining the force direction. |
| Force magnitude | None | Force in Newtons (optional). |
| Analysis input mode | Displacement | How the solver derives the input: from the path displacement or from a direct force value. |
| Perpendicular stiffness | Off | Constrain stiffness perpendicular to motion. |
| Min perpendicular stiffness | None | Minimum perpendicular stiffness in N/mm, when perpendicular stiffness is enabled. |
Output Preserve
Where desired motion occurs. Colored by the active theme in the viewport.
| Property | Default | Description |
|---|---|---|
| Linked part | -- | The part geometry this preserve covers. |
| Linked path(s) | -- | One or more paths defining the desired output motion direction. Multi-path designs can assign several paths to a single output. |
| Target displacement | None | Desired displacement in mm (optional constraint). |
| Perpendicular stiffness | Off | Constrain perpendicular stiffness. |
Fixed Preserve
Stationary anchor region. Colored by the active theme in the viewport.
| Property | Default | Description |
|---|---|---|
| Linked part | -- | The part geometry this preserve anchors. |
| Fixed mode | Volume | How the region is constrained: Volume fixes the entire part, while Faces lets you select individual faces on imported STEP geometry. |
| Selected faces | None | The specific faces to fix, when fixed mode is set to Faces. |
Boundary Fixed Preserve
Fixes domain boundaries instead of part geometry. Color: red.
| Property | Default | Description |
|---|---|---|
| Fixed sides | -- | Which domain boundaries to fix. In 2D: left, right, top, bottom. In 3D: additionally front and back. |
Boundary fixed preserves do not reference a part or path -- they apply directly to the edges or faces of the design domain.
Deformation Function Preserve
Defines output deformation as a mathematical function (sine wave, polynomial, or custom expression) applied to an edge or face of the design domain. Color: yellow.
| Property | Default | Description |
|---|---|---|
| Edge | -- | Which 2D edge the function is applied to: top, bottom, left, or right. |
| Face | None | For 3D scenes, which face the function is applied to (overrides edge): front, back, left, right, top, or bottom. |
| Function type | Sine | The type of deformation function: Sine, Polynomial, or Custom. |
| Amplitude | 1.0 mm | Sine wave amplitude. |
| Wavelength | 10.0 mm | Sine wavelength. |
| Phase | 0.0 rad | Sine phase offset in radians. |
| Undeformed curve | None | Advanced: parametric curve defining the undeformed shape. |
| Deformed curve | None | Advanced: parametric curve defining the target deformed shape. |
Flexure IO Preserve
Combined input/output for flexure optimization. Color: purple.
| Property | Default | Description |
|---|---|---|
| Linked part | -- | The part geometry this preserve covers. |
| Linked path | None | Optional path defining the motion direction. |
| Active degrees of constraint | First DOC only | Which degrees of constraint are enabled for this preserve. |
The maximum strain energy limit is set at the analysis level, not per-preserve. See Flexure Analysis.
Flexure IO preserves appear in the I/O section of the scene tree.
Preserve Pairs
Preserve pairs group inputs and outputs for decoupled force-motion analysis. They enable multi-input, multi-output mechanism design where specific inputs drive specific outputs.
| Property | Default | Description |
|---|---|---|
| Linked inputs | -- | The input preserves belonging to this pair. |
| Linked outputs | -- | The output preserves driven by these inputs. |
| Output paths | None | For multi-path designs, a specific path can be assigned to each output. |
| Stiffness constraint mode | Maximum | Maximum sets an upper bound on the characteristic stiffness (K_p). Function lets you prescribe a stiffness profile expression. |
| Maximum stiffness (K_p) | 10.0 N/mm | The K_p upper bound when the mode is set to Maximum. |
| Stiffness expression | -- | The prescribed K_p profile expression when the mode is set to Function. |
Obstacles
Obstacles define keep-out zones where the optimizer cannot place material.
| Property | Default | Description |
|---|---|---|
| Linked part | None | The part whose geometry defines the obstacle shape (box, rectangle, STEP, or STL). |
| Convex hull vertices | None | Vertex coordinates for convex-hull-based obstacles. |
| Invert hull | On | When on, the region outside the hull is treated as the obstacle. When off, the region inside the hull is the obstacle. |
| Color | Dark orange | Visual color in the viewport. |
| Opacity | 0.5 | Visual transparency. |
Analysis objects
Analysis objects store solver configuration. The following analysis types exist:
| Analysis Type | Description |
|---|---|
| Compliant 2D | 2D compliant mechanism. See Compliant 2D. |
| Compliant 3D | 3D compliant mechanism. See Compliant 3D. |
| Flexure | Flexure optimization. See Flexure. |
| Decoupled Flexure | Decoupled flexure. See Decoupled Flexure. |
| Metamaterials | Metamaterial cell optimization. See Metamaterials. |
| Thermal-Compliant | Thermal-compliant mechanism (combined thermal and optimization stages). |
| Planar Decomposition | Planar decomposition. See Planar Decomposition. |
Analysis objects hold all the solver parameters documented in Solver Parameters. They are the "blueprint" for a solver run. Running an analysis creates a Solver Job child object that tracks execution progress.
Solver Job
Tracks a single execution of an analysis.
| Property | Description |
|---|---|
| Status | Current state: Queued, Running, Completed, Failed, or Cancelled. |
| Progress | Completion percentage (0 -- 100%). |
| Total iterations | The planned number of iterations for this run. |
| Current iteration | How many iterations have completed so far. |
| Started at | Timestamp when solving began. |
| Completed at | Timestamp when solving finished. |
| Error | Error message shown when the job has failed. |
Solver Result
Each iteration of a solver run produces a Solver Result object. The final iteration typically contains the converged design and full convergence data. Each result is a child of its parent Solver Job.
| Property | Description |
|---|---|
| Iteration | Iteration number (starting from 0). |
| Result mesh | The optimized geometry for this iteration, displayed in the viewport. Mesh files are stored in the cloud and loaded on demand. |
| Compliance | Compliance (performance metric) value -- lower means stiffer. |
| Volume fraction | Actual material usage fraction at this iteration. |
| Max stress | Peak Von Mises stress in MPa. |
| Design change | How much the material layout changed compared to the previous iteration. |
| K_p values | Characteristic stiffness (K_p) for each preserve pair (if applicable). |
| Convergence data | Full convergence history across all iterations. Only populated on the final iteration. |
| Convergence status | Whether the solver converged, failed, or reached the maximum number of iterations. |
| Design domain position | Position offset and dimensions of the design domain (width, height, and depth for 3D) used for placing the mesh in the viewport. |
Displacement animation data
Final-iteration results may include displacement field data for deformation animation:
| Data | Description |
|---|---|
| Displacement field | Nodal displacement values used to animate the mesh deformation. |
| Mesh nodes | Node coordinate data for the solver mesh. |
| Node material values | Material values averaged at each node, used for visualization filtering. |
| Stress field | Von Mises stress values across the mesh (in MPa). |
| Maximum stress | The peak Von Mises stress, used as the upper bound for the stress color scale. |
Result variants
Solver results may be tagged to indicate specialized post-processing:
| Variant | Description |
|---|---|
| Structural reanalysis | Result from a structural reanalysis (not design optimization). |
| Single-cell analysis | Single-cell analysis result for metamaterial qualification. |
| Full metamaterial | Tiled full-metamaterial visualization. |
| Thermal | Result from the thermal post-processing stage. |
| Strain analysis | Strain analysis companion result. |
| Test mechanism | Result from a test mechanism run. |
Export
Solver results support several export actions from the properties panel:
- Download STL -- the mesh geometry. See Export Results.
- Download STEP -- server-side conversion to a CAD-native STEP solid.
- Export Demo Bundle (admin) -- STL, displacement data, and metadata for landing-page demos.