🎉 WIN a Snapmaker U1 Printer! Enter FREE now

--assemble

Object Arrangement & Transformation Orca SlicerBambu Studio

Merge all volumes from every loaded model into a single object named "Assembly", writing each volume's extruder from its parent object's filament slot so that per-object filament differentiation across separate files is preserved, while per-volume extruder distinctions within any single original object are collapsed to that object's extruder.

Details

--assemble is a boolean transform flag, defaulting to false. When set, after all input model files have been loaded, the slicer iterates over every loaded model and every object within each model, collecting all volumes. Those volumes are added into a single new object named "Assembly", which is given one instance. The result replaces the entire model list: from that point forward the slicer sees one model containing one object.

For each collected volume, the extruder assignment is taken from the **parent object's** extruder configuration and written onto the new volume — the volume's own prior extruder config is overwritten. This means separate files that were loaded as separate objects, each assigned to a different filament slot, contribute their volumes with the correct per-object filament, so per-object filament differentiation across the original file set is preserved. However, per-volume extruder distinctions within a single original object (such as those produced by color painting, where individual volumes carry different extruder values) are not preserved: all volumes from one original object receive that object's single extruder value, collapsing any within-object per-volume color distinctions.

The flag belongs to the transform pipeline, which runs after loading. It composes with other pre-slice transforms (orientation, unit conversion, etc.), and the merge itself is unconditional: every piece of geometry the CLI loaded becomes a volume inside that single object. Per-object print-parameter overrides from the original objects are lost after the merge because the separate objects no longer exist.

--assemble cannot be combined with --clone-objects. The CLI validates this and exits with an invalid-params error if both are present. It is also distinct from --load-assemble-list, which is an alternative model-loading strategy driven by a JSON spec; that flag cannot be combined with input model files (the CLI exits with an invalid-params error if it is).

Watch out for

  • The merge is a volume-union inside the slicer's object model, not a Boolean mesh union. Overlapping geometry is not resolved; the slicer slices whatever geometry is present.
  • The extruder written to each collected volume comes from the parent *object's* extruder config, not from the volume's own prior extruder config. Per-object filament differentiation across separate loaded files is preserved; per-volume extruder distinctions within a single original object (color painting) are collapsed.
  • Cannot be combined with `--clone-objects`; the CLI exits with an invalid-params error if both are supplied.

Sign up for free today

No credit card required. Connect unlimited printers and get production automation running in minutes.