X1 Carbon accuracy

Hello all,
I have just received the X1 Carbon and I’m doing all kind of test to check it’s printer quality. It’s looks good with PLA and PETG and very fast compared to my old Anycubic Mega S. The only problem is accuracy of dimensions.

After some test and simple math I put a correction on “Compensation hole X-Y” and “Compensation border X-Y” (0,05 and 0,01) and now the internal cuts looks accurate. For the X and Y I had to resize both to 100,3% to get accurate dimensions that otherwise would be shorter of about 0,15mm every 100mm of length.
My two questions are:

  1. To get an accuracy error of about 0,05mm have you had to apply corrections as I did or your printers were so accurate with their default calibrations (flow rate and flow dynamics)?

  2. Is possible to save the resize scale into a filament or printing profile so I don’t have to remember every time to do it? In my old Mega S was possible to set a correction on axis directly to the printer by a gcode command.

Don’t expect to get ±0.05 mm accuracy or precision from a consumer FDM printer, or even most industrial units. You are working with melted plastic that oozes to various degrees depending on many factors including environmental conditions, the material, the color, the batch the filament came from… All you can do is hope it stops moving somewhere close to the right place before it cools, shrinks, and warps. ±0.2 to 0.5 mm accuracy is more realistic. If you need 0.05 mm accuracy for your parts, oversize the part, undersize the holes, and plan on doing some post-print machining.

See also A quick guide to dimensional accuracy for 3D printing | VoxelMatters - The heart of additive manufacturing. and Guide to 3D Printing Tolerances, Accuracy, and Precision | Formlabs

Compensation factors are saved with the rest of the process profile. Start with one of the default profiles, make your changes, hit the floppy icon next to the profile. and change the name. Next time, use that User Preset process from the dropdown list.


Thanks Ikarus for the answer. I know some tolerance must be accepted with FDM, I’m happy to know that others owner of X1C have the same range of error without compensations.

About the saving profile: I saw that hole and profile compensation can be saved but I didn’t find a way to save the resize value for the specific filament. Do you know if is possible?

… Just know I realize that maybe I misunderstand the border compensation, does it make the same thing of resize function and so I shouldn’t modify both but just the compensation?

Wouldn’t that be a logical and welcomed feature? It would seem that this should be in the filament settings too since filament has just as much of an impact on accuracy as does the layer height. It’s not yet possible although I saw this as a feature request in the Orca Slicer Github page. Who knows, Bambu may come out with it first.

I believe the problem is how to manage the fact that changing the layer height or the type of filament used can affect the 3D print’s size accuracy. How do you coordinate those two moving targets? So if I make the adjustment on one filament of let’s say 0.1, that will not translate exactly the same for each layer height. I supposed one could have a XRef lookup table that has a value for each layer height and each filament. That would be a nightmare to code the math hurts my head just to think about it so I suspect this challenge won’t be a simple one to fix.

It’s true, the resize factor is something that change with filaments and height.
I use more often PETG from Eryone and so I’m doing the calibration for it. I choose to calibrate it on 100mm x 100mm an average dimension that is close to most of my prints.

Anyway doing more testing seems like with X1C is more difficult to reach accurate and precise dimensions and I don’t know why. It’s enclosed, same parameters, same filament but I still have some variability (+/- 0,15mm), something that I haven’t with my old rudimental Mega S. I’m questioning how some guys are able to print in one shot, objects with multiple part and integrated joints if there is really a so big variability.

It’s all the negative things I say about bambu lab and there printers I will testify for the potential accuracy that can be done with X1. Can it be done consistently No but I have had parts that were accurate to 50 microns. This is with very high-end fillament that is tuned perfectly. If you have to ask you won’t achieve this. I think 100-200um is a realistic number you can consistently achieve. But it’s a hobby grade printer not a precision machine.

Also I’m not a hobbyist. I been printing for 15 years now and handle the addative manufacturing for a multi billion dollar company.

But a few times I have achieved 50um on my X1 so the machine is capable of it.

And yes my numbers are accurate. It was measured on NIST traceble equipment at an AS9100 facility.

expect to be within 0.1mm, expecting tighter is a exercise in frustration. too many variables to consider and control to get it any tighter consistently


That’s complete BS. All my other printers have accuracy to 0.02mm without any compensation or special treatment. Simple PLA califlower print on standard settings gives accurate prints like expected 110mm vs measured 109.99 - 110.01. THAT is acceptable. My X1C and P1S measures 109.54 in X axis and 109.81 in Y axis which is unacceptable for a $1000 printer. Both printers tested with bambulab pla basic with exactly the same speed, acceleration, width etc. Please stop justifying firmware and hardware bugs. It has to be fixed asap.


