Multi-color code compatible with QIDI models (#11185)
* The 0.30mm layer height configuration for the 0.4 nozzle of the QIDI model has been removed * Merge branch 'main' into main * Merge branch 'SoftFever:main' into main * Revert "The 0.30mm layer height configuration for the 0.4 nozzle of the QIDI model has been removed" This reverts commit 8d296720b8de58b1bfa4f008a24cee841a8472c6. * Update Qidi Q2 0.4 nozzle.json 修改Q2打印高度 * Merge branch 'SoftFever:main' into main * Merge branch 'SoftFever:main' into main * change machine_gcode * Merge branch 'main' of https://github.com/HYzd766/OrcaSlicer * Merge branch 'SoftFever:main' into main * Multi-color code compatible with QIDI models * Merge branch 'main' into main * toggle axis visibility on canvas (#9666) * toggle axis visibility on canvas * set show_axes config on toggle * fix: Add pause and filament change to machine gcodes for Sovol SV08 MAX (#11214) * Add fixed Ironing Angle setting for uniform surface finish (#11195) * Initial working fixed ironing angle implemented with new Fixed ironing angle setting * update documentation * Combine Fill.is_using_template_angle and Fill.alternate_fill_direction into Fill.fixed_angle * Rename SurfaceFillParams.is_using_template_angle to SurfaceFillParam.fixed_angle.
This commit is contained in:
@@ -1268,7 +1268,7 @@ static std::vector<Vec2d> get_path_of_change_filament(const Print& print)
|
||||
std::string WipeTowerIntegration::prime(GCode &gcodegen)
|
||||
{
|
||||
std::string gcode;
|
||||
if (!gcodegen.is_BBL_Printer()) {
|
||||
if (!gcodegen.is_BBL_Printer() && !gcodegen.is_QIDI_Printer()) {
|
||||
for (const WipeTower::ToolChangeResult &tcr : m_priming) {
|
||||
if (!tcr.extrusions.empty())
|
||||
gcode += append_tcr2(gcodegen, tcr, tcr.new_tool);
|
||||
@@ -1284,7 +1284,7 @@ static std::vector<Vec2d> get_path_of_change_filament(const Print& print)
|
||||
assert(m_layer_idx >= 0);
|
||||
if (m_layer_idx >= (int) m_tool_changes.size())
|
||||
return gcode;
|
||||
if (!gcodegen.is_BBL_Printer()) {
|
||||
if (!gcodegen.is_BBL_Printer() && !gcodegen.is_QIDI_Printer()) {
|
||||
if (gcodegen.writer().need_toolchange(extruder_id) || finish_layer) {
|
||||
if (m_layer_idx < (int) m_tool_changes.size()) {
|
||||
if (!(size_t(m_tool_change_idx) < m_tool_changes[m_layer_idx].size()))
|
||||
@@ -1373,7 +1373,7 @@ static std::vector<Vec2d> get_path_of_change_filament(const Print& print)
|
||||
std::string WipeTowerIntegration::finalize(GCode &gcodegen)
|
||||
{
|
||||
std::string gcode;
|
||||
if (!gcodegen.is_BBL_Printer()) {
|
||||
if (!gcodegen.is_BBL_Printer() && !gcodegen.is_QIDI_Printer()) {
|
||||
if (std::abs(gcodegen.writer().get_position().z() - m_final_purge.print_z) > EPSILON)
|
||||
gcode += gcodegen.change_layer(m_final_purge.print_z);
|
||||
gcode += append_tcr2(gcodegen, m_final_purge, -1);
|
||||
@@ -1795,6 +1795,13 @@ bool GCode::is_BBL_Printer()
|
||||
return false;
|
||||
}
|
||||
|
||||
bool GCode::is_QIDI_Printer()
|
||||
{
|
||||
if (m_curr_print)
|
||||
return m_curr_print->is_QIDI_printer();
|
||||
return false;
|
||||
}
|
||||
|
||||
void GCode::do_export(Print* print, const char* path, GCodeProcessorResult* result, ThumbnailsGeneratorCallback thumbnail_cb)
|
||||
{
|
||||
PROFILE_CLEAR();
|
||||
@@ -2205,6 +2212,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
|
||||
// modifies m_silent_time_estimator_enabled
|
||||
DoExport::init_gcode_processor(print.config(), m_processor, m_silent_time_estimator_enabled);
|
||||
const bool is_bbl_printers = print.is_BBL_printer();
|
||||
const bool is_qidi_printers = print.is_QIDI_printer();
|
||||
m_calib_config.clear();
|
||||
// resets analyzer's tracking data
|
||||
m_last_height = 0.f;
|
||||
@@ -2487,7 +2495,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
|
||||
throw Slic3r::SlicingError(_(L("No object can be printed. Maybe too small")));
|
||||
has_wipe_tower = print.has_wipe_tower() && tool_ordering.has_wipe_tower();
|
||||
// Orca: support all extruder priming
|
||||
initial_extruder_id = (!is_bbl_printers && has_wipe_tower && !print.config().single_extruder_multi_material_priming) ?
|
||||
initial_extruder_id = (!is_bbl_printers && has_wipe_tower && !print.config().single_extruder_multi_material_priming && !is_qidi_printers) ?
|
||||
// The priming towers will be skipped.
|
||||
tool_ordering.all_extruders().back() :
|
||||
// Don't skip the priming towers.
|
||||
|
||||
Reference in New Issue
Block a user