![]() |
omdl
v1.0
OpenSCAD Mechanical Design Library
|
The OpenSCAD Mechanical Design Library (omdl) began as the work of an electrical engineer without formal training in mechanical engineering or graphical design. Its approach reflects patterns drawn from electrical hardware description languages, which may feel unconventional to designers accustomed to geometry-first or graphics-driven workflows.
It is intentionally positioned differently from widely used OpenSCAD libraries such as MCAD and BOSL2. While all three support parametric modeling, they target different abstraction levels and workflows.
omdl is designed around mechanical design intent, not just geometry creation.
In contrast:
omdl treats geometry as a consequence of mechanical decisions, not the starting point.
omdl encourages the use of structured, self-describing parameters rather than long positional argument lists.
omdl takes the view that design application flexibility is increased by providing detailed construction options through careful parameterization and by managing those parameters as configurations with defaults, inheritance, and instance-level control. Designers should be able to create useful mechanical parts using defaults, while still retaining the ability to drill down into low-level geometric details when required.
This results in:
By comparison:
omdl natively supports unit-aware modeling, making mixed-unit mechanical work safer and clearer.
Key ideas:
length(), angle())Most other libraries:
For mechanical engineers working from drawings or standards, this is a major differentiator.
omdl mirrors how mechanical designs evolve. This is reflected directly in the library structure:
Other libraries are typically organized by shape type, not design process.
omdl is written to be self-documenting by design:
The goal is that reading the documentation teaches mechanical design usage, not just syntax.
By contrast:
omdl favors:
This makes designs:
| Feature | omdl | MCAD | BOSL2 |
|---|---|---|---|
| Primary Focus | Mechanical design intent | Part catalog | Geometric power tools |
| Units | Explicit, unit-aware | Implicit | Implicit |
| Parameter Style | Structured & named | Positional | Mixed |
| Workflow Orientation | Yes | No | No |
| Documentation Depth | High, engineering-centric | Minimal | High, geometry-centric |
| Target User | Mechanical engineers | Hobbyists & general users | Power users |
omdl is not just a geometry library, it is a mechanical design framework for OpenSCAD, built to reflect how engineers think, document, and maintain real mechanical systems.