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

#1067
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.
#1068
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
#1069
First look at sub-fascia for interior gables:



Bit of a struggle to consider all of the possible permutations for this type of roof but I think I have finally arrived at a robust solution.

I just need to consider gutters and then we can proceed with the actual framing of the roofs.

I've also heavily modified my error checking code for the roof primitive to make the overall performance more robust.  With the addition of interior gables there is more probability that the designer can create roof design that does not have valid geometry.  Further testing will be required to try and eliminate these scenarios or further augment the areas that are having trouble with these situations. 
#1070
First look at cladding correctly displaying for interior gables:



The sub-fascia for interior gables is interesting because in most cases one or both side will die into another roof plane, however this is not always the case as can be seen in the example to the far left.  Logic to include all of these possibilities now must be constructed.

Unlike the much simpler exterior gable the position of the peak of the interior gable roof has no direct relation to the perimeter points that define this gable's edge.  Due to this inconvenience I cannot (easily) mathematically calculate the sub-fascia, I must use the roof primitive geometry to derive the correct points and position, again more emergent behavior.  In short, the roof primitive is smarter than I am.
#1071
Notice how the sheathing is now projecting underneath the gable overhangs:



Now I just need to get the cladding to behave similarly and then a few adjustments to the sub-fascia and gutters.
#1072
A couple of interesting gable roofs:



Looks like I have the roof primitive working for "interior" gables.  Now I just need to sort out the details for sheathing, cladding, sub-fascia and gutters.  An interior gable is defined as a gable roof plane with one or more corner angles of 270 degrees (orthogonal inside corner), hence an interior gable. 

For now I'm not going to allow interior dutch gables or half hips.  As long as the angles, at both corners, are 90 degrees then you will be able to place a dutch gable or half hip on that roof plane.  However, the gable is a little more flexible and will allow some interesting configurations, as shown.
#1073
When you raise the fascia line along a segment of the roof inevitably it must return to same level since a roof is a closed loop.  See model here:

https://3dwarehouse.sketchup.com/model/a87657fc-f488-47b9-9e40-b8767b4d4182/Roof-Study-11

I think I can make this work but I'm going to have to drastically change my algorithms to allow for unequal fascia/gutter lines. 

The other interesting thing with all of this is that the fascia line could step up and down multiple times around a roof.

Another observation is that only hip roof planes technically step up or down, gable roof planes/edges are controlled by the adjacent hips.
#1074
Another variation of the gable roof study:



Gables ad infinitum...

The one thing that jumps out here is that gable roof planes cannot be adjacent to each other (or other variants like dutch gable or half hip configurations), gable roof planes are separated by hip planes.  Additionally, I will limit the gable option to orthogonal roof planes only (corners must be 90 or 270 degrees).

There is always on more thing to add, at some point I hope to have conquered this beast.
#1075
My original restrictions on the placement of gable ends are too tight.  In order to created roofs where you may have a gable on a gable we need to relax things a bit or at least change up the conditionals:



This further complicates each building element or at least opens up possibilities which did not exist before so I will need to add additional logic for sheathing, cladding, sub-fascia and gutters.

Who said complex roofs were going to be easy.
#1076
The problem with complex roofs is that I am only scratching the surface right now.  There are quite a few permutations that are possible that are quite common with many residential designs that I still cannot handle with the current complex roof module.

Consider this relatively simple example:

https://3dwarehouse.sketchup.com/model/a9e1e39d-c816-4833-9cce-f277edf43366/Roof-Study-10

With this case the fascia is at two levels.  At the back corner on roof plane A you have what I call a 3/4 Hip (kind of hybrid between a half hip and a hip, one side is a hip and the other is technically a half hip).  This causes the fascia line to rise by 24".

Where roof plane E meets roof plane D, you have one roof plane dying into the other and creating a "Flying Valley" and the other roof plane terminates at the wall below (a partial gable end?).

I guess I was wrong there are "flying valleys" after all.

The problem with trying to construct this particular example with my proposed secondary roof module is that its a little more complicated than that.  Rather than two separate roof assemblies the roofs are technically merged.  Also the 3/4 Hip configuration kind of requires that the roof assemblies are one construct.

This example really has me scratching my head right now.

What does jump out at me is that when you are dealing with an inside corner (angle between walls is greater than 180 deg.) the roof planes die into each other creating a partial gable and a flying or hanging valley.

When you have an outside corner (angle between the walls is less than 180 deg.) you then end up with a 3/4 hip.  Two additional solutions might be a gable or half hip with unequal legs.  If you were to keep making the setback of the half hip larger eventually it would degenerate into the 3/4 hip where one leg is now a hip roof.
#1077
Version 2.5.6 - 10.11.2019
- Added gutters for complex roofs.



View model here:

https://3dwarehouse.sketchup.com/model/83e51761-40b1-496f-b7bf-f06341aec044/Complex-Roof-with-Gutters

On this particular model I've employed a vertical offset of 1" and a gutter extension of 1.5" with a K5 style gutter, other gutter styles available.

I have not enabled downspouts yet as I need to come up with a better system for handling these.  I think I have a new system figured out but I need to work on the details before I'm ready to implement it.
#1078
First look at a gutter fully wrapping a complex (hip) roof:



Note the 3/4" offset from the sub-fascia since I have soffit and fascia enabled.  The 3/4" thick fascia is not drawn yet, hence the gap.

I've also set my vertical offset to 1" for the gutter.
#1079
Tutorial 16 - Introduction to Complex Roofs (19:42 min.)



I did forget to mention the "Edit Outline" function which can be initiated by right clicking on the roof assembly.  However, if you have a number of customized roof planes the results may become unpredictable, especially if the the outline is dramatically changed.  The feature will need some further refinement.
#1080
I've also been giving some thought to gutters.  If there are no half hip or gable conditions the gutter will wrap completely around the roof.

Otherwise the gutter will be broken into one or more sections.

Downspouts are more of an issue.  With a complex roof the positioning of downspouts needs to be more customizable.  I would like to implement a system where the user can select standard locations to position downspouts along a gutter run.  For instance at either end or at the middle, this should provide enough flexibility for most situations.