I’ve drawn drip edge before. It’s a thing that’s visible and sometimes called out on elevations. Sometimes invisible things, like step flashing up dormer side walls get drawn with dashed lines and called out with notes.
After some further testing of the roof cladding extension parameter I think it makes more sense to make the extension per the horizontal and not per the roof plane. The problems really only seem to arise when you have an asymmetric roof, in this case the higher pitched roof will project less than the lower pitched roof if the extension is parallel to the roof plane.
Thoughts?
The two most common drip edges I’ve seen applied to residential roofs are the right two profiles shown in this image:
It would be more light weight to represent these metals as simple edges and faces but then they would Z fight with whatever they are resting on so I guess it is probably better to assign a thickness and model them as a solid instead.
So the two options to start will be a L or a D drip edge (not sure why they call it a D). The dimensions will all be customizable like the roof gutters.
I’ve decided to put the drip edge on hold for just a bit and focus on the secondary roof module.
There is really two ways to handle this. You can either start with a primary roof and then add secondary roofs that tie into it. Or you can allow the user to pick the building outline (any polygon) and utilize a straight skeleton algorithm to compute the roof planes. There are some pros and cons (limitations) to each method.
Obviously with the straight skeleton method one would assume that the fascia lines up all the way around the roof so it doesn’t lend itself to secondary roofs like dormers that may be positioned up on the roof.
However, the straight skeleton allows for some really complicated scenarios that you just cannot achieve with a secondary roof methodology. I was looking at some very complicated roof geometries found in Larry Belk’s designs and it became painfully obvious that the secondary roof methodology has its limitations.
A few months ago I was trying to come up with a robust straight skeleton algorithm and somehow it defeated me. This morning I took a slightly different approach and I now think I’ve finally solved it:
Step 1:
Step 2:
Step 3:
Step 4:
Once I have the roof “solid” I can then easily pull out the edges that represent the hips, ridges, valleys and flying hips. From there it is just a matter of some tedious logic to detect whether to frame a common, hip jack, valley jack or cripple jack (hip/valley jack).
Of course the devil is in the details but I now think I have a path forward for complex roofs, this is major breakthrough.
I will also need a tool or function that allows the user to toggle specific roof planes from hip to gable or back again.
Also note that this algorithm seems to work just fine even with asymmetric roofs.
The complex roof algorithm seems to be fairly robust thus far, I haven’t been able to break it just yet. However as I am contemplating how to make it so that each roof plane is adjustable (variable pitch) it is quickly becoming apparent that such a feature would become very complicated.
The issue really is a situation where you have a particular roof plane that you want to adjust. You then change its pitch (assuming all other pitches are left the same) and the roof gets recalculated. In certain situations that roof plane may then merge with another roof plane. If that happens then one of the two roof planes is absorbed by the other (both pitches must be equal of course).
The difficulty seems to arise in the tracking of each roof plane and the custom pitch assigned to it. The number of roof planes can be variable. The ability to edit each roof plane will need to be an “on the fly” sort of tool which allows the user to adjust only one roof plane at a time and then recalc the entire roof to re-determine the shape of the roof and hence how many and where its new roof planes actually are.
The easiest way to store this information, in my option. is to maintain the roof solid group (on a separate hidden layer). From this solid the roof planes can quickly be ascertained as well as the outline or footprint of the roof. I’m still thinking this one through as you can probably tell.
Initially the roof will be drawn with one overhang and one pitch. Where the edit menu can take it from there is where it potentially becomes quite complicated.
Consider a complex roof like the one below:
I can see that the framing can be accomplished with some basic rules/logic however non-orthogonal roof outlines will probably require some additional logic.
The tool that allows the user to define the footprint or outline of the roof should allow for the selection of a face or allow the user to pick points that then define the closed path of the roof outline. The code required to do this is already within my foundation plugin and will only need some minor modifications to make if work for this module as well.
Version 2.4.1 - 05.25.2019
- Parameter hightlight (input) color added to General tab of global settings.
- Parameter change highlighting enabled for the gable and hip rafter roof edit menus.
- Added the indexing parameter for roofs and floors to the General tab of the global settings.
A few minor items addressed per recent customer requests.
Since the hip rafter roof now has soffit and fascia I thought it would be fitting to add the same treatment to the gable roof, however the gable roof is surprisingly more complicated when it comes to soffit and fascia. Take the example shown below:
A number of questions arise:
1.) The sheathing terminates at the sub-fascia (at the eave, per previous discussion) however should it extend out to the gable fascia? or just terminate at the gable sub-fascia as shown?
2.) The cladding may need a different treatment even for hip roofs and for gable roofs. Rather than relying on the cladding extension parameter to bring it out over the fascia maybe bring the cladding out to the fascia by default and then the extension parameter brings it beyond the fascia if desired? The cladding extension parameter should also really be per the horizontal rather than per the roof plane due to complications with asymmetric roofs.
3.) A number of possible configurations can exist at the corner where the eave and gable soffit meet. Ideas? I don’t even know what these variants are called, but I’ve seen them all. Some architects really don’t like the soffit boxes but even these are popular in many regions.
4.) Should the gable fascia terminate as shown or extend beyond the eave fascia (projection). The projected gable fascia seems to be very popular in western Washington.
5.) The gutters will naturally be offset if fascia is specified but should I extend the gutters to terminate flush to the gable fascia or leave them so they terminate flush to the gable sub-fascia?
These roofs are complicated business. Lots of little details. Even though I’m not an architect or designer I’ve still got to deal with them all since I’m creating a tool that involves all of these subtle design decisions. Structural elements tend to be a bit simpler in my opinion.
I really have no idea if this is the correct way to build a soffit box but here is one possibility:
A couple things jump out at me:
1.) Note the double miter cut of the gable fascia.
2.) Note the addition of the two pieces of fascia to create the soffit box.
3.) I’ve shown this soffit box with a 15" return (the minimum return) however one could extend the return further and the eave soffit would then morph into an L shaped configuration. So if this type of soffit configuration is specified I should also provide the user with the ability to set the return length.
With gable roofs and their soffit and fascias it looks like I’ve open yet another can of worms.
Version 2.4.2 - 05.27.2019
- Enabled soffit and fascia for gable rafter roofs.
- Enabled a roof cladding extension parameter for gable rafter roofs.
- Enabled custom materials for roof sheathing and roof cladding in the HTML edit menu for gable rafter roofs.
- Added the soffit box extension parameter for gable rafter roofs.
View model here:
Note the trimming of the ridgeboard if required.
Currently there is only one way to soffit and fascia the gable roof but if there is enough call for it I can also look at this type of configuration:
I’m not exactly sure what the technical term is for the way in which I have trimmed out the gable roof. I call them soffit boxes, but other jargon for this type of soffit/fascia configuration is:
Bird boxes, Pork Chops, Dog Ears, Boxed Eave Return etc…
In some areas they are quite common while in other areas they are considered quite ugly.
The other variant I commonly see is something along these lines:
Then there is the angled or sloping soffit which follows the underside of the rafters and the gable soffit blends seamlessly with the eave soffit:
The other configuration I’ve noticed being used quite a bit locally is the angled soffit:
Personally I think this type of soffit works better where the rafter tails are square cut and not plumb cut otherwise the sub-fascia will probably need to be adjusted (beveled) on its bottom to ensure that the soffit fits correctly.
The one thing to note with this arrangement is that the gable soffit and eave soffit should be coplanar. In order for that to happen the depth of the rafter tails must equal the depth of the rake board (barge rafter). One way to achieve this if the rafters are quite deep is to trim them as shown in the image. An alternative approach is to match the barge rafter with the actual rafters but this will result in a very deep/thick fascia and a heavy look.
I’m just thinking out loud here so correct me if I’m seriously mistaken with any of my musings. The angled soffit is certainly another option that I could add in but I need to make sure there is call for it and that I’ve got it right.
Now that I have at least one option for soffit and fascia for a gable type roof it makes sense that I extend this functionality to the truss module. However with common trusses I also have the option for various roof returns:
I will need to add some additional logic into the soffit and fascia module so that it can properly handle these more classical roof returns.
If you look at this a little bit further it becomes apparent that you have the gable soffit dropping down into the roof plane of the return. I’m not entirely sure how this would be framed out, but it sure would be helpful to watch a crew installing soffit on a gable overhang where it comes down and meets a hip roof return like the one shown.
The fascia and eave soffit with its extension seem pretty straight forward.
A quick mock up of a truss roof with hip returns and soffit and fascia:
View model here:
I could get all fancy and try to trim the gable soffits so they intersect the hip returns perfectly but looking at it now it doesn’t seem to terrible if I just terminate them as I have shown and the carpenter in the field will adjust to suit.
First look at soffit and fascia applied to a common truss (fink) roof:
If you look closely you can see the roof cladding is extending out over the gutter (0.75"), I’m adding the cladding extension parameter to the advanced options for trusses.
Even though this is working great now for the common truss I still need to add the logic in to handle the hip roof return and full return configurations. I also have the configuration where the back side of the assembly is truncated to allow for abutting next to a wall. This will require yet another soffit and fascia configuration.
Due to the complications caused by roof returns I had to jump through a few more hoops to get the soffit and fascia (and roof cladding extension) fully functional for common trusses:
Unfortunately, I still cannot release these latest upgrades to the public because in changing up the advanced options module I may have possibly broken other truss types.
Tomorrow I will need to do some thorough checking to make sure the other truss types: attic, scissor, monopitch, cathedral etc… are working correctly and can now work with the soffit and fascia module.
View model here:
Probably another solid day with soffit and fascia (extending it to many of the other truss types) and then I will be back on the rafter module and pushing hard to get something pulled together for secondary and complex roofs. I still need to come back to the drip edge but I think it can wait until I have the more important stuff dealt with. The nice thing about drip edge is that it will not affect other geometry or modules, it will just be an add-on, much less complicated.
In the process of revamping the gutter and roof returns module in order to handle soffit and fascia I did manage to turn up a few additional bugs which I have addressed. Its always nice to kill two birds with one stone.
As the complexity and depth of the plugins have increased I am finding it more difficult to juggle all of the plugins at once. Lately, I have given the other plugins a rest (except for critical bugs or minor fixes) and then dived deep into the current plugin of interest. At some point it would nice if I could bring on additional help so that development is ongoing with each plugin on a daily basis.
Quite a number of fixes to the attic truss module. The floor sheathing option is also now exposed in the attic truss edit menu.
Full Return:
Roof labels and callouts also added to this truss type.
Soffit and Fascia now available for Scissor and Cathedral trusses:
I’ve also taken the time to make the cathedral truss type parametric (edit menu).
I only need to look at the monopitch truss edit menu and address a few changes to it and then I will be ready to push all of these changes out to a new version.