mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-01-25 06:27:34 -07:00
ENH: generate framework for all layers
jira: none Change-Id: I95f35ba45fe9f544c53bdf0c5a52a70bd45ee7a9 (cherry picked from commit 3e0b6eb2289eab383c6e616d37559b0c6619eca1)
This commit is contained in:
parent
d27c59c705
commit
a0b5cdfbb2
10 changed files with 26 additions and 4 deletions
|
|
@ -110,5 +110,6 @@
|
|||
"scarf_angle_threshold": "155",
|
||||
"infill_shift_step": "0.4",
|
||||
"infill_rotate_step": "0",
|
||||
"prime_tower_enable_framework": "0",
|
||||
"symmetric_infill_y_axis": "0"
|
||||
}
|
||||
|
|
@ -1390,7 +1390,8 @@ WipeTower::WipeTower(const PrintConfig& config, int plate_idx, Vec3d plate_origi
|
|||
m_extra_rib_length((float)config.prime_tower_extra_rib_length.value),
|
||||
m_rib_width((float)config.prime_tower_rib_width.value),
|
||||
m_used_fillet(config.prime_tower_fillet_wall.value),
|
||||
m_extra_spacing((float)config.prime_tower_infill_gap.value/100.f)
|
||||
m_extra_spacing((float)config.prime_tower_infill_gap.value/100.f),
|
||||
m_tower_framework(config.prime_tower_enable_framework.value)
|
||||
{
|
||||
// Read absolute value of first layer speed, if given as percentage,
|
||||
// it is taken over following default. Speeds from config are not
|
||||
|
|
@ -3543,6 +3544,16 @@ void WipeTower::generate_wipe_tower_blocks()
|
|||
m_plan[layer_id].depth += block.layer_depths[layer_id];
|
||||
}
|
||||
}
|
||||
|
||||
if (m_tower_framework) {
|
||||
for (int layer_id = 1; layer_id < m_plan.size(); ++layer_id) {
|
||||
m_plan[layer_id].depth = 0;
|
||||
for (auto &block : m_wipe_tower_blocks) {
|
||||
block.layer_depths[layer_id] = block.layer_depths[0];
|
||||
m_plan[layer_id].depth += block.layer_depths[layer_id];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void WipeTower::plan_tower_new()
|
||||
|
|
|
|||
|
|
@ -435,6 +435,7 @@ private:
|
|||
float m_extra_rib_length=0.f;
|
||||
bool m_used_fillet{false};
|
||||
Vec2f m_rib_offset{Vec2f(0.f, 0.f)};
|
||||
bool m_tower_framework{false};
|
||||
|
||||
// G-code generator parameters.
|
||||
float m_cooling_tube_retraction = 0.f;
|
||||
|
|
|
|||
|
|
@ -814,7 +814,7 @@ static std::vector<std::string> s_Preset_print_options {
|
|||
"outer_wall_line_width", "sparse_infill_line_width", "internal_solid_infill_line_width",
|
||||
"skin_infill_line_width","skeleton_infill_line_width",
|
||||
"top_surface_line_width", "support_line_width", "infill_wall_overlap","top_bottom_infill_wall_overlap", "bridge_flow", "internal_bridge_flow",
|
||||
"elefant_foot_compensation", "elefant_foot_compensation_layers", "xy_contour_compensation", "xy_hole_compensation", "resolution", "enable_prime_tower",
|
||||
"elefant_foot_compensation", "elefant_foot_compensation_layers", "xy_contour_compensation", "xy_hole_compensation", "resolution", "enable_prime_tower", "prime_tower_enable_framework",
|
||||
"prime_tower_width", "prime_tower_brim_width", "prime_tower_skip_points",
|
||||
"prime_tower_rib_wall","prime_tower_extra_rib_length","prime_tower_rib_width","prime_tower_fillet_wall","prime_tower_infill_gap",
|
||||
"wipe_tower_no_sparse_layers", "compatible_printers", "compatible_printers_condition", "inherits",
|
||||
|
|
|
|||
|
|
@ -295,6 +295,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|
|||
|| opt_key == "hot_plate_temp"
|
||||
|| opt_key == "textured_plate_temp"
|
||||
|| opt_key == "enable_prime_tower"
|
||||
|| opt_key == "prime_tower_enable_framework"
|
||||
|| opt_key == "prime_tower_width"
|
||||
|| opt_key == "prime_tower_brim_width"
|
||||
|| opt_key == "prime_tower_skip_points"
|
||||
|
|
|
|||
|
|
@ -5890,6 +5890,12 @@ void PrintConfigDef::init_fff_params()
|
|||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("prime_tower_enable_framework", coBool);
|
||||
def->label = L("Internal ribs");
|
||||
def->tooltip = L("");
|
||||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("flush_volumes_vector", coFloats);
|
||||
// BBS: remove _L()
|
||||
def->label = ("Purging volumes - load/unload volumes");
|
||||
|
|
|
|||
|
|
@ -1443,6 +1443,7 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
|
|||
((ConfigOptionInts, nozzle_temperature_range_high))
|
||||
((ConfigOptionFloats, wipe_distance))
|
||||
((ConfigOptionBool, enable_prime_tower))
|
||||
((ConfigOptionBool, prime_tower_enable_framework))
|
||||
// BBS: change wipe_tower_x and wipe_tower_y data type to floats to add partplate logic
|
||||
((ConfigOptionFloats, wipe_tower_x))
|
||||
((ConfigOptionFloats, wipe_tower_y))
|
||||
|
|
|
|||
|
|
@ -759,7 +759,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
|
|||
toggle_line("preheat_steps", have_ooze_prevention && (preheat_steps > 0));
|
||||
|
||||
bool have_prime_tower = config->opt_bool("enable_prime_tower");
|
||||
for (auto el : {"prime_tower_width", "prime_tower_brim_width", "prime_tower_skip_points", "prime_tower_rib_wall", "prime_tower_infill_gap"})
|
||||
for (auto el : {"prime_tower_width", "prime_tower_brim_width", "prime_tower_skip_points", "prime_tower_rib_wall", "prime_tower_infill_gap","prime_tower_enable_framework"})
|
||||
toggle_line(el, have_prime_tower);
|
||||
|
||||
bool have_rib_wall = config->opt_bool("prime_tower_rib_wall")&&have_prime_tower;
|
||||
|
|
|
|||
|
|
@ -4039,7 +4039,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
|||
"extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod",
|
||||
"nozzle_height", "skirt_type", "skirt_loops", "skirt_speed","min_skirt_length", "skirt_distance", "skirt_start_angle",
|
||||
"brim_width", "brim_object_gap", "brim_type", "nozzle_diameter", "single_extruder_multi_material", "preferred_orientation",
|
||||
"enable_prime_tower", "wipe_tower_x", "wipe_tower_y", "prime_tower_width", "prime_tower_brim_width", "prime_tower_skip_points",
|
||||
"enable_prime_tower", "wipe_tower_x", "wipe_tower_y", "prime_tower_width", "prime_tower_brim_width", "prime_tower_skip_points", "prime_tower_enable_framework",
|
||||
"prime_tower_rib_wall","prime_tower_extra_rib_length", "prime_tower_rib_width","prime_tower_fillet_wall", "prime_tower_infill_gap","filament_prime_volume",
|
||||
"extruder_colour", "filament_colour", "filament_type", "material_colour", "printable_height", "extruder_printable_height", "printer_model", "printer_technology",
|
||||
// These values are necessary to construct SlicingParameters by the Canvas3D variable layer height editor.
|
||||
|
|
|
|||
|
|
@ -2476,6 +2476,7 @@ void TabPrint::build()
|
|||
optgroup = page->new_optgroup(L("Prime tower"), L"param_tower");
|
||||
optgroup->append_single_option_line("enable_prime_tower", "multimaterial_settings_prime_tower");
|
||||
optgroup->append_single_option_line("prime_tower_skip_points", "parameter/prime-tower");
|
||||
optgroup->append_single_option_line("prime_tower_enable_framework", "parameter/prime-tower");
|
||||
optgroup->append_single_option_line("prime_tower_width", "multimaterial_settings_prime_tower#width");
|
||||
optgroup->append_single_option_line("prime_tower_brim_width", "multimaterial_settings_prime_tower#brim-width");
|
||||
optgroup->append_single_option_line("prime_tower_infill_gap","parameter/prime-tower");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue