3 ms·
Looking at this now, I like the approach! It's also fundamentally different from mine (maybe phew). The mouse driven approach makes it far more approachable, wh
by interstice 6mo ago
Looking at this now, I like the approach! It's also fundamentally different from mine (maybe phew). The mouse driven approach makes it far more approachable, while mine is deliberately code driven and perhaps more quirky (step export is a code function for example).
Also looking at your API, I used a vector type a lot for defining things like planes, so where you have sketch("xz",func) mines a little more like plane(vec).sketch(). How are you handling sketching directly on arbitrary planes or faces etc?
- maouida 6mo agoIt seems from what you are describing your software is more like (replicad)[https://github.com/sgenoud/replicad https://github.com/sgenoud/replicad] The user can create planes with plane() command e.g plane("xy") or plane("xy", { offset: 10 }); but I have added some shortcuts for common planes (https://fluidcad.io/docs/guides/sketching/introduction#sketch-planes https://fluidcad.io/docs/guides/sketching/introduction#sketc...) you can also sketch on faces sketch(extrusion.endFace(), ...) which will extract the plane from face and put the starting point on the center for convinience.
- interstice 6mo agoInspired by yes, it was one of the ones I tried. I like your approach to selection eg endFace, intuitive selection is definitely one of the trickier parts of a code based approach.
- interstice 6mo agoHad a bit of a rethink after this, settling on name spacing more like this at the moment. Quite enjoying the cycle of build/try/improve. const in1 = draw.rectangle(size1, size1).fillet(2) const in2 = draw.origin([0,0,height1]).rectangle(size2, size2).fillet(2) const result = make.loft([in1, in2])