Truss Calculators

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

Previous topic - Next topic

0 Members and 14 Guests are viewing this topic.

Medeek

Version 2.5.7 - 10.14.2019
- Allowed the option for interior gables within complex roofs.
- Fixed a bug in the gutter module for complex roofs.



I need to do some traveling in the next few days but I just wanted to get the update out the door before taking a break from the code.

View model here:

https://3dwarehouse.sketchup.com/model/fc818a82-d981-456b-b506-fe654d41cc74/Complex-Roof-11-Gutters-with-Interior-Gables
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

As I'm taking a break from the code before my trip it dons on me that the soffit & fascia, primarily the fascia is probably more important than the actual roof framing right now.  If I have that feature enabled it will allow the designer to complete his or her elevations.  Whereas the framing is a critical future feature but does not really come into play for the actual construction documents.

With that in mind, I think my next big push will be to complete the soffit & fascia, then I will begin the framing algorithms.  The good news is that the fascia algorithms will be very similar to the sub-fascia so most of my work there is already done.

Also speaking to a number of plugin clients earlier today it  took me back at how many of them actually use AutoCad for their construction documents, and just import parallel projections from SketchUp as a DXF/DWG.  Even though the resulting mess of  "dumb lines" in your AutoCad drawing is not optimal I suppose it is still quicker and easier to do this rather than to try and actually draw a complex roof elevation from scratch.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

I will be out for 2 - 3 days however you can probably reach me by phone if it is an emergency, however I won't have any computer in front of me so it may be hard to do any significant support or troubleshooting.

I had an interesting conversation with a client today and he wondered if I disliked engineering, and that is why I am now developing plugins.  I do not  dislike engineering, in fact I really would like to get back into it  but I would like to get back into it with SketchUp and my plugins leading the charge. 

The one problem I have with the way residential engineering is done (or at least the way I was doing it), is the lack of automation.  Yes, there are plenty of tools out there (spreadsheets, Forte etc...) that help with the calculations, however I want something even more streamlined.  I want a program that already takes a 3D model of a structure and then is somehow smart enough to propagate the loads throughout that structure and run all the numbers automatically.  This is the way engineering should be done in the 21st century, we have the computers, and yes we have the technology, we just need to leverage it so that we can stop wasting our time on tedious chores.

To be honest, most of residential engineering is quite mundane.  There is some engineering judgement that comes into play in certain situations however for the most part it is merely taking some inputs and running them through a number of AWC and ASCE equations and giving the result a GO or NO-GO.  This is exactly what computers were built for.

This is my **vision** for the engineering module and what it should be able to do:

I should be able to enter the site criteria for a project and then with the push of a single button crunch all of the engineering calcs for that model.  The items that fail will be flagged.  I modify those items accordingly (upgrade a header to a larger size), and then run the numbers again, until everything passes.  I then click the generate report, a PDF is generated.  I review it one last time, checking for errors and making sure all the inputs and outputs look reasonable and consistent, and then print out a paper copy, and stamp and sign it.

I've decided my time is much better spent developing a proper solution like this rather than continuing my practice of manually crunching numbers for local residential clients.  Undoubtedly, I would make more money working on local engineering projects than I would make working on just these plugins (full time).  In fact, I even turned down an employment opportunity last year for a really nice, six figure income so that I could specifically pursue the Wall plugin full time. 

Currently I'm probably only making only about half of what I could make working strictly as a conventional engineer or corporate drone, but with me it has never been about the money.  One has to look at the big picture with these things.  I love what I do, I have full ownership, and I am able to help hundreds, maybe thousands of architects, engineers and designers rather than just a handful of local clients.  Every day I wake up I get to decide what needs to done, I control the direction I take, even though my customers do guide me.  I am also able to leverage both my love for programming and my love of engineering.   I didn't choose this path, it chose me.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at fascia with complex roofs:



View model here:

https://3dwarehouse.sketchup.com/model/69ec1101-1f37-4689-bc60-f1633154495d/Fascia-Test-1

Now I just need to look at the various permutations for various roof end configurations (ie. gable, half hip, dutch gable).

