Dimensionally Inaccurate Parts Being Produced by X1C

I’ll have you know I bought the best calipers that $15 will buy at Harbor Freight!

3 Likes

Ok, going for discussion of accuracy of calipers and metrology in general. (I’m not an expert, but I know enough to be dangerous :crazy_face: ).

Every measuring device has its nuances. Calipers have been referred as “guesstimaters” because improper usage can produce varied measurements. It’s really easy with calipers to get different readings with the amount of pressure applied to the jaws.

Let’s take a look at some examples using a DIN 861 - 30mm Grade 1 gage block. Grade 1 is also referred as a “shop grade” gauge block, with a variance of around ±0.40 µm (±0.0004mm) and a tolerance of 0.18 µm (0.00018mm) meaning is good for everyday use on a machine shop floor.
30mm gage blod

And a middle of the road set of calipers (not budget, but not top of the line).

Properly measured with the proper amount of pressure on the jaws on clean surfaces you get:
Pproperly measured

Now if you “over squeeze” the jaws to the max, you get:

But, if you don’t apply enough pressure, you get:
Under squeezed

We end up with a variance of 90 µm (0.09mm) from under to over pressure.

The kicker is, that most of the digital calipers on the market are “good enough” for FDM printing. As you go up in price, you gain fit, finish, smoothness, and accuracy (Mitutoyo calipers are stated accuracy of ±0.02mm, really inexpensive ones are around ±0.05mm, mine are stated ±0.02mm)

But let’s try to put things into perspective. What is 10 µm (0.01mm) in real life?

1–10 μm – length of a typical bacterium
50 μm (0.05mm) is the average diameter of a typical human hair (technically 17-181 μm but 50 μm is an easy round number to remember)
(Wikipedia Micrometre)

So, think about it, if you are trying to FDM print a part down to 10 µm (0.01mm), for example: you are trying to nail a dimension of 23.45 mm exactly (for some arbitrary reason) and you are only getting 24.55 mm and you are frustrated, you are missing your dimension by 2 human hairs!
24.60mm is 3 hairs off.
24.65mm is 4 hairs off.
23.70mm is 5 hairs off.
23.75mm is 6 hairs off.
(I really hope someone is laughing by now… old dirty joke)

I’m always having to remind myself that there is only so much that I can ask from FDM printers in accuracy of printed pars. Especially when I work on a metal lathe and mill where there are times when I do need to get within ± 3 decimal places (metric) for some reason (example: clearance, transition, interference fits).

2 Likes

Real things aside, its still a frivolous tolerance when talking about a retail 3d printer. For an industrial situation you’d be more inclined to look at that scale but you wouldn’t be using a Bambu printer in that case…

Here are the results after also printing the cube on a Prusa mini+ and a Ultimaker S5. I’m didn’t have much influence on the settings, but I assume that they are just default configuration and certainly nobody has compensated shrinkage. This gives an advantage to my prints on the X1C, so I calculated the dimensions, my prints would have had without compensation.
I replaced the calipers slightly for each measurement and avoided the embossed text, the seam and the corners (some were bulgy).

First the full results, further down a summary:

grafik

My observations:

  • measurements for all printers have quite some scatter of 0,1 … 0,2mm . (I did my best to use equal pressure).
  • each printer has features that are “off”:
    • X1C: post and hole are too small, outside dimensions are very good, even without shrinkage compensation
    • Prusa mini: Outside and post dimensions are too small, hole is very good
    • Ultimaker S5: Outside and post are too small, hole is too big.
  • the X1C produced the best corners and seams.
  • Cura seems to produce muuuch nicer bridges. They look quite mediocre on both Prusa mini and X1C and great on the Ultimaker.

I’m still amazed about the optical and dimensional quality the X1C produces at 300mm/s compared to the others, running at 30 … 50 mm/s.

It looks like the Ultimaker suffered from underextrusion and could probably have had a bit better results.
I still think, properly dialing in flow and shrinkage have more influence on the accuracy than the printer itself.

5 Likes

I can see now why a simplistic xy hole compensation setting in the slicer is going to have problems after discovering that a guy on printables did a bunch of measurements and found that small holes really do have a greater percentage of shrinkage:


https://www.printables.com/model/449520-hole-diameter-shrinkage-test

so no matter what xy hole shrinkage compensation you pick, it will be wrong for the holes that are a different size.

6 Likes

We need curvature based compensation! :wink:

1 Like

I am a Ender user and I am having the same issue as OP mentioned above. While Ender printed with 99.9% accuracy, my P1S prints always miss that .1mm

We need something more than what we have, that’s for sure! I think the shrinkage feature like in OrcaSlicer would be a great workaround till they find a more automated process… I am just sick of having to jump back and forth between the slicers as updates come out.

