mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-15 06:50:35 +00:00
A print sliced for a nozzle that sits in the hotend rack (but is not mounted) was blocked by the send dialog's mounted-nozzle diameter check, even though the printer fetches the required nozzle itself (#14685). Consolidate the three mounted-nozzle gates (_is_nozzle_data_valid, is_nozzle_type_match, _is_same_nozzle_diameters) into a single CheckErrorExtruderNozzleWithSlicing fed by s_get_slicing_extuder_nozzles, which collects the plate's per-extruder nozzle requirements (hybrid extruders contribute one entry per used sub-nozzle flow). The rack extruder validates against its whole inventory (mounted + rack) with guidance to calibrate the rack, refresh nozzle info, or re-slice, and blocks when toolhead + rack are full (no free slot to stow a nozzle). Other extruders keep the validity/flow/diameter checks against the mounted nozzle. Also add CheckErrorRackStatus, which holds Send while the printer is still reading the rack hotend information, and judge material hardness for the rack extruder per dispatch-mapped nozzle as a non-blocking caution (mounted nozzles keep the blocking gate).