Index  | Recent Threads  | List Attachments  | Search
 Welcome Guest  |  Register  |  Login
Login Name  Password
 

Sweet Home 3D Forum



No member browsing this thread
Thread Status: Active
Total posts in this thread: 2
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 338 times and has 1 reply
Syro
Newbie




Joined: Sep 17, 2025
Post Count: 1
Status: Offline
Reply to this Post  Reply with Quote 
Forge .sh3d file with AI help

Ok here is the use-case: I'm looking for a new home. So I have some "on paper" plans.

To play with them, I got an idea: try to quickly reproduce them in sh3d with help of AI.

AI can generate a seems-good Home.xml file, leaded by by description or on image. Then I zip Home.xml (in UTF-8 without BOM) and rename it in .sh3d. And it does not work.

All my tries finish in "Unable to open" ("Impossible d'ouvrir le logement" in French).

I don't know where is the problem:
- in AI output?
- in zip compression?
- other?
[Sep 17, 2025, 11:34:03 AM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Keet
Advanced Member
Member's Avatar

Netherlands
Joined: Apr 8, 2022
Post Count: 1511
Status: Offline
Reply to this Post  Reply with Quote 
Re: Forge .sh3d file with AI help

The problem is not with the Home.xml file. The problem arises when you try to use a stand-alone Home.xml file for a .sh3d project file. There are no resources (i.e. furniture) to display the home.
The best you can do is a Home.xml file with only non-resource dependend data. For example level definitions, non-textured walls and floors, etc. Furniture (including doors, windows, etc) need the obj/mtl resource files. If these are referred in the Home.xml file but are not included in the .sh3d project zip than the project can not load because it can't find the resources. Strictly it should be able to load the project but with big red crosses where the furniture is assumed. Your Home.xml file is probably invalid to begin with.

Extract an existing .sh3d zip an look at the definitions it contains in the Home.xml file and how it relates to the other resources that were extracted. I doubt it very much that AI will be able to generate a functional .sh3d file with the current state of AI technology.

What AI can do is generate a furniture file (obj/mtl) from an image. This has already been proven by our valued member GaudiGalopin who has experimented with this. Taking that a little further, a series of AI instructions could theoretically create all resource parts (furniture,doors,windows,..) and then combine them in a zip with a Home.xml file. You would need an AI specifically trained to do that.

ETA:
I did a little testing about what you can list in Home.xml without requiring extra resourses. (A texture is also a resource so only colors!)
You can list levels, walls, rooms, dimension lines, poly lines, and a texts. You can leave out the starting nodes that you find in a regular Home.xml file and it will open correctly in Sweet Home 3D. Of course the listed nodes must conform to the structure as used by Sweet Home 3D. Once opened and save in Sweet Home 3D the default lines will be added automatically.

This Home.xml zipped and renamed as .sh3d will open in Sweet Home 3D:
<?xml version='1.0'?>
<home version='7400' name='test.sh3d' camera='topCamera' selectedLevel='level-dee204e2-b2ee-4226-86e8-a948f0498786' wallHeight='250.0'>
<level id='level-dee204e2-b2ee-4226-86e8-a948f0498786' name='Level 0' elevation='0.0' floorThickness='20.0' height='250.0' elevationIndex='0'/>
<level id='level-1e8c3fdf-1a59-4df5-bfb4-f1ab4d5240f6' name='Level 1' elevation='270.0' floorThickness='20.0' height='250.0' elevationIndex='0' visible='false'/>
<wall id='wall-7892ccdf-d6f4-4585-b851-dee648f06f1f' level='level-dee204e2-b2ee-4226-86e8-a948f0498786' wallAtStart='wall-388c489a-4e52-47f3-bd00-1637744ab08c' wallAtEnd='wall-9a205e2e-d8c3-4aef-a756-425e576c00c6' xStart='0.0' yStart='5.1850435E-7' xEnd='-1.0927847E-5' yEnd='250.0' height='250.0' thickness='30.0' pattern='hatchUp'/>
<wall id='wall-9a205e2e-d8c3-4aef-a756-425e576c00c6' level='level-dee204e2-b2ee-4226-86e8-a948f0498786' wallAtStart='wall-7892ccdf-d6f4-4585-b851-dee648f06f1f' wallAtEnd='wall-25379aad-a99b-4bf3-9acf-a60cc8f3d1ea' xStart='-1.0927847E-5' yStart='250.0' xEnd='300.0' yEnd='250.0' height='250.0' thickness='30.0' pattern='hatchUp'/>
<wall id='wall-25379aad-a99b-4bf3-9acf-a60cc8f3d1ea' level='level-dee204e2-b2ee-4226-86e8-a948f0498786' wallAtStart='wall-9a205e2e-d8c3-4aef-a756-425e576c00c6' wallAtEnd='wall-388c489a-4e52-47f3-bd00-1637744ab08c' xStart='300.0' yStart='250.0' xEnd='300.0' yEnd='0.0' height='250.0' thickness='30.0' pattern='hatchUp'/>
<wall id='wall-388c489a-4e52-47f3-bd00-1637744ab08c' level='level-dee204e2-b2ee-4226-86e8-a948f0498786' wallAtStart='wall-25379aad-a99b-4bf3-9acf-a60cc8f3d1ea' wallAtEnd='wall-7892ccdf-d6f4-4585-b851-dee648f06f1f' xStart='300.0' yStart='0.0' xEnd='0.0' yEnd='5.1850435E-7' height='250.0' thickness='30.0' pattern='hatchUp'/>
<room id='room-a1fe803c-ebe3-43aa-8513-7835f53c53a3' level='level-dee204e2-b2ee-4226-86e8-a948f0498786' areaVisible='true' ceilingFlat='true'>
<point x='285.0' y='15.0'/>
<point x='285.0' y='235.0'/>
<point x='14.9999895' y='235.0'/>
<point x='15.0' y='15.000001'/>
</room>
<polyline id='polyline-f324923f-ff21-43ac-abf9-ce2e62e03edb' level='level-dee204e2-b2ee-4226-86e8-a948f0498786' thickness='2.0' color='FF000000'>
<point x='-13.553833' y='309.2495'/>
<point x='427.44617' y='309.2495'/>
<point x='427.44617' y='10.249512'/>
</polyline>
<dimensionLine id='dimensionLine-0784cd78-ed45-4a7c-a5b7-b276c681e689' level='level-dee204e2-b2ee-4226-86e8-a948f0498786' xStart='-15.0' yStart='-25.994385' xEnd='315.0' yEnd='-25.994385' offset='-133.0044'>
<textStyle attribute='lengthStyle' fontSize='18.0'/>
</dimensionLine>
<label id='label-dd8cd67b-ea06-418a-8a66-057e5ef1a961' level='level-dee204e2-b2ee-4226-86e8-a948f0498786' x='139.49231' y='-66.07764'>
<textStyle fontSize='18.0'/>
<text>TextBox</text>
</label>
</home>

If you can teach an AI the structure rules for the mentioned elements (level, wall, etc.) than it could possibly create a Home.xml. But only if it can recognize the correct element from an image and translate it to the correct xml node. It will have to ignore everything it can't map from the image to a correct xml node.
----------------------------------------
Dodecagon.nl
1300+ 3D models, manuals, and projects
----------------------------------------
[Edit 1 times, last edit by Keet at Sep 19, 2025, 4:22:57 PM]
[Sep 19, 2025, 12:04:10 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
[ Jump to Last Post ]
Show Printable Version of Thread  Post new Thread

  Get Sweet Home 3D at SourceForge.net. Fast, secure and Free Open Source software downloads  
© Copyright 2024 Space Mushrooms - All rights reserved