New option for customization of infill/perimeters overlap. #2459

This commit is contained in:
Alessandro Ranellucci 2015-02-01 12:08:25 +01:00
parent fbcf5319ea
commit 07cd25d0ec
8 changed files with 22 additions and 3 deletions

View file

@ -429,6 +429,14 @@ PrintConfigDef::build_def() {
Options["infill_only_where_needed"].tooltip = "This option will limit infill to the areas actually needed for supporting ceilings (it will act as internal support material).";
Options["infill_only_where_needed"].cli = "infill-only-where-needed!";
Options["infill_overlap"].type = coFloatOrPercent;
Options["infill_overlap"].label = "Infill/perimeters overlap";
Options["infill_overlap"].category = "Advanced";
Options["infill_overlap"].tooltip = "This setting applies an additional overlap between infill and perimeters for better bonding. Theoretically this shouldn't be needed, but backlash might cause gaps. If expressed as percentage (example: 15%) it is calculated over perimeter extrusion width.";
Options["infill_overlap"].sidetext = "mm or %";
Options["infill_overlap"].cli = "infill-overlap=s";
Options["infill_overlap"].ratio_over = "perimeter_extrusion_width";
Options["infill_speed"].type = coFloat;
Options["infill_speed"].label = "Infill";
Options["infill_speed"].category = "Speed";

View file

@ -224,6 +224,7 @@ class PrintRegionConfig : public virtual StaticPrintConfig
ConfigOptionInt infill_extruder;
ConfigOptionFloatOrPercent infill_extrusion_width;
ConfigOptionInt infill_every_layers;
ConfigOptionFloatOrPercent infill_overlap;
ConfigOptionFloat infill_speed;
ConfigOptionBool overhangs;
ConfigOptionInt perimeter_extruder;
@ -260,6 +261,8 @@ class PrintRegionConfig : public virtual StaticPrintConfig
this->infill_extrusion_width.value = 0;
this->infill_extrusion_width.percent = false;
this->infill_every_layers.value = 1;
this->infill_overlap.value = 15;
this->infill_overlap.percent = true;
this->infill_speed.value = 80;
this->overhangs.value = true;
this->perimeter_extruder.value = 1;
@ -300,6 +303,7 @@ class PrintRegionConfig : public virtual StaticPrintConfig
if (opt_key == "infill_extruder") return &this->infill_extruder;
if (opt_key == "infill_extrusion_width") return &this->infill_extrusion_width;
if (opt_key == "infill_every_layers") return &this->infill_every_layers;
if (opt_key == "infill_overlap") return &this->infill_overlap;
if (opt_key == "infill_speed") return &this->infill_speed;
if (opt_key == "overhangs") return &this->overhangs;
if (opt_key == "perimeter_extruder") return &this->perimeter_extruder;

View file

@ -218,6 +218,7 @@ PrintObject::invalidate_state_by_config_options(const std::vector<t_config_optio
|| *opt_key == "overhangs"
|| *opt_key == "first_layer_extrusion_width"
|| *opt_key == "perimeter_extrusion_width"
|| *opt_key == "infill_overlap"
|| *opt_key == "thin_walls"
|| *opt_key == "external_perimeters_first") {
steps.insert(posPerimeters);