package OSCADml
OCaml DSL for 3D solid modelling in OpenSCAD
Install
Dune Dependency
Authors
Maintainers
Sources
OSCADml-0.2.3.tbz
sha256=61bc12919734a42004f9f54bb03aa5403eac9cdd645cad1fb97ddd2eba148583
sha512=9aca48afeb2c89ace6b07110b6aadedac7d877fb9b0d1990b0c0b622829ff45ced3841fdae30b5b869293dea1b3ae39f1b00fc767c8e3f69d7e78f6412801ffb
doc/spline.html
Cublic Spline
open OCADml
open OSCADml
Control points that our cubic spline will pass through.
let control = V2.[ v 0. 10.; v 10. 40.; v 20. 40.; v 30. (-20.); v 40. (-40.) ]
Mark our control
points with the debugging helper Debug.show_path2
for reference. We don't really need to number these, so we'll ignore the index parameter and use the same sphere for each point.
let marks = Debug.show_path2 Scad.(fun _ -> color Color.Magenta @@ sphere 2.) control
Fit a cubic spline to the control
points, and interpolate fn
points along it using the helper Path2.cubic_spline
(lower level functions available in the CubicSpline
module), then sweep a rectangle
along it.
let line =
let rectangle = Poly2.square ~center:true (v2 2. 5.)
and path = Path3.of_path2 @@ Path2.cubic_spline ~fn:100 control in
Scad.of_mesh @@ Mesh.path_extrude ~path rectangle
Union our control point marks
and line
sweep shapes and output to file.
let () = Scad.to_file "spline.scad" (Scad.add line marks)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>