Truss Calculators

Started by Medeek, March 12, 2013, 06:33:08 AM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

Medeek

Version 2.2.7d - 01.04.2019
- All roof framing callouts now include the roof pitch or angle in degrees (metric templates).
- Added additional stats: (ridge cap, drip edge) for common and (drip edge) for monopitch truss roofs which can be analyzed within the Medeek Estimator (Wall Extension) module.



The new stats will become available with the next release of the Wall plugin.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.2.8 - 01.06.2019
- License expiration date now appears in the License tab of the Global Settings when plugin is registered.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

Version 2.2.8b - 01.18.2019
- Fixed a bug in the license and registration module.

I've noticed an issue with some licenses created in 2016.  If you purchased a license before Jan. 2017 and the plugin is still showing as "TRIAL" version, even when the serial number is input properly into the License tab of the global settings, please contact me and I will re-issue you a corrected serial number as well as upgrade your expiration date by six months for any inconvenience this may have caused you.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.3.0 - 03.01.2019
- Fixed one bug and a number of minor issues with monopitch trusses.
- Enabled sheathing and cladding at the heel of raised heel common and monopitch trusses.
- Added metal plates for raised heel monopitch trusses: wedge, slider, vertical w/ strut.



If you are using monopitch trusses at all then this is a critical upate.  Previously my algorithm for the bottom chord of the monopitch truss was not properly assigning the material and layer when the raised heel option was enabled for this truss type.

Strangely that issue has been in existence since 2016 and no one seems to have noticed or at least notified me of it.  While working on the cladding of raised heel variants the issue jumped out at me and now it is finally resolved. 

The thing about this plugin is that there are so many design permutations possible that it is almost impossible for me to investigate every single one and check for these type of minor issues.  That is why I rely heavily upon user feedback to help put out some of these fires.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.3.1 - 03.15.2019
- Fixed a bug with the wall cladding material parameter in the global settings.
- Updated toolbar icons to be compatible with 4k (UHD) resolution monitors.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Kevin71246

Hi Medeek,

Very cool app!  I'm trying out the web version, and it works well for the standard Fink & Howe trusses.  I am however interested in a scissor truss.  I noticed this isn't available in the web version and only in the extension version for Sketchup.  I did't have Sketchup, so I tried the free version (which is only web based), but that doesnt allow extensions (like your app)!!

So, is there any way to do a scissor truss with your online version (even if I paid for a license), or any other way to access the scissor truss feature?

Thanks!!

Medeek

The online calculator is still very basic and can only really analyze one type of truss fully, that is the fink truss. 

The plugin is primarily for generating the geometry and has many more truss types enabled.

I apologize for the inconvenience.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.3.2 - 04.15.2019
- Enabled the "Edit Truss Assembly" function for all scissor trusses (imperial and metric units).
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.3.3 - 04.17.2019
- Enabled the "Edit Truss Assembly" function for attic trusses (imperial units only).
- Improved formatting of all HTML edit menus: Common, Monopitch, Scissor, Attic.

Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

When I originally enable hurricane (uplift) ties for the trusses I failed to check to see how things looked with a raised heel when the H2.5A (simpson) tie was used. 

In this particular case the tie needs to be flipped around so that it is facing towards the interior rather than the exterior.  I've made the correction and added the logic into the code.  I will release the fix with the next version:

Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.3.4 - 04.24.2019
- Enabled the "Edit Roof Assembly" function for gable and hip rafter roofs (imperial and metric units).
- Corrected an issue with H2.5A hurricane ties when utilized with raised heel trusses.



This is a fairly substantial upgrade for the plugin and now gives the user the ability to edit stick framed roofs.  Previously only certain truss roofs could be edited. 

I still need to enable editing for the other rafter roof types (shed roofs, I-Joist, rafter roofs with glulam beams etc...), but at least I've now got the two most common roof types with full parametrics enabled.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

This brings me back to some topics I was exploring last year at about this time regarding asymmetric rafter roofs.  I will set aside the hip roof for a minute and look at the simple gable roof in continuation of this discussion.

Each side of the roof may have a different pitch.  Additionally the top plate height may differ as well as the birdcut.  Things tend to get a little complicated when the symmetry is broken.

