What are supports in 3D printing?
Supports are temporary structures the slicer adds under parts of a model that would otherwise print onto thin air: steep overhangs, long bridges and islands that start in mid-air. They hold those layers up during the print and are snapped, cut or dissolved away afterwards. Bambu Studio, PrusaSlicer and UltiMaker Cura ship with automatic supports disabled.
The number
| Slicer and release | Supports as shipped | Overhang threshold as shipped | Surfaces that get support once on |
|---|---|---|---|
| Bambu Studio v02.09.01.70 | Off: “Enable support” unticked, Type set to tree(auto) | “Threshold angle” 30°, measured from horizontal | Flatter than 30° from horizontal (past 60° from vertical) |
| OrcaSlicer v2.5.0 | Off: “Enable support” unticked | “Threshold angle” 30°, measured from horizontal | Flatter than 30° from horizontal (past 60° from vertical) |
| PrusaSlicer 2.9.7 | “None” by program default. Prusa’s MK4S and CORE One profiles ship “For support enforcers only”: nothing is added unless you paint or place an enforcer | “Overhang threshold” 0 (automatic) by program default; 35°, measured from horizontal, in the 0.20mm SPEED profiles for those printers | At 35°: flatter than 35° from horizontal (past 55° from vertical) |
| UltiMaker Cura 5.14.0 | Off: “Generate Support” unticked. Some third-party printer definitions tick it, such as the BIQU B1 and Wanhao D9 | “Support Overhang Angle” 50°, measured from vertical (0° supports every overhang, 90° none); 45° on the UltiMaker S5 | Past 50° from vertical (flatter than 40° from horizontal) |
Each row is read from the slicer’s source code and shipped profiles at the release tag named. The profiles are Bambu Studio’s X1 Carbon “0.20mm Standard” process, OrcaSlicer’s Bambu Lab process base, PrusaSlicer’s MK4S and CORE One “0.20mm SPEED” profiles and Cura’s base and printer definitions. Each vertical figure is 90° minus the horizontal value.
How do 3D printing supports work?
Each layer is laid on the one below it, so any area with nothing underneath would be extruded into air. The slicer compares every layer with the one below to find those areas. Then it builds a sacrificial structure up to just under them. That structure starts on the bed, or on a lower surface of the model when placement is set to Everywhere (build plate only).
- Overhanging arm
- Support columns under the arm
- Stem prints on the bed unsupported
- Island that starts in mid-air
- Its own support from the bed
The top layers of that structure, the support interface, form a flat roof under the overhang. A small vertical gap, the Top Z distance, keeps the roof from fusing to the part. Bambu Lab’s wiki suggests about 0.2 mm when the support is printed in the part’s own filament and 0 with a dedicated support filament (support Z distance).
What types of 3D printing supports are there?
Two shapes, normal and tree, plus an optional second filament that separates from the part more easily. Each slicer uses its own names:
| Type | How it holds the overhang | Names in the slicer | More |
|---|---|---|---|
| Normal | Drops the overhang area straight down to the bed. Grid squares it off into rectangles for stability; Snug follows the overhang’s outline to save material | Bambu Studio and OrcaSlicer: normal(auto), styles Grid and Snug. PrusaSlicer: Grid, Snug. Cura: Normal | Tree vs normal |
| Tree | Branches grow from the bed, merge and route around the model, touching the overhang only at their tips | Bambu Studio: tree(auto), styles Tree Slim, Tree Strong, Tree Hybrid, Tree Organic. PrusaSlicer: Organic. Cura: Tree | Adding tree supports |
| Breakaway support filament | A second, brittle filament printed as the interface or the whole support, made to peel off the part | Bambu Studio: “Support/raft interface”. PrusaSlicer: “Support material/raft interface extruder”. Cura: “Support Interface Extruder” | Interface materials |
| Soluble support filament | A second filament such as PVA (polyvinyl alcohol) that dissolves in water, for internal supports or ones you cannot reach | The same settings; needs a second extruder or a filament changer | PVA supports |
Does every 3D print need supports?
No. A print needs supports only where a surface hangs past the slicer’s overhang threshold, a bridge is longer than the printer can span, or a section starts in mid-air with nothing below. The rest of the model needs none. Bambu Studio, for example, supports surfaces flatter than 30° from horizontal.
When do you need supports in 3D printing?
In three cases:
- Overhangs past the threshold. The table above shows where each slicer draws the line. Where your own printer and filament start to fail is a separate test: overhang angle for supports.
- Bridges longer than the printer can span. A bridge is a flat run held up at both ends. Bambu Lab’s wiki says a short one prints without support because both ends of every line are anchored. In Bambu Studio’s tree supports, “Max bridge length” sets the limit: a longer bridge is split into equal segments and supported only at those points. PrusaSlicer’s “Don’t support bridges” is on by program default, but Prusa’s MK4S and CORE One profiles turn it off, so bridges get support there.
- Islands and cantilevers. Prusa’s guide is blunt: a printer cannot print in mid-air. Bambu Lab’s wiki says a cantilever, held at one end with the other in the air, must be supported even when small. A part floating far from the rest needs support around it over a taller span.
Often a part can be redesigned or reoriented so it needs none. Prusa suggests chamfers instead of fillets on edges facing the bed, a different orientation, or splitting the model. The full methods are in printing overhangs without supports.
Do 3D printers automatically add supports?
No. The printer follows the G-code it receives. The slicer generates supports, and only when support is enabled. Bambu Studio, OrcaSlicer and PrusaSlicer warn you when a model needs support and it is off:
- Bambu Studio and OrcaSlicer: “It seems object [name] has floating regions. Please re-orient the object or enable support generation.” The cause can also read “floating cantilever” or “large overhangs”.
- PrusaSlicer: “Detected print stability issues”, listing causes such as “Floating object part”, “Long bridging extrusions” or “Collapsing overhang”, then “Consider enabling supports.” It checks only objects with Supports set to None, so the “For support enforcers only” setting that Prusa’s MK4S and CORE One profiles ship gets no warning.
UltiMaker Cura adds none until “Generate Support” is ticked, and some third-party printer definitions, such as the BIQU B1’s, ship it ticked.
Manual modes add support only at the spots you mark: normal(manual) and tree(manual) in Bambu Studio and OrcaSlicer, and “For support enforcers only” in PrusaSlicer. To keep automatic supports out of one spot instead, see blocking supports in one area.
How to check it on your own print
- Slice with supports off first. Bambu Studio, OrcaSlicer and PrusaSlicer (Supports: None) name the object and the cause in their warning.
- Turn supports on. Bambu Studio and OrcaSlicer: Process > Support > “Enable support”. PrusaSlicer: the “Supports” drop-down in the right panel (Support on build plate only, For support enforcers only, Everywhere), or Print Settings > Support material > “Generate support material”. Cura: Support > “Generate Support”.
- Pick the type. Bambu Lab’s wiki says normal supports usually leave a better surface under large flat overhangs, while tree supports use less material and time on small, curved ones.
- Step through the sliced preview layer by layer. Every overhang, long bridge and island should sit on support, and none should land on a surface you need clean.
- If it adds more than you need, lower Bambu Studio’s or OrcaSlicer’s “Threshold angle” or PrusaSlicer’s “Overhang threshold”, or raise Cura’s “Support Overhang Angle”. Each change supports fewer surfaces. More ways: reduce support material.
- After printing, follow how to remove supports. If they fight you, see why supports are hard to remove.
Sources
- Support material, Prusa Knowledge Base (accessed November 7, 2026)
- Modeling with 3D printing in mind, Prusa Knowledge Base (accessed November 7, 2026)
- Support, Bambu Lab Wiki (accessed November 7, 2026)
- src/libslic3r/PrintConfig.cpp at v02.09.01.70, Bambu Studio on GitHub (accessed November 7, 2026)
- src/libslic3r/PrintObject.cpp at v02.09.01.70, Bambu Studio on GitHub (accessed November 7, 2026)
- resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json at v02.09.01.70, Bambu Studio on GitHub (accessed November 7, 2026)
- resources/profiles/BBL/process/fdm_process_common.json at v02.09.01.70 (the base the X1 Carbon process profiles inherit), Bambu Studio on GitHub (accessed November 7, 2026)
- src/libslic3r/PrintConfig.cpp at v2.5.0, OrcaSlicer on GitHub (accessed November 7, 2026)
- src/libslic3r/PrintObject.cpp at v2.5.0, OrcaSlicer on GitHub (accessed November 7, 2026)
- resources/profiles/BBL/process/fdm_process_common.json at v2.5.0, OrcaSlicer on GitHub (accessed November 7, 2026)
- src/libslic3r/PrintConfig.cpp at version_2.9.7, PrusaSlicer on GitHub (accessed November 7, 2026)
- src/libslic3r/Print.cpp at version_2.9.7, PrusaSlicer on GitHub (accessed November 7, 2026)
- src/libslic3r/Print.hpp at version_2.9.7, PrusaSlicer on GitHub (accessed November 7, 2026)
- src/slic3r/GUI/Tab.cpp at version_2.9.7, PrusaSlicer on GitHub (accessed November 7, 2026)
- resources/profiles/PrusaResearch.ini at version_2.9.7, PrusaSlicer on GitHub (accessed November 7, 2026)
- resources/definitions/fdmprinter.def.json at 5.14.0, UltiMaker Cura on GitHub (accessed November 7, 2026)
- resources/definitions/ultimaker_s5.def.json at 5.14.0, UltiMaker Cura on GitHub (accessed November 7, 2026)
- resources/definitions/biqu_b1.def.json at 5.14.0, UltiMaker Cura on GitHub (accessed November 7, 2026)
- resources/definitions/wanhao_d9.def.json at 5.14.0, UltiMaker Cura on GitHub (accessed November 7, 2026)