An open source home in the BIM workbench

A forum dedicated to the Draft, Arch and BIM workbenches development.
OverkillTASF
Posts: 47
Joined: Wed Dec 06, 2017 5:52 am

An open source home in the BIM workbench

Postby OverkillTASF » Sat Sep 12, 2020 7:54 pm

I'm building (well, only planning at this point, obviously) an energy and materials efficient, simple, small home for my family of 4, which meets my local building codes, and can be converted to a garage in the future when we build a larger home. It's my intention for this to be contributed as "open source" when I'm done.

I had originally done the floor plan, framing plan, and elevations in Inkscape, but keeping the various views up to date meant edits in multiple dimensions from multiple views and damn... it was a hassle.

I'm hoping to build this in Freecad to make my job easier, but also to learn more about Freecad and the _right_ way to use it for architectural / structural drawings.

Unfortunately I've drawn this thing probably 15 times, always finding an impassable limitation to how I had been doing it that convinced me my technique was wrong in prior iterations. So here we are now.

I've dropped this into Git just to conveniently do public versioning:
https://gitlab.com/Tyler-2/starter-home

Features planned and implemented:
- Following US DOE Advanced Framing Techniques. 2x6 studs on 24" centers, single top plates, studs in alignment with roof members all the way to foundation.
- Insulated foundation, probably slab on grade.
- Exterior insulation, insulated vented roof with air sealing details.
- Convertible to 2 car garage with work spaces or guest room with minimal effort. Removal of some non-structural framing, movement of some plumbing fixtures, installation of garage door.
- Architectural style that fits with ranch style home.
- 3 bedrooms, 1 bathroom.
- 10' ceilings with conditioned attic space.
Last edited by OverkillTASF on Mon Sep 14, 2020 5:44 pm, edited 3 times in total.
OverkillTASF
Posts: 47
Joined: Wed Dec 06, 2017 5:52 am

Re: Collaboration on Freecad home project plans

Postby OverkillTASF » Sat Sep 12, 2020 7:57 pm

https://gitlab.com/Tyler-2/starter-home ... home.FCStd
Screenshot_2020-09-12_19-00-39.png
Screenshot_2020-09-12_19-00-39.png (30.17 KiB) Viewed 1543 times
  • I have been unable to figure out a good way to make any of this meaningfully parametric. Would love some tips on that.
  • How can I make a movable "hole" in the framing? Or, failing that as a possibility... how can I do a one time cut operation? Notice the slab overlapping the framing in front view... Not that it's placed correctly here, but I wanted to use it to cut a hole for the door framing.
Last edited by OverkillTASF on Sat Sep 12, 2020 11:01 pm, edited 1 time in total.
vocx
Posts: 5205
Joined: Thu Oct 18, 2018 9:18 pm

Re: Collaboration on Freecad home project plans

Postby vocx » Sat Sep 12, 2020 9:10 pm

Add some images. It's faster to see, instead of downloading and opening your file.

See this as well:
Small house design workflow with Open Source software (work in progress)
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
OverkillTASF
Posts: 47
Joined: Wed Dec 06, 2017 5:52 am

Re: Collaboration on Freecad home project plans

Postby OverkillTASF » Sat Sep 12, 2020 11:06 pm

Added a screenshot of that first revision, thanks.

FreeCad seems well suited to generically do _walls_, but not the actual framing/structural details inside those walls. I'm trying to make sure that the structural details are available. Additionally, I'll need to provide cross sections and drawings that show flashing details etc. The workflows are quite different I think.
OverkillTASF
Posts: 47
Joined: Wed Dec 06, 2017 5:52 am

Re: Collaboration on Freecad home project plans

Postby OverkillTASF » Sat Sep 12, 2020 11:27 pm

Here's a PNG of what I had done in Inkscape. You can imagine why it was such a pain to keep up with... Also I've had to make the whole thing somewhat larger, and noticed some mistakes in my stud layout. So this is very much obsolete.
Original-plan.png
Original-plan.png (149.3 KiB) Viewed 1539 times
When I first started doing the overhang and truss design (Trusses designed by a third party) I had to do that in FreeCad since Inkscape couldn't handle the angles. While what I did _looked_ right... and the truss design was a totally parametric, fully constrained sketch... None of the other pieces are constrained to each other. So now that I need to make this 2 feet wider, I have to redo so, so much!
Screenshot_2020-09-12_19-02-28.png
Screenshot_2020-09-12_19-02-28.png (16.68 KiB) Viewed 1539 times
PMac
Posts: 98
Joined: Sat Sep 02, 2017 10:44 pm

