Dimension issues

Hey Gang,

I’m trying to narrow down where this dimensional issue is.

I’ve designed this paintball body kit and the problem is when it prints, the highlighted part is smaller than designed.

It shows 25.4mm but when it prints, it’s 24.7. I am utterly baffled by this.

You’re first thought might be the printer but when. I print a 20mm cube, it’s 20.02 or 20.03 on each side.

Also, the recent print seemed to have “added” a section that covers the opening near the bottom of the file, where an “outcropping” was added.

I could really use some guidance on what went wrong here.

The entire file was designed in Shapr3D, the “end out cropping” was designed as a separate file but exported as a sharp file to be imported. So there is no format conversions that should be happening.

I purposefully did not union anything, as I thought that was causing me issues before.

This one project has been irritating me for months and I feel like it shouldn’t be this hard.

That highlighted circle moves “freely” through the middle. Meaning it doesn’t disappear at any given point, showing that the internal opening should be consistent throughout the entire object. When it prints, the diameter is shrunk right where it the circle is currently positioned. Yes it shows just fine I the app.

Seems the forum won’t let me upload the zipped file. So here’s a mega link.

How do you export it?

As an STL.

Low or high quality?

High Quality

If you are printing with an FDM printer, then it’s probably your printer’s resolution. A well configured FDM printer’s tolerance is around +/- 0.2mm. Printing a cube is not necessarily representative to the tolerance of a more complex geometry.

A couple of things I’ll add:

  • yet is is an FDM
  • ‘not necessarily’ seems like a bit of a catch-all phrase, but I get that’s all you got with the information you have
  • the ‘cube’ is not a straight cube, it has X Y Z embedded/recessed into each face. So it’s not just straight lines, thus a more complicated design than straight faces.
  • if I tell my printer to go 20mm in one direction and it does so within 0.02mm, that’s pretty accurate. If it also does the same in 3 other dimensions, then it is pretty accurate. A ‘circle’ is just XY travels. I’ve already established my XY travels to be accurate with 0,02mm. So I’m not completely buying ‘it’s the machine’ at this point.

Let me add something else:

In that file, there is a ‘protrusion’ at an end. Right above that protrusion, the resulting print has a gap an a seemingly ‘near solid’ layer across the centre bore. That was not there before curing test prints, and only showed up after I added that share to that barrel section. My printer didn’t suddenly add in a print command where there was not supposed to be one.

I don’t know how to assess a resulting STL file but if you have such resources, would you like a copy of the one that gets exported from my end? Maybe that’ll help narrow down where some of these ‘commands’ are coming from that generate this odd behaviour?

Can you share the file in .shapr format?

Here you go.

MG100 V3 2.zip (1.5 MB)

I don’t see any error here. You can try to increase the resolution of the mesh when exporting, but most likely that’s not the root cause of the issue. If you think it’s an issue in Shapr3D, you can try to export it to X_T or STEP and use a different tool to generate the STL file.

1 Like

Thanks, will try and see how it goes. I was thinking of exporting as a 3rd as well. Would that make any difference you think?

No, I don’t think that the issue is in Shapr3D.

Sorry, autocorrect is irritating. That was supposed to say “3mf “

In general 3MF should be always preferred, but in this case it’s unlikely that it would solve the issue.

Hey @DragonDon! I have some ideas, let me jump into this conversation.

The X-Y accuracy of the printer is regularly measured at the stepper, which is indeed a precise piece of the printer. But then you have belts, moving weights with inertia, and the most inaccurate element in the system: molten material poured from the nozzle. Even a slight change in the nozzle temperature or the speed of movements can cause deviations compared to the nominal precision.

In your example, the calibration cube and the tubular shape are the same cases I think. The cube got slightly bigger for some reason. In short, the actual printed part got bigger.
The same applies to the tube: if the printed tube is bigger than the nominal dimensions, the outer diameter will be bigger and the inner will be smaller, resulting in a smaller inscribed circle diameter.

There are some scenarios to overcome this inaccuracy, I tried to collect some of them below. Please note that the deviation depends on the geometry of the part, the print settings, and the material properties, there is no constant that can simply be applied to every model.

  • If the deviation is known after a print, you can compensate for it on the model by making the diameters slightly bigger/smaller

  • Tweaking the temperature and speed settings can also help

  • Depending on the slicer you are using, there may be a setting to compensate for this effect by uniformly shrinking the whole print. In Cura, it is called Horizontal Expansion and you can set a negative value for it.

1 Like

It seems that there is an issue somewhere and everyone wants to point somewhere else and there’s no real end in sight as to how to figure this out.

There is one more piece to this puzzle that hasn’t been mentioned yet. Outside of hardware and software updates, this part is just one of two pieces. The other piece printed out just fine. Dimensionally accurate as how it was designed.

Today I measured the outside and surprised to find that it too has shrunk by exactly 0.5mm, just like the inside.

So to me, that means that it’s not a printer issue. The printer can most around all the weight, belts with it’s inertia and printer a 20mm cube within a couple thousand’s of a mm. So going back to the printer feels like a cop-out because every other print I’ve done turns out fine. The printer itself seems to be doing only what it’s told and not ‘making up dimensions’.

"cub got slightly bigger’. This is a bit of a non-sense claim. Unless you get into industrial printers, being out by 0.02mm is insanely good for a retail 3D printer. That would NOT have any bearing why an entire piece is shrunk my 0.5mm. Not by ANY stretch of the means.

Sure, scaling an object up can work, but it’s a band-aid solution at best. Until this is narrowed down to where/what is causing the dimensions to change, this will be an endless source of frustrations.

I do appreciate everyone’s input, it has helped to narrow down where the problems are not. Sadly, it’s still not quite enough as of yet. I’ll be doing some more testing.

Oh, one more thing to add, in the explanation that it is NOT the printer, is that I have two completely different printers. This is happening on both of them.

The chain of the print job is thus:

1/ Shapr3D designed
2/ Sliced in either Prusaslicer or Cura
3/ Sent to OctoPi
4/ Printed on hardware(Ender 5 Plus and Tronxy XY2 Pro).

Seeing as the issue happens on both devices, the printer itself can be eliminated now.

Do you see any differences in the bounding dimensions when you import your models to Cura? If the STL you export from Shapr3D is faulty, you should see the difference in the dimensions right after importing it to the slicer.

You can also re-import any STL to check if there are significant deviations between the models. If you see something like the picture below, that means the STL and the original file have overlapping faces without any major deviation.

The red is the original CAD model, and the grey is the imported STL made of the CAD model

That is a handy thing possibly. I did just that and I see none of those red lines. In fact, it looks like nothing at all changed.

Ok, here’s what I did next. I created a basic 100mm(outside, 90mm inside) circle. Expoted, ran through PrusaSlicer and test printed using OctoPi and then straight off the SD Card.

Through OctoPi:

  • outside diameter: 99.58
  • inside diameter: 90.6

From SD Card directly:

  • outside diameter: 99.58
  • inside diameter: 90.37

I’m going to print one of the internal shapes provided by PrusaSlicer itself, 15mm in diameter and 2mm thick and see what that does.

Ok, printed off a 25.4mm circle and it came out to 25.4mm.

I’m going to create a 25.4mm ring in Shapr3D and export that to test(so smaller than the 100mm)

The simple ring turns out to be 25.23mm on the inner diameter, 0.17mm smaller than it should be. I know you really believe it’s not the software but when I don’t use the software, it works, when I use it, it doesn’t it.

Where does that leave us now?

I’ve attached the shapr file and the exported STL for your reference.

circle.shapr (5.5 KB)
circle.stl.zip (11.0 KB)