Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Truss Design

  1. Mar 18, 2013 #1
    I recently started programming a basic web based app. that calculates the forces within a standard wood truss. I thought it might be of some interest to visitors to the Physics forums. I've added most of the common types of trusses used in residential construction, with more to come later. The backend is programmed in Perl with some MySQL for tables and data. In the near future I will also add in chord sizing and plate sizing to further complete the truss analysis and design. My intent is to provide a high quality tool for other design professionals and to also provide a clear view to the public on what goes on behind the scenes in the design of the roofs of 90% of the new construction in the nation.

    Here is the output for a double fink truss with a 40ft. span.


    The link to the proto-type web based app. is here:


    I'm also hoping that this tool can be used for educational purposes, help students see how the concepts of forces and vectors are used in real life applications to design structures.
  2. jcsd
  3. Mar 25, 2013 #2
    This is awesome! Unfortunately it is not in metrics unit. BUT STILL AWESOME YO!
  4. Jun 15, 2013 #3
    Moment Calculations

    I've kind of hit a road block on the moment calculations for my truss designer project. 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.

    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 (2007).

    Here is a typical output for a fink truss showing moment calculations:


    I also added deflections calculations using the virtual work method, curious to see how this stacks up against an identical truss with same loads and lumber analyzed with Mitek or Alpine:


    I will keep developing this app as time allows. My next challenge is to use these moment values to analyze each chord member and appropriately size and select the type and grade of lumber for its construction. This is now getting into the real engineering whereas the previous calculations were just basic (statics) physics and math.
    Last edited: Jun 15, 2013
  5. Jun 21, 2013 #4
    I've just completed the tension and compression analysis for the web members for the fink truss. It took a little longer than expected but most of that was comparing notes between the TPI, NDS and "Design of Wood Structures" text. The rest was trying to format the equations correctly with html and finally resorting to LATEX and a third party program. Below is part of the calculations for a 4/12 fink truss:


    My next hurdle is to try and program the top and bottom chord analysis however I am having a bit of trouble making sense out of the TPI 1-2007 when it comes to calculating the effective lengths for the chords, the previous method used in TPI 1-2002 seems a whole lot simpler than the current standard, it will probably take me a few days to mull it over. Once that is done a heel analysis and then all of the metal plates analysis and then its done. However, so far I have not introduced any short term loading due to wind or seismic so in the future I may attempt that as well.
  6. Jun 21, 2013 #5
    I also added an AutoCAD (.dwg) file generator so that the geometry of the truss is in a usable format for other designers, typical output below:

  7. Jul 2, 2013 #6
    Box Beam Truss

    Nice program. Unfortunately for me, it does include enclosed box beams. I am supporting the second floor of my workshop with box beams constructed out of 2X4s and faced on both sides with 1/2" oriented strand board. Anyone know a calculator for this type truss/beam?
  8. Jul 2, 2013 #7
    I think the key there would be the type of fasteners and spacing connecting the OSB to the 2x4 (flanges). Unfortunately, I'm not familiar with that type of beam, but it does seem like it should work reasonably well.
  9. Jul 2, 2013 #8
    I've added a bearing check and completed the full lumber analysis to the fink type truss. Now working on the metal connector plates, then I will replicate the analysis to all the other truss types. Also would like to add three additional truss types: Howe Scissor, Mod Queen Scissor, Double Howe Scissor.
  10. Sep 17, 2013 #9
    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). The nice thing about the matrix model is that I can easily pin or fix joints depending on how I want to model the truss. I might even add in some logic so that the user can pin or fix certain joints just to see how it affects the final loading and member design of the truss.

    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.
    Last edited: Sep 17, 2013
  11. Sep 18, 2013 #10


    User Avatar
    Gold Member

    Impressive Project!
  12. Sep 20, 2013 #11
    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.
  13. Sep 25, 2013 #12
    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)

    Last edited: Sep 25, 2013
  14. Sep 25, 2013 #13
    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:


  15. Sep 28, 2013 #14
    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.
  16. Oct 10, 2013 #15
    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. :)
  17. Jul 26, 2014 #16

    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, symmetric and does not exceed bottom chord depth in height.
  18. Oct 2, 2015 #17
    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 created a changelog page here:


    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 3d model for those wanting to import the truss directly into programs like Sketchup or REVIT

    I appreciate all of the support I've received over the last couple of years on this project. Suggestions/feedback is always awesome.
  19. Oct 3, 2015 #18
    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.
  20. Oct 3, 2015 #19
    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.
  21. Oct 12, 2015 #20
    I'm trying to make this easier to use for the SketchUp user and for the designer who does not need a bunch of engineering information. I've created a separate plugin that is used to generate the truss geometry (no engineering or loads). Please feel free to beta test it here:


    Drop the .rbs file into your SketchUp plugins folder. Suggestions or bug notifications are welcomed. Currently only the King Post, Queen Post and Fink truss type is available but I will add the others shortly.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?