Doors and windows avoid unwanted deformation- my way mini tip

by dorin » Mon Mar 11, 2024 9:36 pm

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:
Image

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:

Code: Select all

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:

Code: Select all

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:

Code: Select all

[b]doorOrWindowWidthDepthDeformable#20=false[/b] 

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 .