Construct CAD Documentation
3D CAD application for designing robot parts using SDF
Construct CAD Documentation
Last Updated: 2026-02-05
Construct is OctoMY's integrated 3D CAD application for designing robot parts using Signed Distance Fields (SDF).
User Guides
- Interface Guide - Panels, settings, and developer tools
- Scene Organization - Node types, tree structure, and best practices
- Material System - Managing materials, PBR properties, and CSG material blending
- Rendering Modes - PBR, Environment-lit PBR, and progressive Path Tracing
- Rendering - Tone mapping and post-effect parameters
- Undo & Redo - Shortcuts, what is undoable, batched and agent edits
Features
SDF Primitives
Create 3D shapes using mathematical primitives:
- Sphere, Box, Rounded Box
- Torus, Cylinder, Cone, Capsule
- Ellipsoid, Octahedron, Plane
CSG Operations
Combine primitives with boolean operations:
- Union, Subtract, Intersect
- Smooth and chamfer variants: Union smooth, Subtract smooth, Union chamfer, …
Transform Operators
Position and repeat geometry:
- Translate offset, Translate axis, Rotate euler (and its XYZ, XZY, YXZ, YZX, ZXY orders), Rotate axis, Rotate quaternion, Scale uniform, Scale per-axis, Mirror axes
- Repeat linear, Repeat radial, Repeat grid
Material System
Apply PBR materials to primitives:
- 20+ built-in materials across categories
- Custom material creation and editing
- CSG material blending modes
Architecture
Construct uses a data-driven architecture where primitives and operators are defined in YAML files with embedded GLSL shader code. This enables:
- Hot-reloading of primitive definitions
- Custom primitive and operator creation without recompilation (see Write a transform operator)
- Automatic parameter UI generation
Units
Every length in a Construct scene is millimetres — parameters, transforms and exported meshes alike. A display unit can be chosen on the scene root; so far only the bounding-volume readouts honor it, and every other surface still displays raw millimetres. That limit is known and deliberate for now — if a panel shows a number that looks unconverted, this is why, not a broken scene.
File Format
Construct scenes are saved as .construct files using a YAML-based DSL format that includes:
- Scene hierarchy and instance definitions
- Parameter values and transforms
- Material definitions and assignments