For 3D Modelling / Printing, if you have even a little bit of programming / scripting ability, OpenSCAD is amazing.
It's basically just a small scripting language for generating 3D objects and performing 3D modelling operations and its so handy to be able to store important info as precise variables, and create new objects and cuts and stuff just with for loops and if statements.
I use the web version a lot of the time, and while it could use a little work, it's pretty amazing.
I also recommend trying out FreeCAD and seeing which clicks with you. I found FreeCAD's sketch system more intuitive, though you have to be pretty careful about your order of operations while building your hierarchy.
No, I honestly just started here, and started playing around with the example, and then started turning that into what I wanted and googling when I needed to: https://ochafik.com/openscad2/