19
$\begingroup$

I've set my Units (in scene properties) to Metric, and the Scene Scale to 0.01 hoping to get the Blender dimensions it mm's. While the (normal) scale is 1 for x,y,z, the standard cube has the dimensions 2x2x2 cm. When I export this to an STL and open it in a slicing program (Netfabb, Slic3r or Cura) they all give the dimensions: 2x2x2 mm. While exporting, the scale is 1.

What am I doing wrong? I hope you can help me.

Thanks!

$\endgroup$

8 Answers 8

18
$\begingroup$

The STL exporter doesn't take Scene Scale into account. Import your STL back into Blender (it will have the same size) and drag Scene Scale up back to 1.0, and you'll see how the cube grows relative to the grid.

1 Blender unit equals 1m, but STL seems to assume 1 unit as 1cm.

If you want 1 unit to be 1mm, set Scale on STL export to 0.1 and
Scene Scale to 0.001 to make it match the output scale in viewport.

Note that the STL will be 10x smaller if you re-import it into Blender!

$\endgroup$
2
  • 2
    $\begingroup$ Hi CoDEmanX, I found that STL does not use units, it is up to the interpretating side which units are used. In my case Cura and Netfabb use mm, therefore the STL "has" mm as unit. This would explain why I always see the same size (unitless). $\endgroup$
    – Rogier
    Commented Mar 5, 2014 at 16:54
  • $\begingroup$ STL sucks really bad, I can't believe that this garbage gets still used and no better format exists: Scale is about the MOST IMPORTANT factor in an object, it is ridiculous that STL does not have any support for this. We definitely need something better. Looks like OBJ is better and using Blender, the scale gets exported too and seems to be the right size. $\endgroup$ Commented Mar 9 at 6:37
13
$\begingroup$

Shortly after I posted the question, I got some help in real life (I did not know that was also a possiblity :) )

Apparently, STL's do not have a unit. However, the program interpretating the STL gives it units. In my case Cura and Netfabb both interpretate my STL as mm. This would explain why I always saw the same size (unitless). Because of this, I should also create models in mm's, so I do not have to worry about Scale on STL export.

I want answer my own question to give some more explanation. I am not using the Scale on STL export, but I am using the scene scale. By setting the scene scale to 0.001, I can really make my model in mm's; in the properties menu I only have to think about mm's. With these settings I am able to export my model as a STL, and see it correctly in Netfabb or Cura.

$\endgroup$
4
  • 1
    $\begingroup$ Scaling my model up by 1000 while exporting worked. My units were in centimeters. Here's a link with pictures of what I did: imgur.com/WggbP4N $\endgroup$
    – Greg
    Commented May 19, 2016 at 11:16
  • $\begingroup$ yep, no matter if you change the scale soon (design) or later (export), just remember to do it 0.001 for mm, if the mesh is shown as m (default Blender i guess). Case that you need model in cm but printing in mm, you can play both values... so it's just perfect. $\endgroup$
    – m3nda
    Commented Sep 6, 2016 at 11:37
  • $\begingroup$ Why would a 3D-printing format not have units? $\endgroup$ Commented Jun 16, 2019 at 4:53
  • $\begingroup$ Because the world is a crazy place @Kyle $\endgroup$
    – Moog
    Commented Oct 18, 2019 at 1:15
8
$\begingroup$

Set Blender in metric mode. Don't touch the scene scale. When export to .stl set the scale to 1000 (in the export menu). It seems that most slicer use mm. :)

$\endgroup$
2
  • 5
    $\begingroup$ Could you please elaborate on how to do this? If the OP (or anyone else reading this answer) doesn't know how to change the units or set the scale this answer is useless to them. $\endgroup$
    – PGmath
    Commented Apr 3, 2016 at 20:43
  • 1
    $\begingroup$ That's the shortest workflow to do it, totally yes, don't touch then set scale on the exporting step. $\endgroup$
    – m3nda
    Commented Sep 6, 2016 at 11:38
2
$\begingroup$

I had the same question, but my measurements are in inches, and I'm trying to print something to fit something inside of a drawer, so everything was measured in inches. (I probably could have redone all the measurements in mm or converted them, but :shrug: ).

Anyway, I was able to keep all the dimensions the same and build the widget using inches:

Blender designing in inches

And then export the .stl by setting the Scale value in the export box to 25.40 which is mm/inch.

I am on Blender 2.79b.

Quick Edit: I also found this helpful documentation page on the subject.

$\endgroup$
0
$\begingroup$

I have found a fool proof way to make a 5mm cube, and for me to be able to import it into my slicing software (PrusaSlicer based on Slic3r) and it prints a 5mm cube without need for any alterations.

Just to clarify I'm using Blender 2.79, Go to "Scene" (a few left of the modifier tab) Change Units from "Unit Presets" to "Millimeters" When you go to File-Export-Stl Set the scale (bottom left) to 0.5 and you should be good to go!

$\endgroup$
0
$\begingroup$

to getting right dimensions, set unit system : metric scale : 0.001

$\endgroup$
0
$\begingroup$

This works for me. Posting it for others as well as future me.

Using the metric system, with length in millimeters and a Unit Scale of 1. Design the project using actual measurements in mm.

Design Unit Screenshot

Once the design is complete, change the Unit Scale to 1000.

Save as STL Unit Screenshot

Export the file as an STL file and select Scene Unit of 1 and also the Selection Only.

STL Export screenshot

$\endgroup$
1
  • $\begingroup$ Hi. Did you read the existing answers before posting? How does this add anything new to them? $\endgroup$
    – Joachim
    Commented Mar 14 at 7:37
-1
$\begingroup$

I was able to solve this by selecting File, Export, Stl file format, and Selectihg ASCII (so it's viewable in Notepad), and then increasing the scale (in my case to 1000). I still believe Scene Unit (select it) is important. Once I looked at the vertices in Notepad ,they looked "good" and it imported into my slicer (Simplify3D) without a hitch.enter image description hereenter image description here

$\endgroup$
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .