Download

Online

Gallery

Blog

  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
Thread Type: Global Announcement Thread
Total posts in this thread: 40
Posts: 40   Pages: 4   [ Previous Page | 1 2 3 4 | Next Page ]
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 76974 times and has 39 replies Next Thread
YGYL
Advanced Member
Member's Avatar


Joined: Feb 5, 2013
Post Count: 154
Status: Offline
Reply to this Post  Reply with Quote 
Re: Meet MarioSambol, our new support team member

No, you're not understanding what I'm saying. What I said is much more advanced. You can think of it as a data structure that uses many low-level parts to form a complex high-level object. For example, it turns out that a tree takes 20MB of OBJ storage, and in this way you can compress it down to 0.5MB.
I would really like to know what the trick behind that is. Schrinking to 1/40 of the original size is huge. Sweet Home 3D is not the very best considering OBJ size. Take for example the Sycamore tree from the Scopia library. It is created in Blender and is around 7.6MB. Export it from Sweet Home 3D and the resulting OBJ file is 18.8MB. Efficient? Not really and that is putting it mild. Import that export in Blender and export it again and the size shrinks back to 7.6MB. But what you mention is something entirely different.
You may have read in one of my other posts that, besides developing 3D models, I work mainly with very large projects. And those are causing problems in Sweet Home 3D because of their size. Having the tools to considerably shrink objects is very welcome.


