Blender is such an amazing tool. I have a side business where I create 3d printed jewelry with my customer's fingerprints on it in gold and silver (https://lulimjewelry.com) and I use Blender on the backend for all of the jewelry creation.
I run blender headless in a docker container on google cloud run. When needed I invoke it with an image and have a blender script "engrave" that image on the jewelry and output an STL file.
It is incredibly flexible to script in python, although its not very "pythonic". The UI is quite stateful (edit mode, object mode, which items are selected, etc) and you have to keep track of that state in your program. But once you get around those issues you can do quite a lot, and its all a free program!
I run blender headless in a docker container on google cloud run. When needed I invoke it with an image and have a blender script "engrave" that image on the jewelry and output an STL file.
It is incredibly flexible to script in python, although its not very "pythonic". The UI is quite stateful (edit mode, object mode, which items are selected, etc) and you have to keep track of that state in your program. But once you get around those issues you can do quite a lot, and its all a free program!