mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-23 17:02:39 +00:00
Outer walls is a role filter, which loses the prime tower, whose every segment shares one role, and every top and bottom surface between the range's ends. A fifth mode, Shell only, keeps what a geometric classification marks as the visible surface of the print, of one layer in every N, plus whatever a view from straight above or below sees of the layers it skips, so that a step does not vanish. The classification runs once per load, the first time the mode is needed, and is purely geometric: each layer is rasterized into a half-millimetre occupancy grid and closed so that sparse infill reads as solid, a cell is on the shell when any of its six neighbours is empty, and a segment is kept when at least half of the cells it crosses are. The closing dilates each connected component on its own and leaves a cell two components reach empty, so the gap between two close objects is never bridged. The first inner wall beside an outer wall is kept as well, since the step of a sloped surface is narrower than a cell, and the interior infill roles and gap fill are never taken, whatever the geometry says. The layers are split across up to eight workers, and an allocation failure on a huge print falls back to keeping everything but the hidden infill. Separate from the other modes so that it can be dropped on its own.