# Truss Design



## medeek (Mar 18, 2013)

I've recently started working on a small web based app that can be used to design and analyze common wood trusses. I intend to add more in depth sizing logic after further study of the TPI 1-2007. Does anyone know of any other good resources for trusses and truss design?

The proto-type app is currently here:

http://design.medeek.com/calculator/calculator.pl

I'm writing it in Perl with a MySQL backend if necessary.

I'm also trying to decide between LRFD or ASD analysis, or perhaps both. Perhaps someone could weigh in on which method would be best for truss design, I've seen example of both.


----------



## medeek (Jun 15, 2013)

I've kind of hit a road block on the moment calculations. The current spec TPI 1-2007 calls for using the matrix method in determining the moments. However, I need to be able to run this app without doing a full blown analysis using RISA or some other FEA type product. For now I've gone with the simplified method which is the method used in the TPI 1-1995 standard, at least I can produce a solution. Typical result below:







If anyone has any ideas on how to do a simple matrix method analysis of a common fink truss please send me in the right direction. My biggest unknown with this would be how to deal with the fixity of joints at panel points and heels. I've just ordered a copy of Hibbeler's Structural Analysis to further research how best to deal with frames, trusses etc...

One thing I found really helpful was the samples provided in the previous editions of the TPI 1, its really quite disappointing to see no such example calculations in the current standard.


----------



## medeek (Jun 15, 2013)

I'm also looking for anyone who would be interested in collaborating on this project. I need someone who has some civil/structural engineering experience and preferably some experience coding Perl.


----------



## medeek (Jun 15, 2013)

Current autocad generator output is below for a typical fink truss:


----------



## medeek (Jun 28, 2013)

With a little help from a text called "Design of Wood Structures" by Donald E. Breyer and a recently purchased copy of the NDS 2012, the equations in TPI 1 finally made a lot more sense. I will say this has been quite an education with regards to structural design of wood structures. Last night I finally completed the full lumber analysis for the fink truss. Top and Bottom chords as well as all the webs. Now its time to start working on the heel joint check and all of the connector plates. Wind loads might be next but I need to research this quite a bit more. 

After doing some reading on trusses it seems that the simplified method of calculating moments should be fine for statically determinate common trusses such as a fink, howe, king or double fink truss. Its when you start trying to analyze the statically indeterminate variety (ie. attic trusses) then the simplified method really comes up short. For that I will need RISA integration with the app.


----------



## medeek (Jul 3, 2013)

I have given this some thought and the goal of this app in its final incarnation is the following:

This application is intended to be used primarily by Design Professionals (architects, engineers, etc.), Building Code Officials, Contractors and Inspectors with the goal of helping everyone that uses it to more easily understand the loads, parameters, calculations and limitations of a given common truss design. By changing geometry and loading parameters multiple design scenarios can be quickly compared and analyzed, hopefully providing a benefit to the design professional. However, let it be noted that this application is purely a tool to be used, similar in concept to that of a calculator or estimator.

The designing and engineering of trusses should *not* be controlled by "plate manufacturers" it should be controlled by architects and engineers.

The plate manufacturers will only sell/lease their software to truss plants and not to licensed architects and engineers who could actually benefit from their software in the design and planning stages of many residential, commercial and agricultural structures.


In creating this app I am also hoping to force the plate manufacturers to release a version of their software that is for use by architects and engineers. 

I contacted both Alpine and Mitek a few months ago and was hoping to purchase or lease their software as I designed some new detached garages. Their answer to me was that they did not want their truss products becoming a commodity so they would not let anyone access their software except for authorized truss manufacturers who also purchased their plates. 

The design of metal plated connected wood trusses in America is essentially a black box to most practicing engineers and architects. 

I intend to change this.


----------



## Exception Collection (Jul 3, 2013)

This is a fantastic idea. If I knew more about coding, I'd help out. Sadly, I don't.

If you don't mind a (probably headache-inducing) suggestion - point loads (both top and bottom chord) would be handy, as would lateral/axial chord loads.


----------



## medeek (Jul 9, 2013)

I am in the process of figuring out how to also add unbalance wind loads to the analysis, is that what you are requesting with the lateral loads above?

Point loads on the top and bottom chord could easily be added but I'm trying to come up with a general solution for checking the trusses specs (lumber, plates, bracing etc...) rather than a very specific loading case. However, I will give this some more thought.

