What overhang angle needs support?

By Asked 3D Content TeamPublished Last verified

What overhang angle needs support?

An overhang that leans more than 45° from vertical needs support, by the 45-degree rule Raise3D states. Slicers ship looser defaults: Bambu Studio’s Threshold angle of 30° and PrusaSlicer’s 35° on the MK4S count from horizontal, so support starts near 60° and 55° from vertical. UltiMaker Cura’s 50° counts from vertical.

The number

Slicer and profile Setting Counts from Shipped value Same limit from vertical
Bambu Studio, 0.20mm Standard on every Bambu Lab printer Threshold angle Horizontal 30° 60°
Bambu Studio, other layer heights (0.4 mm nozzle) Threshold angle Horizontal 15° at 0.08 mm, 20° at 0.12 mm, 25° at 0.16 mm, 35° at 0.24 mm, 40° at 0.28 mm 75°, 70°, 65°, 55°, 50°
OrcaSlicer, field default Threshold angle Horizontal 30°. At 0, normal supports switch to Threshold overlap, 50% of the outer wall line width 60°
PrusaSlicer, field default Overhang threshold Horizontal 0, automatic: supports any part of a layer that hangs more than half the outer perimeter’s width past the layer below Varies with layer height and line width
PrusaSlicer, MK4S and Core One 0.20mm SPEED Overhang threshold Horizontal 35° 55°
PrusaSlicer, MK3S and MINI 0.20mm QUALITY Overhang threshold Horizontal 50° 40°
UltiMaker Cura, base definition Support Overhang Angle Vertical 50° 50°
UltiMaker Cura, UltiMaker S5 Support Overhang Angle Vertical 45° 45°
UltiMaker Cura, Creality printers Support Overhang Angle Vertical A formula, atan(line width ÷ 2 ÷ layer height): 45° with 0.4 mm lines at 0.2 mm layers 45° at 0.2 mm layers

Every value is read from source code and shipped profiles at release tags, following each profile’s inheritance: Bambu Studio v02.09.01.70, OrcaSlicer v2.5.0, PrusaSlicer version_2.9.7 with its bundled Prusa profiles, and UltiMaker Cura 5.14.0. The last column is 90 minus the value for the slicers that count from horizontal.

Why do steep overhangs need support?

Each layer of an overhang is laid on the one below, shifted outward. CuraEngine, the slicing core of UltiMaker Cura, computes the shift as the layer height times the tangent of the angle from vertical. At 45° the shift equals the layer height: a 0.2 mm layer steps out 0.2 mm, half of a 0.4 mm line.

Past that, more of the outer line hangs over air than rests on plastic. Raise3D’s explanation: at some point the overhang’s weight beats the material’s stiffness, and it collapses.

Side view of printed layers stacked on the build plate, each layer shifted outward over the one below so the outer face leans far from verticalEach layer of an overhang is laid partly on the layer below and partly on air, and the angle can be counted from vertical or from horizontal.4Each layer prints on the one below3Outer line rests on air2Angle counted from horizontal1Angle counted from vertical
  1. Angle counted from vertical
  2. Angle counted from horizontal
  3. Outer line rests on air
  4. Each layer prints on the one below
Each layer of an overhang is laid partly on the layer below and partly on air, and the angle can be counted from vertical or from horizontal.

The slicers’ automatic rules put the limit at that same half line. PrusaSlicer’s automatic mode supports anything that hangs more than half the outer perimeter’s width past the layer below. OrcaSlicer’s Threshold overlap does the same at its 50% default, and Cura’s Creality profiles compute the angle at which each layer steps out half a line width.

That is also why thin layers can lean further: at the same angle, each one steps out less. Bambu Studio raises its threshold with layer height, from 15° from horizontal at 0.08 mm to 40° at 0.28 mm. Cura’s Creality formula gives 59° from vertical at 0.12 mm layers. Cooling decides how close a printer gets to that limit: see why overhangs droop.

What is overhang angle in 3D printing?

It is the angle between an overhanging surface and the vertical Z axis, in Raise3D’s definition: 0° is a straight wall and 90° a flat ceiling. Bambu Studio, OrcaSlicer and PrusaSlicer count the other way, as a slope from horizontal where 90° is a wall. To convert, subtract from 90: 30° from horizontal is 60° from vertical.

What is the support threshold angle in a slicer?

It is the setting that picks which overhangs get automatic support. Raising it adds support in Bambu Studio, OrcaSlicer and PrusaSlicer, which count from horizontal. In Cura, which counts from vertical, raising it removes support. Each slicer’s own description:

  • Bambu Studio, “Threshold angle”: “Support will be generated for overhangs whose slope angle is below the threshold.” Bambu Lab’s wiki adds that the slope is measured to the horizon and that a larger angle generates more support.
  • OrcaSlicer, “Threshold angle”: the same rule. Set to 0, normal supports use “Threshold overlap” instead and tree supports use 30°.
  • PrusaSlicer, “Overhang threshold”: “the most horizontal slope (measured from the horizontal plane) that you can print without support material,” with 90° as vertical. 0, the program default, means automatic detection.
  • UltiMaker Cura, “Support Overhang Angle”: “At a value of 0° all overhangs are supported, 90° will not provide any support.”

