Prez of Parametrix
Parametrix
Parametrix
CAD as code for open-hardware
a JavaScript solution for creating 3D shapes
Parametrix workflow
Simplistic approach: - contour centric (i.e. 2.5D) - cost efficient manufacturing process are 2D - robust mechanisms are 2D - no long workflow chain
Generate 3D files
> a JavaScript solution for creating 3D shapes
> a frontend that abstract the CAD solution
> a generator of WebUI for parametrizing your designs
Parametrix main characteristics: 1. free and open-source (like Freecad or SolveSpace) 2. JavaScript for designing 3D shapes (similar to OpenSCAD) 3. CAD tool abstraction for keeping your 3D-shapes agnostic to CAD vendors 4. HTML page for parametrization and generating the 3D scripts
framework / eco-system : Parametrix core library : Geometrix design-libraries : Designix, Desi78, Desi82, ...
Go through the design-UI
The Geometrix API for designing a 3D shape
The Geometrix API in a nutshell
Code example
const ctr1 = contour(0, 0) .addSegStrokeR(param.L2, 0) .addSegStrokeRP(a3, param.L3) .addPointAP(a4, param.L4) .addSegArc(param.R34, true, true) .addCornerRounded(param.R4) .addPointA(0, param.L5) .addSegArc3(a5, false) .closeSegStroke();
3 types of parameters - number - checkbox (i.e. boolean) - dropdown (i.e. enum)
Create contour with: - strokes - arcs of circles Optimal for generating G-code
Next destination-point in contour-definition: - Cartesian or Polar - Relative or Absolute
3 options for defining an arc of circle: - radius with large/small and ccw/cw - intermediate point - tangent at the begining or the end
Complex curve approximation: Double arcs defined with start and end tangents
Corner rework: - Rounded - Widened - WideAcc
- Define a list of figures - Attach the contours to figures - as main, second or dynamics
Define the 3D shape - Extrude figures as LinearOrtho or Rotate - Rotate, translate and combine sub-element - Union - Intersection - Substraction
Parametrix generates 3D scripts for: - OpenSCAD ✔ - OpenJsCad ✔ - Freecad ✔ - SolveSpace - pythonOCC - CadQuery - OpenCascade.js - Three.js - glTF - X3D - ManifoldCAD
End of the presentation of Parametrix
Ready for creating your own design-library?
npm create parametrix@latest tom07