mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-19 06:53:02 +00:00
# Description A plate using one filament no longer reserves or draws a prime tower in the plater just because multiple filament slots are configured. The shared footprint estimate gated "no tower" on the purge volume being zero, but on non-Bambu printers with the shipped defaults that volume comes from the SEMM flush matrix, which reads every configured slot and stays nonzero even when only one filament is used — so the preview showed a tower the print could never contain. The estimate now decides from the filament count alone, with wrapping detection and smooth timelapse staying the only reasons a single-filament plate keeps a tower, matching `Print::has_wipe_tower()`. The gate also moved above the flush-volume scan so the lone-filament path no longer pays for it. No change to slicing output — toolpath generation already omitted the tower for a single used filament; this removes the phantom preview, placement reservation, and validation footprint. # Screenshots/Recordings/Graphs Before the fix: https://github.com/user-attachments/assets/c5b0ea61-127d-408e-bafe-f1f76c58b996 After the fix: https://github.com/user-attachments/assets/ac6632b3-5d44-4013-aca3-73f6cfd1139c ## Tests <!-- > Please describe the tests that you have conducted to verify the changes made in this PR. --> Added a shipped-defaults single-filament case to `tests/libslic3r/test_wipe_tower_estimate.cpp`: it estimates a 5.04 mm-deep tower before the fix and zero depth after. `[WipeTowerEstimate]` and the fff_print `[WipeTower]` suites pass. <!-- > A guide for users on how to download the artifacts from this PR. --> [How to Download Pull Requests Artifacts for Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
OrcaSlicer tests
Building, running and writing tests is documented on the wiki, under How to Test.
Two files here rather than there, because coding agents only read what is in the repository: