If you happen to be a programmer, you might want to check out OpenSCAD. It is to 3D modeling as TeK is to document creation. It's not WYSIWYG, you write code, and the code renders the 3D object, but that can make it a very powerful tool. I've used SketchUp a bit and played with FreeCAD when I first got into 3D modeling, but I greatly prefer OpenSCAD to either one since it truly allows me to capture the intent of the objects I'm designing, I can create the appropriate parameters for all of the things I want to draw and tweak things very easily, where I often found with FreeCAD that I'd make a mistake in a lower-level object, and since everything else was built on top of it so many other constraints would break when I'd try to fix the low-level object, with OpenSCAD so long as I wrote my code properly making an equivalent tweak is trivial. It's also handy to come up with libraries to make it easier to implement the functions or objects that you use frequently, so I can (for example) instantiate a rounded box with a single line of code (plus the include for the library file). Most if not all of the things you see on Thingiverse that allow customization are OpenSCAD files where you're just changing the variables the code uses to render the object.