It's a flavor of 3D modeling called "constraint-based." You've heard the adage that if you give a million monkeys typewriters, eventually one will write something coherent? Constraint systems embody that same idea: There are infinite possible 3D models. You keep adding constraints until you narrow it down to only one possible solution that fulfills all of them.
I also love playing with build123d, dune3d (uses solvespace constraint) and SolveSpace.
Do love Solidworks but I'm on linux now so time to embrace the other options more.