Print at Feb 10, 2026, 1:26:17 AM
Posted by MarkusBohu at Jan 29, 2026, 7:19:03 PM
Determine Texture Surfaces for Blender Models
I am starting to create my own models in Blender for use in Sweet Home 3D. I've gotten to the point where I'm able to generate very useful models, but I am running into 2 issues:

1. When I import the Blender models (exported as .obj files) into SH3D, they always only have a single texture surface, which makes it almost impossible to assign any texture to them, because instead of assigning the texture flat to each surface, SH3D stretches the texture out in a weird way on some surfaces (so if I have a simple cube, and a simple grain pattern texture, the top and bottom surface of the cube will have the proper grain pattern but the sides will have the pattern completely distorted. So I would like there to be six surfaces that I can assign the pattern to separately.
Here is what I get:


Here is what I want:


I am not assigning textures in Blender (and don't really intend to, as it's easier to do in SH3D) and there is also the issue that when creating more complex objects, there may be a huge number of "surfaces" in Blender--but I generally only want a small number of simple surfaces for texturizing in SH3D

Is there a simple way to get Blender to export the model with multiple texturizable surfaces for SH3D?

2. I can't get the dimensions to export properly in the .obj file. I usually have the scene in Blender set to use Imperial dimensions and Inches, but when I export, a model that has, say a 70 inch side imports to SH3D as 0.2 inches or something else real tiny. It's not a fatal issue, as I can resize it in the import dialog, but it's annoying nonetheless, and seems to be an indication that I'm not really understanding how to properly export from Blender.

Any ideas? Seems like it would take years of studying to fully understand Blender, but I'm hoping that I can learn enough to create the models I need in SH3D.

Posted by Keet at Jan 29, 2026, 7:59:02 PM
Re: Determine Texture Surfaces for Blender Models
Is there a simple way to get Blender to export the model with multiple texturizable surfaces for SH3D?
In Blender you will have to assign material names to all the parts of your model that you want to have a different texture. No need to assign a texture, just any color will do. Assigning a material name will result in a obj/mtl export that has all your material names which you can then assign with a color or texture in Sweet Home 3D. In Blender you can also set how a texture is aligned for each separate part.

2. I can't get the dimensions to export properly in the .obj file. I usually have the scene in Blender set to use Imperial dimensions and Inches, but when I export, a model that has, say a 70 inch side imports to SH3D as 0.2 inches or something else real tiny. It's not a fatal issue, as I can resize it in the import dialog, but it's annoying nonetheless, and seems to be an indication that I'm not really understanding how to properly export from Blender.
Every graphics program is build using the metric system, including Blender and Sweet Home 3D. When you use Imperial then that is just an on-the-fly conversion from metric. The other way around is the same, again a conversion. That will result in small differences that you can not avoid. You can open an .obj file with a plain text editor and all the values you will see are metric.
The easiest way is to always use metric but that might be difficult when you grew up using imperial.

One thing that helps is to switch magnetism OFF when you import a model. After import you can switch it back on (magnet button in the toolbar).
See this post where the same problem was first discovered and the original developer of Sweet Home 3D found the cause of the problem.
----------------------------------------
Dodecagon.nl
1300+ 3D models, manuals, and projects

Posted by MarkusBohu at Jan 30, 2026, 1:16:10 AM
Re: Determine Texture Surfaces for Blender Models
Thanks for the reply.
2 things I do not understand with Blender (and probably in general with how 3D objects are modeled.)

1. In Blender, it seems that once I do a number of operations on an object, it gets subdivided into surfaces, sometimes in very unexpected ways (for example, it seems that a single surface can't have any holes, so it gets split in a way that there are no holes.--Am I correct in that assessment?)
So I end up with objects that look exactly like I want them to, but on the back-end their geometry is extremely complicated. For example: Look at the preview in my top screenshot in my original post: To me, this object should have 6 faces, just like a standard cube. The front face is a complicated shape with some holes and bends, but I still just want to apply a single texture to that face. But in Blender, that face is subdivided into multiple faces (see screenshot) and I have noticed that if I apply lots of operations, there may be hundreds of subdivisions. Do I have to name every surface in Blender? That seems like it would be much too complex.


2. Well I actually grew up with metric, but where I live now, everything is specified in Inches/Feet and measuring tapes mostly come like that too...and of course, most objects are sized so that they come out to even numbers in inches but not in centimeters--so it get's quite annoying to keep sizes straight (much as I think Imperial is simply stupid--it feels like swimming upstream to convert everything to metric) If necessary, I probably could design everything in Metric, but it's not just that Blender exports slightly different, but if I have an object that is 20" or 50-ish cm high, it imports into SH3D as about a quarter inch high, if I do not scale it up. Seems like there must be a different thing going on. It doesn't matter in SH3D, but if I send something to be 3D printed I need to figure out how to preserve EXACT absolute sizes.


Posted by Keet at Jan 30, 2026, 8:05:00 AM
Re: Determine Texture Surfaces for Blender Models
1. In Blender, it seems that once I do a number of operations on an object, it gets subdivided into surfaces, sometimes in very unexpected ways (for example, it seems that a single surface can't have any holes, so it gets split in a way that there are no holes.--Am I correct in that assessment?)
Yes, every surface is defined using triangles. That's how every program for 3D modeling works. Sometimes there are quads but they usually get converted to triangles.
On my site dodecagon.nl you can find a manual called Vertices, Edges, Faces, and Meshes that does a little more explaining.

But in Blender, that face is subdivided into multiple faces (see screenshot) and I have noticed that if I apply lots of operations, there may be hundreds of subdivisions. Do I have to name every surface in Blender?
No, of course not, that would be almost impossible. What you do is define a set of material names. Then you select a set of faces (the triangles) and assign a material name to that group of faces. You do that until every face is part of a group with a material name. While in Blender that has another advantage: you can select (or unselect) all the faces that have the same material assigned. Very handy if you don't want to smooth everything but only a specific set of faces. (You don't want to smooth glass surfaces.)

...but if I have an object that is 20" or 50-ish cm high, it imports into SH3D as about a quarter inch high,
As I said in my previous response: Import with magnetism OFF. That prevents a conversion rounding from metric to imperial on the imported object (the internal object definition). The display will be in imperial but the actual object will remain metric. There is no program that I know of that can save an object in imperial measurements, no matter what file format you use, it will always be stored in metric.
You can create a model in Sweet Home 3D or Blender using imperial. When it is saved the values in the saved file will be converted to metric. When you import in Sweet Home 3D switch magnetism OFF, that insures that the actual metric values in the file are imported and not converted back to imperial. Only the display will be imperial. If there are still differences than that is because of different rounding between Blender and Sweet Home 3D. And that is very likely because the smallest value in Sweet Home 3D is 1mm, it's interior design software, not 3D modelling software. On the other hand Blender is 3D modelling software and handles values much, much smaller than 1mm.



The 1mm limit of Sweet Home 3D is not completely true, it does use smaller values internally like when you import an object, But every value displayed only has one decimal making the smallest displayed value 1mm. I'm not sure how that translates to imperial. You can enter a (metric) value like 0.05 but the display will round it to 0.1, internally it will keep the 0.05.
To get around this I often create models on a scale of 10:1 or 100:1. Only the last export of a model is down sized to the required size and sometimes I even don't do that, a model is easily scaled down after you import a large sized object.
----------------------------------------
Dodecagon.nl
1300+ 3D models, manuals, and projects

Posted by MarkusBohu at Jan 30, 2026, 6:34:05 PM
Re: Determine Texture Surfaces for Blender Models
Thanks again. That's very useful.

One last thing: For some reason SH3D still imports the object files at a scale of about 100/1 even with Magnetism off--but as you said, it's easy to scale them, so I'll just not worry about it.


Regarding the surface textures. I'll have to dig into that. I still have trouble figuring out how to select all the surface triangles, since there could be thousands and in a 3D view, it's not that easy to even be sure what you're clicking on. Seems like it involves a lot of painstaking work.
One thing that I do not understand is, why SH3D maps textures in an unexpected way, when I'm not specifying multiple surfaces. I would expect that a 2-dimensional texture would be mapped to an object that has faces pointing in different directions (but not defined as separate faces) as if that texture was a thin sheet that gets wrapped around the object (just like when you wrap a car with some custom design graphics)

But instead the texture is applied so it faces correctly on ONE of the surfaces but then gets cut through like a 3D cake--which makes it look completely incorrect on all the faces that have a different orientation than the first one. I wonder who would ever want it to be done that way?
I assume there is no setting in SH3D that would change how textures are mapped?

Here is an example of a powder coated black metal texture. The object does not have different surfaces defined, and if I apply the texture to the entire object, only one face has it applied correctly. But if I wanted the texture to be applied correctly everywhere and wanted to be really detailed about it, I would have to define EVERY surface, including the inside of every single hole cut. That seems crazy. Why wouldn't SH3D simply wrap the texture correctly?


Posted by Keet at Jan 30, 2026, 7:41:29 PM
Re: Determine Texture Surfaces for Blender Models
One last thing: For some reason SH3D still imports the object files at a scale of about 100/1 even with Magnetism off--but as you said, it's easy to scale them, so I'll just not worry about it.
That is because Sweet Home 3D interprets a cm where Blender uses a mm (I think, might even be 1/10 mm, I'm not sure). You can easily scale when you check "Keep proportions" and add *10 or *100 to one of the size values. Sweet Home 3D will do the calculations.

I still have trouble figuring out how to select all the surface triangles, since there could be thousands and in a 3D view, it's not that easy to even be sure what you're clicking on. Seems like it involves a lot of painstaking work.
I still use the older 2.72 version of Blender but the latest version should not be too different. Hold Ctrl and you can drag over faces to select them, that way you can also drag an area around faces to select them.

One thing that I do not understand is, why SH3D maps textures in an unexpected way, when I'm not specifying multiple surfaces. I would expect that a 2-dimensional texture would be mapped to an object that has faces pointing in different directions (but not defined as separate faces) as if that texture was a thin sheet that gets wrapped around the object (just like when you wrap a car with some custom design graphics)

But instead the texture is applied so it faces correctly on ONE of the surfaces but then gets cut through like a 3D cake--which makes it look completely incorrect on all the faces that have a different orientation than the first one. I wonder who would ever want it to be done that way?
I assume there is no setting in SH3D that would change how textures are mapped?
Remember, Sweet Home 3D is interior design software, not 3D modelling software. What you describe is specifically 3D modelling. That means that Sweet Home 3D has no features for this but Blender does. You will have to 'fix' texture mappings with Blender.
What might be easier is to split your model into separate parts by exporting each part with a single material. Imported in Sweet Home 3D there are two ways to set a texture in the Modify Furniture dialog. In the Color and texture section you can choose the Texture button, this will set a single texture over all of the model. This will change the texture mapping and might be what you need. The other way is to click the Modify button in this section. That will open a new dialog where you can also set a texture. This will not change the texture mapping (If you scale, rotate, or shift the texture, it will change the mapping when you export the model).

Here is an example of a powder coated black metal texture. The object does not have different surfaces defined, and if I apply the texture to the entire object, only one face has it applied correctly. But if I wanted the texture to be applied correctly everywhere and wanted to be really detailed about it, I would have to define EVERY surface, including the inside of every single hole cut. That seems crazy. Why wouldn't SH3D simply wrap the texture correctly?
Sweet Home 3D displays the texture as it is defined in the imported model. If that is wrong then the mapping in the model is wrong: fix it in Blender before export (UV unwrap, select projection type). You can try the first method I described because that kind of does the wrapping around your model but that only works on a part or model with a single texture. You can even scale, rotate, and shift the texture.

With the things you want to do you will have to learn more Blender. As said, Sweet Home 3D is not 3D modelling software, although its capabilities have grown so much over time that you can 3D model a little when you keep it simple. There are people who have become quite adapt in creating 3D models with Sweet Home 3D but they so without things like texture projections and smoothing. I create most of my models using several steps of import/export between Sweet Home 3D and Blender, and sometimes some manual editing of the .obj and .mtl files.
----------------------------------------
Dodecagon.nl
1300+ 3D models, manuals, and projects