DC newbie here. My first project is a DC of a double-hung window. I've learned that changing a component's len(XYZ) attribute works fine for a rectangular with square ends, but plays havoc if there's an angle or other shape on an end, such as a miter, or a half-lap, or a radius, etc. It's clear that changing a len() attribute scales the component, and that everything, including, say the miter, is stretched, resulting in unintended shapes.
This seems to me to be a major limitation. My goal for the DC was to be able to size the window component to end up with an accurate model that I could explode into a cut-list that I could build from. If I have to design the model specifically to get the DC to work, e.g. so that miters and such are in separate len() constrained components,I'm not really achieving my goal.
I'd love to see the ability to stretch a component from a middle section so the ends remain the same. Kind of like cutting a section out of the middle, stretching it, then gluing it all back together. Actually, that's probably my best option. Create a component, such as a mitered window stop, as three sub-components; two ends and a middle. Constrain the len() attributes on the end components so they stay intact, but allow at least one axis of the middle component to scale, then set their position attributes in order to glue them all back together. Whew!
I suppose it'd work, but I think my DC just became three times as complex. There's probably some way to do this with ruby, but it boggles the mind.