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.