Professional Documents
Culture Documents
Multilevel House Guide
Multilevel House Guide
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.5 - December 2010 for SH3D v3.0 + plug-ins
HowtocreateamultilevelhouseinSweetHome3D ManypeopleontheS weet ome H 3Dforum askquestionsaboutlayers,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. Seetheplugintutorialonhowtoinstallandusetheseplugins. I'lldiscussthefirstofthetwoexamplesandshowhowIsolvedsomeoftheconstructionproblems.The entirehouseconsistsoffiveblocks: thegroundfloorplusthefourOBJblocks Layer0 thefrontpartofthefirstfloor* LayerL1a therearpartofthefirstfloor * LayerL1b thefrontpartoftheroof* LayerL2a therearpartoftheroof* LayerL2b *ThisfileisexportedasanOBJfileandusedinLayer0 Clickonthelinkstodownloadthefiles. Layer0 LayerL1a LayerL1b LayerL2a showsthedetailsofthegroundfloorandeverythingthatisbeneaththefloortextureof thefirstfloor;inthisfile,fourOBJfileshavebeenimportedthatformtherestofthe house;toseeallthedetails,youshouldinspecttheotherfilesaswell; showsthedetailsoftherectanglethatformsthefrontofthehouseonthefirstfloor;it hasbeenexportedasanOBJfileandusedinLayer0;youcanusethisfiletoseehowit's done. showsthedetailsoftherectanglethatformsthebackofthehouseonthefirstfloor;it hasbeenexportedasanOBJfileandusedinLayer0;youcanusethisfiletoseehowit's done. showsthedetailsoftherectanglethatformsthefrontpartoftheroof;ithasbeen exportedasanOBJfileandusedinLayer0;youcanusethisfiletoseehowit'sdone. 2
LayerL2b
showsthedetailsoftherectanglethatformsthebackpartoftheroof;ithasbeen exportedasanOBJfileandusedinLayer0;youcanusethisfiletoseehowit'sdone.
ToimportanOBJfileuseFurnitureImportfurniture... 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.
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).
Illustration2:Layer1 Thislayercontainsninerooms. threegrassrooms fivepavementrooms onegravelroom Allroomsweredrawnbyhand.SH3Dprovidesseveralmagneticaidestohelpyoupositionthecursor. Whenthecursorlinesupwithawallyoucanseeasmalllinewhenitlinesupwiththecenteror sideofawall,oryoumayseealonglinewhenitlinesupwithapointfurtheraway Whenthecursorlinesupwithacornerorintersectionyouwillseeacrosshair,oryoumaysee apurplishdotaroundthecursor. Makesureroomsdon'toverlap,becausethiswillcausestrangeglitchesfromtherenderengine. So,aftermakingaroughfirstdraught,zoominandcarefullycheckeverylineandcorner.
Illustration3:Displayceilingisalightswitch
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.
Illustration5:Layer1a
Illustration6:Layer1b
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 9
Illustration8:Invisiblewallopeningwithdoor
10
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.
11