Sweet Home 3D
version 2.6 and later

Tutorialfor

Plug-ins
andExtensions

Hans Dirkse - october 2010
version 1.6 - february 2015
(updated by Emmanuel Puybaret)IndexA - Intro
B - How to install a plug-in
C - How to uninstall a plug-in
D - How to use plug-ins
E - Available plug-ins and downloads
F - Stand-alone extensions
G - Tutorials for Plug-ins
1 - Rotate Home2 - Export to SH3F
3 - Advanced Editing
4 - Copy as new furniture
5 - Duplicate Style
6 - Advanced rendering plug-ins
a - Advanced Rendering Über Shader v1.6
b - Advanced Rendering Mini v1.6.1
c - Advanced Rendering Classic v1.6.1
7 - Calculate walls surface
H - Tutorials for stand-alone extensions
1 - Library Editor

A - Intro
The features of SweetHome3D may be extended thanks to plug-ins, that you may even develop
yourself if you're able to program in Java. A plug-in is a file with the extension SH3P stored in
the plug-ins folder of SweetHome3D.
The aim of this tutorial is to provide information about all available plug-ins and stand-alone
programs that extend the functionality of SweetHome3D.

B - How to install a plug-in
1 - Windows
To install a SH3P file in the plug-in folder, simply double-click the file.
2 - Mac OS X
To install a SH3P file in the plug-in folder, simply double-click the file.
3 - Linux
Under Linux, you'll have to copy the SH3P file in the subfolder.eteks/sweethome3d/plugins

of your user folder if the double-click doesn't work.
You can find this folder by typing CTRL-H to display the hidden folders.
If the folder doesn't exist, you can easily create it in the root of your Home Folder, as follows:- create a folder called .eteks (the "." is important!)- create a subfolder sweethome3d- create a subfolder plugins.

Note: RotateHome plug-in
For Windows and Mac OS X
This plug-in is packed as a ZIP file. First extract the plug-in file from thecompressed ZIP folder, then proceed as described above.

C - How to uninstall a plug-in
1a - Windows Vista and Windows 7 / 8
Remove the plug-in from the folder
C:\Users\user\AppData\Roaming\eTeks\Sweet Home 3D\plugins

1b - Windows XP and previous versions of Windows
Remove the plug-in from the folder
C:\Documents and Settings\user\Application Data\eTeks\Sweet Home 3D\plugins

2 - Mac OS X
Remove the plug-in from the subfolder
Library/Application Support/eTeks/Sweet Home 3D/plugins

of your user folder.

3 - Linux
Remove the plug-in from the subfolder.eteks/sweethome3d/plugins

of your user folder.
You can find this folder by typing CTRL-H to display the hidden folders.

D - How to activate the plug-ins
Once the plug-in is installed, relaunch Sweet Home 3D. The plug-ins will be automaticallyloaded and in the menus there will appear new items that correspond with the installed plugin(s). For example, the Rotate Home plug-in adds two items to the Plan menu to rotate all theitems in the home plan clockwise or counterclockwise.

E - Available plug-ins
1 - Plug-in Rotate home - Link to download
2 - Plug-in Export to SH3F - Link to download
3 - Plug-in Advanced Editing - Link to download
4 - Plug-in Copy as new furniture v1.2 - Link to download
5 - Plug-in Duplicate Style - Link to download
6 - Plug-in Advanced renderinga - Advanced Rendering v1.6 - Link to downloadb - Advanced Rendering Mini v1.6.1 - Link to download
c - Advanced Rendering Classic v1.6.1 - Link to downloadd - Advanced Rendering Lights v1.6.1 - Link to download
d - This is not a plug-in, but these are light bulbs that are needed to use
d - the Advanced Rendering plug-in(s).
7 - Plug-in Calculate Walls Surface - Link to download

F - Stand-alone extensions
1 - Library Editor v1.16 - stand-alone program - Link to downloadG - Tutorials
1 - Plug-in Rotate home - version 1 - author: mickey2m
NoteThis plug-in only works on the installed version of SweetHome3D.
Plan → Rotate clockwise
Plan → Rotate counterclockwise
Rotates the whole plan (including walls, rooms, furniture, labels and dimension lines) clockwise
or counterclockwise.
From the author:
Finally, I've uploaded a new version of the plugin. This one rotates the
background image as well as the rest of the plan. However, there's still asmall problem that you will need to fix manually: after the rotation
process is complete, you will observe that the plan and the backgroundimage are not superposed anymore. So you can fix this by selecting the wholeplan and dragging it so that it matches the background image again. I've
tried to fix this programmatically but with no success. I will continue totry a better solution. All your suggestions are welcome.
2 - Plug-in Export to SH3F v1.0 - author: Emmanuel Puybaret
Furniture → Export imported furniture to SH3F...
This plug-in makes a library file that consists of all models that you have imported. Models in
the furniture list that come from existing libraries are not exported.
If the plug-in doesn't work properly, one of the models is incorrect. Use an empty instance of
SweetHome3D and one by one drag the models into the design window. If a model doesn'tshow correctly (e.g. the famous red objects), than delete it from the furniture list, and try again.
3 - Plug-in Advanced Editing v1.2 - author: starrunner

