You are on page 1of 12

How to create a multi-level house

in 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
Note

WithSweetHome3Dversion3.4anewfeaturewasadded:PlanAddlevel.
Thisallowsyoutocreateamultileveldesigndirectlywithintheprogram.

Thatmeansyoudonotneedtofollowthistutorialtocreateamultileveldesign,although
theproceduresdescribedinthistutorialcanbeuefulinspecialsituations.

2
HowtocreateamultilevelhouseinSweetHome3D

ManypeopleontheS weet
Home
3Dforumaskquestionsaboutlayers,splitlevelhomes,secondfloors,
roofsetc.Theanswerisno,noandno.NoneoftheseispossibleinthecurrentversionofSH3D
(version3.0).Nevertheless,thereareworkaroundsthatmakeitpossibletocreatemanyhomesthat
seemimpossibletomake.Clickhereandheretoseepicturesofsomeexamples.

Scopeofthisguide
Thisguidediscusses:
howyoucanbuildapartofanobject(inthiscaseahouse)
howyoucanexportthatpartasanOBJfile
howyoucanimportitasafurnitureelement
howyoucanassembletheseelementsintoacomplexobject,thatcouldnothavebeenconstructed
usingthestandardtoolsavailableinSweetHome3Dversion2.2.

Note
ThisguideassumesthatyouhavetheCopyAsNewFurnitureplugin,aswellasthe
AdvancedEditplugininstalled.
Seethe
plugintutorialonhowtoinstallandusetheseplugins.

I'lldiscussthefirstofthetwoexamplesandshowhowIsolvedsomeoftheconstructionproblems.The
entirehouseconsistsoffiveblocks:
thegroundfloorplusthefourOBJblocks Layer0
thefrontpartofthefirstfloor* LayerL1a
therearpartofthefirstfloor * LayerL1b
thefrontpartoftheroof* LayerL2a
therearpartoftheroof* LayerL2b

*ThisfileisexportedasanOBJfileandusedinLayer0
Clickonthelinkstodownloadthefiles.

Layer0 showsthedetailsofthegroundfloorandeverythingthatisbeneaththefloortextureof
thefirstfloor;inthisfile,fourOBJfileshavebeenimportedthatformtherestofthe
house;toseeallthedetails,youshouldinspecttheotherfilesaswell;
LayerL1a showsthedetailsoftherectanglethatformsthefrontofthehouseonthefirstfloor;it
hasbeenexportedasanOBJfileandusedinLayer0;youcanusethisfiletosee
howit's done.
LayerL1b showsthedetailsoftherectanglethatformsthebackofthehouseonthefirstfloor;it
hasbeenexportedasanOBJfileandusedinLayer0;youcanusethisfiletoseehow
it's done.
LayerL2a showsthedetailsoftherectanglethatformsthefrontpartoftheroof;ithasbeen
exportedasanOBJfileandusedinLayer0;youcanusethisfiletoseehowit'sdone.

3
LayerL2b showsthedetailsoftherectanglethatformsthebackpartoftheroof;ithasbeen
exportedasanOBJfileandusedinLayer0;youcanusethisfiletoseehowit'sdone.

Toimport
anOBJfileuseFurnitureImportfurniture...

Whyfiveblocks?

Acuttingupvertically

Ifyouhavearelativelysimpledesign,youcouldinsertaboxthatfunctionsasceilingandfloor,andput
allfurnitureontopofthebox.Butifyouwanttomakesomethingmorecomplex,you'llsoonfindthat
it'snotareallygoodsolution.

So,abettersolutionwouldbetodesigneachfloorasaseparateprojectandthenstackthemtobuild,or
assemble,yourhouse.Inthiswayyourhousecanhaveasmanyfloorasyoulike,aslongasyoudon't
gohigherthan24,999meters.

AproblemyouencounterwhenyouexportyourfloorasanOBJisthatSH3Dautomaticallyinsertsa
floorevenifyoudidn'tdrawit.Aslongasyoudrawperfectlyrectangularfloors,thisisn'taproblem,
buteverydeviationfromtherectanglewillshowupasazerothicknesswhitefloorthatsurrounds
partofyourdesigntomakeitrectangular.

However,whenyouuseCopyAsNewFurniture,thisfalsefloorisn'tgenerated,andyoucancopyand
insertacleanblock.

So,whenyoustarttodesignyourproject,youfirsthavetodecidehowtocutupyourmodelin
rectangularbuildingblocksthatyoucanstackwithoutseeingtheseamsafterassembly.

