2 ms·
While I certainly appreciate the virtues of a Domain Specific Language, and that OpenSCAD has been wildly successful because of its limitations, the limitations
by WillAdams 3y ago
While I certainly appreciate the virtues of a Domain Specific Language, and that OpenSCAD has been wildly successful because of its limitations, the limitations are downright infuriating at times.
An interesting potential alternative (which hopefully won't result in a fork) is adding Python:
https://pythonscad.org/ https://pythonscad.org/
which I've had some success with:
https://github.com/WillAdams/gcodepreview https://github.com/WillAdams/gcodepreview
ImplicitCAD is interesting --- and the (new?) ability to open files from GitHub is _amazing_ (OpenSCAD recently gained that same facility, _and_ it supports the customizer: https://seasick.github.io/openscad-web-gui/?https://raw.githubusercontent.com/WillAdams/Design_Into_3D/master/openscadwebgui/Impossible_Dovetail_Box.scad https://seasick.github.io/openscad-web-gui/?https://raw.gith... ), but it's a heavy lift given the need to work out how to edit files, preview them, and so forth.
- naasking 3y agoIndeed, which is why I suggested an eDSL rather than a full-blown DSL. C# is decent at embedding domain-specific languages (fluent APIs are simple eDSLs and are fairly common). You can see the need even from their simple examples: https://github.com/leap71/PicoGK/blob/main/Examples/Ex_BooleanShowCase.cs#L56 https://github.com/leap71/PicoGK/blob/main/Examples/Ex_Boole... I just noticed that they also support defining objects via implicit functions, so that's neat: https://github.com/leap71/PicoGK/blob/main/Examples/Ex_ImplicitsExample.cs https://github.com/leap71/PicoGK/blob/main/Examples/Ex_Impli...
- naasking 3y agoAlmost forgot, there's also full control gcode: https://fullcontrolgcode.com/ https://fullcontrolgcode.com/
- WillAdams 3y agoYes, but they seem focused on 3D printing --- I wasn't able to work out how to get it to work for a CNC router or mill (but I didn't try that hard).