NoteThis plug-in works only on the installed version of SweetHome3D.

Edit → Rotate
If one object is selected, the object rotates around it own axis. This is similar to the command
Furniture → Modify → Angle. Negative values are allowed.
If more than one object is selected, the objects rotate as a group around the central axis of thatgroup. If you want to rotate several objects around their own individual axes, use the command
Furniture → Modify → Angle. Negative values are allowed.
Single walls can also be rotated. Connected walls should not be rotated, because this gives
undesired results. Instead, select a wall and use Plan → Reverse walls direction.

Edit → Resize
MeasureThis function offers three choices: Absolute, Relative, Percent.
Absolute - gives the absolute size of the model: fill in “100” if your size should be “100”.
Relative - gives the change in size relative to the original size: fill in “100” if you want to add“100” to the original size of the model. Use negative values to make an object smaller.
Percent - gives the change relative to the current size, which is set for X and Y as 100%: fill in“75” if you want your model to be 25% smaller, or 75% of the original size.
Keep aspect ratio
If you check this box, width and height of the model will change in such a way that the original
aspect ratio is kept, in other words, X and Y are linked, and if you change one, the other will
follow.
Position- Maybe “Anchor” would be a better name for this function. These nine buttons determine inwhich direction the resizing will go. When the resize window opens, the central button ishighlighted, and the model will expand or contract around the x,y coordinates of the model.
When you choose the top-left button, the top-left corner of your (group of) model(s) willfunction as an anchor, and the expansion will go go towards bottom-right.

X, YThis is not a function. The coordinates shown here correspond with the position (anchor) button
that is active.
Trick - Mirror your design
If you want to mirror your design, make Height a negative number. Example: if Height was 100,
make it -100. Mirroring isn't perfect, you may have to adjust some doors and/or windows.

Plan → Edit room points

In the picture you can see a room that is approx. 400x400 cms. If you want the room to be
exactly 400x400 cms, you will have to change the x-y coordinates of the corner points. Under
Points (at left) you choose the first pair of coordinates. In the middle part, you change X (cm) to
400 and Y (cm) to 0 (zero). The Preview window shows which point is selected by a small dot.
If you click the Outgoing line tab, you will see the line that departs from that point.
Alternatively the Incoming line tab shows the line that arrives at that point. The preview
window changes while you type the new coordinates, so you have a good idea of what yourresult will be.
If you check Move all points and type new coordinates, the entire room will be dragged to thenew position.
Plan → Connect walls
If you have two separate walls that you want to connect, select both walls and apply Plan →Connect walls.
The end point of the wall that was selected first will be connected to the starting point of thewall that was selected next. The small arrows inside the walls indicate the start and end points

of the wall. If the arrows don't point in the correct direction, use Plan → Reverse walls direction
to change it.
To see how this works you may consider the example in the picture below.

Trick: How to move the entire design
Sometimes you want to move your entire design to a different location. The easy way is toselect your design, and move it with the cursor keys to its new location or drag it with themouse. However, this method is not very exact: if a point in your design was on coordinates 0,0,
and you want to move it to 500,500 this method doesn't work.
Using the AdvancedEditing plug-in there is a better way. This is how it works:- click in the 2D plan window- on the keyboard do CTRL-A to select everything- in the menu choose Edit --> Resize- choose Measure --> Percentage- make sure to check Keep aspect ratio of and keep the 1:1 value there- in Position click the bottom-right button- now change Width to 50 and Height will automatically follow- click OK
While entering the new width, you will see how your entire model shrinks to half size: walls,
floors and furniture. Because you chose the bottom-right button, the entire model will shrink inthat direction.