With gable and half hip configurations we also have Boxed, Angled or Gable style configurations.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at a half hip fascia and rake with a boxed soffit:

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


Medeek

First look at the soffit on a complex roof:



Unlike the sub-fascia and fascia the soffit (and its miter cuts) are also a function of the overhang at each roof plane, therefore the computation of the correct width of the soffit is a bit more complicated with asymmetric pitches. 

The example shown is a symmetric roof with hips all the way around.  The inclusion of gables, dutch gables and half hips along with the soffit box extension parameter makes for a much more complicated problem.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at a soffit on a complex hip roof with asymmetric roof planes:



https://3dwarehouse.sketchup.com/model/4f9ea5e8-4a31-469c-81be-fbf0ce366596/Soffit-Test-2

Now I just need to complete the special cases situations for half hips, dutch gables and gables.  Still quite a bit of work to do with soffits and also some more work on the fascia for the boxed end case (return and triangular pieces).
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at a complex roof with a gable end and soffit and fascia:



I'm really trying to wrap up the soffit and fascia and get a new version released however there are a lot of details and possible geometries with the soffit and fascia when you throw gables, dutch gables and half hips into the mix.  The interior gables also further complicate the matter with a number permutations that must be specifically accounted for. 

I probably have at least another day of adding in more logic for all of these possibilities, but I am getting close.

Rather than moving on to the actual framing I think I will spend a little time on roof connections and what I call a "terminal" roof configuration.  The terminal roof configuration is similar to the other configurations in that it can only be applied to a roof plane that has corner angles of 90 degrees.  I will allow the roof to just end (ie. no gable overhang), this will be useful when creating roofs that are adjacent to walls and other structures.

On a different note, I will be temporarily removing the "angled" option from the soffit type selection options.  This soffit configuration makes the most sense with simple gable roofs but with hip roofs it is a bit of a mess.  Until I study this further and make sure that I have a sensible solution I am limiting the soffit types to gable and boxed.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

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


Medeek

Version 2.5.9 - 10.26.2019
- Added a trim fascia rake parameter for complex roofs.
- Resolved the issue with the soffit for the "gable" soffit configuration for complex roofs.



Note that the trimming of the fascia rake is enabled automatically when you choose the "boxed" soffit configuration.  The "gable" configuration however allows one to trim the ends or leave them untrimmed.

For low roof pitches the "gable" soffit extends to the corners, at steeper roof pitches the logic checks the geometry and creates the flat section as required.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at the "Terminal" roof plane configuration:



https://3dwarehouse.sketchup.com/model/7c5bd3f2-d80d-40bf-a7f5-c01a948ccf30/Complex-Roof-Test-14

The terminal configuration is utilized when you have a roof plane that abuts a vertical wall as shown.  To use this feature the corner angles of the roof plane must be both 90 degrees (same as a dutch gable or half hip).

The next feature I will be working on is a roof "connection", or the ability to create secondary/primary roofs, where one roof ties into another roof assembly or solid group or component.  This feature should prove a bit challenging but very useful if I am able to make it work as I have envisioned it.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at two intersecting complex roof assemblies:



View model here:

https://3dwarehouse.sketchup.com/model/2841db7b-a46d-49f1-801e-771f6ceec84a/Intersecting-Roof-Assemblies

As I've worked my way through the logic of intersecting roof assemblies this evening it has become clear to me that the concept of primary and secondary roofs really does not exist.  In actuality intersecting roofs is the more correct terminology.  If a roof assembly intersects another roof assembly, each will need to have its geometry modified by the presence of the other assembly's roof primitive. Each assembly will store the other assembly's name in its attribute library (database) as a connecting object.

The tricky part of this will be the rafter framing, where a simple boolean subtraction of the opposing roof primitive from the rafters will not work.  I will need to ponder on this some more, I think the solution will probably reveal itself but currently I don't see a clear path on this one.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.6.0 - 10.30.2019
- Added the terminal roof plane option for complex roofs.
- Added the "Complex Roof Connection" tool to the complex roof toolbar.
- Enabled Roof Connections for complex roofs: roof assemblies or solid groups.
- Added the "Remove Roof Connection" feature to the edit menu for complex roofs.





