2 unstable releases
| 0.2.0 | Dec 28, 2022 |
|---|---|
| 0.1.0 | Dec 13, 2022 |
#11 in #half-edge
210KB
4K
SLoC
Hedron
An all-in-one 3D modelling crate, written in Rust!
What it contains (or will contain)
-
A full set of geometry models:
- planar:
Line,Circle,Triangle, ... - curves:
Polyline,Bezier,Spline, ... - surfaces:
BezierSrf(TODO),SplineSrf(TODO), ... - solids:
Mesh,Polyhedron(WIP),Solid, ... - graphs:
Graph(WIP), ...
- planar:
-
operators on those models:
- Point / Vector tools (Closest point) (TODO)
- Transformations between the various models
- Modelling operations (
loft,inset,extrude,split,subdivide) (TODO) - Intersections (intersect mesh with line) (TODO)
- Boolean operators (join two solids) (TODO)
-
Various extra features:
- Direct bevy integration:
--features bevy - Obj / Mtl exporting
- Svg exporting (TODO)
- Various mathematical tools to support the operations mentioned above.
- Direct bevy integration:
Use cases
-
Basic Modelling: Hedron could be used to develop a 3D modelling tool, a very basic
blenderclone. -
Procedural Geometry / 'Parametric Design': Hedron is intended for parametric modelling, akin to what can be done with Rhino & Grasshopper.
-
Web Geometry Processing: The crate can be complied to WebAssembly, allowing these operations to be used on the web.
What it is not
- No GIS support : The crate offers no tooling to load and process large geographical datasets.
- Not BIM ready : Currently, the crate does not support IFC models.
- Not CAD ready : The crate does not support common CAD file types such as STL. It also does not contain constructive solid geometry (CSG) models.
Design
Hedron is designed to strike a balance between usability and expressiveness. It sacrifices A CGAL-level of expressivenes, in favor of a more simple and predictable API.
Stage: Pre Alpha
Hedron is currently in an very early stage. I don't recommend you use this library quite yet, but hopefully some of the models and operations presented can help you nonetheless!
Dependencies
~6–30MB
~462K SLoC