Fix misc bugs
This commit is contained in:
parent
b4cc526ae4
commit
c36d4ad7c9
17 changed files with 18 additions and 25 deletions
|
@ -156,7 +156,7 @@
|
|||
"seam_slope_start_height": "0",
|
||||
"seam_slope_steps": "10",
|
||||
"seam_slope_type": "none",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "0",
|
||||
|
|
|
@ -156,7 +156,7 @@
|
|||
"seam_slope_start_height": "0",
|
||||
"seam_slope_steps": "10",
|
||||
"seam_slope_type": "none",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "0",
|
||||
|
|
|
@ -156,7 +156,7 @@
|
|||
"seam_slope_start_height": "0",
|
||||
"seam_slope_steps": "10",
|
||||
"seam_slope_type": "none",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "0",
|
||||
|
|
|
@ -156,7 +156,7 @@
|
|||
"seam_slope_start_height": "0",
|
||||
"seam_slope_steps": "10",
|
||||
"seam_slope_type": "none",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "0",
|
||||
|
|
|
@ -128,7 +128,7 @@
|
|||
"role_based_wipe_speed": "1",
|
||||
"seam_gap": "5%",
|
||||
"seam_position": "aligned",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "3",
|
||||
"skirt_height": "2",
|
||||
"skirt_loops": "0",
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
"role_based_wipe_speed": "1",
|
||||
"seam_gap": "10%",
|
||||
"seam_position": "aligned",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "2",
|
||||
|
|
|
@ -115,7 +115,7 @@
|
|||
"role_based_wipe_speed": "1",
|
||||
"seam_gap": "10%",
|
||||
"seam_position": "aligned",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "0",
|
||||
|
|
|
@ -115,7 +115,7 @@
|
|||
"role_based_wipe_speed": "1",
|
||||
"seam_gap": "10%",
|
||||
"seam_position": "aligned",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "0",
|
||||
|
|
|
@ -154,7 +154,7 @@
|
|||
"seam_slope_start_height": "0",
|
||||
"seam_slope_steps": "10",
|
||||
"seam_slope_type": "external",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "1",
|
||||
|
|
|
@ -114,7 +114,7 @@
|
|||
"role_based_wipe_speed": "1",
|
||||
"seam_gap": "10%",
|
||||
"seam_position": "aligned",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "0",
|
||||
|
|
|
@ -114,7 +114,7 @@
|
|||
"role_based_wipe_speed": "1",
|
||||
"seam_gap": "10%",
|
||||
"seam_position": "aligned",
|
||||
"single_extruder_multi_material_priming": "1",
|
||||
"single_extruder_multi_material_priming": "0",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "0",
|
||||
|
|
|
@ -2147,7 +2147,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 = (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) ?
|
||||
// The priming towers will be skipped.
|
||||
tool_ordering.all_extruders().back() :
|
||||
// Don't skip the priming towers.
|
||||
|
@ -6157,13 +6157,7 @@ std::string GCode::set_extruder(unsigned int extruder_id, double print_z, bool b
|
|||
std::string toolchange_gcode_parsed;
|
||||
//Orca: Ignore change_filament_gcode if is the first call for a tool change and manual_filament_change is enabled
|
||||
if (!change_filament_gcode.empty() && !(m_config.manual_filament_change.value && m_toolchange_count == 1)) {
|
||||
dyn_config.set_key_value("previous_extruder",
|
||||
new ConfigOptionInt((int) (m_writer.extruder() != nullptr ? m_writer.extruder()->id() : -1)));
|
||||
dyn_config.set_key_value("next_extruder", new ConfigOptionInt((int) extruder_id));
|
||||
dyn_config.set_key_value("layer_num", new ConfigOptionInt(m_layer_index));
|
||||
dyn_config.set_key_value("layer_z", new ConfigOptionFloat(print_z));
|
||||
dyn_config.set_key_value("toolchange_z", new ConfigOptionFloat(print_z));
|
||||
dyn_config.set_key_value("max_layer_z", new ConfigOptionFloat(m_max_layer_z));
|
||||
|
||||
toolchange_gcode_parsed = placeholder_parser_process("change_filament_gcode", change_filament_gcode, extruder_id, &dyn_config);
|
||||
check_add_eol(toolchange_gcode_parsed);
|
||||
|
|
|
@ -875,7 +875,7 @@ void ToolOrdering::reorder_extruders_for_minimum_flush_volume()
|
|||
return false;
|
||||
};
|
||||
|
||||
std::optional<unsigned int>current_extruder_id;
|
||||
std::optional<unsigned int>current_extruder_id(-1);
|
||||
for (int i = 0; i < m_layer_tools.size(); ++i) {
|
||||
LayerTools& lt = m_layer_tools[i];
|
||||
if (lt.extruders.empty())
|
||||
|
|
|
@ -1063,7 +1063,7 @@ namespace client
|
|||
case coPercents: output.set_d(static_cast<const ConfigOptionPercents*>(opt.opt)->values[idx]); break;
|
||||
case coPoints: output.set_s(to_string(static_cast<const ConfigOptionPoints*>(opt.opt)->values[idx])); break;
|
||||
case coBools: output.set_b(static_cast<const ConfigOptionBools*>(opt.opt)->values[idx] != 0); break;
|
||||
//case coEnums: output.set_s(opt.opt->vserialize()[idx]); break;
|
||||
case coEnums: output.set_i(static_cast<const ConfigOptionInts *>(opt.opt)->values[idx]); break;
|
||||
default:
|
||||
ctx->throw_exception("Unsupported vector variable type", opt.it_range);
|
||||
}
|
||||
|
|
|
@ -2581,6 +2581,7 @@ void Print::_make_wipe_tower()
|
|||
for (unsigned int i = 0; i<number_of_extruders; ++i)
|
||||
wipe_volumes.push_back(std::vector<float>(flush_matrix.begin()+i*number_of_extruders, flush_matrix.begin()+(i+1)*number_of_extruders));
|
||||
|
||||
const auto bUseWipeTower2 = is_BBL_printer() ? false : true;
|
||||
// Orca: itertate over wipe_volumes and change the non-zero values to the prime_volume
|
||||
if (!m_config.purge_in_prime_tower && !is_BBL_printer()) {
|
||||
for (unsigned int i = 0; i < number_of_extruders; ++i) {
|
||||
|
@ -2593,7 +2594,7 @@ void Print::_make_wipe_tower()
|
|||
}
|
||||
|
||||
// Let the ToolOrdering class know there will be initial priming extrusions at the start of the print.
|
||||
m_wipe_tower_data.tool_ordering = ToolOrdering(*this, (unsigned int)-1, true);
|
||||
m_wipe_tower_data.tool_ordering = ToolOrdering(*this, (unsigned int) -1, bUseWipeTower2 ? true : false);
|
||||
|
||||
if (!m_wipe_tower_data.tool_ordering.has_wipe_tower())
|
||||
// Don't generate any wipe tower.
|
||||
|
@ -2636,7 +2637,7 @@ void Print::_make_wipe_tower()
|
|||
}
|
||||
this->throw_if_canceled();
|
||||
|
||||
if (is_BBL_printer()) {
|
||||
if (!bUseWipeTower2) {
|
||||
// in BBL machine, wipe tower is only use to prime extruder. So just use a global wipe volume.
|
||||
WipeTower wipe_tower(m_config, m_plate_index, m_origin, m_config.prime_volume, m_wipe_tower_data.tool_ordering.first_extruder(),
|
||||
m_wipe_tower_data.tool_ordering.empty() ? 0.f : m_wipe_tower_data.tool_ordering.back().print_z);
|
||||
|
|
|
@ -4156,7 +4156,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->label = L("Prime all printing extruders");
|
||||
def->tooltip = L("If enabled, all printing extruders will be primed at the front edge of the print bed at the start of the print.");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(true));
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("slice_closing_radius", coFloat);
|
||||
def->label = L("Slice gap closing radius");
|
||||
|
|
|
@ -9186,8 +9186,6 @@ void GLCanvas3D::_load_wipe_tower_toolpaths(const BuildVolume& build_volume, con
|
|||
|
||||
ctxt.print = print;
|
||||
ctxt.tool_colors = tool_colors.empty() ? nullptr : &tool_colors;
|
||||
//BBS: has no single_extruder_multi_material_priming
|
||||
//if (print->wipe_tower_data().priming && print->config().single_extruder_multi_material_priming)
|
||||
if (print->wipe_tower_data().priming)
|
||||
for (int i=0; i<(int)print->wipe_tower_data().priming.get()->size(); ++i)
|
||||
ctxt.priming.emplace_back(print->wipe_tower_data().priming.get()->at(i));
|
||||
|
|
Loading…
Reference in a new issue