Development and Updates for the Medeek Truss Plugin

Started by Medeek, November 07, 2015, 03:06:39 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.


The next few weeks is going to be primarily focused on the estimating module as it applies to truss and rafter assemblies.

With truss assemblies it is fairly cut and dried, I just need to report on basic items such as sheathing, cladding, drip edge and maybe listing how many common and gable trusses are in an assembly.

With rafter roofs however it becomes a lot more interesting (especially with an asymmetric hip roof) wherein each rafter length and quantity needs to be accounted for.  Take for example the hip rafter roof below:

The various rafter/member types are:

Common, Hip, Hip Jack, Common (End), and Ridge Board

With a large roof the full listing will be quite large, especially when symmetry is not maintained.

My algorithm for determining the lengths of all the rafter types is fairly well defined and robust however the exact length of the hip rafter still eludes me.  Since the primary concern is to determine the minimum length of the lumber required to construct the member I may just add on a simplified fudge factor so that it reaches this number however if possible I would prefer the exact length be calculated, as a matter of principle.

Based on my roof plane naming convention I can assign a label to each hip jack rafter (ie. JACK-BC1, JACK-BC2 etc...)  The first letter will indicate the roof plane the jack is on and the second letter will indicate the roof plane that is adjacent to the jack.  The number will indicate the order by length where #1 will be the longest jack in that series. 

Each hip can also be labeled with two letters where the first letter indicate the roof plane to the left of the hip rafter and the second letter indicates the roof plane to the right of the hip rafter (ie. HIP-AC, HIP-CB etc...)

Common rafters will be designated similarly by roof plane: (ie. COMMON-A, COMMON-B, COMMON-C etc...)  On roof planes C and D there will only be one common (end).

In a nutshell that will be my naming and counting convention for hip rafter roofs as far as the Medeek Estimator is concerned.   If there are any problems with it then further refinement will be necessary.  This same convention will be adopted for other rafter roof types as well as complex roofs.

Thoughts or concerns?
Nathaniel P. Wilkerson, P.E.


Version 2.8.6 - 06.18.2021
- Added a "Regen" context menu item for all rafter roof assemblies (eg. Gable, Hip, Shed etc...)
- Streamlined and improved the organization and naming convention of hip rafter roofs.

I originally coded the initial hip rafter roof module in Dec. of 2015, I then augmented this module with the asymmetric logic in May of 2019.  As I was reviewing the code to determine how best to implement the Medeek Estimator with this type of roof it occurred to me that the symmetric variant of a hip roof is just a special case within the more complicated set of asymmetric roofs.  I then condensed my code to only use the newer asymmetric roof modules when creating the geometry for the symmetric case (should have done it this way from the start).

Less code, simplified, efficient and now more organized.  Also my statistical code will be the same regardless of the hip roof geometry so that just decreased my work by a half.  Sometimes it pays to work smart and not hard.
Nathaniel P. Wilkerson, P.E.


Version 2.8.6b - 06.18.2021
- Streamlined and improved the organization and naming convention of gable rafter roofs.
- Enabled subtractive geometry for hip and gable rafter roofs.

Nathaniel P. Wilkerson, P.E.


Tutorial 20: Custom and Subtractive Geometry (17:18 min.)

Nathaniel P. Wilkerson, P.E.


First look at the Medeek Estimator giving rafter lengths for gable and hip roofs:

Even a small hip roof has a lot of parts and pieces, I couldn't even fit the list of jack rafters within one screen shot.  The lengths on the hip rafters may not be exact but they should be within about an inch, so for estimating purposes that should be adequate for now.

There is still a lot more data that can be reported on (eg. soffit, fascia, sub-fascia, gutter, outlookers etc...)

*Note:  If you trim one of the rafters, it will give you the longest member length within that group for now, I still haven't figured out what I am going to do when a rafter is cut into two or more pieces.
Nathaniel P. Wilkerson, P.E.


First look at "Rafter Labels" for a gable roof.  Note that the dimensions are given in inches rather than feet:

Nathaniel P. Wilkerson, P.E.


First look at a hip roof with rafter labels applied:

Nathaniel P. Wilkerson, P.E.


Version 2.8.7 - 06.23.2021
- Added stats (roof cladding, sheathing, drip edge, hip & ridge, rafters) for gable and hip rafter roofs which can be analyzed within the Medeek Estimator (Wall Extension) module.
Nathaniel P. Wilkerson, P.E.


About two years ago I brought the asymmetric gable and hip roofs online and there was quite a bit discussion at this time about the positioning of the ridge board when the pitches are asymmetrical:

As I'm looking at this now my feeling is that the correct way to handle this is NOT to have the ridge board center up on the sheathing, so essentially I think I have it WRONG, or at least not configured the way I think it should be.

