Print at Jan 27, 2026, 10:46:46 AM View all posts in this thread on one page
Posted by dorin at Mar 11, 2024, 10:36:42 PM
Doors and windows avoid unwanted deformation- my way mini tip
The unwanted deformation of doors and widows inserted in walls is very old (at least for me).
Motivations:
All the doors and windows I bought were made of wood, glass, metal and plastic including the handles.
All were fixed sizes and none were made of rubber or gum.
This was also to be reflected in the house plan.
Unfortunately, it wasn't quite like that.
Look at the first left door in the picture:


Also see how they are represented in the plan.
Let's analyze it.
If you like how look the first door skip the rest and read something else.
Some unnecessarily explanations:
SH3D work with libraries of objects.
Every object in the library have a order number and a description of their specific properties writhed in the FurnitureCatalog.properties file.
First door, from the DefaultFurnitureCatalog.properties file have this description:
id#19=eTeks#door
name#19=Door
tags#19=Default, Adjustable
category#19=Doors and windows
icon#19=/com/eteks/sweethome3d/io/resources/door.png
model#19=/com/eteks/sweethome3d/io/resources/door.obj
width#19=91.5
depth#19=14.5
height#19=208.5
dropOnTopElevation#19=-1
movable#19=false
doorOrWindow#19=true
doorOrWindowCutOutShape#19=M0,0 v1 h1 v-1 z
doorOrWindowWallThickness#19=7.5
doorOrWindowWallDistance#19=1
doorOrWindowSashXAxis#19=5
doorOrWindowSashYAxis#19=8.5
doorOrWindowSashWidth#19=81.5
doorOrWindowSashStartAngle#19=0
doorOrWindowSashEndAngle#19=-90
modelSize#19=14086
creator#19=eTeks
license#19=GNU GPL / CC-BY

The second, which is pretty similar have this description:
id#20=eTeks#openDoor
name#20=Open door
tags#20=Default, Adjustable
category#20=Doors and windows
icon#20=/com/eteks/sweethome3d/io/resources/openDoor.png
model#20=/com/eteks/sweethome3d/io/resources/openDoor.obj
width#20=91.5
depth#20=68
height#20=208.5
dropOnTopElevation#20=-1
movable#20=false
doorOrWindow#20=true
doorOrWindowCutOutShape#20=M0,0 v1 h1 v-1 z
doorOrWindowWallThickness#20=7.5
doorOrWindowWallDistance#20=1
doorOrWindowWidthDepthDeformable#20=false
doorOrWindowSashXAxis#20=5
doorOrWindowSashYAxis#20=8.5
doorOrWindowSashWidth#20=81.5
doorOrWindowSashStartAngle#20=0
doorOrWindowSashEndAngle#20=-90
modelSize#20=14055
creator#20=eTeks
license#20=GNU GPL / CC-BY

What's the major difference?
This:
doorOrWindowWidthDepthDeformable#20=false

If is not specified, the default is 'true' and is used.
At the third door, because it is not quite usual, I've need to set also other properties accordingly with my needs.
How I usually solve this?
Well, in the most ugly way: Manually!
I add this property to every door or window in the Default Catalog and on every imported furniture library.
Usually took between one to one and half hour.

The demo file is here .
----------------------------------------
A computer program does what you tell it to do, not what you want it to do. Murphy's Law
When all else fails, read the instructions. Murphy's Law
If you don't like "AS IS", DIY. Dorin's law

Posted by Puybaret at Mar 11, 2024, 10:58:16 PM
Re: Doors and windows avoid unwanted deformation- my way mini tip
There’s another easy way: disable magnetism while you place or move the door.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by Keet at Mar 11, 2024, 11:18:16 PM
Re: Doors and windows avoid unwanted deformation- my way mini tip
I didn't know about that property string!

But... it might prevent the door/window from snapping to the wall thickness but if the difference gets too big it leaves a door/window that doesn't fill the gap or expands outside the wall. Ok, it does retain the original dimensions with a well-formed handle and of course it works for all doors and windows.

