News:

SMF - Just Installed!

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Medeek

#1021
Now that I've got the roof connection functionality up and running it is time to turn my attention to the actual roof framing. This is where the real headaches begin.

I think I will start with trying to figure out an efficient algorithm for the ridge boards.

Most orthogonal roofs are fairly straight forward:

If a ridge meets another ridge then it will receive a miter cut to match with that other ridge.

If the ridge terminates into two hip rafters then it will be a square cut.

The question I have is what to do when the hip terminates into a flying hip and valley?

Then of course there are the exceptions caused by half hips, dutch gables, gables and terminals but those can be accounted for.

As I've previously stated it makes sense to first catolog each edge of the roof primitive and create a hash for easy lookups. The process of elimination should allow me to assemble the catalog relatively easily.
#1022
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.
#1023
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.
#1024
Here would be an example of a chimney against the eave of a roof:

Note the addition of a cricket (manually created group) next to the chimney.
#1025
First look at the "Roof Connection" feature:

In this case I am simply connecting to a generic solid which cuts away the section of the roof that is intersecting the solid geometry.  When I get to the actual roof framing things may become slightly more complicated (ie. ledgers etc...)

View model here:

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

When a roof is connected to another roof not only will the secondary roof have geometry removed but the primary roof will also need to have geometry modified or removed.  This is a real can of worms, but hopefully I can bring order to the ensuing chaos.
#1026
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.
#1027
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.
#1028
I've been testing out the "gable" soffit configuration and at steeper pitches this is what you get:



The proper way to configure this would be:



This requires an additional check to see if the rake soffit extends below the eave soffit.

I've also received requests to have another option to trim the rake fascia so that it is flush with the eave fascia, similar to what I already do with the rake fascia with the "boxed" option.
#1030
First look at a half hip with a boxed soffit and fascia:

#1031
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.
#1032
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).
#1033
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.
#1034
First look at a half hip fascia and rake with a boxed soffit:

#1035
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.