Making Roof Joins

main page

After re-visiting the Dog House tutorial in the User Manual, I started wondering about some of the problems associated with forming a subsidiary roof (or gable end) from a main roof, when different levels are involved.
Whilst the following method involves some forward planning it also avoids some of the issues associated with 'projection' type techniques.

(I have Edit | Advanced Prefs -> 'Use Highlight as Temporary selection'  activated, btw - if you don't, you'll have to LMB on elements to select)
1). Firstly, am going to create some geom as a basis for another roof (so's have something to 'play with') - if you want to use a different shape - do so.
Select all edges as shown on your basic 'house' shape (highlight one, press G) - this shape is a cube with Z axis faces moved normal -> 1 unit, connected and roof apex (ridge) edge moved Y -> 1 unit.
2). Apply Edge | Connect (press C)
3). Apply Edge | Bevel -> 4 units to form 2 edge systems from the original (makes a change from using Cut N + Connect and is interactive)
4). Select new middle 'ring' of edges (highlight, press G)
5). And Connect them.
6). Select this middle edge as shown
7). Apply Edge | Cut 2 (I highlighted and pressed my Cut 2 hotkey)
8). Select the 3 verts shown and apply Vert | Connect (press C)
9). Select all vertical edges (highlight, press G)
10). Apply Edge | Connect (press C)

Doing it the way described above has obviously created surplus geom for the task in hand, but I'm not bothered - it's easier to get the lot via pressing G and the chances are they'll be useful before this lot's finished :)
11).Going to start forming the 'cut in' roof now.
Since I want the 'eves' or 'gutter level' of the extension roof to be at a lower level than the original roof, the problem of getting roof edges at the correct angles - as they 'go around' the main roof 'gutter edge' presents itself.
Somehow, the 'line of intersection' between the 2 roofs (formed in (8)) has to be acquired and extended to the new roof gutter level.
Select the vert shown - this will (eventually) be at this required level.
12). Apply Vert | Scale Radial - use MMB option (pick axis for radial scale) and select the edge shown (one of the 2 'line of intersection' edges) to define the axis.
13). Another view of the same situation, showing the 'track' of the axis.
14). Execute the rad scale op by dragging to zero (constrain with shift). Using radial scale in this way basically aligns any selected geometry to the scale axis - thus forcing everything to be 'in line' with the axis - ie straightens stuff up :)
The selected vert will now form the basis of the 'eves' for the new roof.
15). Rather than repeat the procedure on the other side, I've just selected the central edge loop and applied Edge | LoopCut.
16). Situation after mirroring - Select all the faces that will form the extension and roof.
17). Apply Face | Extrude Region -> X (Drag to suit)

The basics are now complete, but some tidying up is needed.
Various aspects need flattening or 'truing up', as this approach tends to prioritise getting the roof sorted first.

18). The sides of the original house were distorted after extending the 'line of intersection' (11 - 14) Select all these (4) faces.
19). Apply Face | Flatten -> X (use RMB option, to pick a point) and select any feature on the (undistorted) plane required. I chose the vert shown in yellow.
20). Executing the flatten op 'clicks' these faces back to a true X plane at the required position.
21 - 23) Similar situation for the side wall of the 'extension'. Apply Face | Flatten -> Z (this time), RMB option, choose a feature and execute op.
More tidying.

24). The selected edges need straightening - could use 2 flatten ops (X and Y), but am going to do it in one step with another radial scale op.
25). With edges selected, apply Edge | Scale Radial -> MMB option (pick an axis etc) and choose the corner (end) vert shown (note vector direction after only one vert)
26). Choose the vert at the 'other end'. The scale axis is now correctly defined between these 2 verts - and is displayed by the yellow vector arrow .
27). Executing the scale op by dragging -> zero straightens all selected edges to this axis.
Final bit of tidying :)

28 - 30). Face | Flatten -> X (RMB option) as before, vert in yellow defines X plane position.
31 - 33). Edge | Scale -> Y -> 0 (same result as an edge flatten - if one existed :) ) - saves having to convert to verts to use Vert | Flatten. Same procedure - select elements, define plane origin etc etc and execute.

The basic shape is now complete - but a few suggestions about how this shape can be modified.
34 - 36). View Y. Selecting the whole of the extension (and other associated geom) will let you Move -> Z the whole extension to another position by dragging. If you can only select the extension itself, this will also work, of course - but not as 'neatly' :)
37 - 40). If you want to modify the overall shape of the extension - on an individual basis, select all faces relevant to the part to be modified and apply Face | Scale -> Z (RMB option) and select a mid way element (central edge, mid-point 'hot spot' of same shown in yellow) to define the scale origin plane.
Execute op and drag to suit.
Modifying a gutter position.

41). Select the 'gutter' edge to be modified.
42). Apply Edge | Move -> RMB option and select the edge shown (red) which defines the move axis (yellow arrow)
43). Execute the move op and drag the edge to its new position.
44 - 46). Do a Flatten -> Z  op to re-true up the wall that has been distorted, using the RMB option (as before), choosing a suitable element for the correct plane (vert in vellow)


The above gives some idea of the basic ops likely to be involved in this sort of thing - this is only one way to tackle this topic (as usual) - but whatever method you use, keep in mind the relevant important planes and you'll probably be ok :)

All of the above is much quicker to actually 'do' than write about - and the techniques can obviously be applied to scenarios other than roofs and houses, of course.
1