Introduction
In 3D printing, dimensional accuracy is imperative for functional parts that require fitment, such as parts that have holes for bolts or screws. Orca Slicer is open-source slicing software that is a version (fork) of Bambu Studio and has numerous innovative features aimed at improving print accuracy, one being a tool called XY Hole Compensation. XY Hole Compensation is designed to solve many issues when it comes to hole sizes in 3D-printed parts.
What is Orca Slicer Hole Compensation?
Orca Slicer uses XY Hole Compensation to modify the size of holes that are printed in the XY plane (the horizontal plane of a 3D print) to compensate for sizing errors due to shrinkage from the material, nozzle behavior, or printer calibration. When holes are printed, the nozzle can pull and drag material towards it when the filament is extruded. This means that sometimes holes end up smaller than designed. The way XY Hole Compensation works is that you can add or subtract a value (in millimeters) from the radius of the holes in each layer which allows them to be printed accurately to the size needed.
XY Hole Compensation vs. XY Contour Compensation vs. Shrinkag
To utilize hole compensation with the utmost efficacy, it is necessary to first separate hole compensation from related settings:
● XY Hole Compensation: This only alters the holes that are fully contained in the XY plane, and no changes are made to the outer dimensions of the part. If the value is positive, the hole increases in size, while if the value is negative, the hole decreases in size.
● XY Contour Compensation: This alters the outer contours of the model while maintaining the holes in the model the same shape that they were originally; e.g., by what the outer contours are plus or minus.
● Shrinkage Compensation: A filament-specific compensation that allows the entire model to shrink by a percentage in size and apply it to both holes and contours to compensate for the potential shrinkage of the material when cooled. Materials such as ABS or Nylon will have a greater shrinkage percentage than PLA. As a general rule, this setting applies first (either shrink it or not) with the other setting applied for fine-tuning the model (holes and contours).
Why Hole Compensation is Necessary
There are multiple reasons to cause holes to print smaller than intended in FDM 3D Printing:
● Material Shrinkage: As filament cools, it will also contract, which shrinks the hole and the rest of the dimensions of the model. While materials such as ASA or ABS, shrink more than PLA, all materials will shrink as they cool to some extent.
● Nozzle Action: The tool path to create circular holes may pull filament inwards when printing, especially when the intended hole is small in diameter or when printed quickly.
● Calibration: If there is a miscalculation in the printer's extrusion multiplier due to slack on the printer frame, or warped or kinked belts, the pigment or filament will print smaller than wanted.
● Layer Slicing: Slicers will illustrate holes as polygons, therefore a small hole will not be an accurate representation of a circle. (While circles are calculated from algorithm in the slicer, it approximates those holes similar to polygons)
How XY Hole Compensation Works

XY Hole Compensation modifies the toolpath for holes (defined as the closed, hollow areas in the XY plane) on each layer. For compensation, the value is in radius. Compensation can either expand or constrict holes. It does not affect outer contours or any non-hole features. The path setting can be found in Orca Slicer at Process > Quality > Precision > X-Y Hole Compensation. The default is 0 mm.
1) If a 10 mm size hole equated to a measured diameter of 9.8 mm, the deviation is 0.2 mm. Given that the X-Y Hole Compensation is applied to the radius, if you set this compensation as a +0.1 mm (0.2 mm divided by 2) for the diameter, this will account for the hole size.
2) The compensation affects all holes in the XY plane uniformly. This can be a limitation for models with different sizes of holes. Smaller holes may require more compensation from a nozzle drag point of view.
Limitations of XY Hole Compensation
● Horizontal Holes: Compensation is basically applicable just to holes in the XY plane (vertical holes). Horizontal holes (XZ/YZ) will sometimes print as ovals, a known artifacts that has been noted in Orca Slicer’s GitHub.
● Complex Geometries: Holes are treated as closed features, while non-closed features, like slots, are treated like contours where hole compensation has no impact.
● Multi-Material Prints: Compensation happens globally, not per filament, which can complicate prints with different material shrinkage rates.
● Over-Compensation Risks: Values like incorrect radial values may create artifacts, like inset lines or unexpected wall thicknesses, especially when used together with contour compensation.
How to Use XY Hole Compensation in Orca Slicer
Here are the steps to apply and calibrate XY Hole Compensation so that your holes will have the correct size.
Step 1: Open the XY Hole Compensation setting

