OpenJsCad by

- Joost Nieuwenhuijse (core),
- René K. Müller (core, CLI & GUI),
- Stefan Baumann (core),
- Z3 Dev (core, CLI & GUI),
- Mark Moissette (core, CLI & GUI),
- Eduard Bespalov (core),
- Gary Hogdson (OpenSCAD translator)

csg.js core & improvements by

- Evan Wallace
- Eduard Bespalov
- Joost Nieuwenhuijse
- Alexandre Girard

Additional libraries & tools

- xmldom
- sax
- browserify
- babel



OK


// Author: Drew Pear (Vitreous-Bliss.ml) // Description: Spherical Resonator Designer // Example: A at 440Hz function main(params) { var sd = params.sphere_diameter; var shd = params.sound_hole_diameter; var nl = params.neck_length; var wt = params.wall_thickness; var fn = params.fragment_number; return [ difference(sphere({r:.5*sd+wt, center:true, fn:fn}), sphere({r:.5*sd, center:true, fn:fn}), cylinder({r:.5*shd, h:-(.5*sd+wt), fn:fn})), difference(cylinder({r:.5*shd+wt, h:nl, fn:fn}).translate([0,0,-(.5*sd+nl-wt)]), cylinder({r:.5*shd, h:nl, fn:fn}).translate([0,0,-(.5*sd+nl-wt)])), ]; } function getParameterDefinitions() { return [ { name: 'sphere_diameter', type: 'number', initial: 71.92, caption: 'Sphere Diameter (mm)' }, { name: 'sound_hole_diameter', type: 'number', initial: 20, caption: 'Sound Hole Diameter (mm)' }, { name: 'neck_length', type: 'number', initial: 25, caption: 'Neck Length (mm)' }, { name: 'wall_thickness', type: 'number', initial: 2, caption: 'Wall Thickness (mm)' }, { name: 'fragment_number', type: 'number', initial: 125, caption: 'Fragment Number' }, ]; } // This is a Live JScad editor. // You can delete this code and design any object you wish. // JScad framework by OpenJScad.org.

...