I understand that an STL file contains all the coordinates of all the vertices of all triangles that a surface may be subdivided into. But it does not contain the physical dimensions of the model. However, in Tinkercad, we create a 3D model with very specific dimensions in mm.

We then import the STL file into a slicer where it appears with exactly the same dimensions we set up in Tinkercad for the object. After converting the STL to G-code, the printer prints the 3D model with the dimensions we intended it to have.

How is all that possible if the initial STL file does not have information about the physical dimensions of the object?


1 Answer 1


STL is unit-less, but everything that cares about units will pick one. Typically, the unit picked is mm.

But even if that's not the case, you can always scale it with a unit conversion ratio after importing it.

  • 1
    $\begingroup$ I see. So the slicer automatically assign "mm" as a unit to the STL geometry. thanks $\endgroup$ Sep 17, 2021 at 23:34
  • $\begingroup$ If I say I want you to cut the string I give into 3 equal pieces, and then I give you a 12" long piece of string, where is the unit assignment taking place? Do you assign "mm" to something? $\endgroup$
    – Abel
    Sep 18, 2021 at 1:47
  • $\begingroup$ But we pass a STL file to the slicer and the STL does not have dimensional information. So the slicer must interpret that dimension in a certain unit. user10489 mentions that the software will pick a unit... $\endgroup$ Sep 18, 2021 at 2:18
  • $\begingroup$ So usually the unit is picked when the software is written, so like, it is always mm for that software. But I had one software package that would say "This object is tiny, it looks like you drew it in inches instead of mm" and would automatically scale it without asking -- frequently incorrectly. $\endgroup$
    – user10489
    Sep 18, 2021 at 12:31
  • $\begingroup$ meaning that if say I programmed a slicer to use inches (I don't think there's a lower unit) the resulting G-code would result in a different sized print than if I processed it in say Cura? $\endgroup$ Oct 2, 2021 at 23:57

You must log in to answer this question.

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