Skip to main content

Crate scadman

Crate scadman 

Source
Expand description

scadman is a Rust library designed for programmatically generating OpenSCAD code.

It offers a type-safe and structured approach to defining 2D and 3D geometric objects, applying transformations, and performing operations, ultimately outputting valid OpenSCAD code.

§Key Features:

  • Generic Type System: Leverages ScadObjectGeneric<D> to provide compile-time dimensional safety (2D, 3D, Mixed) while maintaining runtime flexibility.
  • Comprehensive API: Supports a wide range of OpenSCAD primitives, modifiers, and block operations.
  • Builder Pattern: Simplifies configuration of complex SCAD sentences.
  • Operator Overloading: Enables intuitive use of +, -, * for boolean operations with runtime dimension checks.

For detailed usage, examples, and an in-depth understanding of the type system, please refer to the README.md.

Modules§

common
Common module to define core SCAD-related objects.
legacy
access to legacy API (deprecated)
prelude
import prelude::* so you can be ready to code!
scad_2d
2D objects in SCAD.
scad_3d
3D objects in SCAD.
scad_display
Trait and types that can be represented as a string in SCAD.
scad_mixed
Mixed objects in SCAD.
scad_sentence
Sentences in SCAD.
value_type
Types used to represent values in the library.