The algorithm does seem to work fine though (for multi-ply) headers so long as everything is maintained as orthogonal. I guess my code needs to be further generalized for the more extreme cases.
Floor Openings are proving to be a bit of a challenge.
As noted in the tutorial video I ended up pulling a 14 hour all nighter in order to knock this one out, my apologies for a lower than normal energy video. I ran into a few programming snags about six hours in but nothing I couldn’t solve after a few more hours of trying a few different ideas.
I also identified a minor bug in the wall stretch tool while working on this tool, so I will need to update the wall plugin tomorrow. User feedback prompted this new tool, so thank-you to helping me make this extension that much better and easier to use.
P.S.
I spent about 45 minutes reviewing this entire thread to put into context where I began and where I have now arrived at with this plugin, great reading for a very early Sunday morning. What jumped out at me is how much the plugin has diverged and evolved from its original concept (for the better), and how much of that evolution has been driven incrementally by the user. As always thank-you for the quality feedback it is very much appreciated and valued.
Most of the items on all of the todo lists I have created for this plugin have been knocked out however MPC trusses still remain. That will be my major push this next week. Beyond that there are some cosmetic items I would like done regarding the menus and there are always fires to put out. Once that is complete then integration with the estimating module will become a priority.
I was pushing really hard in September last year and I am even amazed at how much development I was able to achieve on this plugin during that time period. Unfortunately, my attention got turned to the stair module in late December so I had to take my foot off the gas for a while but I feel like I am back in the saddle again.
Note how the chases all line up even though there are five or six different truss profiles within this assembly. I still need to create the web generator between the central sections of the truss profile, there is quite a bit going on here. I am still a few days out from completing the programming and then another two or three days of testing and further debugging.
Just when I think I’m ready to move to the gable trusses and the ribbon boards I realized I hadn’t checked top bearing trusses. Spent most of yesterday and this morning sorting this truss geometry out:
I’ve spent a good bit of time devising the algorithm that inserts the webs into these trusses and overall I think it is fairly successful (and believable) however I will be the first to admit that it is not quite perfect. Also I am little unclear on how to deal with specific situations. I guess I should spend some more time studying different Mitek and Alpine floor truss examples to cement my knowledge on the exact way all cases are handled (even though there is probably some variability in certain instances).
The only issue appears to be what happens when ribbon boards are enabled and you have an inside corner as shown. I probably need to add in some additional logic to eliminate the slot for the ribbon board in these cases.
If the ribbon option is enabled then I extend it the ply thickness of the truss on the inside corner so that it ties into the other gable truss running perpendicular to it. I’m not entirely sure how this is framed out by Mitek and the other big boys but this seems at least logical to me. If I’m mistaken please let me know.
Also note that the notch is removed from the gable truss for the ribbon at the inside corner.
I started with my original MPC truss code base from the Truss plugin but it has been modified quite significantly now so that it can handle these polygon shaped floors.
For non-orthogonal floors the MPC truss module attempts to approximate the correct truss length but again I’m not entirely sure how this would be handled in real life so I haven’t spent any significant time on adding in specific logic to deal with angles trusses.
If you need to clean it up one can always use the SUBTRACT_JOIST feature as shown below to trim the ends flush to match the sheathing and sill plate:
Updated the SUBTRACT and SUBTRACT_JOIST features so that they can better handle MPC wood trusses, steel trusses and open web “Redbuilt” trusses.
Updated the Floor Opening module so that it can handle MPC wood trusses, steel trusses and open web “Redbuilt” trusses.
Added a “None” option for the header type in the draw and edit menus for floor openings.
Note, that the floor opening tool will cut the trusses in place and does not frame around the opening. A more correct solution would be for the trusses to adjust their spans per the openings, so there is some work that remains to be done in this regard. I will need to give this some more thought. Typically floor trusses are not field trimmable.
I have now completed the last two big items on the Floor plugin todo list. There will be some additional fine tuning and feature requests but the next big thing will be to integrate with the estimating module as I have done with the Wall plugin.
In many cases when you introduce a stairwell opening into a floor like this it will be along the perimeter of the floor assembly as shown. In these cases it is simpler to create your floor perimeter with the opening in mind:
Note, in order to create the additional gable truss (2x6 ply) I first changed my ply width to 5.5" then copied the gable truss at the interior of the stair well, then pasted it in place in the root of the model and then edited the floor assembly back to the typical 3.5" ply width. Alternatively one could simply frame this small pony wall with the Wall plugin (ie. conventional framing) just as easily.
I’m not exactly sure how the trusses would work where the LVL beam/header is positioned at the start of the stairwell, obviously we would need some kind of header at that location.
Here is a link to the model for those who are interested in examining this floor truss example in more detail:
Most of the heavy lifting has been done with the MPC truss module now but as we all know the devil is in the details. There are situations as I described in my previous post where headers/beams are inserted into a truss assembly.
Structurally this is really no different than a chase opening however the typical beam/header pocket would only be applied at certain locations to certain trusses within the assembly. Unlike chase openings the pocket would need to be applied selectively to specific trusses only. I will need to give this some more thought.
Added the floor truss toolbar with the following two items: Draw Beam Pocket, Delete Beam Pocket.
Enabled beam pockets for MPC wood trusses.
Fixed a bug with short span steel trusses.
Tutorial 28 - Beam Pockets with Floor Trusses (8:00 min.)
I didn’t add a move or edit tool since I think it is just as easy to delete and redraw one of these beam pockets since there is really only three parameters that define them (truss no., location and width).