Skip to main content

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:

PropertyDescription
Unique IDAn automatically assigned identifier for every object.
TypeThe kind of object: Part, Preserve, Path, Preserve Pair, Obstacle, Analysis, Solver Job, or Solver Result.
NameUser-visible display name (editable).
VisibleWhether the object appears in the viewport.
LockedWhether the object is protected from editing.
ParentThe parent object in the scene tree hierarchy (if any).
Created / ModifiedTimestamps showing when the object was created and last changed.
TagsUser-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.

PropertyDefaultDescription
Position(0, 0, 0)Position in world space (mm).
RotationNoneOrientation of the rectangle.
Scale(1, 1, 1)Scale factors.
Width10 mmWidth in the X direction. Must be greater than 0.
Height10 mmHeight in the Y direction. Must be greater than 0.
Center XOnWhen on, the position marks the horizontal center. When off, it marks the left edge.
Center YOnWhen 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.

PropertyDefaultDescription
Width10 mmX dimension.
Depth10 mmY dimension.
Height10 mmZ dimension.
Center XOnCenter along X.
Center YOnCenter along Y.
Center ZOffWhen off, the bottom face sits on the XY plane (Z = 0).

STEP Part

Imported STEP (ISO 10303) CAD file.

PropertyDescription
FilenameThe original filename shown in the scene tree.
PlacementPosition, rotation, offset, and uniform scale of the imported geometry.
Cross-section polygonsOptional 2D cross-section outlines extracted from the STEP geometry.

STL Part

Imported STL mesh file.

PropertyDescription
FilenameThe original filename shown in the scene tree.
PlacementPosition, 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.

PropertyDescription
DirectionDirection vector in mm. The magnitude may encode force or displacement.
Stroke colorColor of the path arrow in the viewport.
Stroke widthThickness of the path arrow in the viewport.

Rotational Path

Rotation about an axis through a part.

PropertyDescription
AxisRotation axis direction. For 2D scenes this is always perpendicular to the working plane.
AngleRotation angle in degrees.
Center offsetOffset from the parent part center to the rotation center.
ClockwiseWhether 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.

PropertyDefaultDescription
Linked part--The part geometry this preserve covers.
Linked path--The path defining the force direction.
Force magnitudeNoneForce in Newtons (optional).
Analysis input modeDisplacementHow the solver derives the input: from the path displacement or from a direct force value.
Perpendicular stiffnessOffConstrain stiffness perpendicular to motion.
Min perpendicular stiffnessNoneMinimum perpendicular stiffness in N/mm, when perpendicular stiffness is enabled.

Output Preserve

Where desired motion occurs. Colored by the active theme in the viewport.

PropertyDefaultDescription
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 displacementNoneDesired displacement in mm (optional constraint).
Perpendicular stiffnessOffConstrain perpendicular stiffness.

Fixed Preserve

Stationary anchor region. Colored by the active theme in the viewport.

PropertyDefaultDescription
Linked part--The part geometry this preserve anchors.
Fixed modeVolumeHow the region is constrained: Volume fixes the entire part, while Faces lets you select individual faces on imported STEP geometry.
Selected facesNoneThe specific faces to fix, when fixed mode is set to Faces.

Boundary Fixed Preserve

Fixes domain boundaries instead of part geometry. Color: red.

PropertyDefaultDescription
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.

PropertyDefaultDescription
Edge--Which 2D edge the function is applied to: top, bottom, left, or right.
FaceNoneFor 3D scenes, which face the function is applied to (overrides edge): front, back, left, right, top, or bottom.
Function typeSineThe type of deformation function: Sine, Polynomial, or Custom.
Amplitude1.0 mmSine wave amplitude.
Wavelength10.0 mmSine wavelength.
Phase0.0 radSine phase offset in radians.
Undeformed curveNoneAdvanced: parametric curve defining the undeformed shape.
Deformed curveNoneAdvanced: parametric curve defining the target deformed shape.

Flexure IO Preserve

Combined input/output for flexure optimization. Color: purple.

PropertyDefaultDescription
Linked part--The part geometry this preserve covers.
Linked pathNoneOptional path defining the motion direction.
Active degrees of constraintFirst DOC onlyWhich 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.

PropertyDefaultDescription
Linked inputs--The input preserves belonging to this pair.
Linked outputs--The output preserves driven by these inputs.
Output pathsNoneFor multi-path designs, a specific path can be assigned to each output.
Stiffness constraint modeMaximumMaximum 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/mmThe 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.

PropertyDefaultDescription
Linked partNoneThe part whose geometry defines the obstacle shape (box, rectangle, STEP, or STL).
Convex hull verticesNoneVertex coordinates for convex-hull-based obstacles.
Invert hullOnWhen on, the region outside the hull is treated as the obstacle. When off, the region inside the hull is the obstacle.
ColorDark orangeVisual color in the viewport.
Opacity0.5Visual transparency.

Analysis objects

Analysis objects store solver configuration. The following analysis types exist:

Analysis TypeDescription
Compliant 2D2D compliant mechanism. See Compliant 2D.
Compliant 3D3D compliant mechanism. See Compliant 3D.
FlexureFlexure optimization. See Flexure.
Decoupled FlexureDecoupled flexure. See Decoupled Flexure.
MetamaterialsMetamaterial cell optimization. See Metamaterials.
Thermal-CompliantThermal-compliant mechanism (combined thermal and optimization stages).
Planar DecompositionPlanar 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.

PropertyDescription
StatusCurrent state: Queued, Running, Completed, Failed, or Cancelled.
ProgressCompletion percentage (0 -- 100%).
Total iterationsThe planned number of iterations for this run.
Current iterationHow many iterations have completed so far.
Started atTimestamp when solving began.
Completed atTimestamp when solving finished.
ErrorError 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.

PropertyDescription
IterationIteration number (starting from 0).
Result meshThe optimized geometry for this iteration, displayed in the viewport. Mesh files are stored in the cloud and loaded on demand.
ComplianceCompliance (performance metric) value -- lower means stiffer.
Volume fractionActual material usage fraction at this iteration.
Max stressPeak Von Mises stress in MPa.
Design changeHow much the material layout changed compared to the previous iteration.
K_p valuesCharacteristic stiffness (K_p) for each preserve pair (if applicable).
Convergence dataFull convergence history across all iterations. Only populated on the final iteration.
Convergence statusWhether the solver converged, failed, or reached the maximum number of iterations.
Design domain positionPosition 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:

DataDescription
Displacement fieldNodal displacement values used to animate the mesh deformation.
Mesh nodesNode coordinate data for the solver mesh.
Node material valuesMaterial values averaged at each node, used for visualization filtering.
Stress fieldVon Mises stress values across the mesh (in MPa).
Maximum stressThe 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:

VariantDescription
Structural reanalysisResult from a structural reanalysis (not design optimization).
Single-cell analysisSingle-cell analysis result for metamaterial qualification.
Full metamaterialTiled full-metamaterial visualization.
ThermalResult from the thermal post-processing stage.
Strain analysisStrain analysis companion result.
Test mechanismResult 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.