I don't need help in the coding dept. as much as I need help currently with figuring out chapter 8 of the TPI 1-2007. The plate sizing and checking as outlined in this chapter is very confusing in some parts, in my opinion. I would really like to get my hands on some sample calculations that completely walk through the plate sizing calcs for a standard fink truss if such a thing is out there.


----------



## Exception Collection (Aug 1, 2013)

medeek said:


> I am in the process of figuring out how to also add unbalance wind loads to the analysis, is that what you are requesting with the lateral loads above?
> 
> Point loads on the top and bottom chord could easily be added but I'm trying to come up with a general solution for checking the trusses specs (lumber, plates, bracing etc...) rather than a very specific loading case. However, I will give this some more thought.
> 
> I don't need help in the coding dept. as much as I need help currently with figuring out chapter 8 of the TPI 1-2007. The plate sizing and checking as outlined in this chapter is very confusing in some parts, in my opinion. I would really like to get my hands on some sample calculations that completely walk through the plate sizing calcs for a standard fink truss if such a thing is out there.




No, though it's helpful. I'm thinking in terms of drag trusses, where a single roof truss distributes the diaphragm load to a wall below via a DSC2 or DSC5 connector. Or, if your analysis allows parallel chord trusses, where a shear wall above is connected to an in-plane offset shear wall. But in that situation you would also need to calculate based on multiple point loads for multiple cases, which could get bothersome.


----------



## medeek (Sep 17, 2013)

After about a good week of solid programming and scratching my head I've finally managed to add the requisite Matrix Analysis to my Truss Calculator. Thank-you R.C. Hibbeler for your Structural Analysis text on the subject (ch. 14 - 16), if the subject had not clearly laid out in front of me I would never have figured out the numerous steps to arrive at the solutions.

Here is an example of the output of my matrix analyzer for the Fink truss:






I've even inserted the correct code to account for the additional loading/moments if there are overhangs. I double checked my work by modeling up identical trusses (beams and trusses members) in both Strand7 and Solidworks (COSMOS/Simulator). My result were within 1.5% or better, so I'm really happy about that.

My only concern with my analysis is how correct my analog for the truss really is. What I mean is that the bending moments are heavily influenced by the amount of rigidity of the joints. Fixing the joints (where chords meet) or pinning them dramatically affects the bending moments and even the axial and shear loads to some extent. My analog model is basically rigid at the heel and peak joints and pinned at all other web-to-chord or web-to-web joints. This seems to approximate most closely the moments calculated using the simplified method (pre TPI-2002).

What I also found quite interesting (and expected) is if you use a stronger type of lumber on the top chord as compared to the bottom chord. The top chord loads increase and the bottom chord loads decrease. The matrix analysis is almost as good as FEA. It's really quite cool to be able to calculate something like this just using a bunch of matrices.


----------



## medeek (Sep 17, 2013)

This is a screen shot of the same fink truss cross checked in Solidwork Simulator:


----------



## medeek (Sep 20, 2013)

Leaving the peak joint as a rigid connection without exploring the implications of a pinned or semi-rigid joint seem like a cop-out to me so I spent most of the day attempting to release the peak joint so that it could act as a pinned (zero moment transfer) joint. For the web members I accomplished a similar task by altering the 6x6 stiffness (k') matrix so that it only included the axial terms, thereby eliminating any shear or moment forces, making these members axial only or simple pinned truss members. However, for the top chord members it was not such an easy task. I initially tried eliminating the row of the matrix that was responsible for the far end moments (pinned end), but it some became apparent that the interplay between moments and shear forces was more than I had originally thought. I was about to accept defeat but then after spending a couple more hours digging about online I came upon a gem of a paper published in 2010 in the Electronic Journal of Structural Engineering by M. E. Kartal. This paper outlined a couple of methods for obtaining the correct stiffness matrix for semi-rigid connections. With this information I was then able to add in feature so that one can select whether the peak joint is rigid, semi-rigid or pinned.

I then tested it for accuracy against an identical model in Solidworks Simulator for both the pinned and rigid connection at the peak joint with near perfect results. Unfortunately, Solidworks does not allow for adjusting the rigidity of connections between beams in its interface so I currently do not have the tools to test the accuracy of the semi-rigid model. However it appears to present the correct trends when compared against the other two options. If someone has a copy of ANSYS or some other reasonably high end FEA software I would be interested to see how well it will compare with third party verification.


----------



## medeek (Sep 20, 2013)

Here is the paper for those that are interested:

http://www.ejse.org/Archives/Fulltext/2010/2010v1/20103.pdf


----------



## medeek (Sep 22, 2013)

I've read a number of papers the last couple of days. Many of them I found via the footnotes in the TPI-1 2007 standard. Based on what I've read I've been able to form the following conclusions, correct me if any of these seem incorrect or need further discussion. 

1). Web member joints connecting to other web member and chords are best modeled as pinned. Assuming a signficant moment transfer at the web joints will cause one to underestimate the moments present in the chords. 