Basically one can boil it down to a symmetric or asymmetric gable roof.  The asymmetric variant will have the following additional parameters:

Roof Type:  Symmetric Gable, Asymmetric Gable
Pitch2 - Roof pitch of right side roof
Birdcut2 - Birdcut length of right side of roof
Delta Height - Difference in height between left and right bearing walls (left side is reference)

One could even go so far as to define a different rafter depth for the opposite side, as its length may be more or less than its opposite side:

Rafter Depth 2 - Rafter depth on right side of roof.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

With the asymmetric variant the secondary pitch and bearing height cause the location of roof peak to be off center.  In order to draw the roof one must first solve for the location of the roof peak (x direction).  The solution is given by:





I won't really know if the math is correct until I drop it into the ruby code and test it.

I will also need to check for null solutions, where certain combinations of pitches and delta h create impossible geometry.

I kind of miss the rigor of the math often required with the development of the truss plugin.  Asymmetric hip roofs are going to be even more math intensive.

I'm not exactly sure on what to do with the ridge board.  I can either bevel it or drop it to the same height as the lower side rafters.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.3.5 - 04.28.2019
- Fixed the show_modal bug for macOS in the Materials tab of the global settings.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

#839
Version 2.3.6 - 05.01.2019
- Enabled asymmetric gable rafter roofs (imperial and metric units).

Tutorial 14:  Asymmetric Gable Roofs

https://youtu.be/0G06U44efYQ

Sometimes you just never know until you dig into it.  This latest update required a virtual rewrite of the entire rafter roof module.  Asymmetric roofs literally change everything up.  I'm glad to get this one wrapped up and behind me.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

The asymmetric roof addition beat me up pretty hard for about three days, but in the end I won out.  Now I need to look at the hip roof and how best to deal with multi pitches...

With the hip roof we are now talking about four different possible top plate heights with four different possible pitches, birdsmouth cuts, and rafter depths. 

If one is to assume that the fascia boards all line up (gutters), then the top plates heights are actually driven by the roof overhang and the pitch of each roof plane.  Only one roof plane (Plane A) will actually have its plate height set (the zero or base height of the roof), the other roof planes' top plate heights will be automatically calculated. 

I suppose there is always the possibility where the fascia don't line up but I think this is more the exception than the rule, correct me if I am wrong.

As I've given this some more thought it occurred to me that typically the designer will set the roof pitches from the outset.  Then, in order to get the fascia to line up, he/she can either adjust the overhang or the top plate height (assume that the birdsmouth cut is set to some value).  So depending on the situation the user may want the plugin to calculate either the overhang (same top plate height) or the top plate height (same overhang). I will need to give this some more thought. 

If the user keys in a numeric value for the overhang (roof planes B, C or D) then the edit menu can automatically set the delta height (top plate heights) for each respective roof plane to "AUTO".  Likewise if a value is keyed in for the delta height the HTML form can set the respective overhang(s) to "AUTO". 
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

I've got the asymmetric options added to the edit menu and the common rafters and fascia are calculating correctly:



Note that all for pitches are different values, however the fascia lines up all the way around the roof as it should (in this case I have the overhangs auto calculating).

Next I will work on the hip rafters and jack rafters.  As we can see in this example, all symmetry is broken, each hip rafter will be unique (x4) as well as each set of jack rafters (x8).  Luckily we can program this sort of thing, drawing this type of roof manually would be a real headache.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at the sheathing and labels for an asymmetric hip roof:



Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Pitch and SQFT callouts/labels are now working:

Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Hip and Ridge Cap is now working for the Asymmetric Hip Rafter Roof:



This chunk of code is just for the ridge cap geometry:

@Phi1_3 = atan(sin(@Phiplane13) * tan(@Phi) * cos(@Phihip13))
@Phi3_1 = atan(cos(@Phiplane13) * tan(@Phi3) * cos(@Phihip13))

@Phialpha1_3 = acos(cos(@Phihip13) * sin(@Phiplane13))
@Phialpha3_1 = acos(cos(@Phihip13) * cos(@Phiplane13))

@Psi1_3 = asin(0.70710678118 * sqrt(1.0 - cos(@Phi)*cos(@Phi3)))

