I personally have used a cool feature in the FreeCAD software that allows you to convert STL meshes back into a solid more manipulation. This little shortcut of taking an STL and making it into, say, a STEP file gets more complicated the more triangles you have in the STL since each triangle face becomes a solid face afterwards. But nonetheless, it works great for smaller, less complex STLs.
I've used FreeCAD plugins as well to generate gears.
FreeCAD was also my source of learning how to 3D draw before I moved onto Fusion360 and Inventor. All in all, FreeCAD is a great free open source software.