Now repeat the procedure as follows:- click in the 2D plan window- on the keyboard do CTRL-A to select everything- in the menu choose Edit --> Resize- choose Measure --> Percentage- make sure to check Keep aspect ratio of and keep the 1:1 value there- in Position click the top-left button- now change Width to 200 and Height will automatically follow- click OK
While entering the new width, you will see how your entire model expands again to double size:
walls, floors and furniture. Because you chose the top-left button, the entire model expands
from that point.
The result is that your entire model moved to the right and downwards. If you have a simple
model, it's (relatively) easy to move your model to precise new coordinates. If you have a more
complex model, it may take some calculating. Of the nine buttons in the resize widow, click the
top-left button and write down the coordinates of the top-left point of the imaginay square thatsurrounds your model. Then click the bottom-right button, and again write down thecoordinates. Using these, you should be able to work out how to move your model in such a
way that a point ends up on specific X,Y coordinates.
4 - Plug-in Copy as new furniture v1.2 - author: Emmanuel Puybaret
Tools → Copy as new furniture
Select the objects in your model that you want to combine into a new furniture model. Now
click Tools → Copy as new furniture. With right-click → Paste or Edit → Paste or CTRL-V thecopy will be inserted exactly on top of the original. Walls and rooms will be included in the
copy. Text and ground will not be included.
As of v1.1 light is included in the copied selection. The new model has a light power selector,
which will reflect the power of the strongest light in the selection. Turning the light up or down
will increase or decrease all lights in the copied selection relative to their original settings. Notethat ceiling lights aren't included in the copied model.
Note
This function makes it very easy to construct models with several levels, e.g. ahouse with more than one floor. The 3D view → Export to OBJ format function
acts when you export selected items in the plan, except it won't include lights.
Read the separate tutorial on multi-level houses.
ExampleRoom with two different textures on the walls.

Below you can see the lower half of a room: it's 5x5 meters, the walls are 1.50 meters high.
There's a floor, but no ceiling.

Below you can see the upper half of that same room: it's 5x5 meters, the walls are 1.50 meters
high. There's a ceiling, but no floor.

Insert a light in your room, because the ceiling light will not be included in the copy. I used alight bulb of 100x100x100 cms to make sure it shows up clearly in the screen shot.
With your mouse, select the upper half, and do Tools → Copy as new furniture. Then do a rightclick and Paste. The copy of the upper half will appear exactly on top of the original. Doubleclick it and in the Modify window change the coordinates to the center of the lower half of theroom, in this case 250,250. Change the elevation to 150 cms and click OK.
This what it should look like when you make a photo of the result. The black spot in the imageis there because the light is too close to the ceiling, or because it's partly inside the ceiling.

Note: there are more ways to have multiple colours/textures on a wall.
5 - Plug-in Duplicate Style v3.0 - author: white0demon
This plug-in copies the colour or texture you have set to an item to other items you haveselected. For example it can copy the texture of the sink to the bathtub and the toilet.
Edit → Duplicate StyleFirst select the source object from which you want to copy the properties. Then select theobject that you want to have the same properties as the first object. Now click to apply the styleof the first object to the other objects.
Limitations
1 - This plug-in works best on single objects with single styles. If the source object
has multiple styles, e.g. a wooden cabinet with a glass door, this plug-in doesn'twork.
2 - This plug-in doesn't copy textures.

6 - Plug-in Advanced Rendering - authors: Frédéric Mantegazza, Emmanuel Puybaret & db4tech

Note 1This plug-in only works on the installed version of SweetHome3D.

Note 2Development of these plug-ins has stopped. With Sweet Home 3D v3.0 the
functions of these plug-ins have been incorporated into Sweet Home 3D itself andthe plug-ins may not work at all.
From version 3.0 Plan → Modify compass lets you set the location and orientationof your model, and 3D view → Create photo lets you make a rendering of yourdesign.

Tools → Create advanced photo
The image below shows the interface of the “mini” version of this plug-in. The other versions
are very similar.

Width (pix) and Heigth (pix) set the dimensions of the picture that will be made.
If you check the box Apply proportions, you can choose from one of 6 preset ratios from thedrop-down menu 3D view. It affects Width and Height: if you change width, height willautomatically change according to the chosen proportion.
The Lens drop-down menu offers 4 options:- Default - Renders the image as it is shown in the 3D preview window.
- Depth of field - When "Depth of field" is chosen, focus point is computed at 2.5 meters.
- Fisheye - Sets proportions to 1:1. It calculates a 180 degree field of vision image.
- Spherical - Sets proportions to 2:1. For a detailed explanation with examples look here.
Additionally, using 3D view → Modify → Visitor field of view you can change the lens angle.
A large value simulates an extra wide-angle lens, a small value a telephoto lens. The default is
63 which is equivalent to around a 28mm lens.
Fast and Best offer two quality levels.