2). As Mr. Tangren suggests the joints and splices on chord members cannot be modeled as simple pin joints and should be modeled at a min. as semi-rigid. The TPI gives an equation for determining the max. allowable moment (very long cumbersome equation, more on this later) but does not seem to clearly address how much rigidity at the joint(s) to assume, except for a pinned joint with eccentricity in the axial loading. 

3). Matrix Analysis is the best and easiest way to analyze the axial, shear and moments present in a truss. The real question is how best to create the truss analog. Setting up matrix analysis is really not that bad once you've figured it out once. I initially was using Excel spreadsheets but then I found a Perl module (MatrixReal) that made most of my matrix operations a snap. My results agree with third party programs (Solidworks, Strand7) to within 1.5% which gives me a high degree of confidence. 

4). I am analyzing the truss axial loads using both the classic pinned connection model and the matrix analysis. The matrix analysis values are typically higher loads 5-8% on average.


----------



## medeek (Sep 22, 2013)

I'm now attacking the plate design for each joint. Specifically for a common fink truss. After reviewing chapter 8 of the TPI standard and looking at all the requirements I'm again at a standstill as I try to understand how to correctly apply the moment check equation at the peak joint of this truss type. The equation is ridiculously complex or at least appears that way at first glance. I am looking for a sample problem that show the application of this equation to either a chord splice or peak joint.

Ma = Cm{T1(Wp y z-d1) T2(4Wp 2y 4z-3d1)/3 Cs(d1-z-y) Cw(d1-y)}/5

In particular I'm a little confused how to assign the correct values to determine "y" the distance from the neutral axis to the wood edge with this peak joint configuration. "y" being given by:

y = {t1R1[Fy(1.8z Wp) Fu(Wp z)] - 2Pt}/ {d2C t1R1(1.8Fy Fu)}

If I measure z from the wrong direction this entire expression will be incorrect.


----------



## medeek (Sep 25, 2013)

Starting to work on the modified queen truss, here is the schematic for the matrix analysis of it. The structure stiffness matrix will be a 30 x 30 matrix (900 values), its no wonder they didn't do this sort of thing prior to our modern computers, imagine trying to calculate this by hand. 






Compare this to the fink truss, which has a few less webs and hence the computations are less 21 x 21 matrix (441 values)


----------



## medeek (Sep 26, 2013)

These schematics really say nothing about which members are pinned, semi-rigid or rigidly connected. The stiffness matrix (k) for each member is what determines that.






In my analysis I am treating all of the webs as pinned jointed on both ends and only capable of transferring axial loads (classical truss members). The top and bottom chords at panel points are treated as rigid connections. The peak joint is treated either as rigid, pinnned or semi-rigid, this is user configurable. The heel joint is treated as rigid or semi-rigid. My reasoning and justification for these model settings is based on a number of papers I have compiled on the rigidity of joints of MPC wood trusses. I have saved each one and will compile a reference list at some point to accompany the truss designer documentation.

These two papers especially the bottom one were quite helpful:

http://design.medeek.com/resources/truss/DOCUMENTS/Paper_124.pdf

http://design.medeek.com/resources/truss/DOCUMENTS/20103.pdf


----------



## frazil (Sep 26, 2013)

This is impressive work! opcorn:


----------



## Sapper PE LS (Sep 26, 2013)

I concur with frazil, though I am only basing my opinion on the pretty output since I know approximately zilch about structural engineering... regardless, pretty awesome.


----------



## knight1fox3 (Sep 26, 2013)

