hedron

Crates.iohedron
lib.rshedron
version0.2.0
sourcesrc
created_at2022-12-13 20:40:19.94719
updated_at2022-12-28 21:27:20.908219
descriptionAn all-in-one 3D modelling library
homepage
repositoryhttps://github.com/josfeenstra/hedron
max_upload_size
id736163
size208,912
Jos Feenstra (josfeenstra)

documentation

README

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), ...
  • 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.

Use cases

  • Basic Modelling: Hedron could be used to develop a 3D modelling tool, a very basic blender clone.

  • 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!

Commit count: 202

cargo fmt