@Phi2_3 = atan(sin(@Phiplane23) * tan(@Phi2) * cos(@Phihip23))
@Phi3_2 = atan(cos(@Phiplane23) * tan(@Phi3) * cos(@Phihip23))

@Phialpha2_3 = acos(cos(@Phihip23) * sin(@Phiplane23))
@Phialpha3_2 = acos(cos(@Phihip23) * cos(@Phiplane23))

@Psi2_3 = asin(0.70710678118 * sqrt(1.0 - cos(@Phi2)*cos(@Phi3)))


@Phi1_4 = atan(sin(@Phiplane14) * tan(@Phi) * cos(@Phihip14))
@Phi4_1 = atan(cos(@Phiplane14) * tan(@Phi4) * cos(@Phihip14))

@Phialpha1_4 = acos(cos(@Phihip14) * sin(@Phiplane14))
@Phialpha4_1 = acos(cos(@Phihip14) * cos(@Phiplane14))

@Psi1_4 = asin(0.70710678118 * sqrt(1.0 - cos(@Phi)*cos(@Phi4)))


@Phi2_4 = atan(sin(@Phiplane24) * tan(@Phi2) * cos(@Phihip24))
@Phi4_2 = atan(cos(@Phiplane24) * tan(@Phi4) * cos(@Phihip24))

@Phialpha2_4 = acos(cos(@Phihip24) * sin(@Phiplane24))
@Phialpha4_2 = acos(cos(@Phihip24) * cos(@Phiplane24))

@Psi2_4 = asin(0.70710678118 * sqrt(1.0 - cos(@Phi2)*cos(@Phi4)))


@Ridgex = (cos(@Phi)*@HRthk*tan((@Phi + @Phi2)*0.5)) - sin(@Phi) * @HRthk
@Ridgey = (sin(@Phi)*@HRthk*tan((@Phi + @Phi2)*0.5)) + cos(@Phi) * @HRthk


if @Sheathing_option == "YES"
if @Roofbatten == "YES"
if @Cboption == "YES"
thtot = @Cbheight + @Battenheight + @Sheathing_thickness + @Roofcladding_thickness
else
thtot = @Battenheight + @Sheathing_thickness + @Roofcladding_thickness
end
else
thtot = @Sheathing_thickness + @Roofcladding_thickness
end
else
if @Roofbatten == "YES"
if @Cboption == "YES"
thtot = @Cbheight + @Battenheight + @Roofcladding_thickness
else
thtot = @Battenheight + @Roofcladding_thickness
end
else
thtot =  @Roofcladding_thickness
end
end


# Extension at Peak

@Wa3 = PI - (@Phialpha3_1 + @Phialpha3_2)
@Beta23 = atan(sin(@Wa3)/(tan(@Psi1_3)/(tan(@Psi2_3)) + cos(@Wa3)))
@Beta13 = @Wa3 - @Beta23

ext13 = (thtot * tan(@Psi1_3))/(tan(@Beta13))
ext23 = (thtot * tan(@Psi2_3))/(tan(@Beta23))


@Wa4 = PI - (@Phialpha4_1 + @Phialpha4_2)
@Beta24 = atan(sin(@Wa4)/(tan(@Psi1_4)/(tan(@Psi2_4)) + cos(@Wa4)))
@Beta14 = @Wa4 - @Beta24

ext14 = (thtot * tan(@Psi1_4))/(tan(@Beta14))
ext24 = (thtot * tan(@Psi2_4))/(tan(@Beta24))


# Ridge Length and Extensions

ridgedx = (cos(@Phi)*thtot*tan((@Phi + @Phi2)*0.5))
ridgedy = (sin(@Phi)*thtot*tan((@Phi + @Phi2)*0.5))

length_sq = thtot**2 + ridgedx**2 + ridgedy**2


rext3 = sqrt(ext13**2 + (thtot/(cos(@Psi1_3)))**2 - length_sq)
rext4 = sqrt(ext14**2 + (thtot/(cos(@Psi1_4)))**2 - length_sq)

phicheck3 = atan(ext13*cos(@Psi1_3)/thtot) + PI - @Phihip13
phicheck4 = atan(ext14*cos(@Psi1_4)/thtot) + PI - @Phihip14

