mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-04 22:31:02 +00:00
Belt: do not fail the G-code height check against belt travel
check_multi_extruder_gcode_valid() compares each object's max Z with printable_height. On a belt printer machine Z is belt travel (a 3DBenchy on the BabyBelt Pro runs from Z=197 to Z=309 on a 69 mm printable_height), so every belt export set the over-height error bit and the CLI refused the plate with -102 "G-code in unprintable area". The preview already skips its ToolHeightOutside warning for the same reason; the export check now does too. The XY printable-area check is unchanged.
This commit is contained in:
@@ -2860,7 +2860,11 @@ bool GCodeProcessor::check_multi_extruder_gcode_valid(const int
|
||||
valid = false;
|
||||
}
|
||||
}
|
||||
if ( iter->second.max_print_z > plate_printable_height ) { //over height
|
||||
// Belt printers: machine Z is belt travel, which grows without bound over a
|
||||
// print, while printable_height is the clearance above the belt; the two are
|
||||
// not comparable, so the over-height check is skipped, as the preview's
|
||||
// ToolHeightOutside warning already is.
|
||||
if ( !machine_frame_active && iter->second.max_print_z > plate_printable_height ) { //over height
|
||||
m_result.gcode_check_result.error_code |= (1 << 3);
|
||||
std::pair<int, int> filament_to_object_id;
|
||||
filament_to_object_id.first = iter->first;
|
||||
@@ -2901,7 +2905,7 @@ bool GCodeProcessor::check_multi_extruder_gcode_valid(const int
|
||||
}
|
||||
|
||||
// check printable height
|
||||
if ((extruder_id < printable_heights.size()) && (iter->second.max_print_z > printable_heights[extruder_id])) {
|
||||
if (!machine_frame_active && (extruder_id < printable_heights.size()) && (iter->second.max_print_z > printable_heights[extruder_id])) {
|
||||
m_result.gcode_check_result.error_code |= (1 << 1);
|
||||
std::pair<int, int> filament_to_object_id;
|
||||
filament_to_object_id.first = iter->first;
|
||||
|
||||
Reference in New Issue
Block a user