Hi again OverkillT,
I have been unable to figure out a good way to make any of this meaningfully parametric
I see this as a sequential problem well suited to a customised macro (or a series of macros or even a custom Python module).
Required wall framing size is known.
The drawing starts at an outer stud corner on the floor at a known base point (0,0,0), so draw a bottom plate here. All subsequent measurements are locked to the base point.
Any wall is a known length - allow for side walls thicknesses if required.
The number of bottom and top plates is known as is the required wall height - this sets the stud lengths.
The wall framing is repetitive of a certain stud size and spacing - easily drawn, including doubling studs and top plates where required allowing for commercially available standard timber lengths.
Add side walls and then rear wall - all are from the base point.
Add linings and cladding as required relative to established base point. Again available sheet sizes may dictate positions.
Problems - where do you put studs with odd centre-to-centre spacings? One end of wall run working with full sheet sizes as much as possible or at each end equally spaced and how do you make that decision? A similar issue arises below with increasing the width of your gabled roof by 2'. Do the studs start at the end or are spaced from the centre of the gable?
How can I make a movable "hole" in the framing?
I too have wondered about that. Sure you can draw a cut volume as you've shown for your personal access door in your drawing, but AFAIK each stud (and other framing) must be cut manually.
Problems I've had are cutting raked studs in gable ends - the moment you cut them to get pretty drawings, you lose all the stud length information required for a quantity survey. What I do is manually adjust each raked uncut stud to have about 5mm of overlap to the above raked plate thus preserving the stud length info for costing. It would be really nice to draw a raked line and cut every stud that it crosses, without losing the length info.
FreeCAD already does this with cut volumes turning all selected items into a single cut item thus losing all quantity info. Sure, could write a custom macro to cycle through each selected stud to overlap the raked limiting upper plate - a lot of work. A similar problem exists for birdsmouthed rafters based on a sketch in that there is no quantity information.
I avoid arrays of anything like joists, studs, nogs and linings as AFAIK you cannot get quantity info from the array items or reposition individual items easily.
On one of your drawings, a garage header/lintel size is queried. Here in NZ, garage header/lintel fixings over wide spans pose real problems. A seismically active country often coupled with high gable-end wind loads fixings for a 16' (4800+mm) span like this often require specific engineering design by a structural engineer. Getting the header/lintel loads down to the floor is often a fixing problem. Header / lintel to top-plate level fixings also need close attention for potential wind uplift loadings.
Unfortunately, a lot of customised coding/decision is required to make it 'parametric' making building a very manual process.
Hope these comments help, I will be watching this thread closely to see what else falls out from other comments.