Or what?


Or you gonna get reported for useless posts.

Let me guess: With your other printers you calibrate esteps and then receive that accuracy?

If you do that, you effectively compensate the shrinking of the filament in your machine instead of the filament settings, where it belongs. 0,3…0,5% is exactly in the ballpark of PLA and PETG. If you use quality filament, the shrinking should be specified in the datasheet. Or just have a look in some other PLA or PETG datasheet, they are all very similar.

Further, claiming an accuracy of 0,02mm (is that ± 0,01 ?) is a very bold statement. Not many hobbyists have the knowledge and equipment to make measurements that accurate. It already starts that your typical digital calipers are accurate to no better than ±0,02 mm if they are good ones. Press a little more or less and you can easily increase that by 0,03-0,05.
(edit) probably the surface roughness is far worse than 0,01mm. (0,01)
Even in metal working, achieving a precision of ±0,01mm needs some considerate steps and is not achievable just “out of the box”. So it is just unrealistic to expect such numbers from FDM printing.

As you have already printed the calilantern with one material, switch to Orca Slicer (=BambuStudio with some great enhancements), enter your deviating size in the filament profile and be happy that this filament now probably is within ±0,1mm even for bigger prints. Repeat for other materials.


Nope, You guessed wrong. I did not changed my steps per mm. All stock values and settings. My measurement method is using calipers, it’s precise enough to measure 0.1mm difference and when i get results like 99.98, 100,00, 100.02 i assume it’s ± 0.02 (0.04) accuracy as calipers measurement error is 0.02. I do not expect bambu to print with the same accuracy but ±0.1mm would be completely fine. I just said it is possible to achieve such results without shrinkage compensation and magic print profile acrobatics. I also expect bambu filaments to be properly calibrated on bambu printers using dedicated bambu slicer.

My bambu P1S prints 99.5mm - 99.6 instead of 100mm. If it would be in range of ±0.05 or even ±0.1 i would simply ignore it as such deviation is more than acceptable for FDM. That is not something you can compensate with shrinkage, flow or xy contour. Already asked support and they recommend using 0.115 xy-contour compensation and retensioning belts. They do not see any issue xD


Ok, then sorry for the wrong assumption :wink:

But shrinking when cooling down is an inherent property of almost all materials, and plastics shrink quite a lot. Before the X1C I had an Ultimaker 2+ at home. At work, I use a Prusa Mini and an Ultimaker S5 occasionally. Each of them needs compensation for shrinking if I want close tolerances. For PLA, it typically is around 0,3%, for PETG a little bit more.

Maybe Anycubic has baked in some shrinking into their stock configuration?

That is exactly what shrinkage compensation is intended for. It’s basically just a scaling factor for X and Y. So instead of scaling your model by 100.3% manually, you can store that factor in the filament settings and it gets applied automatically.

It would be a good idea to port that setting back from Orca into BambuStudio. And then I would expect Bambu to integrate the right settings into their stock profiles as you said.

1 Like

The shrinkage compensation is scaling the whole model by desired % which is unwanted in my case.

When i set shrinkage compensation to 100% i get undersized external contours (100mm is 99.57) but holes are sized fine (50mm is 49.91) so i need to compensate XY contours by 0.155 to get good results for both.

When i set shrinkage compensation to 99.57% i get kinda good external dimensions (100mm is 99.9mm) but holes are to big (50mm is 50,31) and i need to compensate XY holes by -0.15 to get good results for both.

One way or another is never enough to compensate only the shrinkage parameter. Any idea why is that ?

I don’t need to compensate that much on any other printer including prusa mini, two trees sapphire pro. Both are fitting in much tighter tolerances like ±0.1 using the same filament. I even suspected print speed and acceleration but i get exactly the same results when printing with acceleration = 500 and volumetric flow limited to 3mm/s2.

Maybe Anycubic has baked in some shrinking into their stock configuration?

I would say BambuLab did :smiley: it’s all closed source afterall

Holes too big when external dimensions are right sounds strange. I never had anything other than too small holes.
Do you use the orignal califlower from Vector3D with the accompanying excel file and use all the measurements?
Or alternatively, when measuring the califlower and calculating the deviation, did you average the inside and outside measurements?
Just do double check: all geometric adjustments like hole or contour adjustment are set to 0 when you check for shrinking?

I guess that was to be expected from BambuLab. They don’t guarantee any dimensional accuracy, so whatever comes out is always in spec. :stuck_out_tongue: Very poor in my opinion. And the advice contour compensation is probably just because they don’t have the feature shrinkage compensation.

1 Like