omdl  v1.0
OpenSCAD Mechanical Design Library
Library Usage

Module Inclusion

The standard library includes are encapsulated within the base include file omdl-base.scad. This file provides only the minimal subset of commonly used functionality, consisting primarily of core utilities and geometric primitives, in order to maintain a lightweight dependency footprint. Modules outside of this base set are not imported implicitly and must be explicitly included prior to use. This approach allows developers to control library scope and selectively import functionality as required by a given project.

Standard includes: Core utilities and geometric primitives
common/console.scadcommon/constants.scaddatatypes/scalar_test.scad
datatypes/scalar_operate.scaddatatypes/iterable_test.scaddatatypes/iterable_operate.scad
datatypes/list_operate.scaddatatypes/list_inspect.scaddatatypes/euclidean.scad
datatypes/binary.scaddatatypes/map.scaddatatypes/table.scad
math/triangle.scadmath/linear_algebra.scadmath/polygon.scad
math/polyhedron.scadmath/polytope.scadmath/utility.scad
shapes/common_2d.scadshapes/common_3d.scadshapes/polygon.scad
transforms/align.scadtransforms/repeat.scadtransforms/extrude.scad
units/angle.scadunits/length.scad

To load the library base includes, use the wrapper as follows:

include <omdl-base.scad>;
include <models/3d/misc/omdl_logo.scad>;
$fn = 36;
omdl_logo(c=false, b=true, t=true);
module omdl_logo(r=5, c=false, b=false, t=false, td="ltr", a=0, d)
Standard omdl logo.
Definition: omdl_logo.scad:328

This process reads the 26 files listed in the table above. Modules not included in this base set must be explicitly included before use. This design reflects omdl’s modular architecture, where functionality is grouped by purpose (primitives, mechanical features, assemblies, etc.) and only the essential components are loaded by default.

Explicit inclusion ensures that:

  • Projects remain lightweight, importing only the modules they need.
  • Dependencies are clear, reducing the chance of runtime errors from missing includes.
  • Developers can maintain control over which features are integrated, supporting flexible recomposition and integration with other libraries.