There's an occasional dispute over whether or not TC's a "parametric" program or not, that is, whether it's possible to model parts or assemblies with persistent relationships that can be varied with the model rebuilding, without having to be redrawn or corrected. I've been fooling around with constraints, and I've found that it's possible to build some pretty involved parametric models using constraints, but without having to involve the formal "format|parametric part" process or scripting. I haven't used TC's constraints before so I was doodling and experimenting in V17 (the old version, not 2017), and this is my first result. It's incomplete, in that I haven't reasoned the relationship that will place the middle shelf midway between the benchtop rails yet, and I didn't bother to give it doors that can be opened to whatever angle. What I wanted to do is build something that can be shaped by using overall dimensions and probable material thickness in the most obvious way, through the variables, without having to dig through the part tree or scripting. I know that I've gotten some things wrong, because while it works in V17, I opened the file in 2015 and 2016, and something goes wonky when the HeightOA variable is altered, but not width or cabinet depth, so I'm theorising that something's changed slightly, or I've made an error, which is more likely. I did dabble with Alibre a long time ago, and I do recall that there was a song-and-dance, which they called "data vault" at the time, to open a file built in an older version in a newer. Whatever....
To circumvent the 2D, not 3D, constraint limitation, I used intersected simple extrusions. This meant that the limits to the model's size are dictated by the value of the sweep, but I just gave them arbitrary, ridiculous values that won't be approached in the normal size range of such a cabinet. Another thing that's notable about TC's constraints is that, although they're 2D you can associate values, like applying equal length and distance, radius and probably others that I haven't considered, for entities that aren't on the same plane, which means that some things have a sort-of-3D constrainability.
The file is nicely compact, 120kB, not that that's anything worthy these days, and things that interested me about the result are: it can be translated in x, y and z, but not rotated or scaled (d'uh. It just occurred to me that scaling is trivial in the calculator/variables palette. Possibly rotation too, with a little more thought) .
However, it can be resized and copied, which breaks the associations with the constraints, rotation and realignment is unconstrained afterwards.
IMO, TC's got a lot of capability that's all but ignored, because it doesn't work like other programs that people are more familiar with, and for which there's a lot more documentation and learning material for their particular methodology.