New Projects - Fresh from the Labs

Sweet Home 3D—Interactive Home Design (

This nifty program caused quite a storm at some time ago, but now that the publicity has died down, I'd like to put it back in the spotlight. As an unusually easy-to-use 3-D design program, this is a project I've wanted to cover for some time.

To quote the Web site: “Sweet Home 3D is a free interior design application that helps you place your furniture on a house 2-D plan, with a 3-D preview.”

As soon as you start drawing walls on your blueprint, the house starts taking shape in the pane below it.

An example file for new users shows off some design possibilities, such as trees and a swimming pool.

If you export as a picture, Sweet Home 3D can enhance the image greatly. Here's a spectacular design, copyright Whippetsleek.


As far as library requirements go, I couldn't find much in the documentation aside from Java and working OpenGL drivers. However, even Java might not really be needed, as there's a Java Runtime Environment folder contained in the given tarball, so perhaps Sweet Home 3D will run without it being locally installed.

When it actually comes to downloading and running Sweet Home 3D, this is one of the easiest program I've come across. Go to the Web site and head to the Download section. There you'll find a choice of 32-bit and 64-bit tarballs, with a source tarball also available at the bottom of the page.

Download the appropriate tarball for your system and extract it. In most modern file managers, you should be able to enter the new folder and click on the SweetHome3D file to run the program. However, if that doesn't work, open a terminal in the new folder, and enter:

$ ./SweetHome3D


Before I continue, I should mention that the Web site has a fantastic video tutorial that will unlock the working ideals of this program very quickly. The first thing it recommends is starting off with a blueprint image, and you then can draw over the top of it. You don't need one, but seriously, get one if you can.

To use the blueprint, from the main menu, choose Plan→Import background image. Choose the picture you want to import, and next you need to define the physical size from one end of the house to the other. You need the house's measurements for this, and there's a blue line below, which you drag onto one end of the house to the other. Although the default choice is in centimeters, it can be changed either to meters or millimeters, or you can set it to use the imperial system.

Next, you need to “Define the origin of the image, by clicking in its location below”. See that blue thing in the top-left corner? Drag it over to the top-left corner of the house (you may want to maximize this window to place it more accurately).

Once you've made your way through these dialogs, choose the Create walls button, and click on the edge of a wall in the blueprints to start drawing. Each click you make defines a corner and allows the wall to change direction. When you reach the end of a wall, such as an archway for instance, either double-click or press the Esc button. Click the mouse again at the start of the next wall to resume the process. As you draw walls over the 2-D image, you'll see a 3-D house begin to take shape in the pane below it.

Doors and windows can be dragged from the pane on the left to the main plans on the right. Sweet Home 3D is exceedingly clever at working out how long a door or window should be, as well as which way it should open—the program actually works it out on the fly as you hover your mouse over different sections of the house. Even if you get the placement wrong, each object has its own mini-UI for readjusting the placement.

The Create rooms button allows you to define individual rooms within the house (cleverly independent of whether walls are there to define the area). This function's main use is really for things like texture and color, where one room can have different walls and flooring from another.

The left pane also has a selection of household items, such as chairs, washing machines and so on. If you're copying the layout of your own house, this is a great tool for testing out how a new item is likely to fit or look in your room before you actually buy it.

The coolest feature is that the bottom pane on the right actually lets you fly around your house using the mouse wheel or arrow keys, and you even can take snapshots or record a video.

Ultimately, Sweet Home 3D was designed by passionate people who knew what they were doing. The UI takes certain liberties in 3-D design controls, fast-tracking you with areas that will make a house and leaving out some unnecessary clutter that often makes 3-D design a complete headache. This is one cool project.


John Knight is the New Projects columnist for Linux Journal.