Hacker News new | ask | show | jobs
by m4rtink 166 days ago
BTW, if you want to design some models for 3D printing but the only thing you know to do is to code, you can use OpenSCAD & program the obejcrs into existence:

https://openscad.org/

Also recommend using the BOSL2 library with OpenSCAD - it turnes an already very powerful tool into something insane:

https://github.com/BelfrySCAD/BOSL2

3 comments

Hey, this is super interesting! Thanks for sharing. I have been playing with using the Python console/scripts/macros in FreeCAD to create 3D models. I found this to be very friendly for my programmer mindset. I have learned a bit of onshape, tinkercad, blender and freecad, but I find it extremely tedious and full of unknowns that I struggle to make sense of and resolve (e.g. contraints in freecad, sometimes I just don't know how to add the missing constraints, or just adding text to a curved face in literally all programs, it's never as easy as click the face add text, there are always gotcha's).

I wonder how does openscad compare to FreeCADs python, if you know. I just found https://pythonscad.org/ which looks interesting, but then, the BOSL2 library looks super interesting and important for a good user experience, so I do not know if the PythonSCAD could somehow just import it and use it.

I guess there's homework for me to do here, but if anyone has the experience to get a hint of "what is the best/easiest python-based programming way of doing 3D modeling", I'd be forever thankful for sharing their thoughts.

LLMs are really good at writing Python, so iterating over a model in code I found is really quick, and I really enjoy the process. Meanwhile clicking so many times in so many menus makes me desist on designing anything more-or-less complex.

Just got a 3D printer and was curious what the best practice was for generating objects in code and then outputting to a printer.

Thanks for sharing!

Another, arguably even more powerful, alternative is Rhino + Grasshopper. Grasshopper is often used for generative designs, but can include arbitrary Python nodes and can even be used for "parametrically" designed functional parts.

Grasshopper can also output gcode directly [1], enabling pretty wild things like [2].

[1]: https://interactivetextbooks.tudelft.nl/rhino-grasshopper/Gr...

[2]: https://www.instagram.com/medium_things/

This is really cool, I had no idea this existed. Thanks for sharing!