Exporting to STL for 3D printing: The exported model is too small

I designed an enclosure for my PCB design in Blender 4.0.
I opened the export dialog box by using “File > Export > Stl (.stl)” menu item.

I used the options:

Selection Only: Yes (I make sure only the enclosure object is selected)
Scale: 1.00
Scene Unit: No (Is it something about this setting?)
Forward: Y Forward
Up: Z Up
Apply Modifiers: Yes

I can’t upload files because I am a new user, but you can find my design in this link:

The problem is, in Blender, my design has a footprint of 116 x 116 mm, but when we open it in an STL viewer or 3D printing software (we tried several different software), the exported model has only 1.2 x 1.2 mm footprint.

Looks like I am doing something wrong when exporting. My friend (owner of the 3D printer) says that he can scale up the model in the STL file if I tell him the actual model dimensions. But I want to learn how to do this correctly. I don’t want to bother other people to much with my trial and errors. Can you please guide me on this?

It’s just the way it is with the STL exporter. You either have to change the units in Blender(which I don’t like doing as it can cause visual glitches and weirdness), scale the model up by a factor of 100x in the scene, add the multiplier to the scale setting of the exporter, or yes, you can scale it in the 3D print slicing software. Because you are dealing with clean multiplier numbers(10/100/1000,etc) it’s easy to just scale wherever you prefer.

If you give the file to your friend all he has to do is jump the decimal across 2 places in the slicer and it will be the exact size you want.

Edit: sorry, I’m reading again. You don’t have decimal issues, but rather a completely different size? Or do you mean 1.16mm? The viewer your friend is using may have round up the decimal?

4 Likes

To add a bit to the previous post. STLs have no dimensions. Nowhere in an STL file or its definitions stands a unit or how large the value 1.0 has to be interpreted. So its up to every software. Typically 100 is a common factor from Blender to printer software, but be aware its no must.

Another thing to consider. Every software has (normally) a numerical sweet spot and its not different with blender. So zooming into a blender scene and work at mm level isnt that great for many reasons. You could change the unit scale in blender or rather simply work at another scale for the modeling task. I often treat blenders m as mm. That way a m exports to a mm with a scale factor of 1. Thats very convenient and lets you work in a good range in blender for typical print sizes.

5 Likes

Yes, I should have mentioned this, that it isn’t a specific dimension stored in the file.
I send tons of 32mm - 150mm models for print from Zbrush through Blender and into Netfabb>3D slicer, and I don’t touch the Blender units. I just prefer to either scale up or add the scale to the STL export. Everyone will have their own way of doing it, but for me I just settled on this and it works fine for my needs.

4 Likes

Yeah same for me, I almost never touch the unit scale.

Btw. that field takes a changed unit scale into account. ( but I dont use that aswell :wink:)

Make sure your scale is applied on the model before you export.

I’ve always set the scale to 1000 in the export window (The pop up window - not the actual scale of the model), and it’s always worked well for me, and I’ve never had problems with scale.

Someone did tell me a little while ago it wasn’t necessary, and I did test and confirm that was the case, but if you do have the problem, and things are teeny tiny in the slicer, then try the 1000 trick.

It’s definitely necessary if you’re printing. And it’s specific to the Blender STL exporter. This doesn’t happen in Maya/Max(where I’ve also exported from) imported to Netfabb/Lychee.

You can always scale in your slicer, but it’s better practice to just sort it at source in Blender if you’re doing it all the time.

1 Like

Aside from the scale factor in the exporter, I’m interested to know why there is a 0.4mm difference in the footprint? The dimension should be read as floating point so 0.4mm is a huge discrepancy if you are printing.

Yeah, I’ve always done it like that, and I’ve told others to do the same without problems. Its definitely weird, but whatever works, right? :person_shrugging:

1 Like

Same. It’s something I just settled on as it works perfectly for my needs. I’m just so used to it now. In our case ‘if it’s broken don’t fix it’ :smile:

1 Like

My guess is that it could be the decimal accuracy of the receiving STL receiving software. If it has a 0.1 accuracy then 1.16 units would round to 1.2. I would scale the Blender file up 100 and then export. My guess is it would then be accurate.

1 Like

Yes, you should have the Screen unit checked…
Here are my setting for export and result in Cura


I only had to reset the Units to Millimeters instead of Meters…only thing I changed.

1 Like