OrcaSlicer will automatically scale the model based on shrinkage % you set per filament, so that is the best option I found outside BambuStudio. Only option I found in BambuStudio was the hole and contour compensation, but that can sometimes mess up the shape of your model, so its not a good solution.

I was under the impression that the results summarized in the above graph comparing hole size to shrinkage amount are a generic problem that cuts across all printers. How is it that you compensate for the shrinkage in different size holes printed with your Ender?

Thanks for the correction. I misread. :smiley:

1 Like

Maybe the important thing is to know that 3D printed holes will be significantly undersized. So make your first test print .3 over (or whatever factor you decide on) and then tweak from there. Can take a lot of time if your print has a lot of holes. I find that I’m getting much better at it by being consistent with my filament (brand and type and even color), and likewise being consistent with settings.

Trial and error is essential for problem solving issues like these.

This specific issue is also material dependent. I can print the same model in PLA and in nylon, and if I don’t adjust the nylon print to account for nylon shrinkage, I end up with an accurately sized PLA hole and an inaccurate nylon hole by up to 0.3%

There are some questionable suggestions in that thread. That staff member is telling someone to lubricate their carbon rods.

Filament shrinks, scale your models accordingly. That’s a good enough answer for many people

2 Likes

I don’t understand what you mean here. Say I’m printing someone else’s model, and all I have is the .stl file. I don’t have access to the original CAD model. Maybe I’m printing it with a different filament than the original author. I would argue that this is a more and more common scenario, because makerworld, printables, etc are more and more having stuff that’s worth printing.

Sure, I can do xy shrinkage compensation for the gross dimensions of the model, but we’ve established that doing so isn’t a complete answer for the hole problem. What to do, other than to accept undersized holes and possibly drill them out? That seems to define the current situation. If I have to work my way back from a .stl file to reverse engineer the original solid model, and then make corrections to that for my particular situation, including all the tweaking, then 99 times out of 100 it’s impractical: drilling it out will be faster.

1 Like

I’m saying if the error in dimensions of printed parts is in any way predictable, repeatable, or consistent, then it’s not really a problem is it? It’s annoying, but you have the tools you need to scale your models as needed. I am able to get dimensionally accurate prints by adjusting for material dependent shrinkage factors. For nylon this is about 0.3% at the most. Then account for any further hole shrinkage and call it a day.

If you need the model to do your scaling, get the STEP file or recreate the model I guess. I am only speaking from my own experience. These printers are definitely not perfect, but I am able to get dimensional accuracy with nothing but simple trial and error.

2 Likes

Having to manually scale for every print because of filament shrinkage or whatever is happening, is not a solution. Having to design a part with incorrect dimensions just so the printer produces the parts accurately is not a solution. Those are a workaround at best.

OrcaSlicer allows auto scaling based on material shrinkage % which is way better than anything BambuStudio is offering. We either need a firmware side feature that automatically compensates by using the lidar data, or we need more options in the slicer so we can lock in settings per filament so we dont have to do the whole trial and error for every print we do.

1 Like

I’m not suggesting that it’s a solution, but I personally decided about a year ago that I didn’t want to wait for Bambu to fix this. This issue has been around since day 1 of the kickstarter release, and people have raised it with Bambu back then. It’s unlikely we’ll see the fix we’re all hoping for, but we’ll see I guess.

The toolhead camera is not going to be very useful for that (or many things to be honest). If we had a better resolution camera, better lighting and control over exposure settings, an offset lens instead of a lens directly below the nozzle, etc. then maybe this would be feasible.

The pressure sensor in the A1 nozzle is miles ahead of anything the toolhead camera and lasers on the X1 are capable of. Continuous monitoring of nozzle pressure will probably be the “answer” to many of these issues including dimensional inaccuracy.

Yes, but if printing same material on multiple different printers and getting different results, it is no longer about the material. It is about the printer and what it is capable of. If I can produce a more accurate part on a printer running marlin or klipper than on the X1C, that is a problem for me.

I first noticed this issue when I printed a GT2 pulley, and the teeth would not line up with the belt when I printed them on the X1C, but they all came out fine on every other non Bambu printer I tried it on. Having lidar and all these features is really a gimmick at this point.

There’s no denying that it’s a very annoying issue to deal with. I have just found good enough ways to compensate for the error that I can justify continuing to use the x1. It’s still very consistent, and I’d like it to be accurate out of the box but I guess we have to wait for Bambu’s new printer for that.

If I were using multiple brands of printers and having to use different scaling factors between devices, I would probably not be willing to put up with it.

And yea the lidar is ultimately a gimmick, or a marketing move so they could use AI buzzwords all over their promo material. It’s a cool idea, but I stopped using it after a few months.