What is the maximum overhang angle you can print without support?

45° from vertical is the safe figure, and well-cooled printers go further. Prusa’s knowledge base says a printer can cleanly print 45 to 60°, depending on nozzle diameter and settings, and possibly less than 45° with a 0.25 mm nozzle. Its Nextruder printers with 360° cooling print up to 75° without supports. Bambu Lab’s wiki calls its default of 30° from horizontal (60° from vertical) safe for most materials. Design changes that avoid steep overhangs are in printing overhangs without supports.

What threshold angle should tree supports use?

The same one: none of the four slicers has a separate overhang threshold for trees. Bambu Lab’s wiki lists Threshold angle under the options common to normal and tree supports. PrusaSlicer’s organic supports read the same Overhang threshold, and Cura’s tree supports use Support Overhang Angle. OrcaSlicer differs only at 0, where trees fall back to 30°.

The tree setting with an angle in its name is the branch angle, which limits how far branches lean, not which overhangs get support. Bambu Studio’s profiles ship 45°, and PrusaSlicer and OrcaSlicer default to 40°. Cura’s Maximum Branch Angle follows Support Overhang Angle, held between 20 and 85°. Choosing between the two styles: tree vs normal supports.

How to check it on your own print

  1. Open the setting. Bambu Studio and OrcaSlicer: Process, Support, “Threshold angle” (OrcaSlicer’s “Threshold overlap” sits below it). PrusaSlicer: Print Settings, Support material, “Overhang threshold”, shown in Advanced and Expert mode. UltiMaker Cura: Print settings, Support, “Support Overhang Angle”.
  2. Note which way it counts: from horizontal in Bambu Studio, OrcaSlicer and PrusaSlicer, from vertical in Cura. In Bambu Studio, each layer-height preset carries its own value.
  3. Slice with an auto support type and look at where supports appear in the preview. Bambu Lab’s wiki notes the threshold only applies when the support type is auto.
  4. Print an overhang test marked in degrees from vertical and find the first angle whose edge droops or curls. In Cura, enter that angle unchanged. In the other three, enter 90 minus the angle.
  5. If it fails well before 45°, fix cooling first (drooping overhangs), then test again.
  6. If only one feature needs support, or must not get it, paint or block that area instead of moving the threshold for the whole part (block supports in one area).

Sources

  1. When and How to Use 3D Printed Support Structures, Raise3D Academy (accessed November 7, 2026)
  2. Modeling with 3D printing in mind, Prusa Knowledge Base (accessed November 7, 2026)
  3. Support material, Prusa Knowledge Base (accessed November 7, 2026)
  4. Support, Bambu Lab Wiki (accessed November 7, 2026)
  5. src/libslic3r/PrintConfig.cpp at v02.09.01.70, Bambu Studio on GitHub (accessed November 7, 2026)
  6. src/libslic3r/Support/SupportMaterial.cpp at v02.09.01.70, Bambu Studio on GitHub (accessed November 7, 2026)
  7. resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json at v02.09.01.70, Bambu Studio on GitHub (accessed November 7, 2026)
  8. resources/profiles/BBL/process/fdm_process_common.json at v02.09.01.70 (the base profile every 0.20mm Standard preset inherits), Bambu Studio on GitHub (accessed November 7, 2026)
  9. resources/profiles/BBL/process at v02.09.01.70 (the per-layer-height base profiles fdm_process_single_0.08 to fdm_process_single_0.28), Bambu Studio on GitHub (accessed November 7, 2026)
  10. src/libslic3r/PrintConfig.cpp at v2.5.0, OrcaSlicer on GitHub (accessed November 7, 2026)
  11. src/libslic3r/Support/SupportMaterial.cpp at v2.5.0, OrcaSlicer on GitHub (accessed November 7, 2026)
  12. Support, OrcaSlicer Wiki (accessed November 7, 2026)
  13. src/libslic3r/PrintConfig.cpp at version_2.9.7, PrusaSlicer on GitHub (accessed November 7, 2026)
  14. src/libslic3r/Support/SupportMaterial.cpp at version_2.9.7, PrusaSlicer on GitHub (accessed November 7, 2026)
  15. src/libslic3r/Support/TreeSupport.cpp at version_2.9.7, PrusaSlicer on GitHub (accessed November 7, 2026)
  16. resources/profiles/PrusaResearch.ini at version_2.9.7, PrusaSlicer on GitHub (accessed November 7, 2026)
  17. resources/definitions/fdmprinter.def.json at 5.14.0, UltiMaker Cura on GitHub (accessed November 7, 2026)
  18. resources/definitions/ultimaker_s5.def.json at 5.14.0, UltiMaker Cura on GitHub (accessed November 7, 2026)
  19. resources/definitions/creality_base.def.json at 5.14.0, UltiMaker Cura on GitHub (accessed November 7, 2026)
  20. src/support.cpp at 5.14.0, CuraEngine on GitHub (accessed November 7, 2026)