# Sweet Home 3d There are three schools of thought on how to go about decorating a room: 1. Buy a bunch of furniture and cram it into the room 2. Take careful measurements of each item of furniture, calculate theoretical capacity of the room, and then cram it all in, ignoring the fact that you've placed a bookshelf on top of your bed 3. Use a computer for pre-visualization Traditionally, I practiced the little-known fourth principle: don't have furniture. However, since I became a remote worker, I've found that a home office needs conveniences like a desk and a chair, a bookshelf for reference books and tech manuals, and so on. As a result, I have been formulating a plan to populate my live and work space with actual furniture, made of actual wood rather than milkcrates (or glue and sawdust, for that matter), with an emphasis on *plan*. The last thing I want is to bring home a great find from a garage sale only to find that it doesn't fit through the door, or else that it's oversized compared to another item of furniture. It was time to do what the professionals do. It was time to pre-viz. ## Open source interior design [Sweet Home 3D](http://www.sweethome3d.com/) is an open source (GPL 2) interior design application that helps you draw the plan of your house, and then define, resize, and arrange furniture. You can do all of this with precise measurements down to fractions of a centimeter, without doing any math yourself, and with the ease of basic drag-and-drop operations. And when you're done, you can view the results in 3D. If you can create a basic table (not the furniture kind) in a word processor, you can plan the design of your home in **Sweet Home 3d**. ## Installing **Sweet Home 3d** is a [Java](https://opensource.com/resources/java) application, so it's universal. It runs on any operating system that can run Java, which includes Linux, Windows, Mac, and BSD. Regardless of your OS, you can download the application from [sweethome3d.com](http://www.sweethome3d.com/download.jsp). On Linux, [untar](https://opensource.com/article/17/7/how-unzip-targz-file) the archive. Right-click on the **SweetHome3D** file and select **Properties**. In the **Permission** tab, grant the file executable permission. On Mac and Windows, expand the archive and launch the application. You must grant it permission to run on your system when prompted. On Linux, you can also choose to install **Sweet Home 3d** as a Snap package, provided you have ``snapd`` installed and enabled. ## Measures of success First thing first: break out your measuring tape. To get the most out of **Sweet Home 3d**, you must know the actual dimensions of the living space you're planning for. You may or may not need to measure down to the millimeter or 16th-of-an-inch; you know your own tolerance for variance. But you must get the basic dimensions, keeping in mind that you should measure walls and windows and doors. Use your best judgement for common sense. For instance, When measuring doors, include the door frame; while it's not technically part of the *door* itself, it is part of the wall space that you probably don't want to cover with furniture. ![Measuring](sweethome3d-measure.jpg) ## Creating a room When you first launch **Sweet Home 3d**, it opens a blank canvas in its default viewing mode: a blueprint view in the top panel, and an 3d render in the bottom panel. On my Slackware desktop computer, this works famously, but my desktop is also my video editing and gaming computer, so it's got a great graphics card for 3d rendering. On my laptop, this view was a lot slower. For best performance (especially on a computer not dedicated to 3d rendering), go to the **3D view** menu at the top of the window and select **Virtual visit**. This view mode renders your work from a ground-level point of view based on the position of a virtual visitor. That means you get to control what is rendered, and when. It makes sense to switch to this view regardless of the power of your computer, because an aerial 3d render doesn't actually provide you with much more detail than what you have in your blueprint plan. Once you have changed the view mode, you can start designing. The first step is to define the walls of your home. This is done with the **Create walls** tool, found to the right of the **Hand** icon in the top toolbar. Drawing walls is simple: click where you want a wall to begin, click to anchor it, and continue until your room is complete. ![Drawing walls](sweethome3d-walls.jpg) Once you close the walls, press **Escape** to exit the tool. ### Defining a room **Sweet Home 3d** is flexible on how you create walls. You can draw the outer boundary of your house first, and then subdivide the interior, or you can draw each room as conjoined "containers" that ultimately form the footprint of your house. This flexibility is possible because, in real life and in **Sweet Home 3d**, walls don't always define a room. To define a room, you use the **Create rooms** button to the right of the **Create walls** button in the top toolbar. If the floor of a room is indeed defined by four walls, then all you need to do to define that enclosure as a room is double-click within the four walls. **Sweet Home 3d** defines the space as a room and provides you with the area of the room in feet or meters, depending on your preference. For irregular rooms, you must manually define each corner of the room with a click. Depending on the complexity of the room shape, you may have to move experiment to find whether you need to work clockwise or anti-clockwise from your origin point to avoid quirky Möbius-strip flooring. Generally, however, defining the floor space of a room is straight-forward. ![Defining rooms](sweethome3d-rooms.jpg) After a room has been given a floor, you can change to the **Arrow** tool and double-click on the room to give it a name. In addition to a name, you can set the color of the carpet or flooring, the walls, ceiling, and baseboards. None of this is rendered in your blueprint view by default. To enable room rendering in your blueprint panel, go to the **File** menu and select **Preferences**. In the **Preferences** panel, set **Room rendering in plan** to **Floor color or texture**. ## Doors and windows Once you've finished the basic floor plan, you can switch permanently to the **Arrow** tool. Doors and windows exist in the left column of the **Sweet Home 3d** window in the **Doors and Windows** category. You have many choices, so choose whatever is closest to what you have in your home. ![Moving a door](sweethome3d-move.jpg) To place one in your plan, drag-and-drop a door or window to the appropriate wall in your blueprint panel. To adjust the position and size, double-click the door or window. ## Adding furniture With the base plan complete, the part of the job that feels like *work* is over! From this point onward, you get to play with furniture arrangement and other décor. Furniture is available in the left column, organized by the room for which each is intended. You can drag-and-drop any item into your blueprint plan, and control orientation and size with the tools visible when you hover your mouse over the corners of the item. Double-click on any item to adjust its color and finish. ## Visiting and exporting To see what your future home will look like, drag the icon of the person in your blueprint view into a room. ![Visiting your new home](sweethome3d-view.jpg) You can strike your own balance between realism and just getting a feel for space, but your imagination is your only limit. You can download additional assets to add into your home from the **Sweet Home 3d** [download page](http://www.sweethome3d.com/download.jsp). You can even create your own furniture and textures with the **Library Editor** applications, which are optional downloads from the project site. **Sweet Home 3d** can export your blueprint plan to the SVG format for use in [Inkscape](http://inkscape.org), and it can export your 3d model to the OBJ format for use in [Blender](http://blender.org). To export your blueprint, go to the **Plan** menu and select **Export to SVG format**. To export a 3d model, go to the **3D View** menu and select **Export to OJB format**. You can also take "snapshots" of your home so that you can refer to your ideas without opening **Sweet Home 3d**. To create a snapshot, go to the **3D View** menu and select **Create photo**. The snapshot is rendered from the perspective of the person icon in the blueprint view, so adjust as required, and then click the **Create** button in the **Create photo** window. If you're happy with the photo, then click **Save**. ## Home sweet home There are many more features in **Sweet Home 3d**. You can add a sky and a lawn, you can position lights for your photos, set ceiling height, add another storey to your house, and much more. Whether you're planning for a flat you're renting, or a house you're buying, or a house that doesn't even exist, **Sweet Home 3d** is an engaging and easy application that can entertain you and help you make better purchasing choices when scurrying around for furniture so you can finally stop eating breakfast at the kitchen counter and working whilst crouched on the floor.