Agreed. Very comprehensive.


----------



## Capt Worley PE (Sep 26, 2013)

Looks impressive!

caveat:


----------



## medeek (Sep 29, 2013)

Currently working on the plate calculations. Those will be rather lengthy but the upside is the summary is what most people will want or need, however I will show each lateral resistance, tension, shear, net section and moment check for each plated area of each joint. I'm doing one by hand first before I code it and I've already used 10 pages for the calculations and I still have to add the heel joint. I hope if nothing else people can use this app to at least better appreciate all of the checks that go into a simple truss.


----------



## medeek (Oct 10, 2013)

26 pages of truss plate calculations for one simple fink truss.






It's no wonder we use computers for this sort of thing.

Now I just need to take it from this pseudo-code into Perl code with a bit of fancy logic and we've got her licked.


----------



## medeek (Oct 31, 2013)

Took a break from coding in all of the plates calculations last night and started working on the wind load cases. In order to do this I had to crack open my brand new copy of the ASCE 7-10. I always knew about the multiple load cases using the ASD method however as I dug deeper and studied a few truss drawings produced by Mitek and other truss plate manufacturers it became clear that even for a simple truss they are running a number of load cases. Here are the load cases I need to run for a simple 4/12 pitch fink truss with a 24' span and 12" overhang, at least this is what I've come up with so far, please add to this list if you are familiar with trusses and see that I am missing something:

1. Balanced Snow Load (S) + TCDL + BCDL
2. Unbalanced Snow Load (S2) + TCDL + BCDL
3. Eave Loading (2Pf) + TCDL + BCDL
4. TCLL (20psf) + TCDL + BCDL
5 BCLL (10psf) + TCDL + BCDL

and the wind Load Cases which I'm still trying to figure out, ASCE 7-10 is a bit different in this dept. from ASCE 7-5.


----------



## medeek (Mar 28, 2014)

Michigan Ground Snow Loads map is now up.

http://design.medeek.com/resources/snow/michigangroundsnowloads.html

This zone map is essentially an approximation of the ASCE snow load map with isolines fitted to county and township boundaries.

I'm not entirely satisfied with the appearance of this map since the county lines make the map appear too busy.


----------



## medeek (Mar 29, 2014)

Vermont Ground Snow Loads Map is now complete:

http://design.medeek.com/resources/snow/vermontgroundsnowloads.html

This zone map defines ground snow loads by township and city boundaries and is derived from the zone map on page 48 of the 2012 Vermont Fire &amp; Building Safety Code.

Vermont is a small state so the KML for this map was relatively easy to create.


----------



## medeek (Jun 3, 2014)

The snow load calculator has now been upgraded with a PDF report output, which is really nice for printing out hard copies.

http://design.medeek.com/resources/snow/snow_calculator.pl

It was a real pain to format this document from HTML to PDF. I will probably do the same PDF report format for the wind, seismic and ground snow load maps as I get time.


----------



## medeek (Jul 19, 2014)

My plan is to expand my original truss calculator so that it can also handle plywood gussets for site built trusses.

https://www.kickstarter.com/projects/128644708/650483439?token=cb2534a2


----------



## medeek (Jul 20, 2014)

I should have done this a year ago but better late than never:

http://design.medeek.com/calculator/changelog.html

The addition of the CSI and JSI limits makes it possible to further customized the engineering of the truss if a more conservative approach is required.


----------



## medeek (Jul 26, 2014)

Updates:

Version 1.0.5 - 07.26.2014

- Added lumber species selection under advanced options.
- Tension perpendicular to grain check added for joint (6) and (7).
- Updated AutoCAD drawing generator so that it now draws the metal connector plates at the correct sizes.
- Limited heel joint plate selection algorithm so that the heel plate is single, symetric and does not exceed bottom chord depth in height.


----------



## McEngr (Aug 4, 2014)

Have you included the 0.6D + W (ASCE 7-05) load combination? How are you determining your duration factor for when you have D+0.75(0.6W)+0.75(Lr or S) [ASCE 7-10]?

This should be a relatively easy question as compared to using the TPI and using offsets in your stiffness matrix. This is where I'd be throwing my hands up and cry uncle...


----------



## medeek (Feb 17, 2015)

I am currently testing some new features with the Medeek API.