Re: Collaboration on Freecad home project plans

Postby PMac » Sun Sep 13, 2020 9:17 am

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).
Known constraints:
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.
User avatar
Roy_043
Posts: 2850
Joined: Thu Dec 27, 2018 12:28 pm

Re: Collaboration on Freecad home project plans

Postby Roy_043 » Sun Sep 13, 2020 9:42 am

What are the ladder-like wall frame sections intended for? Support for built-in cabinets?
OverkillTASF
Posts: 47
Joined: Wed Dec 06, 2017 5:52 am

Re: Collaboration on Freecad home project plans

Postby OverkillTASF » Sun Sep 13, 2020 11:49 am

PMac: Oof. I feel like you might be right. The only way I can conceptualize making these things parametric, and not even fully parametric, is that there are some framing members that have obvious relationships to each other. Sills and plates that are end to end to each other or join on corners. Studs that are always on the ends of sill plates, studs that are always 24" from each other, etc. I _love_ doing constraints in the Sketcher. Building the trusses was actually pretty cool, but that workflow doesn't translate to a full 3d building. I _think_ the "Assembly" workbench could end up making sense, with each stud being a part or something, but I've not seen anyone use it for this, and I just can't figure out how to use it. It's possible that doing this parametricly just isn't doable without, like you mentioned, scripting. Which I think is beyond most users including myself.

PMac: Do you know how I can cut the structural sheathing and other sheet goods like the insulation and siding that are coming? It's easy enough to "cut" the studs by changing their lengths (though very manual), but I can't figure out how to cut the necessary holes in the structural sheathing.

Roy_043 wrote: Sun Sep 13, 2020 9:42 am What are the ladder-like wall frame sections intended for? Support for built-in cabinets?
Those are where the interior, non structural framing members will attach. Typically you'd just make another set of studs with blocking... but that's more wood, and wood is poor insulation. Page 4 here gives a little blurb about it.
Screenshot_2020-09-13_07-53-41.png
Screenshot_2020-09-13_07-53-41.png (24.28 KiB) Viewed 1442 times
OverkillTASF
Posts: 47
Joined: Wed Dec 06, 2017 5:52 am

Re: Collaboration on Freecad home project plans

Postby OverkillTASF » Sun Sep 13, 2020 1:17 pm

https://gitlab.com/Tyler-2/starter-home ... home.FCStd

Since it doesn't seem like there's a great/better way to define these things parametricly, I went ahead and put in the framing for the bedroom exterior door. Note that the frame is larger than typical. The door manufacturer calls for a 38-1/4"x82" opening, but I'm also using the Thermal Buck product to pull the door frame to the exterior through the foam insulation. That's not depicted yet... But the thermal buck is 1/2" thick, hence the larger opening. I had considered not using the thermalbuck on the bottom part of the door since the floors inside will be unfinished and adding another 1/2" step-up to the door frame felt silly. But it might simplify the support of the bottom of the door sill...
Screenshot_2020-09-13_08-59-37.png
Screenshot_2020-09-13_08-59-37.png (21.86 KiB) Viewed 1418 times
I'm not actually sure the nailers are necessary... but I might leave them just for a little more security of the edges of the Zip sheathing...

So now I've got a stud that I need to be shorter. It needs to hit the top of the header, obviously. I could do some math in the data dialog... which is what I did. The stud needs to be (stud length - (door opening height + header thickness)). And then it needs to be moved up.
Screenshot_2020-09-13_09-11-28.png
Screenshot_2020-09-13_09-11-28.png (98.09 KiB) Viewed 1418 times
While that _works_, the numbers entered aren't really tied to anything else which is silly. And it's hard for the drafter. It would be a lot easier to "constrain" it by saying "This stud needs to be long enough to span between these two members".

I've also done this with formulas using the `.height` etc parameters... but the difficulty in building those queries kills me, especially the fact that you have to use the internal names of the objects and not the names you've given them, and there's not a great way to build that info.
OverkillTASF
Posts: 47
Joined: Wed Dec 06, 2017 5:52 am

Re: Collaboration on Freecad home project plans

Postby OverkillTASF » Sun Sep 13, 2020 1:19 pm

And I just realized I didn't cut the sill plate like I should have. So I have to go in and manually tweak these things again.