package OCADml
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=8eac539fa6c15c6be552725c30c7b1e124396de0e85e04e7e33d65cd6a1d9590
sha512=50704d2cd717c674c70baf5c3df23de069c35dd7e7afb4e19b023f8d418fe0d42c20ee59112bd5592e8bcdecf16543d627fc1a09a40adcaf70e3aa6687a254ef
Description
Types and functions for building CAD packages in OCaml
Published: 18 Oct 2022
README
OCADml
OCADml is a collection of types and functions facilitating Computer Aided Design (CAD) in OCaml. In particular, the style of design currently supported is that of 2D drawing and mesh generation via sweeping/extrusion.
Documentation
Documentation is available online, covering the API. As this library is not associated with any CAD backend, it is a bit dry on it's own and replete of examples. To get a better idea of what can be done with the tools provided it may be helpful to check out a library utilizing them.
CAD Package Specific Frontends
This library only provides a means to generate point and face based geometries, in order to perform boolean operations, validation, and export, you'll need to work with a particular CAD package.
OSCADml
Companion PPX
There is a companion ppx, [@@deriving cad] for generating transformation functions for user-defined records and abstract types made up of CAD specific types such as OSCADml's Scad.t
, along with their corresponding vector (V2.t
or V3.t
) types (and those composed of them) provided in this library.
Inspiration
This effort began as an extension of the Scad_ml OpenSCAD DSL, but grew to the point where it seemed prudent to break out into a "backend" agnostic format so as to be more generally useful.
Module organization and implementations borrow heavily from existing libraries in the OpenSCAD community: