Some CAD tools let you do both, but many 3D printer users wind up using OpenSCAD which is fully parametric ... of the C++ features to developing new shapes. Here’s a simple example.
Some results have been hidden because they may be inaccessible to you
Show inaccessible results