Test plan, not a result
Hole Compensation Ladder, PLA, 0.4 mm Nozzle
This is a test plan. No result exists yet. Nothing on this page is measured data.
The question
On one P1S-class printer in PLA at 0.4 mm, how far under nominal does a vertical-axis hole print at 3, 4, 5, 6 and 8 mm, and which offset step from the hole compensation ladder (0, 0.1, 0.2, 0.3 mm) lands closest?
The hypothesis
If holes print undersize the way the OEM literature states, then one of the four ladder offsets should bring the printed hole closer to its target size than printing at nominal with no offset at all.
What is being tested
Hole Compensation
The gap between the hole size drawn in CAD and the hole size a caliper reads after the part prints.
A hole that is too small will not take a bolt, a dowel, or a bearing. Knowing the gap on our own printer lets a buyer pick a size that actually fits.
Setup
- Material
- pla
- Filament manufacturer
- Not yet recorded
- Filament product
- Not yet recorded
- Spool lot
- Not yet recorded
- Machine
- Bambu Lab P1S class
- Machine id
- Not yet recorded
- Nozzle diameter
- 0.4 mm
- Nozzle material
- Not yet recorded
- Layer height
- 0.2 mm
- Line width
- Not yet recorded
- Wall count
- Not yet recorded
- Infill percent
- Not yet recorded
- Infill pattern
- Not yet recorded
- Print temperature
- Not yet recorded
- Bed temperature
- Not yet recorded
- Cooling
- Not yet recorded
- Speed
- Not yet recorded
- Orientation
- Flat plate, holes bored through the top face so each hole axis runs parallel to the build direction (vertical, Z surface).
- Supports
- None planned. A vertical-axis hole through a flat plate needs no support.
- Slicer
- Bambu Studio
- Slicer version
- Not yet recorded
- Slicer profile
- Not yet recorded
- Environment
- Not yet recorded
The coupon
A flat plate carrying one hole at every nominal diameter (3, 4, 5, 6, 8 mm), repeated once per offset step so each plate tests one offset across all five sizes.
Coupon version v1
Coupon file: Not modeled yet.
- Every hole bored through a horizontal face so its axis runs parallel to the build direction (vertical, Z surface).
- Plate flat and thick enough to sit on the bed without warping across its length.
- Each hole labelled on the plate so its feature id cannot be confused with a neighboring hole after printing.
| Feature | Condition | CAD-drawn size | Note |
|---|---|---|---|
| h3.0-o0.0 | offset_0.0 | 3 mm | Hole drawn at 3.0 mm CAD diameter. Target size (base nominal, no offset added): 3.0 mm. Offset applied for this ladder step: none. |
| h3.0-o0.1 | offset_0.1 | 3.1 mm | Hole drawn at 3.1 mm CAD diameter. Target size (base nominal, no offset added): 3.0 mm. Offset applied for this ladder step: +0.1 mm. |
| h3.0-o0.2 | offset_0.2 | 3.2 mm | Hole drawn at 3.2 mm CAD diameter. Target size (base nominal, no offset added): 3.0 mm. Offset applied for this ladder step: +0.2 mm. |
| h3.0-o0.3 | offset_0.3 | 3.3 mm | Hole drawn at 3.3 mm CAD diameter. Target size (base nominal, no offset added): 3.0 mm. Offset applied for this ladder step: +0.3 mm. |
| h4.0-o0.0 | offset_0.0 | 4 mm | Hole drawn at 4.0 mm CAD diameter. Target size (base nominal, no offset added): 4.0 mm. Offset applied for this ladder step: none. |
| h4.0-o0.1 | offset_0.1 | 4.1 mm | Hole drawn at 4.1 mm CAD diameter. Target size (base nominal, no offset added): 4.0 mm. Offset applied for this ladder step: +0.1 mm. |
| h4.0-o0.2 | offset_0.2 | 4.2 mm | Hole drawn at 4.2 mm CAD diameter. Target size (base nominal, no offset added): 4.0 mm. Offset applied for this ladder step: +0.2 mm. |
| h4.0-o0.3 | offset_0.3 | 4.3 mm | Hole drawn at 4.3 mm CAD diameter. Target size (base nominal, no offset added): 4.0 mm. Offset applied for this ladder step: +0.3 mm. |
| h5.0-o0.0 | offset_0.0 | 5 mm | Hole drawn at 5.0 mm CAD diameter. Target size (base nominal, no offset added): 5.0 mm. Offset applied for this ladder step: none. |
| h5.0-o0.1 | offset_0.1 | 5.1 mm | Hole drawn at 5.1 mm CAD diameter. Target size (base nominal, no offset added): 5.0 mm. Offset applied for this ladder step: +0.1 mm. |
| h5.0-o0.2 | offset_0.2 | 5.2 mm | Hole drawn at 5.2 mm CAD diameter. Target size (base nominal, no offset added): 5.0 mm. Offset applied for this ladder step: +0.2 mm. |
| h5.0-o0.3 | offset_0.3 | 5.3 mm | Hole drawn at 5.3 mm CAD diameter. Target size (base nominal, no offset added): 5.0 mm. Offset applied for this ladder step: +0.3 mm. |
| h6.0-o0.0 | offset_0.0 | 6 mm | Hole drawn at 6.0 mm CAD diameter. Target size (base nominal, no offset added): 6.0 mm. Offset applied for this ladder step: none. |
| h6.0-o0.1 | offset_0.1 | 6.1 mm | Hole drawn at 6.1 mm CAD diameter. Target size (base nominal, no offset added): 6.0 mm. Offset applied for this ladder step: +0.1 mm. |
| h6.0-o0.2 | offset_0.2 | 6.2 mm | Hole drawn at 6.2 mm CAD diameter. Target size (base nominal, no offset added): 6.0 mm. Offset applied for this ladder step: +0.2 mm. |
| h6.0-o0.3 | offset_0.3 | 6.3 mm | Hole drawn at 6.3 mm CAD diameter. Target size (base nominal, no offset added): 6.0 mm. Offset applied for this ladder step: +0.3 mm. |
| h8.0-o0.0 | offset_0.0 | 8 mm | Hole drawn at 8.0 mm CAD diameter. Target size (base nominal, no offset added): 8.0 mm. Offset applied for this ladder step: none. |
| h8.0-o0.1 | offset_0.1 | 8.1 mm | Hole drawn at 8.1 mm CAD diameter. Target size (base nominal, no offset added): 8.0 mm. Offset applied for this ladder step: +0.1 mm. |
| h8.0-o0.2 | offset_0.2 | 8.2 mm | Hole drawn at 8.2 mm CAD diameter. Target size (base nominal, no offset added): 8.0 mm. Offset applied for this ladder step: +0.2 mm. |
| h8.0-o0.3 | offset_0.3 | 8.3 mm | Hole drawn at 8.3 mm CAD diameter. Target size (base nominal, no offset added): 8.0 mm. Offset applied for this ladder step: +0.3 mm. |
How it will be measured
| Tool | Resolution | Calibration | Note |
|---|---|---|---|
| digital caliper | 0.01 mm | Not yet checked | Check against a gauge block before the run. |
| pin gauge set | 0.01 mm steps | Not yet checked | Check against a gauge block before the run. |
Planned samples: 20
- Slice the coupon at the planned setup: PLA, 0.4 mm nozzle, Bambu Studio, the layer height recorded in the setup table.
- Print 5 plates for each of the four offsets, one hole at every nominal diameter (3, 4, 5, 6, 8 mm) on each plate.
- Let every plate cool to room temperature before measuring.
- Measure each hole three times with a digital caliper, at three different points around the bore, and confirm a borderline reading with a pin gauge.
- Record every reading as one CSV row. Mark a reading excluded, with a reason, whenever the hole shows a visible print defect such as stringing, a partial layer, or a torn edge.
- Compute the mean measured diameter for each nominal size at each offset.
- Compare each offset's mean measured diameter against the TARGET size, the base nominal without the offset, to see which offset step lands closest to target across all five hole sizes.
Acceptance criteria
- A run counts for a given offset only when at least 4 of the 5 planned plates produce a readable hole at every diameter.
- Repeat the run for an offset when more than one plate in that group is excluded.
- Record the caliper's gauge block check before the first reading of the day.
Exclusions policy
Every reading stays in the CSV, whether it looks clean or not. A reading is marked excluded only when the hole shows a visible print defect, and the reason is written in the notes column.
What the data will look like
| Column | What it means |
|---|---|
experiment_id | The experiment this row belongs to. Must match the experiment's own id. |
sample_id | The physical part this reading came from. Every reading from the same printed part uses the same sample id. |
coupon_version | The coupon design version this sample was printed from. A new version number whenever the geometry changes. |
condition | The group this reading belongs to for comparison, such as one offset step. |
feature_id | The specific thing measured on the coupon, such as one hole. |
material | The material id as sold, such as pla or petg. |
filament_product | The filament product name, when known. |
machine | The printer class used for this reading. |
nozzle_mm | The nozzle diameter used, in millimeters. |
layer_height_mm | The layer height used, in millimeters. |
orientation | How the part sat on the bed or in the build volume when this feature printed. |
nominal_value | The size this feature was designed to have. Must match the feature's own nominal value. |
measured_value | What the measurement tool actually read. |
unit | The unit for the nominal and measured values, such as mm. |
measurement_number | Which repeat reading of this feature on this sample this row is. The first reading is 1. |
measurement_tool | The tool used for this reading, such as a digital caliper. |
notes | Free text about this one reading. Can be left empty. |
excluded | Whether this reading is left out of every chart and mean. Written as true or false. |
exclusion_reason | Why this reading is excluded. Required and non-empty when excluded is true, and empty when it is false. |
What the chart will show
Limits of this plan
- One printer, one nozzle, one PLA spool. A different printer, spool, or nozzle may land on a different offset.
- This plan covers a vertical-axis (Z surface) hole only. A hole through a side wall (horizontal axis) prints differently and needs its own coupon.
- The ladder only tests the four offsets already published on the hole compensation tool. A finer step size is not tested here.
What a result may conclude
- Which of the four ladder offsets brings the printed hole closest to its target size, on this one printer, in this one PLA spool, for a vertical-axis hole from 3 to 8 mm.
- How far the printed hole size drifts from the CAD-drawn diameter at each offset step, on this one setup.
What it may not conclude
- That the same offset fits a different printer, a different PLA spool, a different nozzle, or a horizontal-axis hole.
- That the offset found here is a single hole compensation number for every FDM setup.
How to use the hole compensation tool before this data exists
The hole compensation tool does not predict an offset today, and it will not until this experiment is measured and reviewed. Use it the way this plan does: enter your hole size and axis, print the four-step coupon ladder it gives you, measure each hole, and pick the step that lands closest to the size you need. If you order from us, the hole prints at the size in your file, so put the size you chose in the file. A drilled or reamed hole is still the surest way to hit a tight diameter.
Why no result is published yet
No plate has been printed for this plan yet. The coupon file is not modeled yet, the caliper has not been checked against a gauge block, and no reading exists. A result is published only after a run is measured, every reading is in the CSV with any exclusion explained, and a reviewer has signed it. Until then this page is a plan, and the chart below has no data on it.
Sources this plan reads
stratasys-direct-fdm-design-guide-2019protolabs-network-how-design-fdmmarkforged-composites-design-guide
Engineering
Revision history
- Revision 1, 2026-09-05: Plan written. No run.
- Revision 2, 2026-09-06: Public test plan page published at /lab/plans. Method only. No run.
See your price in the next 60 seconds.
Upload your STL. Made in the USA, shipped in days.