From 60d6348a42f01b3062d8fe0976840235f0cd0f32 Mon Sep 17 00:00:00 2001 From: QIDI TECH <893239786@qq.com> Date: Thu, 29 May 2025 13:56:52 +0800 Subject: [PATCH] fix some bug --- resources/profiles/Q Series/filament/Generic PLA.json | 2 ++ resources/profiles/Q Series/filament/QIDI PLA Rapido.json | 2 ++ .../X 4 Series/machine/Qidi X-Plus 4 0.4 nozzle.json | 2 +- src/libslic3r/GCode.cpp | 5 +++++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/resources/profiles/Q Series/filament/Generic PLA.json b/resources/profiles/Q Series/filament/Generic PLA.json index 7e21643..f88c0af 100644 --- a/resources/profiles/Q Series/filament/Generic PLA.json +++ b/resources/profiles/Q Series/filament/Generic PLA.json @@ -18,6 +18,8 @@ "nozzle_temperature_range_low": ["190"], "overhang_fan_threshold": ["50%"], "slow_down_layer_time": ["8"], + "supertack_plate_temp_initial_layer": ["45"], + "supertack_plate_temp": ["45"], "temperature_vitrification": ["45"], "compatible_printers": [] } \ No newline at end of file diff --git a/resources/profiles/Q Series/filament/QIDI PLA Rapido.json b/resources/profiles/Q Series/filament/QIDI PLA Rapido.json index 4411d17..04f1d0a 100644 --- a/resources/profiles/Q Series/filament/QIDI PLA Rapido.json +++ b/resources/profiles/Q Series/filament/QIDI PLA Rapido.json @@ -15,6 +15,8 @@ "nozzle_temperature_range_high": ["240"], "nozzle_temperature_range_low": ["190"], "overhang_fan_threshold": ["50%"], + "supertack_plate_temp_initial_layer": ["45"], + "supertack_plate_temp": ["45"], "temperature_vitrification": ["45"], "compatible_printers": [] } diff --git a/resources/profiles/X 4 Series/machine/Qidi X-Plus 4 0.4 nozzle.json b/resources/profiles/X 4 Series/machine/Qidi X-Plus 4 0.4 nozzle.json index b3fb109..2c7df29 100644 --- a/resources/profiles/X 4 Series/machine/Qidi X-Plus 4 0.4 nozzle.json +++ b/resources/profiles/X 4 Series/machine/Qidi X-Plus 4 0.4 nozzle.json @@ -11,7 +11,7 @@ "default_print_profile": "0.20mm Standard @XPlus4", "printer_settings_id": "Qidi", "bed_exclude_area": ["0x305", "0x302", "35x302", "35x305", "305x305", "305x305", "305x305", "305x20", "293x20", "293x0", "305x0", "305x20", "305x305"], - "change_filament_gcode": "{if current_extruder != next_extruder}\nG1 Z{max_layer_z + 3.0} F1200\nTOOL_CHANGE_START F=[current_extruder] T=[next_extruder]\n{if long_retraction_when_cut && retraction_distance_when_cut > 2}\nDISABLE_ALL_SENSOR\nG1 E-[retraction_distance_when_cut] F200\nM400\n{endif}\nCUT_FILAMENT T=[current_extruder]\nMOVE_TO_TRASH\n{if nozzle_temperature_range_high[current_extruder] >= nozzle_temperature_range_high[next_extruder]}\nM104 S{nozzle_temperature_range_high[current_extruder]}\n{else}\nM104 S{nozzle_temperature_range_high[next_extruder]}\n{endif}\nM106 S0\nM106 P2 S0\nDISABLE_ALL_SENSOR\nUNLOAD_T[current_extruder]\nG92 E0\nM83\n; FLUSH_START\nG1 E18 F{old_filament_e_feedrate}\n; FLUSH_END\nT[next_extruder]\n{if nozzle_temperature_range_high[current_extruder] >= nozzle_temperature_range_high[next_extruder]}\nSET_HEATER_TEMPERATURE HEATER=extruder TARGET={nozzle_temperature_range_high[current_extruder]} WAIT=1\n{else}\nSET_HEATER_TEMPERATURE HEATER=extruder TARGET={nozzle_temperature_range_high[next_extruder]} WAIT=1\n{endif}\n{if long_retraction_when_cut && retraction_distance_when_cut > 2}\nG1 E{retraction_distance_when_cut - 2} F200\nG1 E2 F20\nM400\n{endif}\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\nM83\n; FLUSH_START\nG1 E{48.5 * 0.58} F{old_filament_e_feedrate}\nG1 E{48.5 * 0.02} F50\nG1 E{48.5 * 0.18} F{old_filament_e_feedrate}\nG1 E{48.5 * 0.02} F50\nG1 E{48.5 * 0.18} F{old_filament_e_feedrate}\nG1 E{48.5 * 0.02} F50\n; FLUSH_END\n{if flush_length_1 > 1}\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\nM106 S255\nM400\nG91\nG1 X-4 F48\nG1 X4 F48\nG90\nM106 S0\nCLEAR_FLUSH\nM83\n; FLUSH_START\nG1 E{flush_length_1 * 0.58} F{new_filament_e_feedrate}\nG1 E{flush_length_1 * 0.02} F50\nG1 E{flush_length_1 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_1 * 0.02} F50\nG1 E{flush_length_1 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_1 * 0.02} F50\n; FLUSH_END\n{endif}\n{if flush_length_2 > 1}\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\nM106 S255\nM400\nG91\nG1 X-4 F48\nG1 X4 F48\nG90\nM106 S0\nCLEAR_FLUSH\nM83\n; FLUSH_START\nG1 E{flush_length_2 * 0.58} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\n{endif}\n{if flush_length_3 > 1}\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\nM106 S255\nM400\nG91\nG1 X-4 F48\nG1 X4 F48\nG90\nM106 S0\nCLEAR_FLUSH\nM83\n; FLUSH_START\nG1 E{flush_length_3 * 0.58} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\n{endif}\n{if flush_length_4 > 1}\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\nM106 S255\nM400\nG91\nG1 X-4 F48\nG1 X4 F48\nG90\nM106 S0\nCLEAR_FLUSH\nM83\n; FLUSH_START\nG1 E{flush_length_4 * 0.58} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\nG1 E-[new_retract_length_toolchange] F1800\nM104 S[new_filament_temp]\nM106 S255\nM400\nG91\nG1 X-4 F48\nG1 X4 F48\nG90\nM109 S[new_filament_temp]\nG92 E0\nM400\nM106 S0\nCLEAR_FLUSH\nCLEAR_OOZE\nG1 Y300 F9000\nTOOL_CHANGE_END\nENABLE_ALL_SENSOR\n{endif}", + "change_filament_gcode": "{if current_extruder != next_extruder}\nG1 Z{max_layer_z + 3.0} F1200\nTOOL_CHANGE_START F=[current_extruder] T=[next_extruder]\n{if long_retractions_when_cut[previous_extruder]}\nDISABLE_ALL_SENSOR\nG1 E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\nM400\n{else}\nG1 E-5 F{old_filament_e_feedrate}\n{endif}\nCUT_FILAMENT T=[current_extruder]\nMOVE_TO_TRASH\n{if nozzle_temperature_range_high[current_extruder] >= nozzle_temperature_range_high[next_extruder]}\nM104 S{nozzle_temperature_range_high[current_extruder]}\n{else}\nM104 S{nozzle_temperature_range_high[next_extruder]}\n{endif}\nM106 S0\nM106 P2 S0\nDISABLE_ALL_SENSOR\nUNLOAD_T[current_extruder]\nG92 E0\nM83\n; FLUSH_START\nG1 E1 F50\nG1 E17 F{old_filament_e_feedrate}\n; FLUSH_END\nT[next_extruder]\nG1 E1 F50\n{if nozzle_temperature_range_high[current_extruder] >= nozzle_temperature_range_high[next_extruder]}\nSET_HEATER_TEMPERATURE HEATER=extruder TARGET={nozzle_temperature_range_high[current_extruder]} WAIT=1\n{else}\nSET_HEATER_TEMPERATURE HEATER=extruder TARGET={nozzle_temperature_range_high[next_extruder]} WAIT=1\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nG1 E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\nM400\n{endif}\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\n; FLUSH_START\nG1 E{48.5 * 0.58} F{old_filament_e_feedrate}\nG1 E{48.5 * 0.02} F50\nG1 E{48.5 * 0.18} F{old_filament_e_feedrate}\nG1 E{48.5 * 0.02} F50\nG1 E{48.5 * 0.18} F{old_filament_e_feedrate}\nG1 E{48.5 * 0.02} F50\n; FLUSH_END\n{if flush_length_1 > 1}\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\nM106 S255\nM400\nG91\nG1 X-3 F60\nG1 X3 F60\nG90\nCLEAR_FLUSH\nM106 S60\n; FLUSH_START\nG1 E{flush_length_1 * 0.58} F{new_filament_e_feedrate}\nG1 E{flush_length_1 * 0.02} F50\nG1 E{flush_length_1 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_1 * 0.02} F50\nG1 E{flush_length_1 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_1 * 0.02} F50\n; FLUSH_END\n{endif}\n{if flush_length_2 > 1}\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\nM106 S255\nM400\nG91\nG1 X-3 F60\nG1 X3 F60\nG90\nCLEAR_FLUSH\nM106 S60\n; FLUSH_START\nG1 E{flush_length_2 * 0.58} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\n{endif}\n{if flush_length_3 > 1}\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\nM106 S255\nM400\nG91\nG1 X-3 F60\nG1 X3 F60\nG90\nCLEAR_FLUSH\nM106 S60\n; FLUSH_START\nG1 E{flush_length_3 * 0.58} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\n{endif}\n{if flush_length_4 > 1}\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\nM106 S255\nM400\nG91\nG1 X-3 F60\nG1 X3 F60\nG90\nCLEAR_FLUSH\nM106 S60\n; FLUSH_START\nG1 E{flush_length_4 * 0.58} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\nG1 E-[new_retract_length_toolchange] F1800\nM104 S[new_filament_temp]\nM106 S255\nM400\nG91\nG1 X-3 F60\nG1 X3 F60\nG90\nM109 S[new_filament_temp]\nG92 E0\nM400\nCLEAR_FLUSH\nCLEAR_OOZE\nM106 S0\nG1 Y300 F9000\nTOOL_CHANGE_END\nENABLE_ALL_SENSOR\n{endif}", "default_filament_profile": ["QIDI PLA Rapido @Qidi X-Plus 4 0.4 nozzle"], "enable_long_retraction_when_cut": "2", "extruder_clearance_height_to_lid": "135", diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index a257da0..412de2c 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2409,6 +2409,11 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato m_start_gcode_filament = GCodeProcessor::get_gcode_last_filament(machine_start_gcode); m_writer.init_extruder(initial_non_support_extruder_id); + + //y63 + if (m_config.enable_pressure_advance.get_at(initial_non_support_extruder_id)) + file.write(m_writer.set_pressure_advance(m_config.pressure_advance.get_at(initial_non_support_extruder_id))); + // add the missing filament start gcode in machine start gcode { DynamicConfig config;