3D Truss Models
-
Version 3.7.8 - 03.24.2026
- Created the Medeek Truss API.
- Enabled the following methods within the Medeek Truss API: common_truss_draw, validate_medeektruss, truss_regen, common_truss_read_attributes, common_truss_get_attribute, common_truss_set_attribute
- Added the Medeek Truss API Documentation page to the website.
- Added the Medeek Truss API - Common Truss Attribute Library Index page to the website.
-
Version 3.7.9 - 03.27.2026
- Enabled the following methods within the Medeek Truss API: scissor_truss_draw.
- Consolidated the API code so that it is lightweight on extension load.
- Renamed the following API methods: common_truss_read_attributes, common_truss_get_attribute, common_truss_set_attribute, to the more correct general names: truss_read_attributes, truss_get_attribute, truss_set_attribute.
As one can see each truss family typically has a unique set of parameters so each will require a separate "draw" method as well as a documented attribute library index. Only about 18 more truss families to go...
-
Version 3.8.0 - 03.29.2026
- Enabled the following methods within the Medeek Truss API: attic_truss_draw, cathedral_truss_draw.
-
-
I've had a couple requests in the last week that I finish the Complex Truss module. The last time I worked in earnest on the complex roof module was about four years ago now. At that time my attempts to come up with a successful algorithm for laying out the trusses were not successful.
I thought I might revisit the topic again today with the additional interest shown. However after giving this some thought and creating some various tests I'm still not sure how to do it. Additionally even if I did create an algorithm it would need to be able to handle some interesting cases and do a number of checks.
Case in point look at the roof below, manually framed with simplified truss place holders. I've provided the rafter framing for comparison (automatically produced by the complex rafter module). This would be your typical complex roof, lots of roof planes and no apparent good method to truss it out. My problem is the red colored truss, it is too shallow in a couple spots.
I guess what I'm saying is that even if I create an algorithm which can get one to this point, I still don't even know if it is correct or will work. I would love to gather some feedback and thoughts on how to frame this out with trusses from those who are working or have worked in the industry.

-
Here is another example, a much simpler L-shaped footprint with one main girder and three hip girders:

Even this roof has a suspect truss (shaded red), that I am uncertain about. Arguably this one is so simple one could truncate the smaller hip set and then run a valley set up onto the main roof (hip set). However without any overframing I think this is what you end up with. The irregular trusses are shaded in purple and have had their webbing removed.

If anyone has some truss layout plans (PDF) for complex roofs that they would not mind sharing with me that would be very much appreciated. I am specifically looking for a full set, ie. the truss layout and then the shop plans that show each truss profile. I need to study this further.
-
I've been pondering how to control the truss layout of these complex roofs and after much thought and sleeping on the problem for a night I've come to the conclusion that for all but the simplest roof types (gable or half hip both ends on a rectangular footprint) there needs to be user specified girder trusses.
Even the simplest hip roof (rectangular, hip both ends) needs two girder trusses. The algorithm should be smart enough to detect the layout in such a simple case but even so the setback of those girder trusses will have to be user controlled. With my existing hip set tools this is provided as a simple numeric value since the location and orientation of the hip girders is already determined.
When you move to complex roofs the location of the girders becomes completely open ended. In other words we have too many degrees of freedom to confidently compute the solution. You can't solve a multi-variable math problem if you have more variables than you have constraints or equations. That is the nature of this beast.
My thinking is this:
1.) The user creates the perimeter or outline of the complex truss roof just as one currently does with the complex rafter module. The general roof shape and secondary features are generated (ie. sub-fascia, sheathing, cladding, gutter, soffit and fascia etc...), however the actual truss framing is not generated with this initial creation step.
2.) Next, the user clicks the girder truss creation tool which allows one to add in specific girder trusses between any two points within the roof outline (layer). The algorithm will require that the two endpoints of the new girder either terminate on the perimeter or along the length of an existing girder. Obviously the new girder cannot have both of its points on a perimeter edge or another girder, so that check will be built in. An HTML dialog box will allow the user to set a number of properties of the girder (ie. 2-ply, top chord depth, bottom chord depth, truss configuration, panel number for hip girders etc...)
3.) Once the girders are set then a context menu option will allow the user to attempt to generate the actual truss framing. If the girder layout is inconsistent, or illogical it will fail and display the applicable warning to the user. I'm still feeling this one out a bit so there may be an additional step where the user determines the rotation of the trusses in each zone created by the girder trusses.
I think I can make this work but only time and some extensively testing will tell. I think the concept is fundamentally sound but as I've learned in the past with other programming problems, the devil is in the details
-
Here is an excellent example of a complex roof that involves multiple girders and overframing using valley sets:

What I find particularly interesting with this case is the use of the half valley set on the right hand side. Why is this? This is cause for more investigation.

This next one is a bit confusing because it shows multiple levels of roofs, but the doubled up hip is what is most interesting, specifically trusses 08 being carried by the cross girder 14 which is then carried by girder 04. The shaded region over this section is to be framed onsite per the notes, or optionally one could valley truss this out with a half valley set, I’m starting to see a pattern here and I think I know why.
-
The proper way to truss out the previous L-shaped roof would be the use of a “half valley”. I’ve never actually seen one of these framed up in real life but based on the layout drawings I’ve seen I know they exist. If some one has some additional shop drawing, images or even truss layouts of these (shaded red in the model below) please send me some examples.

-
Personally, I will normally just call for stick-frame fill framing in these areas in lieu of the multiple 'half-valley' trusses. I'm not sure if either way is more efficient for the framers.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register LoginAdvertisement