One of these is to offer state snow loads in addition to the ASCE 7-10 national values for ground snow loads.

The testing API script is located at:

https://design.medeek.com/resources/medeekapi_TEST.pl

A sample test address is given below:

https://design.medeek.com/resources/medeekapi_TEST.pl?action=ascesnow&amp;key=MEDEEK12721119&amp;lat=41.6873&amp;lng=-70.1054&amp;localdata=1

Note the addition of the variable "localdata" which when set equal to "1" will trigger a local lookup of the snow load values. By default without setting the localdata variable the API will only give national level values (normal behavior) and the response from the API will remain the same as previous revisions of the API.

Also note that when a localdata lookup is triggered the API must perform a reverse geolocation of the latitude and longitude. You will probably notice the response time from the API increase by approximately one second.

Currently the states that have complete snow load data are:

New York
Massachusetts
Utah
Montana

Each State has different methods at arriving at their snow loads, so the addition of each State's data can be a time consuming process.

The plan is to add all of the States that have data that differs evenly slightly from the ASCE 7 ground snow load map.

Please feel free to test out this new feature. Additional output fields are still in flux, your suggestions and comments are highly valued in this regard.

Note: Typically daily users of the service purchase a key however for the casual user the service is free of charge with the use of the test key above (daily limitations on usage apply, 500 requests per key per day). The FAQ and documentation on how to use the API and what you can do with it is available at the page below:

http://design.medeek.com/resources/medeekapi.html

The new logo for the API is:


----------



## medeek (Aug 2, 2015)

Snow and Wind Load analysis added to the truss calculator as well as the estimated truss weight. See the changelog for details:

http://design.medeek.com/calculator/changelog.html


----------



## medeek (Oct 2, 2015)

I haven't posted about the truss designer for a while, apologies for that.

Still trying to improve it as time allows. The list of upgrades and improvements was getting rather lengthy so I've started filling up the changlog page:

http://design.medeek.com/calculator/changelog.html

Unfortunately, I had to put a daily limit on its usage because the server was getting hammered but it is still free to use.

The biggest improvement is the ability to specify the lumber grade, size and species as well as utilize point loads. This should make this tool far more useful for those wanting to check their roof for solar panel installations.

I'm still thinking about generating a REVIT model for those wanting to import the truss directly into that software or even into Sketchup.

I appreciate all of the support I've received over the last couple of years on this project. Suggestions/feedback is always awesome.


----------



## medeek (Oct 3, 2015)

Added SketchUp 3D (.rb) file output for the truss geometry. This file, when copied into the SketchUp plugins folder, will create a menu item within SketchUp allowing for unlimited creation of the given truss geometry within SketchUp. I think this feature will be particularly interesting to those DIYers who wants to draw up their own model and plans using SketchUp.


----------



## medeek (Oct 3, 2015)

I've updated the code so that the plugin now allows for user input in order to specify number of trusses and spacing of the trusses. For example 4 trusses @ 24" o/c would give you:






The actual truss geometry cannot be altered within SketchUp it is hard coded into the plugin when it is created by the calculator. For different truss sizes and shapes it is simply a matter of creating and storing separate .rb files for them. Dropping these files into the SketchUp folder sets up the menu item. This method seems to be the easiest for interacting with the SketchUp API.


----------



## medeek (Nov 26, 2015)

*Version 1.1.6* - 11.26.2015
- Added Fan and Mod Queen common truss types.
- Structural outlookers (vert. &amp; horz.) enabled under advanced roof options for Common (Fan &amp; Mod Queen) truss types.






Four more common truss types still need to be added:

- Double Howe (6/6)
- Mod Fan (8/4)
- Triple Fink (8/7)
- Triple Howe (8/8)

For very large buildings one could also consider:

- Quad Fan (10/5)
- Quad Fink (10/9)
- Quad Howe (10/10)
- Quin Fan (12/6) ...

A quad fink truss (10/9) with a raised heel (slider):


----------



## SE_FL (Apr 30, 2016)

We are looking for something similar to help speed up calcs for modified trusses. We have a lot of clients that want to modify standard trusses for tray ceilings and vaulted ceilings. Currently we use STAAD and it's workable, but the calculations take a while for each truss profile. It also seems to be a bit conservative once the bracing is compete. Does this program allow for unique bottom chord profiles?


----------

