What a conversion does with geometry
A part can carry more than print settings. Converting a file also has to decide what happens to a modifier region, a layer range, a per-part override and painted triangles, and each crosses (or does not) on its own rule.
Modifiers, negatives and support blockers
An object can be more than one shape. A modifier region takes its own settings, a negative volume cuts material away, a support blocker keeps supports out of a spot. The two slicer families store that differently: PrusaSlicer keeps every volume in one mesh and records each one as a range of triangles, while Bambu Studio, OrcaSlicer and Creality Print keep one mesh per volume and reference them as components.
A conversion between the two rebuilds the geometry so the volumes survive. Your modifier stays a modifier, your negative volume still cuts, and the paint on each triangle rides along. The five kinds map one to one, so nothing is lost in either direction:
| PrusaSlicer | Bambu / Orca / Creality |
|---|---|
ModelPart |
normal_part |
ParameterModifier |
modifier_part |
NegativeVolume |
negative_part |
SupportEnforcer |
support_enforcer |
SupportBlocker |
support_blocker |
Converting to Cura loses them. Cura has no per-object volumes at all: its
mesh roles are settings on separate models, so everything that is not the model
part is dropped. The Notes table says so, one row per object, naming the
object in What and the reason in Why.
An object is left exactly as it was, rather than half-rebuilt, if its geometry does not parse or if it declares more than a million triangles. That is a row too.
Layer ranges and part settings
Layer ranges (a different layer height or infill from one Z to another) carry
between Bambu Studio, OrcaSlicer and Creality Print, which share one range file.
Between PrusaSlicer and those three they do not: each reads only its own range
file, and the settings inside are not translated. The conversion removes the
range file, and the Notes table holds one row per range. Between PrusaSlicer
and the other three the Why reads PrusaSlicer reads only its own range file; into Cura it reads Cura has no per-height settings.
Those heights print with the profile's own values. Add the ranges again in the target slicer to get them back.
Part settings work the same way. A setting on one part of an object, like a
slower outer wall on a modifier, carries between Bambu Studio, OrcaSlicer and
Creality Print. It does not cross between PrusaSlicer and those three, because
each names the setting differently, and Cura has no parts at all. The Notes
table holds one row per setting: Wall loops on Bracket · 5 · not carried · Cura has no parts. Twenty part settings are twenty rows.
Painted models
Multi-colour paint is stored per triangle in PrusaSlicer, Bambu Studio,
OrcaSlicer and Creality Print, and a conversion between them carries it,
renamed to the target's spelling. Cura paints with a texture image instead and
does not read per-triangle paint. Converting a painted model to Cura adds a row
to the Notes table: Painted triangles · 203,012 · not carried · Cura stores paint as textures.
The paint stays in the downloaded .3mf, but Cura prints each object in one
extruder. Paint it again in Cura to get the colours back.