Simple Soffit and Hip Roof -Maybe Gables Too


Here is a template and method I invented to produce hip roofs.
SimpleSoffit.skp (26.5 KB)

  1. Modify the profile template to suite your needs:

  2. Place modified soffit profile in position

  3. Use the FollowMe tool to create 3d

  4. Extend plane edges to finish roof

  5. Erase unneeded lines

  6. Paint and Done!

How to make a mono sloping roof?

It’s good; I go about things in a very similar way with a few minor differences:

  • For most of my construction, the roof pitch is pivoted about the inner point where the roof rafter meets the wall-plate or ring-beam, (A) so I tend to create a 2D section every time and rotate my roof rafter to get the correct roof pitch (this in turn changes the overhang and barge-board height)
  • I create a roof profile that has an end at 90º to the roof pitch (B) so that I can use the "push/pull" tool to extend my roof as a solid object rather than just a surface.
  • I also create a simple gutter shape as a separate group (C) and follow it around the eaves line. (< note "group", not "component" - If your component was dynamic and could change pitch or the timbers used, then i would use a component, but for it's use I would personally recommend it was a group)
  • For a "main" roof, I normally make sure that the rafter length is way too long so that it over-laps, then I select the whole thing and use "Intersect with selection" and delete the bits that stick out, then tidy the extra lines. (D) - I'm lazy and find it more accurate and easier to delete lines rather than draw them in.

    (PS personally I would also put the dimensions on a separate layer so that they can be easily turned off)

  • #3

    These are both very nice ideas.

    I’m only piping in because maybe the title for this thread could include ‘Hip Roof’ somehow. . . just as a matter of giving it a prominent place for anyone who might be looking for hip roof tutorials via a word search. ???


    It is actually quite easy to extend the lines because they turn pink and lock to “in line”.

    Now I need to figure out a good way to do Gables. The joint between the gable and hip seems very complicated.


    ? Gables are even easier - instead of using “follow me”, use “push/pull”


    I think that is only simple if you are using a very simple gable profile. The soffit I am showing is much more complex


    This is just about as complex as I can think on for a gable; it was really quick - make a fancy cut-out, rotate it to the correct pitch and stick it on. Make one ladder timber, make it a component, copy it and use the array (/nn). Make a filler for the boot and crest. Use the same decorative cut-out for the cross member and simple timbers forming the pediment (I had to look up that word ;))
    It was then all mirrored for the other side.
    (If done properly, some lines would be hidden and smoothed so that you couldn’t see the joins.)


    That is still relatively simple compared to the standard gable most use around here.

    Not that it is technically challenging and once a side is done it can then be copied

    but this one side is taking me over an hour
    -Granted I have not developed speed yet but I would like to find a way to get it down to a few minutes


    With all the annotation and copying to show how, this took 20min; probably 10min actual drawing time.
    Eaves boot.skp (247.9 KB)
    (I’m sure if you were doing it all the time there would be short-cuts to some bits)

    Note that there is a plugin to push-pull in a specific direction - this would cut down on a couple of steps under the barge board, but I just used native tools.


    Thanks for the tutorial -You have much better understanding and control of the tools than I do.

    But still even ten minutes would be an unacceptable amount of time.
    -It would tend to limit the freedom to consider options.

    What I really need to do is make a parametric gable soffit system.

    The problem with that seems to be that the angles which connect the gable to the soffit and so forth can not be defined on the fly. I would need to create hidden ends for each pitch.

    Or I suppose I could just do one complete Gable for each standard pitch. That still makes it difficult to do fractional pitches though, Perhaps scale could be used to cheat to fractions without too much distortion.


    What you are trying to do is still one of the easiest things… If you already have the profile used to create the roof (like in your first post) then you just need to copy the outside line a few times and push/pull. The boot could be a separate piece of (pre-formed) geometry that’s just stuck-on.
    I still think you could do this in under 5 min… I’m going to try a slightly different method and see…

    [edit] OK I timed it; 6 mins on my first run through. Could probably get it down with practice.eaves.skp (253.2 KB)


    This morning I managed 15 minutes to completely finish the Gable including both sides and wall
    -yes I can see with a bit more practice i could take another 4 minutes off.

    That is much faster than I thought i would be able to do it 4 days ago. I was interested in seeing what can be done without a plug-in and this has been an excellent exercise in developing speed.

    Anyway I suppose Instant Roof Nui is the best solution to the problem. -It seems to be the only way to get a complete complex roof done within a few minutes. I have to wonder how flexible it is though.

    I finished this roof up in another hour and then as an exercise I widen the small gable by 1 foot and then changed the main pitch to 10/12 and both of those changes took probably another hour.

    It seems to me a parametric roof would also be easier to modify.


    Here is my work on the parametric roof:

    I think that it will be possible to simply insert at a corner, set end types, drag to size to next corner and then edit depth and roof pitch.

    I think that I should even be able to define each roof plane. for height and and angle of each side.


    I think you are making things waaaaay to complicated; if you are just interested in using one surface for the roof, have a look at 1001-bit tool from the extension warehouse - just use “follow me” for the fascia and soffit, and the “pitched roof” tool from the extension. All done in a fraction of the time.


    Thanks, I downloaded 1001-bit tool it looks like it has a lot of handy functions that I did not know about.

    Most probably so but my goal is not necessarily to get it done in the simplest way. My current primary goal is simply to learn and have fun experimenting with dynamic components. DC’s are fun it is like a puzzle trying to make them do things. If I was just trying to do the easiest thing I would have already bought Instant Roof Nui and been done with it. I think playing around is a great way to learn and you have taught me many good things. I do not want to be dependent on plugins to do everything for me -I want to learn how to do things myself as well.

    I played around with the hip roof generator and it works great. Once you have the hip and overhang it is easy to pull the soffit down.



    Here is the dynamic roof plane component:
    RoofPlaneDC.skp (24.8 KB)

    It still needs some work because it does not want to rotate correctly.

    It may be handy,
    You can place it where you want a roof plane and scale it to length
    Enter the pitch and the run
    Define each side as either Gable, Inside Corner or Outside Corner and their individual pitches in case they are different
    You could use it just to find the hip and valley angles or you could explode it and modify it to build a roof set.


    Here is the correct versionRoofPlaneDC.skp (28.4 KB)

    Just had to move the rotation to the sub component level and correct a hypotenuse mistake

    Once this is combined with my parametric soffit it will allow each roof plane to be independently set and edited.

    For example, I changed this roof from 8/12 to 10/12 just by editing the four roof plane pitches

    I could have used different pitches and also Gables


    You do realize that the roof pitch can be changed in 12 clicks? (with native tools.) Just need to drop the ridge to the correct height for the pitch you want; since the hips and valleys are all attached, they all drop too.

    (The actual dropping takes 2 clicks, the rest are setting up so that you have the from and to points)


    Yes, except I think that is only that simple in simple cases like in this example where you only have one ridge and one pitch. Are you counting determining how much to drop for any particular pitch?

    On complex roofs where you have multiple ridges than it seems to me each ridge would need to be isolated from any plane that it is touching. Or if you are changing the pitch on just certain sides or changing from a hip to a gable etc…

    Also I think that componentizing objects will eventually allow material quantities to be generated.

    Here I made a few improvements.
    RoofPlaneDC.skp (29.0 KB)

    Now each side automatically calculates it’s area in sq,ft,
    And I can generate a report telling me what my total roof area is:

    Here is an more complex example:

    The pitch on the gable side is 12/12 the back and sides are 10/12 the gable is 9/12

    Because they are all independent components I can move the roof at the same time I move the wall. I can then determine the ridge position by letting them overlap then drag the sides to the new wall length and edit the runs.

    Once I finish the soffit I will also be able to calculate all those materials quantities.

    Oh I did not realize before that it can also scale in depth without changing pitch. so instead of having to measure the new ridge position the position can be marked and the roof can be dragged to the new position.


    I still have some problems with my logic in this DC.
    I do not seem to understand how to make it both keep to minimum or max proportions and be scale-able at the same time.

    So currently it can be stretched into weird shapes

    When I try to enforce a minimum run for example the scale tool will no longer work.

    It also says I have a circular reference occasionally

    And I have the same formula in two different sub-components and when I redraw they do not match even though they are the same.