Germany
Joined: Jan 6, 2024
Post Count: 45
Status:
Offline
Door with two panels
I am creating a door with two panels. What I did: I placed a door from the standard catalog at location (0,0) and saved the plan as obj-file. This way I had the door with its two files (obj and mtl). Manually I changed the vertices of the frame so it has the desired width, height and depth. I placed this changed door in a plan and it look as expected. The frame with the new size, the rest at its original location. I changed the material for the hinges to better identify them in the 3D View. Now I used Blender to remove the middle hinge, move the hinges, panel and handles to the left side. Duplicated them and moved them to the left side. All looks correct in Blender. I added the door to a furniture library and after investigation of the property file for the door library created by Keet I changed the property file of my own library. Adding the door to a plan the door is shown as expected. I also can open the two panels individually.
Now two points are open: 1. When I move the door to place it in the wall with the right thickness the door will snap into the wall but with closed doors there is no cutout of the wall.
2. I could add a sash definition for one panel. I don't know how to add a second sash for the other panel. I haven't found a description of the allowed keywords for the property file.
----------------------------------------
MSI GP60, Linux Mint 21.3 Virginia base: Ubuntu 22.04 jammy, SH3D 7.5 with Photo-video rendering 2.8
Romania
Joined: Apr 24, 2014
Post Count: 683
Status:
Offline
Re: Door with two panels
@1. Have you define the cutout shape? and set it as door or window? @2. You have to make a second column with the second values for sash and separated with a space from the previous. I've made it in bold to see what I mean. In this way you could add how many sashes you want. Like in the main furniture:
id#17=eTeks#doubleFrenchWindow126x200 name#17=Double French window tags#17=Default, Adjustable category#17=Doors and windows icon#17=/com/eteks/sweethome3d/io/resources/doubleFrenchWindow126x200.png model#17=/com/eteks/sweethome3d/io/resources/doubleFrenchWindow126x200.obj width#17=132 depth#17=34 height#17=210 dropOnTopElevation#17=-1 elevation#17=11 movable#17=false doorOrWindow#17=true doorOrWindowCutOutShape#17=M0,0 v1 h1 v-1 z doorOrWindowWallThickness#17=25 doorOrWindowSashXAxis#17=2 130 doorOrWindowSashYAxis#17=25 25 doorOrWindowSashWidth#17=63.5 63.5 doorOrWindowSashStartAngle#17=0 180 doorOrWindowSashEndAngle#17=-90 270 modelSize#17=13346 creator#17=eTeks license#17=GNU GPL / CC-BY
---------------------------------------- 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
Netherlands
Joined: Apr 8, 2022
Post Count: 1382
Status:
Offline
Re: Door with two panels
1. Setting a cutout is not needed if your model is a closed area. It will cut the hole automatically. When it doesn't cut a hole that is usually because the bottom is not closing the sides. To cut a hole a closed area is required OR you need to set a custom cutout.
When you place a door or window in a wall it will adjust itself to the wall thickness if doorOrWindowWallThickness is not defined in the properties file. So set that property. If your door has a border that needs to stay outside of the wall add:
doorOrWindowWallDistance #110=0.5
where 0.5 is the thickness of your border. It is an offset from the wall and accepts negative values.
2. what dorin said You can check my doors library and look for a double door that also has double sashes for another example.
I placed a door from the standard catalog at location (0,0) and saved the plan as obj-file. This way I had the door with its two files (obj and mtl). Manually I changed the vertices of the frame so it has the desired width, height and depth. I placed this changed door in a plan and it look as expected. The frame with the new size, the rest at its original location.
Often it is better to place the model with it's top left corner at 0,0 before export. In many cases that makes "reading" the object file much easier because you can relate numbers to width and depth. I'm sure you already found this out but when exporting for editing in Blender also set the elevation to 0. Combined with a 0,0 origin this will show the model in Blender without having to search for it
---------------------------------------- Dodecagon.nl 1000+ 3D models, manuals, and projects
----------------------------------------
[Edit 1 times,
last edit by Keet at May 22, 2025, 12:15:41 PM]
Germany
Joined: Jan 6, 2024
Post Count: 45
Status:
Offline
Re: Door with two panels
Dorin and Keet thank you for you response. @Dorin @1: I used standard cut out; Yes it is DoorOrWindow. @2: This avoids to have numbered keywords and reading you don't know how much it will be.
@Keet: I have an intermediate state of the door. This was changed from the original door by changing the width, height and depth of the frame and the location of the hinges and the panel in an editor. The handles have been left in its original place. This intermediate door will have cut out for the frame, the panel and the handle. I can see the handle from the rear. The rest is wall.
Since there are a lot of vertices for the handle objects and I needed to delete parts and duplicate others I decided to use Blender. This exported door will not have a cut out. I don't see the panels and the handles from rear. This is reproducible by just exchanging the obj file in the library.
I started to compare both versions manually (currently I have not installed the compare extension in Visual Studio Code) and found that there are some rounding differences in the frame I did not move. Sometimes 0.0 is now -0.000001. I changed that and now I get a complete cut out so I can see the door from rear.
The door was displayed in the location where the cube is when you open Blender. I need to change any g-line to a 0-line to be able to move the different parts. On export I got the g-lines again. To the group name a number was added.
----------------------------------------
MSI GP60, Linux Mint 21.3 Virginia base: Ubuntu 22.04 jammy, SH3D 7.5 with Photo-video rendering 2.8
Netherlands
Joined: Apr 8, 2022
Post Count: 1382
Status:
Offline
Re: Door with two panels
@Keet: I have an intermediate state of the door. This was changed from the original door by changing the width, height and depth of the frame and the location of the hinges and the panel in an editor. The handles have been left in its original place. This intermediate door will have cut out for the frame, the panel and the handle. I can see the handle from the rear. The rest is wall.
Since there are a lot of vertices for the handle objects and I needed to delete parts and duplicate others I decided to use Blender. This exported door will not have a cut out. I don't see the panels and the handles from rear. This is reproducible by just exchanging the obj file in the library.
It is much easier to first isolate the handle as a separate object: make everything on the door invisible except the handle. Export the handle and import it. Then make everything visible again but make the handle invisible. Now export the door without handle. Import in Blender and do your adjustments and export. Import in Sweet Home 3D and add the handle(s) again. Export and fix your OBJ file so opening the door includes the handle(s).
I started to compare both versions manually (currently I have not installed the compare extension in Visual Studio Code) and found that there are some rounding differences in the frame I did not move. Sometimes 0.0 is now -0.000001. I changed that and now I get a complete cut out so I can see the door from rear.
0.0 <> -0.000001 is a common occurrence when exporting/importing between Sweet Home 3D and Blender. Sometimes the difference is even bigger. Sweet Home 3D doesn't have the accuracy that Blender has, it's not a 3D modeling program after all but an interior design program. What you can do in Blender is select two vertices that should be at the same position but are a tiny bit off and merge them (mesh>vertices>merge). Merged vertices can fix the "not closed circuit" that breaks the automatic cutout.
The door was displayed in the location where the cube is when you open Blender. I need to change any g-line to a 0-line to be able to move the different parts. On export I got the g-lines again. To the group name a number was added.
You don't need to change the g lines to o lines. When importing in Blender you can select how you split the import, by object and/or by group. Even then you can deselect everything, switch to edit faces and select by material. Then you can move that selection. If you import by group you can manipulate them as if each is a separate model but you can't select parts from two different groups. You can join groups together into a single group to fix that. When editing an OBJ file you can remove all numbers after a group name as long as the group name is unique in the model. That is the only reason for the numbers. You can even completely remove every g line but leave the usemtl lines and you can still import it in Sweet Home 3D.
---------------------------------------- Dodecagon.nl 1000+ 3D models, manuals, and projects
Germany
Joined: Jan 6, 2024
Post Count: 45
Status:
Offline
Re: Door with two panels
It is much easier to first isolate the handle as a separate object: make everything on the door invisible except the handle.
Since the handle is a separate group I could skip this step.
You don't need to change the g lines to o lines. When importing in Blender you can select how you split the import, by object and/or by group.
I should do what I'm praying to my customers: Read the text of the dialog.
----------------------------------------
MSI GP60, Linux Mint 21.3 Virginia base: Ubuntu 22.04 jammy, SH3D 7.5 with Photo-video rendering 2.8
Netherlands
Joined: Apr 8, 2022
Post Count: 1382
Status:
Offline
Re: Door with two panels
I started to compare both versions manually (currently I have not installed the compare extension in Visual Studio Code)...
I forgot to give this tip: You are on Linux. It has this little program called "diff" that is probably installed by default. Check it out with "man diff" in a terminal window to see all the options.
---------------------------------------- Dodecagon.nl 1000+ 3D models, manuals, and projects