Configure skirt start point
This commit is contained in:
@@ -569,7 +569,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
|
||||
|
||||
bool have_skirt = config->opt_int("skirt_loops") > 0;
|
||||
toggle_field("skirt_height", have_skirt && config->opt_enum<DraftShield>("draft_shield") != dsEnabled);
|
||||
for (auto el : { "skirt_distance", "draft_shield"})
|
||||
for (auto el : { "skirt_distance", "skirt_start_angle", "draft_shield"})
|
||||
toggle_field(el, have_skirt);
|
||||
|
||||
bool have_brim = (config->opt_enum<BrimType>("brim_type") != btNoBrim);
|
||||
|
||||
@@ -2770,7 +2770,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
||||
, config(Slic3r::DynamicPrintConfig::new_from_defaults_keys({
|
||||
"printable_area", "bed_exclude_area", "bed_custom_texture", "bed_custom_model", "print_sequence",
|
||||
"extruder_clearance_radius", "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod",
|
||||
"nozzle_height", "skirt_loops", "skirt_speed","min_skirt_length", "skirt_distance",
|
||||
"nozzle_height", "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_volume",
|
||||
"extruder_colour", "filament_colour", "material_colour", "printable_height", "printer_model", "printer_technology",
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace GUI {
|
||||
|
||||
#define DISABLE_UNDO_SYS
|
||||
|
||||
static const std::vector<std::string> plate_keys = { "curr_bed_type", "first_layer_print_sequence", "first_layer_sequence_choice", "other_layers_print_sequence", "other_layers_sequence_choice", "print_sequence", "spiral_mode"};
|
||||
static const std::vector<std::string> plate_keys = { "curr_bed_type", "skirt_start_angle", "first_layer_print_sequence", "first_layer_sequence_choice", "other_layers_print_sequence", "other_layers_sequence_choice", "print_sequence", "spiral_mode"};
|
||||
|
||||
void Tab::Highlighter::set_timer_owner(wxEvtHandler* owner, int timerid/* = wxID_ANY*/)
|
||||
{
|
||||
@@ -2321,6 +2321,7 @@ page = add_options_page(L("Others"), "custom-gcode_other"); // ORCA: icon only v
|
||||
optgroup->append_single_option_line("skirt_loops");
|
||||
optgroup->append_single_option_line("min_skirt_length");
|
||||
optgroup->append_single_option_line("skirt_distance");
|
||||
optgroup->append_single_option_line("skirt_start_angle");
|
||||
optgroup->append_single_option_line("skirt_height");
|
||||
optgroup->append_single_option_line("skirt_speed");
|
||||
optgroup->append_single_option_line("draft_shield");
|
||||
@@ -2789,6 +2790,7 @@ void TabPrintPlate::build()
|
||||
auto page = add_options_page(L("Plate Settings"), "empty");
|
||||
auto optgroup = page->new_optgroup("");
|
||||
optgroup->append_single_option_line("curr_bed_type");
|
||||
optgroup->append_single_option_line("skirt_start_angle");
|
||||
optgroup->append_single_option_line("print_sequence");
|
||||
optgroup->append_single_option_line("spiral_mode");
|
||||
optgroup->append_single_option_line("first_layer_sequence_choice");
|
||||
@@ -2837,6 +2839,8 @@ void TabPrintPlate::on_value_change(const std::string& opt_key, const boost::any
|
||||
auto plate = dynamic_cast<PartPlate*>(plate_item.first);
|
||||
if (k == "curr_bed_type")
|
||||
plate->reset_bed_type();
|
||||
if (k == "skirt_start_angle")
|
||||
plate->config()->erase("skirt_start_angle");
|
||||
if (k == "print_sequence")
|
||||
plate->set_print_seq(PrintSequence::ByDefault);
|
||||
if (k == "first_layer_sequence_choice")
|
||||
@@ -2860,6 +2864,10 @@ void TabPrintPlate::on_value_change(const std::string& opt_key, const boost::any
|
||||
bed_type = m_config->opt_enum<BedType>("curr_bed_type");
|
||||
plate->set_bed_type(BedType(bed_type));
|
||||
}
|
||||
if (k == "skirt_start_angle") {
|
||||
float angle = m_config->opt_float("skirt_start_angle");
|
||||
plate->config()->set_key_value("skirt_start_angle", new ConfigOptionFloat(angle));
|
||||
}
|
||||
if (k == "print_sequence") {
|
||||
print_seq = m_config->opt_enum<PrintSequence>("print_sequence");
|
||||
plate->set_print_seq(print_seq);
|
||||
|
||||
Reference in New Issue
Block a user