mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-14 09:02:06 +00:00
Merge some BS1.7 changes:
internal_solid_infill_pattern
This commit is contained in:
@@ -267,7 +267,7 @@ CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(ForwardCompatibilitySubstitutionRule)
|
||||
|
||||
static const t_config_enum_values s_keys_map_OverhangFanThreshold = {
|
||||
{ "0%", Overhang_threshold_none },
|
||||
{ "5%", Overhang_threshold_1_4 },
|
||||
{ "10%", Overhang_threshold_1_4 },
|
||||
{ "25%", Overhang_threshold_2_4 },
|
||||
{ "50%", Overhang_threshold_3_4 },
|
||||
{ "75%", Overhang_threshold_4_4 },
|
||||
@@ -673,13 +673,13 @@ void PrintConfigDef::init_fff_params()
|
||||
def->enum_keys_map = &ConfigOptionEnum<OverhangFanThreshold>::get_enum_values();
|
||||
def->mode = comAdvanced;
|
||||
def->enum_values.emplace_back("0%");
|
||||
def->enum_values.emplace_back("5%");
|
||||
def->enum_values.emplace_back("10%");
|
||||
def->enum_values.emplace_back("25%");
|
||||
def->enum_values.emplace_back("50%");
|
||||
def->enum_values.emplace_back("75%");
|
||||
def->enum_values.emplace_back("95%");
|
||||
def->enum_labels.emplace_back("0%");
|
||||
def->enum_labels.emplace_back("5%");
|
||||
def->enum_labels.emplace_back("10%");
|
||||
def->enum_labels.emplace_back("25%");
|
||||
def->enum_labels.emplace_back("50%");
|
||||
def->enum_labels.emplace_back("75%");
|
||||
@@ -1061,6 +1061,15 @@ void PrintConfigDef::init_fff_params()
|
||||
def->enum_labels = def_top_fill_pattern->enum_labels;
|
||||
def->set_default_value(new ConfigOptionEnum<InfillPattern>(ipRectilinear));
|
||||
|
||||
def = this->add("internal_solid_infill_pattern", coEnum);
|
||||
def->label = L("Internal solid infill pattern");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("Line pattern of internal solid infill. if the detect nattow internal solid infill be enabled, the concentric pattern will be used for the small area.");
|
||||
def->enum_keys_map = &ConfigOptionEnum<InfillPattern>::get_enum_values();
|
||||
def->enum_values = def_top_fill_pattern->enum_values;
|
||||
def->enum_labels = def_top_fill_pattern->enum_labels;
|
||||
def->set_default_value(new ConfigOptionEnum<InfillPattern>(ipRectilinear));
|
||||
|
||||
def = this->add("outer_wall_line_width", coFloatOrPercent);
|
||||
def->label = L("Outer wall");
|
||||
def->category = L("Quality");
|
||||
@@ -1348,6 +1357,8 @@ void PrintConfigDef::init_fff_params()
|
||||
def->enum_values.push_back("PET-CF");
|
||||
def->enum_values.push_back("PETG-CF");
|
||||
def->enum_values.push_back("PVA");
|
||||
def->enum_values.push_back("HIPS");
|
||||
def->enum_values.push_back("PLA-AERO");
|
||||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionStrings { "PLA" });
|
||||
|
||||
@@ -1388,6 +1399,9 @@ void PrintConfigDef::init_fff_params()
|
||||
def->cli = ConfigOptionDef::nocli;
|
||||
|
||||
def = this->add("filament_vendor", coStrings);
|
||||
def->label = L("Vendor");
|
||||
def->tooltip = L("Vendor of filament. For show only");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionStrings{L("(Undefined)")});
|
||||
def->cli = ConfigOptionDef::nocli;
|
||||
|
||||
@@ -2028,6 +2042,17 @@ void PrintConfigDef::init_fff_params()
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionEnum<IroningType>(IroningType::NoIroning));
|
||||
|
||||
def = this->add("ironing_pattern", coEnum);
|
||||
def->label = L("Ironing Pattern");
|
||||
def->category = L("Quality");
|
||||
def->enum_keys_map = &ConfigOptionEnum<InfillPattern>::get_enum_values();
|
||||
def->enum_values.push_back("concentric");
|
||||
def->enum_values.push_back("zig-zag");
|
||||
def->enum_labels.push_back(L("Concentric"));
|
||||
def->enum_labels.push_back(L("Rectilinear"));
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionEnum<InfillPattern>(ipRectilinear));
|
||||
|
||||
def = this->add("ironing_flow", coPercent);
|
||||
def->label = L("Ironing flow");
|
||||
def->category = L("Quality");
|
||||
@@ -2994,6 +3019,13 @@ void PrintConfigDef::init_fff_params()
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("support_remove_small_overhang", coBool);
|
||||
def->label = L("Remove small overhangs");
|
||||
def->category = L("Support");
|
||||
def->tooltip = L("Remove small overhangs that possibly need no supports.");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(true));
|
||||
|
||||
// BBS: change type to common float.
|
||||
// It may be rounded to mulitple layer height when independent_support_layer_height is false.
|
||||
def = this->add("support_top_z_distance", coFloat);
|
||||
@@ -4491,6 +4523,8 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va
|
||||
ReplaceString(value, split_key, copy_key);
|
||||
}
|
||||
}
|
||||
} else if (opt_key == "overhang_fan_threshold" && value == "5%") {
|
||||
value = "10%";
|
||||
}
|
||||
|
||||
// Ignore the following obsolete configuration keys:
|
||||
@@ -4502,7 +4536,7 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va
|
||||
, "max_volumetric_extrusion_rate_slope_positive", "max_volumetric_extrusion_rate_slope_negative"
|
||||
#endif /* HAS_PRESSURE_EQUALIZER */
|
||||
// BBS
|
||||
, "support_sharp_tails","remove_small_overhangs", "support_with_sheath",
|
||||
, "support_sharp_tails","support_remove_small_overhangs", "support_with_sheath",
|
||||
"tree_support_branch_diameter_angle", "tree_support_collision_resolution", "tree_support_with_infill",
|
||||
"max_volumetric_speed", "max_print_speed",
|
||||
"support_closing_radius",
|
||||
@@ -4970,6 +5004,11 @@ std::map<std::string, std::string> validate(const FullPrintConfig &cfg, bool und
|
||||
error_message.emplace("bottom_surface_pattern", L("invalid value ") + cfg.bottom_surface_pattern.serialize());
|
||||
}
|
||||
|
||||
// --soild-fill-pattern
|
||||
if (!print_config_def.get("internal_solid_infill_pattern")->has_enum_value(cfg.internal_solid_infill_pattern.serialize())) {
|
||||
error_message.emplace("internal_solid_infill_pattern", L("invalid value ") + cfg.internal_solid_infill_pattern.serialize());
|
||||
}
|
||||
|
||||
// --fill-density
|
||||
if (fabs(cfg.sparse_infill_density.value - 100.) < EPSILON &&
|
||||
! print_config_def.get("top_surface_pattern")->has_enum_value(cfg.sparse_infill_pattern.serialize())) {
|
||||
@@ -5168,14 +5207,14 @@ CLIActionsConfigDef::CLIActionsConfigDef()
|
||||
/*def = this->add("export_amf", coBool);
|
||||
def->label = L("Export AMF");
|
||||
def->tooltip = L("Export the model(s) as AMF.");
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
def->set_default_value(new ConfigOptionBool(false));*/
|
||||
|
||||
def = this->add("export_stl", coBool);
|
||||
def->label = L("Export STL");
|
||||
def->tooltip = L("Export the model(s) as STL.");
|
||||
def->tooltip = L("Export the objects as multiple STL.");
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("export_gcode", coBool);
|
||||
/*def = this->add("export_gcode", coBool);
|
||||
def->label = L("Export G-code");
|
||||
def->tooltip = L("Slice the model and export toolpaths as G-code.");
|
||||
def->cli = "export-gcode|gcode|g";
|
||||
@@ -5207,6 +5246,12 @@ CLIActionsConfigDef::CLIActionsConfigDef()
|
||||
def->cli = "uptodate";
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("load_defaultfila", coBool);
|
||||
def->label = L("Load default filaments");
|
||||
def->tooltip = L("Load first filament as default for those not loaded");
|
||||
def->cli_params = "option";
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("mtcpp", coInt);
|
||||
def->label = L("mtcpp");
|
||||
def->tooltip = L("max triangle count per plate for slicing.");
|
||||
@@ -5307,6 +5352,12 @@ CLITransformConfigDef::CLITransformConfigDef()
|
||||
//def->cli = "arrange|a";
|
||||
def->set_default_value(new ConfigOptionInt(0));
|
||||
|
||||
def = this->add("repetitions", coInt);
|
||||
def->label = L("Repetions count");
|
||||
def->tooltip = L("Repetions count of the whole model");
|
||||
def->cli_params = "count";
|
||||
def->set_default_value(new ConfigOptionInt(1));
|
||||
|
||||
/*def = this->add("ensure_on_bed", coBool);
|
||||
def->label = L("Ensure on bed");
|
||||
def->tooltip = L("Lift the object above the bed when it is partially below. Enabled by default, use --no-ensure-on-bed to disable.");
|
||||
@@ -5412,12 +5463,18 @@ CLIMiscConfigDef::CLIMiscConfigDef()
|
||||
def->cli_params = "\"filament1.json;filament2.json;...\"";
|
||||
def->set_default_value(new ConfigOptionStrings());
|
||||
|
||||
def = this->add("skip_objects", coStrings);
|
||||
def = this->add("skip_objects", coInts);
|
||||
def->label = L("Skip Objects");
|
||||
def->tooltip = L("Skip some objects in this print");
|
||||
def->cli_params = "\"3;5;10;77\"";
|
||||
def->cli_params = "\"3,5,10,77\"";
|
||||
def->set_default_value(new ConfigOptionInts());
|
||||
|
||||
def = this->add("uptodate_settings", coStrings);
|
||||
def->label = L("load uptodate process/machine settings when using uptodate");
|
||||
def->tooltip = L("load uptodate process/machine settings from the specified file when using uptodate");
|
||||
def->cli_params = "\"setting1.json;setting2.json\"";
|
||||
def->set_default_value(new ConfigOptionStrings());
|
||||
|
||||
/*def = this->add("output", coString);
|
||||
def->label = L("Output File");
|
||||
def->tooltip = L("The file where the output will be written (if not specified, it will be based on the input file).");
|
||||
|
||||
Reference in New Issue
Block a user