I posted this to the H2D category but didn’t get any traction. I’m thinking now that this may be Bambu Studio issue.
After printing several square/rectangular parts, I calculated my shrinkage value to be 99.4% for Polymaker ABS, red color. The ABS was dried before testing and has been sitting in the AMS2 at 7% humidity.
The round section of my part is consistently too small but the square portion is dimensionally correct. How do I make the round section bigger without affecting the square section?
I’ve tried:
- Changing the shrink factor (makes the square too big)
- Auto circle contour hole compensation (not much difference)
- X-Y contour compensation (makes the square too big)
- Slower print speed (made problem worse)
- Bigger in CAD model (best solution but harder to manage)
I see other folks mentioning the same thing at:
https://www.reddit.com/r/BambuLab/comments/19clhfh/dimensional_accuracy_off_in_circles_not_squares/
https://github.com/bambulab/BambuStudio/issues/3972
https://www.reddit.com/r/BambuLab/comments/15kw4oc/bambulab_p1p_dimensional_accuracy_issue/
I struggled with accuracy for quite a while when I went Bambu.
Like you I tried whatever made sense on my older printers and slicers but nothing was able to get ALL dimensions to match the model.
Then some nice user pointed out to me that the contour/hole compensation in Studio does not work like it does on other systems.
The slicer is unable to determine what might be a feature and what might be an issue that needs fixing.
So a small hole that you compensated to fit results in basically all other dimensions going out of whack by the same amount or even more.
It is a feature that works great for some VERY SPECIFIC problems but it is pretty much useless to get prints that are accurate throughout.
Similar story for enlarging or shrinking a model in just the affected dimension/plane.
While it works fine for some things it acts like the above and a fix always results in other issues appearing - like a hole on the top shrinking when you change the x/z scale of the model.
The shrinkage factor of a filament is good thing to know but also quite hard to apply.
A cube shrinks differently than a cylinder and same for inner shapes.
Where a hole should shrink to get larger it often does not and the diameter instead decreases.
Comes down to how differently the extruded filament behaves based on the shape of the previous wall loop.
None of the above though helps in any way if the base is already screwed up - meaning the filament calibration.
It all has to start with an accurately calibrated filament as otherwise you will start to compensate for things that are not actually there.
To get started with fixing things I would start by printing some fitting tests - pins with matching holes in round and square.
Set the pins about 0.15mm above the rest of the model and export it as one STL file - the slicer will complain but those pins then just snap off 
Include just a few a sets, like 3,5 and 10mm but have at least two extra sets.
The first shall have slightly larger holes and slightly slimmer pins.
The second shall have those a bit larger/smaller.
Like ending with one 10mm hole and pin, one 10.05mm hole with a 9.95mm pin and for the last like 10.1/9.9mm.
Measure the base and compare that to the holes and pins.
E.g.: If you base is 100x100mm but measures 99.5x99.5 you have a base value for larger things.
If the holes and pins differ from this shrinkage factor you first have to check WHY.
For example slight over-extrusion artefacts inside the holes or bulged outer wall layer lines that create a severe ripple effect.
Speed can be a contributing factor!
Means you should not be surprised that there is accuracy difference between the various print profiles.
Ok, let’s say you established a shrinkage factor that is within the limits of all measured objects.
Do the same test print with these settings and check how the various points you measured changed.
You are all good if none went over board to cause problems they did not cause before.
If that’s not the case adjust you correction factor accordingly.
Now you SHOULD get the best possible results but those pins probably still refuse to get into these holes.
That is FDM…
Even in an ideal world they would not fit because they have the SAME dimensions - a 10mm pin just won’t fit into 10mm hole without considering some free play/gap.
With the extra pins and holes you can work out by how much you have change holes and matching pins on the design level so they will fit once printed.
Sadly no one yet got the idea to include a feature like we know as Kerf settings from working with lasers.
Everyone knows it is basically impossible to print a 1mm hole without cheating.
Wouldn’t it be nice if there was a slicer setting that takes shrinkage factor, mechanical limits and extrusion limits together to ensure a model comes out the same size it was created for?
On the other hand designing parts to fit in the real world is the bread and butter of anyone doing this sort of work.
Even something as innocent as a nut and bolt require these modifications.
Without the thread profiles being NOT identical and without the slight tolerance gap they would never fit together.
Don’t go overboard in the slicer if the actual cause of the problem is design tolerance and FDM limitations - just create the parts to fit instead 