Bcuttinguphorizontally

Whendecidingaboutthehorizontalsectionsofyourprojectthereareafewthingsyouhavetobearin
mind:
TexturesonfloorsTexturesadherealwaystofloors,soforeverylevelonwhichyouwanta
texture,youwillhavetocreateanewhorizontalsection.
TexturesonwallsYoucan'tstacktexturesonawall.Soifyouwantthelowerpartofawall
tohaveadifferenttextureorcolorthantheupperpart,youwillhavetocreatethatwallintwo
horizontalsections.Anotherwaytoachievethis,ismakingaspecialtexture,asexplainedin
thisguide).
Ceilingsworkfinewhenallwallsofaroomhavethesameheight.Inthecurrentversion,
ceilingsworkmoreorlessfinewhentwooppositewallshavethesameslope(asdemonstrated
hereandhere).Ceilingsdon'tworkverywellinmostothercases,soyouwillhavetoinvent
yourownsolutions.

4
Drawingthegeneralfloorplan

Firstwestartbydrawingthebasicfloorplan.IcallitL0(asin:layerzero)anduseitasareference
file,Idrawallthewallsinit,theoutlineforterracesand/orpatiosandeverythingelsethatIwillneed.
Itisveryimportantthatyoudothisverycarefully,becauseallsectionsofthehousewillusethisfileas
atemplate.Youcan'tmakechangestowallslateron,becausethenthingswillnotlineupcorrectly
whenyoudothefinalassemblingofyourhouse.Seepicture1.

Illustration1:Layer0

Note:Correctingcorners&compensatingwallthickness

WhenyoudrawwallsinSH3D,theprogramwillautoconnectthecornersaslongasyou
keepdrawingthewallsinacontinuousway.Ifyouwantthatthelastwallconnectswith
thefirstwallofthatseries,youhavetodoubleclickcarefullyontheendofthefirstwall
(thefirstwallgetsselectedduringthedrawingtoshowyouitwillbeconnectedtothe
currentwall).Ifthelastwallisn'tconnectedtothefirstwall,orifyoucan'tconnectawall
toanotherone(forexamplebecausetheendofthatwallisalreadyconnectedtoanother
wall),thisproducesajaggedcorner.Ifyouwantyourrenderingstoshowperfectlysmooth
corners,withoutthejaggededges,youwillhavetomanuallycorrectthelengthofthefirst
and/orlastwall.

Thebestwaytodoso,istousethefunctionPlanConnectwallsoftheAdvancedEdit
plugin.

IfindthattheonlywaytomakeagooddrawingisenteringtheexactX,Ycoordinatesby
hand.Thiscanbeachieveddirectlybyenteringthelengthandangleofeachwallduringthe
drawingofwalls(bypressingtheEnterkey),ormanuallybycorrectingthecoordinates
afterdrawingthewall(s).

5
Drawingthegroundfloorlevel

OpenLayer 0andsaveitasLayer 1.Onthislayerwewillshoweverythingthatisunderneaththe


textureofthefirstfloor.Becauseit'saraisedhouse,hereyouwillputthefoundation,theground
textures,etc.Seepicture2.

Illustration2:Layer1

Thislayercontainsninerooms.
threegrassrooms
fivepavementrooms
onegravelroom

Allroomsweredrawnbyhand.SH3Dprovidesseveralmagneticaidestohelpyoupositionthecursor.
Whenthecursorlinesupwithawallyoucanseeasmalllinewhenitlinesupwiththecenteror
sideofawall,oryoumayseealonglinewhenitlinesupwithapointfurtheraway
Whenthecursorlinesupwithacornerorintersectionyouwillseeacrosshair,oryoumaysee
apurplishdotaroundthecursor.
Makesureroomsdon'toverlap,becausethiswillcausestrangeglitchesfromtherenderengine.
So,aftermakingaroughfirstdraught,zoominandcarefullycheckeverylineandcorner.

6
Tip:perfectrooms
Tomakeperfectlyfittingrooms,youmayusePlanEditroompointsoftheplugin
AdvancedEdit.Seethe
pluginmanualtolearnhowtoinstallanduseit.

