Recommend a Prusa printer, earn $30! See the updated Prusa Rewards Program.

Calibrating Filament for Functional Prints

Image for Calibrating Filament for Functional Prints

Calibrating Filament for Functional Prints

Who This Is For

This guide is for anyone printing functional parts where dimensions matter — brackets, enclosures, press-fit components, mechanical assemblies, or anything that needs to mate with hardware or bear a load. If that's you, stock profiles will let you down eventually, and this guide explains what to do about it.

If you're printing decorative models, miniatures, or trinkets, you can stop reading here. Generic and vendor-provided profiles are good enough for that, and the time investment this guide requires won't pay off for purely aesthetic prints.

Functional prints fail when calibration is skipped. Generic profiles are a starting point, not a solution — and even vendor-provided profiles are no exception. Every spool behaves differently, and your nozzle material matters too: brass, hardened steel, high-flow, and diamond-tipped nozzles all have different thermal characteristics that affect how a filament actually behaves at a given temperature and speed. The steps most people skip are exactly the ones that determine whether a part fits, holds, or fails. This is how I do it — there are other valid approaches, but this sequence works for me.

Calibration Order

  1. Temperature Tower Find your optimal nozzle temp first — everything downstream depends on it. OrcaSlicer Wiki – Calibration

  2. Flow Rate (Extrusion Multiplier) Print a vase mode cube, measure walls with calipers, calculate and apply the correction. Prusa Knowledge Base – Extrusion Multiplier Calibration

  3. Retraction Minimise stringing now that temp and flow are correct. OrcaSlicer Wiki – Calibration

  4. Pressure Advance Compensate for extruder pressure lag at corners and speed changes. Ellis' PA Tool | Ellis' Print Tuning Guide – PA

  5. Max Volumetric Flow Find the speed ceiling for your hotend/filament combination. OrcaSlicer Wiki – Volumetric Speed

  6. XY Shrinkage Dimensional compensation — do this once everything else is stable. Califlower Mk2 on Printables

  7. Z Shrinkage ⚠ Measure and compensate for vertical dimensional loss. Note: Z shrinkage is inherently difficult to measure accurately — first layer squish, part geometry, uneven thermal gradients, lack of a standardised measurement tool, and flow rate error can all contaminate results; ensure all previous steps are fully dialled in before attempting this. See the footnote below for one method. 

  8. Skew Correction Use skew measurements from Califlower as input to apply XY skew compensation as a PrusaSlicer post-processing G-code rewrite step. Required on printers where firmware does not support M852. prusaslicer-skew-fix on GitHub

Applying Calibrations in PrusaSlicer

Most of these values are saved per-filament profile, so once dialled in they carry forward to every print using that filament. However, some values — particularly Pressure Advance and Max Volumetric Speed — are sensitive to nozzle type as well as filament. If you switch between brass, hardened steel, high-flow, or diamond-tipped nozzles, treat those as a retune trigger even if the filament hasn't changed.

Temperature — set in Filament Settings → Filament → Temperature. Set both the first layer and other layers temperature.

Flow Rate (Extrusion Multiplier) — set in Filament Settings → Filament → Extrusion multiplier. This is a per-filament value; retune for each new spool or material.

Retraction — set in Filament Settings → Filament Overrides → Retraction section. Distance and speed are both here.

Pressure Advance — set in Filament Settings → Custom G-code → Start G-code as M572 S0.000. Use three decimal places. This is a per-filament value since optimal PA varies by material and temperature — retune if you change nozzle type, as brass, hardened steel, high-flow, and diamond-tipped nozzles all have different back pressure characteristics that affect the ideal value.

Max Volumetric Speed — set in Filament Settings → Advanced → Max volumetric speed. This acts as a hard ceiling and will automatically limit print speed to stay within the value. Retune if you change nozzle type, as brass, hardened steel, high-flow, and diamond-tipped nozzles all have different thermal and flow characteristics that affect the maximum achievable rate.

XY Shrinkage — set in Filament Settings → Advanced → Shrinkage compensation XY.

Z Shrinkage — set in Filament Settings → Advanced → Shrinkage compensation Z.

Skew Correction — handled outside PrusaSlicer via the post-processing script. Set the script path in Print Settings → Output options → Post-processing scripts.

Managing Profiles for Filament and Nozzle Combinations

Because values like Pressure Advance and Max Volumetric Speed are sensitive to both filament and nozzle type, a single generic profile per material isn't enough. The cleanest approach is to maintain separate, clearly named profiles for each filament/nozzle combination so calibrated values are never accidentally shared or overwritten.

A consistent naming convention helps. For example:

  • Print Settings: 0.20mm 3D-Fuel PCTG STRUCTURAL

  • Filament: 3D-Fuel PCTG 0.4 Diamondback

  • Printer: Prusa CORE One 0.4 Diamondback

The pattern encodes layer height and intent in the print profile, material and nozzle size in the filament profile, and printer with nozzle type in the printer profile. If you swap to a hardened steel nozzle, only the filament and printer profiles need duplicating — the print settings profile can stay the same.

To create a new profile in PrusaSlicer, start from the closest existing profile, make your changes, then use Save and give it a new name following your convention. Never overwrite a known-good calibrated profile — clone it first. You can clone any profile by selecting it, making a change, and saving under a new name. To delete old or redundant profiles, use File → Manage Profiles.

† To measure Z shrinkage, print a tall simple object — a hollow tube or cylinder at least 50–100mm tall works well — and measure the actual printed height with calipers. Divide the measured height by the nominal height to get your scale factor and apply it in your slicer's Z scaling. Taller objects give a more reliable result as measurement error is proportionally smaller.

Comments