Tomorrow I will put out a tutorial video explaining the terminal roof plane option and the setting up and dismantling of roof/roof and roof/solid connections.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

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


Medeek

The Medeek Halloween Haunted House:

View model here:

https://3dwarehouse.sketchup.com/model/bfbc1532-b2ed-488b-9847-16b13ce79618/Medeek-Haunted-House

Another test of the roof connection feature with chimney and turrets.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

First look at ridge boards with complex roofs:



Things get a little messy when a ridge terminates into more than two hips or flying hips (ie. octagon and hexogon roofs), I will need to add in additional logic to handle these types of situation.

The potential asymmetry of the roof planes also creates some interesting possibilities, however I do think I've solved that topological problem.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.6.1 - 11.07.2019
- Added ridge boards for complex roofs.

The next framing item is hip and valley rafters.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.6.2 - 11.17.2019
- Allowed the option for interior half hips within complex roofs.



The logic for interior half hips proved to be rather complicated.  This additional feature affected every aspect of the module so it took me about 7 days to make it happen.  However, in the process I think I also made the module more robust and addressed some other minor issues.  Eventually I will also need to enable interior dutch gables but right now I'm too exhausted mentally to attempt it.  Currently only gables and half hips are able to pile up on each other as shown.

Also note that you can mix things up with interior gables and half hips.  For instance you could have a half hip on gable on half hip or any other combination.

Now, let's see if I can make anymore head way on valleys, hips and rafters...
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.6.3 - 12.02.2019
- Fixed multiple bugs in the complex roof module as related to metric templates.

After a bit of a Thanksgiving break I'm back on the complex roof module.  There is still a considerable amount of work to do with the framing of the roof, some of the details I am still sorting out, in particular a very efficient rafter framing algorithm.  I'm hoping to wrap this all up in the next couple of weeks and then jump over to the new Medeek Floor extension which will replace the floor truss/I-Joist module of the Truss plugin.

The new floor extension will allow for complex floors with the ability to alter the outline of floor similar to the complex roof.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.6.4 - 12.16.2019
- Exposed the roof soffit layer name in Layers tab of the global settings.
- Fixed multiple bugs in the gambrel attic truss module.



If you are using gambrel attic trusses this is a critical update/fix.  This addresses the following two bugs:

- Error when metal plates was turned off in the global settings.
- Non-initialization of the roof cladding material name.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer


Medeek

Version 2.6.5 - 12.18.2019
- Enabled an "orthogonal mode" for the complex roof draw menu.
- Added the ability to delete points in the complex roof draw menu.

Clicking the "Ctrl" key will enforce orthogonal mode while using the draw tool.  Currently the orthogonal mode will restrict the user to 45 deg. increments.

While selecting the points for a roof outline the user may accidentally select an incorrect point.  By clicking the left arrow key the user can delete the previously selected point (or multiple points).  I will probably also incorporate this same feature within the draw menus of the foundation and upcoming floor plugin.

Both of these improvements are a result of plugin usability discussions with Larry Belk.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.6.6 - 01.29.2020
- Fixed a bug in the (complex roofs) roof plane edit menu for the outlooker size parameter.
- Fixed a bug involving truss assemblies and valley set assemblies that are created in the same SketchUp session.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.6.7 - 02.09.2020
- Fixed a bug in the text input method of the draw menu for complex rafter roofs.
- Added a T1-11 built-in material into the material library.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.6.8 - 04.10.2020
- Fixed a show_modal bug for macOS in the Timber Truss HTML menu dialog.

With this latest release I've had to migrate to the .rbe encryption system so this version will no longer run on SketchUp 2015 or earlier.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer

Medeek

Version 2.6.9 - 04.11.2020
- Enabled the "Edit Truss Assembly" function for all parallel chord trusses (imperial and metric units).
- Labels and callouts added to parallel chord trusses.



There are still a number of truss types and rafter roofs that still need edit capabilities, I am slowly working through this list.
Nathaniel P. Wilkerson, P.E.
Designer, Programmer and Engineer