Remix.run Logo
m4rtink 2 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

awesomebytes 2 days ago | parent | next [-]

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.

alexpotato 2 days ago | parent | prev | next [-]

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!

dgroshev a day ago | parent [-]

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/

NotMichaelBay 2 days ago | parent | prev [-]

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