if phicheck3 > PI
rext3 = -1.0 * rext3
end

if phicheck4 > PI
rext4 = -1.0 * rext4
end

@Ridgecaplength = @Arraylength - @Hipf - @Hipb + rext3 + rext4


Two months from now I'm not going to have any idea what all of this means, its a good thing I keep a binder of all my notes and diagrams.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

Gutters and Downspouts are now functional for the Asymmetric Hip Rafter Roof:



Even with the different overhangs and top plate heights the gutter height (fascia) is the same height all the way around.  However the downspouts on opposite sides of the roof are customized per the overhang on each respective side.

Tomorrow I will jump back into the hip and jack rafters and see if we can wrap this one up.

The good news is that the required code for the asymmetric hip and jacks already exists.  I will be borrowing from the roof return module where I handled dissimilar pitches.  The bad news is that after a cursory review of this block of code I have absolutely no idea how it actually works anymore (I haven't looked at it in about 2 years).  It's just a matter of reverse engineering my own code for about an hour and it will all come back to me.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

I'm actually still working on the hip rafters.  The complexity of a multi-pitch roof took another unexpected turn with the realization that when roof planes A and B are different pitches it causes an offset in the rafters at the peak which requires some additional logic to account for this fact with the placement of the hip rafters and their geometry. 

I'm also still a bit conflicted on how to best handle the birdsmouth cut of the hip rafters when they walls have different top plate heights.  In some cases the hip rafter misses the corner entirely and is askew on one of the walls, this is the simple case.  In other cases the hip rafter technically rests at the "corner" but since there are two different wall heights possible it is not clear how the birdsmouth cut should be constructed exactly.  I'm assuming that the higher plate height will govern.

Does anyone have any photos or details of actual construction where a hip rafter bisects a corner where the top plate heights vary?
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

When the hip roof is asymmetric across the ridge you end up with a situation like what is shown below:



The common rafter in the upper right is a 7:12 pitch and the common rafter in the lower left is a 10:12 pitch.  Normally with a symmetric hip or gable roof the common rafters would be flush with the top of the ridge board.

However in the asymmetric case the steeper pitched side is flush and the lesser pitched side overshoots the ridge board just slightly as shown.  This additional asymmetry causes further complications in the calculations of the hip rafter that is adjacent to the overshooting common.

Also note that the seams in the sheathing (edges of the roof planes) do not center up on the ridge board or hip rafters.  This is not a flaw or an error it is just the way the asymmetric roof goes together. 

It appears that I have the hips correctly calculating now (after nearly two days of intense debugging and about 10 sheets of engineering pad) however tomorrow I will continue with further testing, to see if I can break anything, and then begin attacking the jack rafters.

A further look at the bird mouth cut question in shown in the example below:



So in reality I am still missing the birds mouth cut for the hip rafters and the implementation of the soffit cut for trimming the tails of the hip rafters.  Always too much to do and never enough time to get it all done.

I'm really hoping that the jack rafter piece is a lot less trouble than the hip rafters, I would really like to get this roof type wrapped up by the end of the weekend.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

#848
Actually I stand corrected.  The sheathing does center up on the ridge board provided that you do vertically offset the opposing common rafters as shown in the previous images.  A top down view shows the result:



If you don't vertically offset the commons and the pitch on plane A and B differ then the ridge board will not center up on the sheathing.  For now I have it centering and a vertical offset, for future work I may provide an option to toggle between these two possible configurations.

Here is a view of the other side of the roof, note the different top plate heights and where the hip rafters land on them and the corners:



Better yet, go ahead and download my test model that was most recently generated by the new asymmetric module:

https://3dwarehouse.sketchup.com/model/5cac625a-b13a-41f0-b945-9603cbf47bc0/Asymmetric-Hip-Test-Roof
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at the jack rafters:



Next I will look at the birds mouth cut of the hip rafters and the soffit cut for both hip and jack rafters, then a bit more testing to see if anything can be broken when the degenerate case (symmetric roof) is calculated. 

These is also the case where you might end up with a negative overhang (which doesn't make sense).  I should probably include some logic to try and detect this condition and alert the user that the roof configuration is not physically possible.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer