package OCADml

  1. Overview
  2. Docs
Types and functions for building CAD packages in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

OCADml-0.6.0.tbz
sha256=2d93cd5f2a41c6c0a183c02ac93ed8c4113fbc42d5557c769adbdc30c6421049
sha512=a9450c05bb1b798a70655f76ae04e8a9c46cde0f255687959f1639d9691cd3822e52065014d8cc5d4bd6229057a8036c28d917afdadb283a397fc823cac1fd30

CHANGES.md.html

v0.6.0

  • add Mesh.skline for skinning over profiles with Bézier splines

  • add Mesh.of_stl (load ascii and binary stls from file)

  • remove ?eps from Mesh.to_stl (dropped point merging step)

  • add check in Mesh.of_rows allowing layers with uniform points (e.g. cone tip)

  • fix handling of single point profiles in Mesh.skin (allow and duplicate properly)

  • add alcotest testing dependency (+ tests for serialization/deserialization)

  • bump dune dependency to v3.6 for directory targets

  • add usage example with image to docs

v0.5.0

  • Mesh.t implementation changed from polygonal to triangular

  • replace Mesh.triangulate with of_polyhedron

  • add Mesh.e accessor to get points by index (points now stored as array)

  • add ?no_check to Path3.to_plane to avoid coplanarity check (defaults to false)

v0.4.1

  • fix V2.mirror (xy were inverted) and clarify mirror doc comments

  • preserve path/poly winding when mirrored

v0.4.0

  • make cairo2 a depopt and break PolyText into optional sub-library (now free of non-OCaml dependencies)

  • fix bug in Path2.point_inside (always returning outside)

  • abstract Poly{2,3}.t (from private) free up for potential implementation change

  • add missing {of,to}_{seq,list,array} to Path and Poly modules for convenience

v0.3.2

  • add of_list and to_list convenience functions to Poly2 and Poly3

v0.3.1

  • v0.3.0 being marked unavailable on opam due to bugs with Path{2,3}.bbox

  • add dune to package dependencies

v0.3.0

  • add gg library dependency

  • replaced vector (V{2,3,4}.t), matrix (Affine{2,3}), and bounding box types with those from gg

  • protect bezier memoization with mutex (OCaml 5 compatibility)

v0.2.2

  • fix correctness bug in Path.noncollinear_triple

v0.2.1

  • Add Mesh.to_stl (serialization to bin/ascii stl format)

v0.2.0

  • Use v4 type for Plane.t abstract it and add type conversions

  • Mesh.extrude altered to return mid-sectionless shape when ~height is less than the combined height of ~caps (rather than breaking with nans)

  • Use Mesh.Cap.t and sub-variants more consistently for ~caps specification in sweeping functions of Mesh (looping restricted using sub-types)

  • Add Mesh.revolve

v0.1.2

  • Add v4 (4d vector) type at top level (use abstracted in Quaternion)

v0.1.1

  • Add Mesh.drop_unused_points

  • Remove Mesh.add_face and Mesh.add_faces

  • Abstract Mesh.t type (free up for potential impl changes)

  • Add Path2.triangulate and Mesh.triangulate

v0.1.0

  • Initial opam release of the OCADml library