Date and Time set the date and time. If you change the date, you can see how the lighting ofyour model is different in June and December. If you change the time of day, you can see how
the lighting of your model changes while the sun travels through the sky. See this example.
The Time zone drop-down menu lets you choose the geographic location of your model andadapts the time settings accordingly. This does not affect the system clock of your computer.
North direction lets you set the geographic orientation of your model. All models in
SweetHome 3D are oriented in such a way that the top of the screen is facing North. Bychanging the value, you can “rotate” your model in such a way that it faces the correct compass
point.
Latitude and Longitude let you set the geographic location of your model. To determine thelatitude and longitude of a location you can use this website.
To make sure that you fully understand these settings, it might be a good idea to set the values
for a time and place that is familiar to you. This way you can check that the sun calculated
position corresponds with reality.
The plug-in can use three light sources: Ceiling lights, Lamp lights and Sunlight. Each lightsource can be switched on by putting a check mark in the corresponding check-box,
Ceiling lights are the lights that SweetHome 3D automatically inserts when a room is drawn.
These lights have a fixed colour and strength that can not be changed in any way.
Lamp lights come from lamps that you have inserted in your model. Some of the models fromthe 3D models page have a light source built into them. Additionally you can use light bulbs,
which give a greater degree of control over your light settings.
Sunlight can also be added. In order to correctly show the lighting effect of the sunlight, Dateand Time, Time zone, North direction and Latitude and Longitude have to be set correctly.
Rendering Gloss and Silk lets you choose the degree of shininess of surfaces. When you put acheck mark in the check-boxes for Walls, Floors and Ceilings this effect will be applied tothose surfaces.
To use Light bulb angle controls brightness you need to have downloaded and installed the setof Advanced Lights. You can download them here, and you install them by copying the file into
the furniture directory. Restart SweetHome3D to use the lights. After inserting one of theselights in your model, use Modify furniture and then change the Angle of your light bulb. The
higher the angle, the stronger the light.
Put a check mark in Compute glass transparency to correctly compute the way light travels to
glass.
7 - Calculate Walls Surface - author: wartarkus
Tools → Compute walls' area
Select one or more walls, then choose Tools → Compute walls' area. A small message
window will pop up, that tells you the surface of along the centre line of the selected wall(s).

See the example below.
In the image you see part of a room that measures 4x4 meters, and is 2.50 meters high. The
walls are 0.50 meters thick.

According to the plug-in, the selected wall has a surface of 4.00 x 2.50 = 10.0 m².
However, the actual surface of the inside wall is 3.50 x 2.50 = 8.75 m², and the actual surface ofthe exterior wall is 4.50 x 2.50 = 11.25 m². You will see similar differences between the insideand outside surfaces of round walls.
Sloping walls are correctly calculated, but with the same differences as mentioned above.

H - Tutorials for stand-alone extensions
1 - Library Editor v1.16 - author: Emmanuel Puybaret

NoteThis is not a plug-in! The Library Editor is a stand-alone Java application. You candownload the file and put it in any directory you like. Start the program by doubleclicking it.

From the author:
The program is available as a 4.6 MB JAR executable file and requires you installed Java on
your machine (or reuse the Java version embedded with Sweet Home 3D installer).
The easiest way to launch it is to double-click on the file. If this method fails, choose open or
launch with Java in its contextual menu, or open a Terminal window and run the command:java -jar FurnitureLibraryEditor-1.16.jar

Supported system are Windows, Mac OS X 10.4 to 10.6, Linux 32 bits and 64 bits.
If you look for a nice icon for it, take the following one based on a nice 3D model made byPencilart:

This tool will let you import more than one piece of furniture at a time either with a classic file
dialog displayed by the Import furniture tool, or by dropping the files in the window of the tool
if your system supports this feature.
Once they are imported, you may modify each piece one by one, or by group after selecting
them. As the screen capture shows, the modification dialog displays all the attributes of a pieceof furniture (for those interested it's even possible to edit prices or resizable attribute after asmall modification in program).
Compared to the Import Furniture wizard available in Sweet Home 3D, I also added an ID text
field (when a piece has an ID, any other piece with the same ID won't appear in the furniturecatalog of Sweet Home 3D), a Creator text field, 3 buttons to multiply size by common values(x 10, ÷ 10, x 2.54). The 3D preview allows zoom and rotation around two axes, and each time
you drag and drop the mouse in the 3D preview a new icon is created for the current piece.

This tool is also a translation tool that will help translators to localize more easily SH3F files:
the name and the category entered in the modification dialog depends on the language chosen in
the tool bar, and when you select a new language in this drop down list, all the categories
belonging to the 10 default categories of Sweet Home 3D are automatically translated into theselected language, if the language belongs to the 16 ones supported by Sweet Home 3D at thistime.
Caution, there's no undo/redo feature. I didn't feel it was really necessary.
As always create backups to ensure you won't lose your work. This editor should be stable, but I
release it as a beta version, because there are probably still some small bugs.
For interested programmers, source code is committed in the FurnitureLibraryEditor CVS
module separate from SweetHome3D one.
Furniture Library Editor project is derived from Sweet Home 3D project and uses a similar
MVC architecture.