In some cases that might work perfectly well but not by default. I prefer to create doors and windows for a specific wall thickness. I mainly use three different wall sizes so it's easy to simply create the door or window with an inner frame and add an outer frame for each thickness. Perfectly fitting furniture without distorted handles.

Besides the sashes I set at least these two:
doorOrWindowWallThickness#1=20
doorOrWindowWallDistance#1=1

This is for a wall 20 thick and the wall distance of 1 is because most of my outer frames have an edged border that should remain outside the wall.
It's a little more work but you have perfect fitting doors and windows with the exact distance for borders or a sill that should stick outside the wall.

If you have bought/downloaded a door or window you can still use the same trick by exporting with the outer frame made invisible and a second export with only the outer frame visible. After import you have the separate door and outer frame where it's easy to either stretch the outer frame or create a custom outer frame for the correct thickness. Combine and export to get a single object again.
----------------------------------------
Dodecagon.nl
1300+ 3D models, manuals, and projects

Posted by dorin at Mar 12, 2024, 9:21:49 AM
Re: Doors and windows avoid unwanted deformation- my way mini tip
@Emmanuel
You've right! But, without magnetism I have to manually set every door to be in the right position.
That mean to have a proper angle of view in 3D and move the door in 2D until the case-frame remain exactly at 1 cm outside the wall (the case-frame thicknesses).
It's not impossible but it need a lot of work every time.
So, I prefer to work once to set the correct furniture properties (which also is not so simple) and than use it with confidence everywhere.
With the last version of FLE this task it is a little more easy.

@Keet
Unfortunately I'm stuck in the real life.
In my apartment I have 7 doors in 7 walls with 10 different thicknesses sad .
but if the difference gets too big it leaves a door/window that doesn't fill the gap

Indeed. Exactly that has happened to me (in real life).
Well, when I will have some extra money I will buy some extra door frames to complete the gaps.(Not in this life crying )

I've also played with different properties for my doors.
Here is one of my Door glass:
name#2=Door glass 80 opening
tags#2=door, Adjustable
category#2=Doors and windows
icon#2=/Door glass 80opening.png
model#2=/Door glass 80opening/Door Glass 80 opening.obj
multiPartModel#2=true
width#2=95.95488
depth#2=16.9776
height#2=209.60001
movable#2=true
doorOrWindow#2=true
doorOrWindowCutOutShape#2=M0.04,0.02 v0.98 h0.92 v-0.98 z
doorOrWindowWallThickness#2=16
#doorOrWindowWallDistance#2=4
doorOrWindowWidthDepthDeformable#2=false
doorOrWindowSashXAxis#2=6
doorOrWindowSashYAxis#2=2
doorOrWindowSashWidth#2=83
doorOrWindowSashStartAngle#2=0
doorOrWindowSashEndAngle#2=90
modelSize#2=607897
horizontallyRotatable#2=false
creator#2=Dorin Vatavu

As you could see the #doorOrWindowWallDistance#2=4 is commented.
In my case was useless while the outer frame stay exactly where I want.
----------------------------------------
A computer program does what you tell it to do, not what you want it to do. Murphy's Law
When all else fails, read the instructions. Murphy's Law
If you don't like "AS IS", DIY. Dorin's law

Posted by Keet at Mar 12, 2024, 9:58:51 AM
Re: Doors and windows avoid unwanted deformation- my way mini tip
Fortunately we have all these different options to get what we need anyway we want smile

By-the-way, even with 7 different wall sizes it's simple to create 7 objects with the same door but with a different outer frame. If the outer frame is a simple construcion of three boxes you create one frame and export with the door in it. Simply enlarge the depth of the frame and export again. Rinse and repeat for each wall size.

My outer frames are usually those simple three boxes and beveled borders on the inside and outside. I increase the depth of the boxes, attach the beveled borders and export. Using a separate outer and inner frame makes these adjustments for wall thickness very easy.
----------------------------------------
Dodecagon.nl
1300+ 3D models, manuals, and projects