You can understand it like this:
This is an example of separating an object, I'm going to draw a luxury table from the French court, consisting of a large table board and 6 table legs, the large table board is 1MB, each table leg is 1MB. if you export the OBJ directly, then naturally it's 7MB. or you split it up and lay it out in a SH3D file 1 large table board plus 6 table legs. You save the file and see it's 2MB because those 6 table legs are the same and add up to a 1MB.
The same big tree why take up a lot of file space, because he has thousands of leaves, each leaf is very large, let's break it down, a trunk plus thousands of the same leaves. 0.5MB (this is a bit exaggerated)
[Feb 18, 2025, 5:00:21 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
YGYL
Advanced Member
Member's Avatar


Joined: Feb 5, 2013
Post Count: 154
Status: Offline
Reply to this Post  Reply with Quote 
Re: Meet MarioSambol, our new support team member

Anything that is identical and symmetrical can be used to reduce the space footprint in this way
For example, a car, it originally takes 10MB a piece. But let's disassemble it. It has 4 identical wheels and 5 identical seats. The car is symmetrically split into 2 halves, each side is the same, just mirrored.
So the same car, with exactly the same mass, can be compressed to less than 3MB.

For example, a round umbrella, it's symmetrical. Then only 6.25% of the original data is needed, and then repeat it 16 more times

So I'd say this feature is very, very critical. Otherwise you can't use higher quality models
[Feb 18, 2025, 5:23:51 PM] 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: 1288
Status: Offline
Reply to this Post  Reply with Quote 
Re: Meet MarioSambol, our new support team member

You can understand it like this:
This is an example of separating an object, I'm going to draw a luxury table from the French court, consisting of a large table board and 6 table legs, the large table board is 1MB, each table leg is 1MB. if you export the OBJ directly, then naturally it's 7MB. or you split it up and lay it out in a SH3D file 1 large table board plus 6 table legs. You save the file and see it's 2MB because those 6 table legs are the same and add up to a 1MB.
The same big tree why take up a lot of file space, because he has thousands of leaves, each leaf is very large, let's break it down, a trunk plus thousands of the same leaves. 0.5MB (this is a bit exaggerated)
I understand and recognize the principals like you described. Im a professional developer and the idea is similar to object oriented programming.
But that is not something that can be done by using OBJ/MTL files. The OBJ file format has no mechanism to define a part ("object") and then use references with coordinates to display that part ("instances").
That leaves converting to another format. For example converting OBJ to gLTF gives a huge reduction in size. I think the conversion does something similar to what you described. I'm going to try that for display of one my large projects on a web page. The disadvantage over the Sweet Home 3D html5 export is that you loose the options for level choices and 'walking' through the project. But at least it should load and move.
----------------------------------------
Dodecagon.nl
950+ 3D models, manuals, and projects
[Feb 18, 2025, 5:25:11 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
YGYL
Advanced Member
Member's Avatar


Joined: Feb 5, 2013
Post Count: 154
Status: Offline
Reply to this Post  Reply with Quote 
Re: Meet MarioSambol, our new support team member

The same goes for textures.
As long as there are repeating or symmetrical textures, you can save space. Even to 1% of the original size. This is why I said to provide a 3X3 viewing window for textures. Without this 3X3 or even 16X16 the user would not know the actual effect of the texture he chose, because the graphic could be half or even 3% of the original size!
[Feb 18, 2025, 5:36:39 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
YGYL
Advanced Member
Member's Avatar


Joined: Feb 5, 2013
Post Count: 154
Status: Offline
Reply to this Post  Reply with Quote 
Re: Meet MarioSambol, our new support team member

You can understand it like this:
This is an example of separating an object, I'm going to draw a luxury table from the French court, consisting of a large table board and 6 table legs, the large table board is 1MB, each table leg is 1MB. if you export the OBJ directly, then naturally it's 7MB. or you split it up and lay it out in a SH3D file 1 large table board plus 6 table legs. You save the file and see it's 2MB because those 6 table legs are the same and add up to a 1MB.
The same big tree why take up a lot of file space, because he has thousands of leaves, each leaf is very large, let's break it down, a trunk plus thousands of the same leaves. 0.5MB (this is a bit exaggerated)
I understand and recognize the principals like you described. Im a professional developer and the idea is similar to object oriented programming.
But that is not something that can be done by using OBJ/MTL files. The OBJ file format has no mechanism to define a part ("object") and then use references with coordinates to display that part ("instances").
That leaves converting to another format. For example converting OBJ to gLTF gives a huge reduction in size. I think the conversion does something similar to what you described. I'm going to try that for display of one my large projects on a web page. The disadvantage over the Sweet Home 3D html5 export is that you loose the options for level choices and 'walking' through the project. But at least it should load and move.

Maybe you haven't understood what I mean.
SH3D's save file format is SH3D, as long as the material library editor can put SH3D in it. Then it's all solved. It shouldn't be too hard.
[Feb 18, 2025, 5:40:20 PM] 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: 1288
Status: Offline
Reply to this Post  Reply with Quote 
Re: Meet MarioSambol, our new support team member

Maybe you haven't understood what I mean.
SH3D's save file format is SH3D, as long as the material library editor can put SH3D in it. Then it's all solved. It shouldn't be too hard.
That I do not understand. Do you mean a Texture Library with "material library"? A Texture Library is just a zip with a collection of texture images. Putting in a sh3d file makes no sense. I guess you mean something different.
----------------------------------------
Dodecagon.nl
950+ 3D models, manuals, and projects
[Feb 18, 2025, 5:59:24 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
YGYL
Advanced Member
Member's Avatar


Joined: Feb 5, 2013
Post Count: 154
Status: Offline
Reply to this Post  Reply with Quote 
Re: Meet MarioSambol, our new support team member

Maybe you haven't understood what I mean.
SH3D's save file format is SH3D, as long as the material library editor can put SH3D in it. Then it's all solved. It shouldn't be too hard.
That I do not understand. Do you mean a Texture Library with "material library"? A Texture Library is just a zip with a collection of texture images. Putting in a sh3d file makes no sense. I guess you mean something different.

The furniture library, SH3F, now only saves OBJ files. I certainly want him to be able to save SH3D files. When called in the program, in the SH3F inside the SH3D file to restore the composition of a model. This is both convenient and save file space, which is significant!
[Feb 18, 2025, 7:09:04 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Daniels118
Advanced Member
Member's Avatar

Italy
Joined: Nov 17, 2021
Post Count: 460
Status: Offline
Reply to this Post  Reply with Quote 
Re: Meet MarioSambol, our new support team member

@keet the concept which YGYL is trying to describe is the same of grouped furniture. SH3D is already capable of handlig this, but lacks the ability to copy this group in the catalog for future use.
Of course you can export the group as a single object and import it in the catalog, but this will be no longer editable and will take more space, since all vertex coordinates have been copied in the new model.
Furniture groups instead don't take up space, because they are just a list of references to existing models along with spatial information about where they should be placed in the plan.
Even in the case where this new kind of object would camepackaged in a furniture library along with vertex data, there is a chance to save space. Think about a group made by a table with 6 chairs: you could have vertex data for the table alone and for a single chair, then the group will say to duplicate the chair model around the table, but this happens at runtime, so only one chair model is actually taking space on the disk.
[Feb 19, 2025, 6:36:31 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: 1288
Status: Offline
Reply to this Post  Reply with Quote 
Re: Meet MarioSambol, our new support team member

@keet the concept which YGYL is trying to describe is the same of grouped furniture. SH3D is already capable of handlig this, but lacks the ability to copy this group in the catalog for future use.
Of course you can export the group as a single object and import it in the catalog, but this will be no longer editable and will take more space, since all vertex coordinates have been copied in the new model.
Furniture groups instead don't take up space, because they are just a list of references to existing models along with spatial information about where they should be placed in the plan.
Even in the case where this new kind of object would camepackaged in a furniture library along with vertex data, there is a chance to save space. Think about a group made by a table with 6 chairs: you could have vertex data for the table alone and for a single chair, then the group will say to duplicate the chair model around the table, but this happens at runtime, so only one chair model is actually taking space on the disk.
Aha, that's a different kind of concept and I like the idea! In a way it is a different kind of storage for the objects in a sh3d project that could potentially save a lot of disk space. Now I'm not sure that saving disk space is all that important with the current cheap storage per MB but for some devices with limited disk space it might be a great advantage.
What would be a huge advantage is if the 3D processing of the project uses that same concept by loading that single model and replicates it in multiple positions. It's what what I indicated with comparing it to object oriented programming: one object definition and create multiple instances for usage in the project. It would mean that the vertex/face data must be calculated when processing the instances by using the object and the defined size/position. I suppose the math is already available in game engines. I have no idea if it is faster with the 3D display.

I have one project in progress where this would have an incredible impact: a stadium with 10.000+ seats. I already optimized this partly by grouping seats and running them through Blender to merge groups and then repeat the same for rows. Imagine the impact of defining a single seat and 10.000+ positions instead of 10.000+ seats! The project would shrink from 300+ MB to just a few MB's laughing

I'm not sure this should be something along the concept of a furniture library. I see it more as a different way of storing objects in a sh3d file. If you add a model that is already in the project then don't add the model again but store a reference with size and position. The way this could be organized could be by using the idea of a furniture library but one that is created inside the sh3d file, not a sh3d file in a furniture library. Every model in the plan is a reference to a model in the internal library with a size and position. The potentially most important advantage is much faster 3D processing. Personally I don't care about disk space although it adds up fast with all the backups I have of 150+ projects and 2000+ custom made models on multiple devices.
----------------------------------------
Dodecagon.nl
950+ 3D models, manuals, and projects
[Feb 19, 2025, 8:11:45 AM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
YGYL
Advanced Member
Member's Avatar


Joined: Feb 5, 2013
Post Count: 154
Status: Offline
Reply to this Post  Reply with Quote 
Re: Meet MarioSambol, our new support team member

@keet the concept which YGYL is trying to describe is the same of grouped furniture. SH3D is already capable of handlig this, but lacks the ability to copy this group in the catalog for future use.
Of course you can export the group as a single object and import it in the catalog, but this will be no longer editable and will take more space, since all vertex coordinates have been copied in the new model.
Furniture groups instead don't take up space, because they are just a list of references to existing models along with spatial information about where they should be placed in the plan.
Even in the case where this new kind of object would camepackaged in a furniture library along with vertex data, there is a chance to save space. Think about a group made by a table with 6 chairs: you could have vertex data for the table alone and for a single chair, then the group will say to duplicate the chair model around the table, but this happens at runtime, so only one chair model is actually taking space on the disk.

Correct! He can be a combination of multiple nested layers

The benefits are not just a dramatic reduction in hard disk space. Hard disk loading speed is also increased. Also the network transfer of files is smaller. If you want to have a web presence, then the reduction in network transfers is critical.

There is also the fact that this way you are much more likely to go for a uniform replacement of a certain part~
[Feb 19, 2025, 1:44:48 PM] Show Printable Version of Post    View Member Profile    Send Private Message [Link] Report threatening or abusive post: please login first  Go to top 
Posts: 40   Pages: 4   [ Previous Page | 1 2 3 4 | Next Page ]
[ 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