3D printing accuracy

Hello! I would like to create a topic on the topic of precision 3D printing and at the same time share my thoughts and speculations.

At my old job, I had the opportunity to work with the raise 3d pro2 printer. It was an insanely accurate machine. The models were always accurate and perfect, even if the model was positioned at 45 degrees relative to the ultimaker cross. Both large and small sizes have always been accurate. Now I have become the owner of my own 3d printer and am faced with a big problem in its accuracy. A 20 mm by 20 mm cube turns out to be 19.9 by 19.75 mm in accordance with the xy axes. The 145 mm long model turns out to be 144.1 mm. These inaccuracies cause great problems when printing engineering parts. I’ve read a lot of topics and a lot of information. Based on this, I realized that these inaccuracies are quite normal for an ordinary 3d printer. Perhaps I would have given up on these inaccuracies, but the same thought still haunts me: why don’t raise 3d printers have such a problem with accuracy? With any plastics, under any conditions, the dimensions are always ideal, regardless of the axes. In my case, the dimensions change non-linearly, which leads to difficulties in calibrating accuracy. I even started thinking about a program that can scale the model based on non-linear changes in the size of the model.

For more than a year I have been trying to make my 3d printer as accurate as raise3d. The portal curvature test did not show any deviations. There is no overabundance of pressure advance, the mechanics are assembled perfectly and from high-quality components. For myself, I found a crutch solution to this problem. A special model is printed, similar to a comb, with a different set of lengths. Next, we measure all the sizes. We divide each size into the one that should have been. That is, in my case, 144.1 / 145. Next, add up all these sizes and divide them by the number. The resulting arithmetic mean is multiplied by the rotation distance that we currently have on the 3d printer. I know that you cannot change the rotation distance and you need to leave it as it turned out based on the values of mechanical gears, but I could not achieve accurate printing without changing this parameter. Using this method, I managed to display all the dimensions by ± 0.1mm. This is a good result, but raise3d was much better without complicated manipulations. In general, I do not know what to do. If the topic gets developed, I will attach a model and an excel spreadsheet with full descriptions of measurements and calculations. I will be waiting for your ideas and speculations about accurate 3D printing!

printer.cfg (10.4 KB)

Printer Model: modified ULTI
MCU / Printerboard: btt skr2
Host / SBC: rpi 4



There are some other topics around here for that matter so you want to read through them.

In general 3D printing is always choosing the better compromise.
There is no setting that will fit it all as everything you do has cross references to other parameters. And every little screw you might turn a bit can mess up other things! :smiley:

Just a brief summary of aspects to consider:
Basically you want to build a rigid printer that is perpendicular in all axes with a smooth kinematic built with good quality parts.
This prevents or at least minimizes inaccuracy caused by skew of a particular plane (XY, XZ and YZ) and mechanically induced errors.
The belt tension has a big impact of print quality and accuracy as well!

Then as you changed the rotation_distance of X and Y: in general you won’t do that as those values are dictated by the used parts of the kinematics (pulleys, gears, belts, lead screw lead, …).
It is better to resize the model than to mess with those values.

Then you might check the influence of speed and cooling of your prints. What might work with slow prints and good cooling might mess up at higher speeds where the cooling is too low.
And this brings us to the influence of the used filament itself!
Every filament has some characteristic shrinkage you have to determine and counteract with your slicer settings (shrinkage factor, resize value,…).
That means if you perfectly set up your hardware an ABS part for example will always be smaller when printed than the original model is.
Whereas the same model printed with PLA might be fine for what can be expected for a 3D printed part.

Besides perfect flow settings, speed, acceleration and other parameters you might have determined for your hardware and filament some physical properties might mess with your accuracy.
Wrong PA values might cause bulged corners affecting the overall dimensions of a printed part or to high accelerations make the corners deformed. So best practice is to design round corners to counteract that if it can’t be fixed with input shaper and/or more conservative settings.
Even the type of infill, its overlap to the perimeters or the perimeter print order affect accuracy.
So if you want to achieve most precise results you might have to stick to same speeds and not too aggressive accelerations and check how your slicer produces the best results.

I have good results with the CaliFlower from Vector3D after flow and other settings are optimized for a particular filament.
This not only checks for skew but gives you good resizing factors to compensate for smaller prints.
But other than for CNC milling you might want to have higher tolerances in your designed parts.

I hope this is not too much nonsense though not covering all aspects but it should give you some hints or ideas on that matter.

I have a lot of experience in 3D printing. Previously, I had not thought about the high accuracy of 3D printing. But when I had experience with raise3d printers, I realized that it can be much more accurate. About rotation distance, I understand that it is not worth changing. But nevertheless, changing it in small amounts helps to improve accuracy. For the parallel, rigidity and precision of the assembly, I am sure. On different plastics, with different blowing and different speeds, the results of deviation from the reference models are the same. And all the slicers produce the same results. I would not pursue high accuracy. Thanks for your reply)

Something like this? Skew correction - Klipper documentation

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.