mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-01-09 00:07:45 -07:00
ENH: add timelapse warning for multi-extruder printer
jira: none Change-Id: I09a25f00eef6d3fab6ad948a13c8eb308f134dbb (cherry picked from commit d7acee50e88812e8a0bd7b9afea7aca5d5826841)
This commit is contained in:
parent
80cd896896
commit
00f19fcd72
7 changed files with 31 additions and 5 deletions
|
|
@ -1792,9 +1792,13 @@ void GCode::do_export(Print* print, const char* path, GCodeProcessorResult* resu
|
|||
if (m_config.printer_structure.value == PrinterStructure::psI3 && m_spiral_vase) {
|
||||
m_timelapse_warning_code += 1;
|
||||
}
|
||||
if (m_config.printer_structure.value == PrinterStructure::psI3 && print->config().print_sequence == PrintSequence::ByObject) {
|
||||
if ((m_config.printer_structure.value == PrinterStructure::psI3 || m_config.nozzle_diameter.size() == 2)
|
||||
&& print->config().print_sequence == PrintSequence::ByObject) {
|
||||
m_timelapse_warning_code += (1 << 1);
|
||||
}
|
||||
if (m_config.timelapse_type.value == TimelapseType::tlSmooth && !m_config.enable_prime_tower.value) {
|
||||
m_timelapse_warning_code += (1 << 2);
|
||||
}
|
||||
m_processor.result().timelapse_warning_code = m_timelapse_warning_code;
|
||||
m_processor.result().support_traditional_timelapse = m_support_traditional_timelapse;
|
||||
|
||||
|
|
@ -4799,9 +4803,18 @@ LayerResult GCode::process_layer(
|
|||
log_memory_info();
|
||||
|
||||
if (need_insert_timelapse_gcode_for_traditional && !has_insert_timelapse_gcode) {
|
||||
// The traditional model of thin-walled object will have flaws for I3
|
||||
if (m_support_traditional_timelapse && printer_structure == PrinterStructure::psI3)
|
||||
m_support_traditional_timelapse = false;
|
||||
|
||||
// The traditional model will have flaws for multi_extruder when switching extruder
|
||||
if (m_config.nozzle_diameter.values.size() == 2
|
||||
&& m_support_traditional_timelapse
|
||||
&& m_config.timelapse_type.value == TimelapseType::tlTraditional
|
||||
&& (writer().filament() && get_extruder_id(writer().filament()->id()) != most_used_extruder)) {
|
||||
m_support_traditional_timelapse = false;
|
||||
}
|
||||
|
||||
gcode += this->retract(false, false, LiftType::SpiralLift);
|
||||
m_writer.add_object_change_labels(gcode);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue