How to create a multi-level housein Sweet Home 3D

A guide for users who want to design a house with more than one floor,or who want explore the full potential of Sweet Home 3D.

© Hans Dirkse
version 0.4 - January 12, 2010 for SH3D v2.2
version 0.6 - February 2012 for SH3D v3.4 + plug-ins

1NoteWith Sweet Home 3D version 3.4 a new feature was added: Plan → Add level.
This allows you to create a multi­level design directly within the program.
That means you do not need to follow this tutorial to create a multi­level design, although
the procedures described in this tutorial can be ueful in special situations.

2How to create a multi­level house in Sweet Home 3D
Many people on the Sweet Home 3D forum ask questions about layers, split­level homes, second floors,
roofs etc. The answer is no, no and no. None of these is possible in the current version of SH3D
(version 3.0). Nevertheless, there are workarounds that make it possible to create many homes thatseem impossible to make. Click here and here to see pictures of some examples.
Scope of this guideThis guide discusses:­ how you can build a part of an object (in this case a house)­ how you can export that part as an OBJ­file­ how you can import it as a “furniture” element­ how you can assemble these elements into a complex object, that could not have been constructedusing the standard tools available in Sweet Home 3D version 2.2.
NoteThis guide assumes that you have the CopyAsNewFurniture plug­in, as well as theAdvancedEdit plug­in installed.
See the plug­in tutorial on how to install and use these plug­ins.
I'll discuss the first of the two examples and show how I solved some of the construction problems. The
entire house consists of five blocks:− the ground floor plus the four OBJ­blocks
Layer 0− the front part of the first floor *Layer L1a
− the rear part of the first floor *Layer L1b
− the front part of the roof *Layer L2a− the rear part of the roof *Layer L2b
* This file is exported as an OBJ­file and used in Layer 0
Click on the links to download the files.
Layer 0Layer L1a
how it's
Layer L1b
it'sLayer L2ashows the details of the ground floor and everything that is beneath the floor texture of
the first floor; in this file, four OBJ­files have been imported that form the rest of thehouse; to see all the details, you should inspect the other files as well;shows the details of the rectangle that forms the “front” of the house on the first floor; ithas been exported as an OBJ­file and used in Layer 0; you can use this file to see
done.
shows the details of the rectangle that forms the “back” of the house on the first floor; it
has been exported as an OBJ­file and used in Layer 0; you can use this file to see howdone.
shows the details of the rectangle that forms the “front” part of the roof; it has been
exported as an OBJ­file and used in Layer 0; you can use this file to see how it's done.
3

Layer L2bshows the details of the rectangle that forms the “back” part of the roof; it has been
exported as an OBJ­file and used in Layer 0; you can use this file to see how it's done.

To import an OBJ­file use Furniture → Import furniture...
Why five blocks?
A ­ cutting up verticallyIf you have a relatively simple design, you could insert a box that functions as ceiling and floor, and put
all furniture on top of the box. But if you want to make something more complex, you'll soon find thatit's not a really good solution.
So, a better solution would be to design each floor as a separate project and then stack them to build, or
assemble, your house. In this way your house can have as many floor as you like, as long as you don't
go higher than 24,999 meters.
A problem you encounter when you export your floor as an OBJ is that SH3D automatically inserts afloor even if you didn't draw it. As long as you draw perfectly rectangular floors, this isn't a problem,but every “deviation” from the rectangle will show up as a “zero thickness” white floor that surrounds
part of your design to make it rectangular.
However, when you use CopyAsNewFurniture, this false floor isn't generated, and you can copy andinsert a clean block.
So, when you start to design your project, you first have to decide how to cut up your model inrectangular building blocks that you can stack without seeing the seams after assembly.
B ­ cutting up horizontally
When deciding about the horizontal sections of your project there are a few things you have to bear inmind:− Textures on floors ­ Textures adhere always to floors, so for every level on which you want atexture, you will have to create a new horizontal section.
− Textures on walls ­ You can't “stack” textures on a wall. So if you want the lower part of a wall
to have a different texture or color than the upper part, you will have to create that wall in two
horizontal sections. Another way to achieve this, is making a special texture, as explained inthis guide).
− Ceilings work fine when all walls of a room have the same height. In the current version,ceilings work more or less fine when two opposite walls have the same slope (as demonstrated
here and here). Ceilings don't work very well in most other cases, so you will have to invent
your own solutions.

4Drawing the general floor plan
First we start by drawing the basic floor plan. I call it “L0” (as in: layer zero) and use it as a reference
file, I draw all the walls in it, the outline for terraces and/or patios and everything else that I will need.
It is very important that you do this very carefully, because all sections of the house will use this file asa template. You can't make changes to walls later on, because then things will not line up correctly
when you do the final assembling of your house. See picture 1.

