4 ms·
The tool looks very nice, but the syntax, which looks pretty close to OpenSCAD, is pretty ungainly. It makes me wish lisp-style syntax were more widely accepted
by jetrink 5y ago
The tool looks very nice, but the syntax, which looks pretty close to OpenSCAD, is pretty ungainly. It makes me wish lisp-style syntax were more widely accepted.
difference() {
hull() {
...
}
translate([1, 0])
circle(r)
}
I mean, those are just s-expressions in disguise.
(difference
(hull ...)
(translate
(circle r)
[1, 0]))
The distinction between modules and functions also seems unnecessary.
- traverseda 5y agohttps://libfive.com/studio/ https://libfive.com/studio/
- peatmoss 5y agoThis looks incredible! Scheme syntax, ability to manipulate graphically, Scheme code updates dynamically? Very cool. I’ll have to try this for my next woodworking project.
- tjoff 5y agoThere is a small clojure project that transpiles clojure to openscad, (if I remember correctly...) https://github.com/farrellm/scad-clj https://github.com/farrellm/scad-clj Demonstrated and talked about in this clip: https://www.youtube.com/watch?v=uk3A41U0iO4 https://www.youtube.com/watch?v=uk3A41U0iO4 edit: it is a fantastic talk but the part related to this starts at 17:35
- eurasiantiger 5y agoLanguage-wise, OpenSCAD is very functional-ish indeed. Try writing code to distribute a vector of length multipliers evenly along some arbitrary length, e.g. [1,2,1] times 20 over 100 coordinate units. It is only possible by recursively calculating a vector of coordinate positions, in our example [0,5,25,30,70,75,95,100]. Not the easiest task for the uninitiated.