Tip:betterillumination
Thereasonthattherearefourgravelroomsunderthebuildingistoaddlightinthe
rendering.Whenyoumakeaphoto(3DviewCreatephoto...)thetwohighestquality
settingswilltakeintoaccountonelightineveryroom.Foralargeroom,thelightwillbe
stronger,butitmaystillresultindarkcornersandunnaturalshading.Dividetheroomin
severalsmallerroomsandeachsectionwillhavealightsourceatitscenter.Notethatthis
onlyworkswhenDisplayceiling ischecked.Seepicture3.

Illustration3:Displayceilingisalightswitch

7
Illustration4:FalsefloorinexportedOBJ

Drawingthefirstfloor

Todrawthefirstraisedfloor,loadtheLayer 0fileagain.Becausethefirstfloorwillconsistoftwo
blocks,youwillneedtosavethefiletwice,asLayer 1aandasLayer 1b.

UsingthefileLayer 1adeleteallfeaturesintherightpartofyourdesign.Repeattheprocessusing
thefileLayer 1b,whereyoudeleteallfeaturesontheleftpartofyourdesign.Seepicture5and6.

Note:orientationoftextures
SH3Ddoesn'thaveanoptiontorotatetextures.Aworkaroundwouldbetoimportatexture
twice,withthesecondtexturerotated90degrees.

8
Illustration5:Layer1a

Illustration6:Layer1b

9
Wenowhavethebasicbuildingblocksofthefirstfloorofourhouse.It'stimetoaddsomedetails.

Illustration7:Invisiblewallopeningtoraiseawall

Theinvisiblewallopening

Wallsalwaysstartonthefloor.Thatseemsobvious,butsometimesyouwantyourwall
tostartabovethegroundlevel.Forthis(anymanyotherthings)weusetheinvisiblewall
opening.Youcandownloadthefilehere.

Basicallythisobjectresemblestheservicehatch,butitswallsarethinnerandit'smade
invisiblethroughmanipulatingtheMTLfile.Thelastline(d 0.0)doesthetrick:

newmtl piece_1_piece_a_1_1
illum 9
Ka 0.78125 0.78125 0.78125
Kd 0.78125 0.78125 0.78125
Ks 0.78125 0.78125 0.78125
Ns 64.0
d 0.0

10
Ifyoulookattheillustrationabove,youwillseethatthere'sagapbeneaththewallat
left.Thatiswheretheinvisiblewallopeningwent.Toavoidglitchesintherendering,let
invisiblewallopeningsextend0.5cmsbeyondtheendofthewall.

Ifyoulookattheillustrationbelow,you'llseeanotherplacewhereIusedtheinvisible
wallopening.It'sawallwithtwonormalwindowsinserted.Inbetweenthere'san
invisiblewallopening,andintothatopeningIinsertedarotatednoninsertingwindow.
Seepicture8.

Illustration8:Invisiblewallopeningwithdoor

Fillinginthedetails

ThedetailsonLevel1aareprettystraightforward.Youcanexaminethefilestoseehowthingsare
done.Thelowwindowsjustbeneaththeceilingarenoninsertingwindowsthatfloatinmidair.Allthe
ceilingsarejustboxes.Seepicture9.

11
Illustration9:Level1a,backside

Tip:Useagrid
Whendesigningyourhouse,usingagridmakeslifeeasier.Grid,inthiscase,meansasetof
repeatingmeasuresandsizes.ThisBradPitthousewasoriginally(probably)designedon
a3x3footgrid:allwallsareplacedonmultiplesof3feet,windowsaremultiplesof3feet
wide,etcetera.Thismakescalculatingdistancesmucheasier,whichinturnwillmakethe
assembledbuildingblocksfitbetter.

Assemblingyourcomponents
Whenthefirstfloorisready,wecancopyit.Selectthepartofyourdesignthatyouwanttocopy,and
clickToolsCopyasnewfurniture.Thiscopiestheselection.UseEditPaste(orrightclick+
Paste,orCTRLV)toinsertthecopyintoyourdesign.Thecopywillbeinsertedexactlyonthesame
spotastheoriginal.NowuseModifytochangetheelevation,sothatthissegmentappearsatthecorrect
height,andchangetheX,Ycoordinatestoplaceitexactlyabovethegroundfloor.Repeatthis
proceduresfortheotherbuildingblocks.

TheeasiestwaytoassembleyourhouseistohavemultiplecopiesofSH3Dopenatthesametime.
UsingCopyAsNewFurnitureyoucreatethebuildingblocks,andthenyouswitchtoanothercopyof
SH3DwhereyouPasteittoassembleyourbuilding.

12

You might also like