I will be giving this some more thought, I really hate for the plugin to be incorrect or wrong, it just doesn't sit well with me.  Maybe I'm not entirely wrong with the way I currently have it but there are two ways to handle this situation, and I am now liking the other way a bit more.

To clarify I've shown the two possible framing configurations for an asymmetric gable below:

Nathaniel P. Wilkerson, P.E.


Version 2.8.8 - 06.24.2021
- Added a "Regen" context menu item for all I-joist and lumber floor assemblies.
- Enabled subtractive geometry for I-joist and lumber floors.
- Enabled the "Edit Floor Assembly" function for lumber floors.

View model here:
Nathaniel P. Wilkerson, P.E.


Version 2.8.9 - 06.26.2021
- Added a "Regen" context menu item for floor truss assemblies.
- Enabled subtractive and custom geometry for floor truss assemblies.
- Enabled the edit function for floor truss assemblies.

Nathaniel P. Wilkerson, P.E.


The last year or so I have been focusing a lot of my efforts on the Wall plugin even though I have released many updates for the other plugins along the way.

That being said I am still surprised out how far behind I am with a lot of stuff within the Truss plugin.  For one thing the various (truss) hip sets are still not parametric nor do they have labels enabled.  There is still an incredible amount of work that needs to be done with this extension/plugin and that is in addition to the complex roof module and all that it entails.

The last few days you may have noticed that I have been doing a little house cleaning and enabling edit menus and subtractive geometry for the various assemblies within the plugin.  The list of incomplete truss and rafters types is still large so much work remains to be done.

The current TODO list is the following:

1.) The valley set module has not been updated in many months/years and needs a parametric update as well as other options such as a rafter framed option (California Valley Set).

2.) The floor truss module needs an option to disable the chase or even better the ability to enable any number of chases.

3.) Hip sets (trusses) should also be able to be asymmetric, which is actually a huge undertaking to program.

4.) The complex roof module is begging for my attention and really needs the rafter framing module completed.

5.) A lot of the more exotic truss types have yet to be completed and advanced options and parametrics are still waiting.

6.)  The dormer module is still mostly incomplete by anyone's standards.

7.) Subtractive and additive geometry needs to be enabled for all roof and floor assemblies.

8.) Stats and integration with the Medeek Estimator needs to be setup for every roof, dormer and floor assembly.

9.)  The floor truss module needs an option for configurations other than the Mod Warren.

10.)  I would like to add TriForce's Open Joist to the floor module.

11.)  Labels and other annotations (framing callouts) need to be enabled for every assembly, some are done but many are not.

12.) Soffit and Fascia options need to be enabled for truss hip sets and all other applicable assemblies.

13.)  A gypsum ceiling option might be nice for floor assemblies.

14.)  3D materials as defined in the Wall plugin need to be made available in the Truss plugin for gable wall cladding.

15.)  I have a lot of people asking for language options, for all the plugins, but mostly for the Truss plugin.

16.)  Ridge cap option for valley sets.

17.)  Many of the current menus can be switch to more attractive HTML menus and should be switched.

18.)  More parameters and defaults need to be exposed in the global settings.  Notice how much more expansive the Wall plugin's global settings is in comparison.  I could easily spend two or three months just updating this part of the plugin.

This list is by no means exhaustive but it does highlight the most obvious deficiencies with the plugin.

I'm really not sure how long it will take me to get all of this done but it does need to get done, and I can push out an update about two to three times a week.

Please feel free to chime in and add to this list if you see I am missing something that is a major thorn in your side or even something that would drastically improve your workflow.
Nathaniel P. Wilkerson, P.E.


There have been over 189 revisions or releases of the plugin since it all started so be sure to check the changelog to make sure I haven't already enabled a feature you might be considering. I often refer to this page myself in order to keep track of what has been done and what hasn't, the number of updates and revisions is simply too large now to keep track of in one's head:
Nathaniel P. Wilkerson, P.E.


Version 2.9.0 - 07.02.2021
- Added a "Regen" context menu item for hip truss sets.
- Enabled subtractive and custom geometry for hip truss set assemblies.
- Enabled the edit function for hip truss sets.
- Labels and callouts added to hip truss sets.
- Added an "inset" parameter for hurricane ties into the global settings.

Nathaniel P. Wilkerson, P.E.


The valley truss set was one of the first features I programmed when I created this plugin about 5 years ago, however it has been sorely neglected and in its current state is a crude and ineffectual tool.

The current tool/assembly is not parametric and needs to take care of additional integration details with regards to blending with the main roof and the sub-roof.  I will be spending a few days working out some of these details which will also help me better formulate my game plane for the upcoming complex truss roof module.

It also needs some additional options/features such as:

1.) Ridge cap
2.) SUBTRACT and CUSTOM geometry
3.) Non-orthogonal algorithm (not a high priority but I will be considering it)
4.) Full HTML menus
Nathaniel P. Wilkerson, P.E.