1. Open Orca Slicer and import your model (STL, OBJ, or other supported format).
2. Select the Process tab in the top tool bar.
3. In the left menu under Quality > Precision in the settings, you will see X-Y Hole Compensation.
4. The default setting is 0 mm, so enter a positive value, e.g. 0.1 mm, to make the holes larger or a negative value, e.g. -0.1 mm, to make them smaller according to your calibration (see below).
Step 2: Calibrate XY Hole Compensation

https://www.printables.com/model/585065-bambu-xy-compensation-test
Calibration ensures the compensation value matches your printer and filament. Follow these steps:
Print a Calibration Model
1. Download a test model that contains multiple holes of known diameters (5 mm, 10 mm, 15 mm, and 20 mm etc.). The XY Hole Compensation test by DylanJMuller or the X-Y-Compensation Tool by Kubikossi both available on Printables are suitable models to use.
2. In Orca Slicer, select the printer, filament, and process settings. Use a low-shrinkage filament (e.g., PLA) to minimize variables.
3. Set the X-Y Hole Compensation and the X-Y Contour Compensation to 0 mm.
4. Slice and print the test model.
Measure and Calculate
1. Measure the printed hole diameters using digital calipers, and compare the diameters to what was nominally (designed) for those holes.
2. Determine the deviation: Nominal diameter - Actual diameter = Deviation.
3. Determine the compensation: Deviation divided by 2 = XY Hole Compensation value. For example, if a 10 mm hole is 9.8 mm in actual size, the deviation is 0.2 mm, and we will use positive compensation of +0.1 mm.
4. In the case of multiple holes you will need to determine the average compensation, keeping in mind that small holes may warrant a slightly higher compensation value due to some drag on the material by the nozzle.
Apply and Test
1. Return to Process > Quality > Precision and enter the calculated X-Y Hole Compensation value.
2. Reprint the test model and re-measure the holes to verify accuracy.
3. Iterate if needed, adjusting the value until holes match the designed dimensions.
Step 3: Combine with Other Settings

https://makerworld.com/en/models/610810-xy-hole-compensation-last-version#profileId-533942
● Shrinkage Compensation: In the Filament settings, adjust the Shrinkage percentage (e.g., 100.5% for ABS) to account for material contraction before applying hole compensation.
● XY Contour Compensation: If outer dimensions are off, adjust this setting in the same Precision menu.
● Polyholes Conversion: Enable Polyholes conversion support under Quality > Precision to improve circularity for small holes.
Step 4: Save and Apply to Projects
1. Use your calibrated settings to create a custom profile in Orca Slicer for easy reuse.
2. Then, apply the profile for future prints with similar materials and printers.
3. For multi-material prints, you can check your compensation values with each filament as you create global settings that may not work with every material.
Best Practices and Tips
● Calibrate Shrinkage First: You calibrate the shrinkage percentage for the filament first, prior to carry out an adjustment for hole or contour compensation.
● Use PLA for Initial Tests: It's a lot easier to calibrate as PLA has low shrinkage. High shrinkage material like ABS will be considered later in the process, if you need to perform an adjustment.
● Use Calibration Tool if Available: Use the calibration menu provided by Orca Slicer, or the selected community-STLs if they are provided consistently.
● Don't Overlap Adjustments: Don't do hole and contour compensation together! Test one at a time as it can cause artifacts with overlapping adjustments.
● Check Printer Calibration: It's important to check that your printer has all of is calibrations correct, belts and pulleys are accurate, and extrusion is accurate, etc....if not it will betray compensations.
● Increment testing for complex models: You may have models with a variety of holes, when doing adjustment compensation; you may be able to find a compromise compensation value, or make adjustments in your CAD Software.