Scale/size issue with printing model

Hi! There is always a difference between the nominal and the manufactured dimensions. Depending on the chosen technology, the difference can be 0.3-0.4 mm which measured in diameter can easily end up in a 0.6 mm change of the nominal size.

As I see you are using FDM technology. In this case, please expect this amount of inaccuracy. One solution can be to modify your design accordingly to compensate for the difference (in this case a ~20.6 mm diameter instead of the original 20 mm), another can be to shrink the model in the slicer settings just a tiny bit. In Cura, this option is called Horizontal expansion and you can set a negative value.

1 Like

Thanks Peter. What if Shapr had an export setting that would say compensate shrink and export the model so we can get closer to the design? Would be much nicer than fake a larger model. Nem?

This really isn’t a Shapr3D Issue. This is a 3D slicer, material, and methodology issue. Each type of material whether it be PLA, or ABS, or other materials, all have different shrinkage rates. Also moisture absorption of the materials before printing will cause different results. When I use my Form3 resin printer, I get unbelievably excellent dimensions. On my Zortrax M200s, and ABS material, I get really great results, but usually need some secondary finishing. Sometimes a drill, reamer or honing of the plastic pieces. Additionally, shrinkage is inconsistent depending upon diameter, length, or thickness of the object.


Hi Peter,

Agree with @McD.

I think it is always better to make the correction at the place where the error is generated, namely at the printer side. This way, your STL file is accurate if you change your printer some day or send the file to a 3rd party.

In your case, the empiric rule of 0.3mm tolerance for FDM proves right.

Some time ago, I printed a few test parts (pins and holes) with Shapr3D + Prusa Mini and Prusa Slicer, to measure tolerances and select functional tolerances with PC filament.
The result was in fact quite precise, (Shapr’s STL export is accurate):

  • 5,5mm radius printed at 11,1mm diameter, with about +/- 0.1mm roundness error (slightly elliptical)
  • 5,7mm radius printed at 11,5mm diameter
  • 6,0mm radius printed at 12mm diameter

But I generally use 0.2mm to 0.3mm tolerance for radius when FDM printed if I don’t want to use sand paper at some point :wink:.

1 Like

Alright, I just don’t want to alter the model in Shapr the slicer is an option. Where would I find the setting in Superslicer to fix this?
PS: on second thought this would alter all objects going through the slicer even those that have been compensated allready by other creators and they would come out false and too large. Why not make this (Shapr’s STL export is accurate) untrue and compensate at Shapr export?

Not saying it’s a Shapr issue just would make sense for Shapr to compensate at export rather than at modelling.

hole 10mm diameter in Shapr → Export (compensate on) → slicer gets hole 10.3 → Print is 10mm like in Shapr → awesome

You cannot uniformly compensate for printing inaccuracies by a constant. Given constant may work with a solid cube for example but if you shell the cube out let’s say on three sides and change material, it may be necessary to tweak the applied tolerances also. Or you change the printer you wish to create the same model compensated with the same constant. It has a different heat block, different mechanisms. Temperatures, speeds need to be realigned, and so on.

And we have not mentioned any other manufacturing technology apart from printing :smiley:


compensate it if you know it

Yeah Peter, let me add a compensation number or percentage. And like above if you know something, give its as option. I am quite sure you could quite well compensate for different materials and production types. That’s what we need to do manually, so could Shapr.

Would be a unique feature, as is Shapr, right?

One correctly sized model, print it, laser ist, cut it whatever. With that tiny calculation feature.

Can’t download superslicer on my macbook m1 as the arm load seems to be broken.
But it should be quite the same as prusa slicer:

  • you have to be in expert mode
  • printing setup
  • advanced
  • XY size compensation

Hi Peter,

I’m afraid it is not possible to compensate as you would expect.
What you get is manufacturing tolerance due to FDM manufacturing process, it is not just a matter of scaling factor.
You already experimented it on your part: the compensation factor is not the same for the inner and outer diameter, so which one to choose?

So, you have to design your part taking into account the manufacturing tolerance and provision some clearance for functional parts.

You just can’t print a 10mm diameter axle and 10mm diameter hole and expect them to match perfectly, you will have to provision for 0.3mm to 0.5mm clearance on each dimension on FDM but you don’t really know in advance how much will be necessary for each portion of you part.

Merci bien for the Superslicer/Prusalicer Settings. They let you compensate but the outcome is unsure I guess as mentioned above outer/inner. So could Shapr compensate just better. For now my choice would be to leave Superslicer settings alone and compensate on my model for the face that needs it.

Look I get it, there is adjustments to be made but its possible. My problem is: why do we, the users, have to alter the model for this and why is it me who has to do it when it can be done software wise. I could mark a face as assembly face and the part could remain with the measurements taken with the calliper and that face would be colored red. I could even mark to face that will connect as combination. The article is great and it even has a table with rules you could use.

So I am a noob to the big CADs coming from Tinkercad and came to you guys as I thought the old school CADs are ridiculous to learn. I said before I learn this crappy UIs, that feel like filling out forms at some office, I will not learn it at all. You guys think out of the box that is why I am here. Here again I had the thought when my ball bearing was no fit, damn it, why do I have to compensate for that if the software can do it?

Tolerance needed as distortion happens at production/ goal is to keep the model precise in Shapr/ goal is to help user get a usable print with as few information as possible (Material, kind of production, faces to fit) /do users job so the user base does not have to reinvent the wheel each time.

"That’s how dad did it. That’s how America does it. And it’s worked out pretty well so far" Tony Stark