package OSCADml

  1. Overview
  2. Docs
OCaml DSL for 3D solid modelling in OpenSCAD

Install

Dune Dependency

Authors

Maintainers

Sources

OSCADml-0.2.2.tbz
sha256=8c0eeb5055dd16bb0f9b25b4d21d5312c431969fd0871fc045df2f93147ae39a
sha512=b28bd304ef3196193ba6fe33f51f0f1e2c6bb3cd41c47335a513d9fb4b1f5eca8bcbabcf8683d9b35e3cbd4f3dabe2c7bcc8f5c4b087f96a7ac70117fc4babfa

doc/cartesian_gravity_well.html

Cartesian Gravity Well

open OCADml
open OSCADml

Define a function from x and y coordinates to z height of the xy plane.

let gravity_well ~x ~y =
  let z = 50. -. (50. /. Float.sqrt ((x *. x) +. (y *. y))) in
  if z < 1. then 1. else z

Evaluate gravity_well, producing a mesh with the resulting height at each point of the grid defined by the xy bound and step parameters.

let mesh =
  Mesh.cartesian_plot
    ~min_x:(-10.)
    ~x_steps:30
    ~max_x:0.
    ~min_y:(-10.)
    ~y_steps:60
    ~max_y:10.
    gravity_well

Convert our mesh into an OpenSCAD polyhedron and output to file.

let () = Scad.to_file "cartesian_gravity_well.scad" (Scad.of_mesh mesh)

OCaml

Innovation. Community. Security.