#15753·OrcaSlicer

CLI: --arrange lays an object across the prime tower it reserved, then --slice refuses its own layout with -101

Author: GuyH77Created Sep 18, 2026Updated Sep 18, 2026

Is there an existing issue for this problem?

  • I have searched the existing issues

OrcaSlicer Version

2.4.2 release (Windows). The --arrange wipe-tower block is the same on main (src/OrcaSlicer.cpp, the if (m_print_config.has("wipe_tower_x") && (is_smooth_timelapse || !arrange_cfg.is_seq_print || (selected.size() <= 1))) block).

Operating System (OS)

Windows

OS Version

11

Printer

Bambu Lab A1, two filaments, prime tower on (prime_tower_width 35, wipe_tower_x 210, wipe_tower_y 10, prime_tower_brim_width 3)

How to reproduce

Same generated project as in #15752: six 200 x 60 x 5 mm slabs, each a 4 mm base on filament 1 with a 1 mm slab on filament 2, all stacked on plate 1. Generator below.

orca-slicer.exe --arrange 1 --slice 0 --outputdir out --export-3mf out.3mf stack6.3mf

Actual results

Exit -101 (CLI_GCODE_PATH_CONFLICTS), 00000.log:

gcode path conflicts found between WipeTower and slab
plate 1: found slicing result conflict!

The layout the CLI's own --arrange produced (read from --export-3mf without --slice): four slabs in a column at the plate centre, x = 128, y = 221 / 159 / 97 / 35. The bottom slab therefore covers x 28..228, y 5..65. The wipe tower is at x 210, y 10 - inside that slab.

The arrange did register the tower as an obstacle (--debug 4):

plate 1, has wipe tower, wipe bbox: min {207, 10, 0} - max {237.028, 34.028, 0}
Slic3r::CLI::run arrange wipe_tower: x=210, y=10, width=24.028, depth=24.028, angle=0, prime_volume=45, filaments_cnt=2, layer_height=0.2, plate_width=256, plate_depth=256
arrange we have wipe tower, change starting point to: 222.014,27.014

and then placed a slab across it anyway. The pile is exactly centred on the bed (x = 128 for a 200 mm slab on a 256 mm bed), which looks like ArrangeParams::do_final_align (default true, Arrange.cpp fill_config: "Align the arranged pile into the center of the bin") moving the selected objects after packing while the tower, a fixed unselected item with setter = NULL, stays where it was. I have not stepped through libnest2d to confirm that part; the observation above is measured.

A control: the same six slabs written one per plate, no --arrange, --slice 0 slice all six plates with exit 0. So the settings and the tower position are fine; it is the arranged layout that collides.

Expected results

--arrange 1 produces a layout that --slice accepts: objects keep clear of the wipe tower the arrange itself reserved (as the GUI's Arrange does with the prime tower on), or the tower is moved with the pile.

Reproducer

make_boxes_3mf.py <project_settings.config> stack6.3mf 6 --one-plate - <project_settings.config> is the Metadata/project_settings.config from any GUI-saved Bambu A1 0.4 nozzle / 0.20mm Standard / two Generic PLA project with the prime tower on. The script is in #15752; happy to paste it here too or attach the exact 3MF used.