Illustration 1: Layer 0
Note: Correcting corners & compensating wall thickness
When you draw walls in SH3D, the program will auto­connect the corners as long as you
keep drawing the walls in a continuous way. If you want that the “last” wall connects withthe first wall of that series, you have to double­click carefully on the end of the first wall(the first wall gets selected during the drawing to show you it will be connected to thecurrent wall). If the last wall isn't connected to the first wall, or if you can't connect a wall
to an other one (for example because the end of that wall is already connected to an otherwall), this produces a jagged corner. If you want your renderings to show perfectly smoothcorners, without the jagged edges, you will have to manually correct the length of the firstand/or last wall.
The best way to do so, is to use the function Plan → Connect walls of the AdvancedEdit
plug­in.
I find that the only way to make a good drawing is entering the exact X,Y coordinates byhand. This can be achieved directly by entering the length and angle of each wall during thedrawing of walls (by pressing the Enter key), or manually by correcting the coordinates
after drawing the wall(s).

5Drawing the ground floor level
Open Layer 0 and save it as Layer 1. On this layer we will show everything that is underneath thetexture of the first floor. Because it's a raised house, here you will put the foundation, the groundtextures, etc. See picture 2.

Illustration 2: Layer 1
This layer contains nine rooms.
− three grass rooms− five pavement rooms− one gravel room
All rooms were drawn by hand. SH3D provides several magnetic aides to help you position the cursor.
− When the cursor lines up with a wall you can see a small line when it lines up with the center orside of a wall, or you may see a long line when it lines up with a point further away
− When the cursor lines up with a corner or intersection you will see a cross­hair, or you may see
a purplish dot around the cursor.
− Make sure rooms don't overlap, because this will cause strange glitches from the render engine.
So, after making a rough first draught, zoom in and carefully check every line and corner.

6Tip: perfect rooms
To make perfectly fitting rooms, you may use Plan → Edit room points of the plug­inAdvancedEdit. See the plug­in manual to learn how to install and use it.

Tip: better illumination
The reason that there are four gravel rooms under the building is to add light in therendering. When you make a photo (3D view → Create photo...) the two highest quality
settings will take into account one light in every room. For a large room, the light will bestronger, but it may still result in dark corners and unnatural shading. Divide the room inseveral smaller rooms and each section will have a light source at its center. Note that this
only works when Display ceiling is checked. See picture 3.

Illustration 3: “Display ceiling” is a “light switch “7Illustration 4: “False” floor in exported OBJ
Drawing the first floor
To draw the first raised floor, load the Layer 0 file again. Because the first floor will consist of two
blocks, you will need to save the file twice, as Layer 1a and as Layer 1b.
Using the file Layer 1a delete all features in the right part of your design. Repeat the process using
the file Layer 1b, where you delete all features on the left part of your design. See picture 5 and 6.
Note: orientation of textures
SH3D doesn't have an option to rotate textures. A workaround would be to import a texture
twice, with the second texture rotated 90 degrees.

8Illustration 5: Layer 1aIllustration 6: Layer 1b9

We now have the basic building blocks of the first floor of our house. It's time to add some details.

Illustration 7: Invisible wall opening to raise a wall
The invisible wall opening
Walls always start on the floor. That seems obvious, but sometimes you want your wall
to start above the ground level. For this (any many other things) we use the invisible wallopening. You can download the file here.
Basically this object resembles the service hatch, but its walls are thinner and it's madeinvisible through manipulating the MTL­file. The last line (d 0.0) does the trick:newmtl piece_1_piece_a_1_1
illum 9Ka 0.78125 0.78125 0.78125
Kd 0.78125 0.78125 0.78125
Ks 0.78125 0.78125 0.78125
Ns 64.0d 0.0
10If you look at the illustration above, you will see that there's a gap beneath the wall atleft. That is where the invisible wall opening went. To avoid glitches in the rendering, letinvisible wall openings extend 0.5 cms beyond the end of the wall.
If you look at the illustration below, you'll see another place where I used the invisible
wall opening. It's a wall with two “normal” windows inserted. In between there's aninvisible wall opening, and into that opening I inserted a rotated non­inserting window.
See picture 8.

Illustration 8: Invisible wall opening with door
Filling in the details
The details on Level 1a are pretty straightforward. You can examine the files to see how things are
done. The low windows just beneath the ceiling are non­inserting windows that float in mid­air. All theceilings are just boxes. See picture 9.

11Illustration 9: Level 1a, backside
Tip: Use a grid
When designing your house, using a grid makes life easier. Grid, in this case, means a set ofrepeating measures and sizes. This “Brad Pitt” house was originally (probably) designed on
a 3x3 foot grid: all walls are placed on multiples of 3 feet, windows are multiples of 3 feetwide, etcetera. This makes calculating distances much easier, which in turn will make theassembled building blocks fit better.

Assembling your components
When the first floor is ready, we can copy it. Select the part of your design that you want to copy, andclick Tools → Copy as new furniture. This copies the selection. Use Edit → Paste (or right­click +Paste, or CTRL­V) to insert the copy into your design. The copy will be inserted exactly on the same
spot as the original. Now use Modify to change the elevation, so that this segment appears at the correctheight, and change the X,Y coordinates to place it exactly above the ground floor. Repeat thisprocedures for the other building blocks.
The easiest way to assemble your house is to have multiple copies of SH3D open at the same time.
Using CopyAsNewFurniture you create the building blocks, and then you switch to another copy ofSH3D where you Paste it to assemble your building.

12