[SOLVED] 3D printing. I loose correct size by importing .stl file

Totally new to 3D printing. My project is to use the optics thread here https://grabcad.com/library/c-cs-adapter-1 but modifying it into a more complex object for 3D printing.

However, when I import the stl file get an object having the size measured in various meters which is obviously wrong since the real diameter is about 30mm

For a verification tried to import the same object into Sketchup which recognized the correct dimensions.

Of course getting the correct size of the thread is critical otherwise the optics will never screw into it after printing.

So I wonder what I am doing wrong with Blender.

Also I have seen few posts regarding 3D printing with Blender. Isn’t Blender really suitable for 3D printing?

Use units and unit scale to adjust the dimensions, could also scale the object to have more comfortable working scale and then scale to final afterwards. If you scale the object (in object mode, as one does), apply scale afterwards with Ctrl+A -> scale.

Scale is arbitrary. The program you export to interprets the file and it might ignore the scale altogether, so you might need to tell it the scale separately. Some ignore the unit and might need to tell it that.

This is a major problem indeed. I supposed it was my fault, but if it is Blender that is naturally unable to import the correct size it is a deal breaker. A thread to screw an optics into is not more or less. It should be the exact size, with the exact tolerance etc.

But many thanks JA12 for alerting me of the situation so that I can stop trying with Blender.

May you suggest some other software that may be more specialized for 3D printing and able to correctly import size?

Scale is not arbitrary. One program might work in cm and the other might use mm or m. In some odd cases you might have to deal with inch or some other imperial unit.

You will have to adjust for this either in the importer or scale the object down/up in Blender and apply the scale.

The problem here is indeed the STL file format:
STL files do not specify what unit of measurement their distances are in. When a program opens a STL file, it only knows that the model has e. g. a width of “3”, but can’t know if this is 3 centimeters, 3 meters, 3 feet or whatever.

You have to find out what unit of measurement your printing software expects and then scale the object in Blender accordingly. If this works in SketchUp, it’s only because it uses the same base unit system as your printing software by accident.

1 Like

It is. Turns out, Stl file format doesn’t include scale (multiplier, percentage) nor unit in the file so if the target application has scale value exposed, one could choose whatever scale to end up with correct dimensions. Dimensions aren’t arbitrary when interfacing with the real world.

Blender Unit is the default unit in Blender. When switching to metric, it defaults to 1BU = 1m with unit scale of 1. If the scale isn’t exposed in the target application, could still use whatever model scale and adjust unit scale for export to get the correct dimensions, or just scale the model itself (and apply scale).

Edit: ah, Ikari is browsing ba.org too.

Very interesting discussion, but I am not sure am understanding it. So, to be sure let me write down the above example. After turning to metric I have on Blender X and Y =35m and Z=9m. So I changed that to X and Y =3.5cm and z=9mm.

These units are very reasonable for this object, so I suspect are the correct one.

But if I am right with the units, you seem to confirm that the thread is not changed and should screw as supposed. Am I correct?

To have a confirmation I would like to measure the diameter of the hole . But now it is very very small, lost inside the cube and I cannot enlarge it properly with the mouse wheel because if I try it disappears. Apart from that do not know how to measure the hole to check it. It is supposed to be around 25mm.

The stp version of that file shows the object’s dimensions as 35,98 x 35,98 x 9 mm. So yes, you seem to be on the right track with the adapter’s size. But a correct size alone will not guarantee that it will fit correctly. The threading is quite delicate and there might be issues due to printing resolution.

Hm. What cube? Care to post a screenshot?

Other than that it doesn’t really matter if the object is in “real world size” in Blender. Again, this is what happened:
The stl file just defines the size of the adapter as 35,98 x 35,98 x 9 “units”. For Blender the base unit is Blender Units = meters, so the object came in as roughly 36 x 36 x 9 meters. SketchUp seems to use millimeters as base unit, so the object came in correctly as 36 x 36 x 9 mm = 3.6 x 3.6 x 0.9 cm.

Now, the only thing that matters is: What does your printing machine’s software use as base unit?
If it also happens to use millimeters, it might be favourable to just keep the object’s size after the import and work from there. So, you just define for yourself that 1 BU = 1 mm and model your accessories. On export to stl those “Blender units as millimeters” will again revert to nameless “units” and will be interpreted by your printer as it sees fit.

That’s what JA12 meant by “scale is arbitrary”:
It’s all in the interpretation of nameless units, which could be anything from nanometers to parsecs.

1 Like

No it is not. The file holds values where a vertex is placed. This might be, like IS explained above, 3 cm, 3 inches, 3 something elses.
You can check what unit system the program used in which the model was made or exported from. If the model was made in cm and is 3cm wide in the original program but Blender imports it as 3m wide object you simply have to scale it down to 0.01 and apply the scale.
If it was made in inch you have to do the same with 2.54.
This means that you can easily “backwards engineer” the correct scale. This would not be possible if it was arbitrary.

<edit>This requires that the program or exporter the model originates from applies the scale</edit>

This. And even if your slicer software imports it at 3 meters wide all slicers i know allow scaling.
In case you are printing on a commercial printer farm like Shapeways and don´t do the slicing yourself you have to check their FAQ to find out what unit system they are using.

Many thanks Ikari, explained this way I understood it perfectly. Sorry for being slow. Anyway these are good news because this means that it is possible to go on with Blender.

The cube that appears when you start Blender without doing anything

A screenshot would show nothing I would need to post a video of what is happening when I move the mouse wheel. But I do not know how to take such a video. Well I can post a set of screenshots that mimic a video.

no more than 3 files other 3 files next post

So with the last screenshot everything disappears and it is impossible to enlarge it enough to see details. This happens only after I reduced units to mm. Before that the mouse wheel allowed me to see everything.

Ah, you should probably delete that cube or else it might end up in your 3D print.

You can then either adjust the viewport clipping which is in the tool shelf. Simply set the start value to 0.
Or you can use isometric mode which is numpad 5.

The reason it disappears is because the object is too small and clip start distance is too big, so the model gets cut out. It’s also difficult to zoom before resetting the view center with selection and numpad_decimal. Orthographic viewmode helps with zooming. But as suggested, might as well scale the model larger for working with it.

Would suggest 10x or 100x, or even 1000x to go from meters = millimeters and apply scale so that tools and modifiers work on correct mesh dimensions and then scale back for export. Just don’t choose arbitrarily, must consider carefully before using these multipliers.

:eyebrowlift2:I was able to delete the cube:yes::yes: using select/mesh/delete. Is that correct?

It worked!! Many thanks So it is problem solved. I’ll mark the thread as solved. Many thanks to all.

Now I need some tutorial that explains how to keep the thread, but delete the other parts of this object that I do not need, and how to add new parts. But I am happy!! The most difficult part of using a new software is starting

Hmm… as a start instead of a tutorial I suggest reading the manual:

Manual downloaded thanks. I really feel happy that you all helped me so much

This is sad that the .STL file<–>3D Printer cannot properly interpret units of measure. Now I have clients mad at me because they think my models are not correct. They don’t understand and don’t want to hear about file/3D printer conversion issues…and that problem is completely on their end. As long as I have instructions on how to prepare the .blend file for a particular printer, there is no problem. For example, many of the online printers have specific instructions for Blender export of STL files (i.e. shapeways.com).