Print at Dec 20, 2025, 5:41:10 PM

Posted by dorin at Mar 11, 2024, 9: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