mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-07-14 03:51:45 +08:00
fix rectilinear not filling when solid
fix some string case
This commit is contained in:
parent
b564b17efa
commit
a1ece7579d
@ -11,12 +11,12 @@ group:Position (for multi-extruder printers)
|
|||||||
group:Retraction
|
group:Retraction
|
||||||
setting:idx:retract_length
|
setting:idx:retract_length
|
||||||
setting:idx:retract_lift
|
setting:idx:retract_lift
|
||||||
line:"Only lift Z"
|
line:Only lift Z
|
||||||
setting:idx:retract_lift_above
|
setting:idx:retract_lift_above
|
||||||
setting:idx:retract_lift_below
|
setting:idx:retract_lift_below
|
||||||
setting:idx:retract_lift_not_last_layer
|
setting:idx:retract_lift_not_last_layer
|
||||||
end_line
|
end_line
|
||||||
line:"Retraction Speed"
|
line:Retraction Speed
|
||||||
setting:idx:retract_speed
|
setting:idx:retract_speed
|
||||||
setting:idx:label$Deretraction:deretract_speed
|
setting:idx:label$Deretraction:deretract_speed
|
||||||
end_line
|
end_line
|
||||||
|
@ -27,11 +27,11 @@ group:Quality
|
|||||||
setting:ensure_vertical_shell_thickness
|
setting:ensure_vertical_shell_thickness
|
||||||
line:Avoid crossing perimeters
|
line:Avoid crossing perimeters
|
||||||
setting:label$:avoid_crossing_perimeters
|
setting:label$:avoid_crossing_perimeters
|
||||||
setting:label$not on first layer:avoid_crossing_not_first_layer
|
setting:label$Not on first layer:avoid_crossing_not_first_layer
|
||||||
end_line
|
end_line
|
||||||
line:Overlapping external perimeter
|
line:Overlapping external perimeter
|
||||||
setting:label$:thin_perimeters
|
setting:label$:thin_perimeters
|
||||||
setting:label$also for all perimeters:thin_perimeters_all
|
setting:label$Also for all perimeters:thin_perimeters_all
|
||||||
end_line
|
end_line
|
||||||
line:Thin walls
|
line:Thin walls
|
||||||
setting:thin_walls
|
setting:thin_walls
|
||||||
@ -104,7 +104,7 @@ group:Infill
|
|||||||
end_line
|
end_line
|
||||||
line:Pattern
|
line:Pattern
|
||||||
setting:label_width$5:label$_:fill_pattern
|
setting:label_width$5:label$_:fill_pattern
|
||||||
setting:label$don't connect:infill_not_connected
|
setting:label$Don't connect:infill_not_connected
|
||||||
end_line
|
end_line
|
||||||
line:External patterns
|
line:External patterns
|
||||||
setting:label_width$5:top_fill_pattern
|
setting:label_width$5:top_fill_pattern
|
||||||
|
@ -883,7 +883,7 @@ bool FillRectilinear2::fill_surface_by_lines(const Surface *surface, const FillP
|
|||||||
|
|
||||||
// Shrink the input polygon a bit first to not push the infill lines out of the perimeters.
|
// Shrink the input polygon a bit first to not push the infill lines out of the perimeters.
|
||||||
// const float INFILL_OVERLAP_OVER_SPACING = 0.3f;
|
// const float INFILL_OVERLAP_OVER_SPACING = 0.3f;
|
||||||
const float INFILL_OVERLAP_OVER_SPACING = 0.45f;
|
const float INFILL_OVERLAP_OVER_SPACING = 0.45f; //merill: what is this value??? shouldn't it be like flow.width()?
|
||||||
assert(INFILL_OVERLAP_OVER_SPACING > 0 && INFILL_OVERLAP_OVER_SPACING < 0.5f);
|
assert(INFILL_OVERLAP_OVER_SPACING > 0 && INFILL_OVERLAP_OVER_SPACING < 0.5f);
|
||||||
|
|
||||||
// Rotate polygons so that we can work with vertical lines here
|
// Rotate polygons so that we can work with vertical lines here
|
||||||
@ -898,7 +898,7 @@ bool FillRectilinear2::fill_surface_by_lines(const Surface *surface, const FillP
|
|||||||
surface->expolygon,
|
surface->expolygon,
|
||||||
- rotate_vector.first,
|
- rotate_vector.first,
|
||||||
scale_(0 /*this->overlap*/ - (0.5 - INFILL_OVERLAP_OVER_SPACING) * this->spacing),
|
scale_(0 /*this->overlap*/ - (0.5 - INFILL_OVERLAP_OVER_SPACING) * this->spacing),
|
||||||
scale_(0 /*this->overlap*/ - (params.full_infill() && params.fill_exactly ? 0.5 + INFILL_OVERLAP_OVER_SPACING : 0.5) * this->spacing));
|
scale_(0 /*this->overlap*/ - 0.5 * this->spacing));
|
||||||
if (poly_with_offset.n_contours_inner == 0) {
|
if (poly_with_offset.n_contours_inner == 0) {
|
||||||
// Not a single infill line fits.
|
// Not a single infill line fits.
|
||||||
//Prusa: maybe one shall trigger the gap fill here?
|
//Prusa: maybe one shall trigger the gap fill here?
|
||||||
|
@ -343,7 +343,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionBool(false));
|
def->set_default_value(new ConfigOptionBool(false));
|
||||||
|
|
||||||
def = this->add("brim_ears_max_angle", coFloat);
|
def = this->add("brim_ears_max_angle", coFloat);
|
||||||
def->label = L("max angle");
|
def->label = L("Max angle");
|
||||||
def->category = OptionCategory::skirtBrim;
|
def->category = OptionCategory::skirtBrim;
|
||||||
def->tooltip = L("Maximum angle to let a brim ear appear. \nIf set to 0, no brim will be created. \nIf set to ~178, brim will be created on everything but strait sections.");
|
def->tooltip = L("Maximum angle to let a brim ear appear. \nIf set to 0, no brim will be created. \nIf set to ~178, brim will be created on everything but strait sections.");
|
||||||
def->sidetext = L("°");
|
def->sidetext = L("°");
|
||||||
@ -366,7 +366,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionEnum<InfillPattern>(ipConcentric));
|
def->set_default_value(new ConfigOptionEnum<InfillPattern>(ipConcentric));
|
||||||
|
|
||||||
def = this->add("brim_offset", coFloat);
|
def = this->add("brim_offset", coFloat);
|
||||||
def->label = L("brim offset");
|
def->label = L("Brim offset");
|
||||||
def->category = OptionCategory::skirtBrim;
|
def->category = OptionCategory::skirtBrim;
|
||||||
def->tooltip = L("Distance between the brim and the part. Should be kept at 0 unless you encounter great difficulties to separate them. It's subtracted to brim_width and brim_width_interior., so it has to be lower than them");
|
def->tooltip = L("Distance between the brim and the part. Should be kept at 0 unless you encounter great difficulties to separate them. It's subtracted to brim_width and brim_width_interior., so it has to be lower than them");
|
||||||
def->sidetext = L("mm");
|
def->sidetext = L("mm");
|
||||||
@ -804,7 +804,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionBool(false));
|
def->set_default_value(new ConfigOptionBool(false));
|
||||||
|
|
||||||
def = this->add("external_perimeters_vase", coBool);
|
def = this->add("external_perimeters_vase", coBool);
|
||||||
def->label = L("in vase mode (no seam)");
|
def->label = L("In vase mode (no seam)");
|
||||||
def->full_label = L("ExternalPerimeter in vase mode");
|
def->full_label = L("ExternalPerimeter in vase mode");
|
||||||
def->category = OptionCategory::perimeter;
|
def->category = OptionCategory::perimeter;
|
||||||
def->tooltip = L("Print contour perimeters in two circle, in a contiunous way, like for a vase mode. It needs the external_perimeters_first parameter do work."
|
def->tooltip = L("Print contour perimeters in two circle, in a contiunous way, like for a vase mode. It needs the external_perimeters_first parameter do work."
|
||||||
@ -869,8 +869,8 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionBool(false));
|
def->set_default_value(new ConfigOptionBool(false));
|
||||||
|
|
||||||
def = this->add("extra_perimeters_overhangs", coBool);
|
def = this->add("extra_perimeters_overhangs", coBool);
|
||||||
def->label = L("on overhangs");
|
def->label = L("On overhangs");
|
||||||
def->full_label = L("Extra perimeters in overhangs");
|
def->full_label = L("Extra perimeters over overhangs");
|
||||||
def->category = OptionCategory::perimeter;
|
def->category = OptionCategory::perimeter;
|
||||||
def->tooltip = L("Add more perimeters when needed for avoiding gaps in sloping walls. "
|
def->tooltip = L("Add more perimeters when needed for avoiding gaps in sloping walls. "
|
||||||
"Slic3r keeps adding perimeter until all overhangs are filled."
|
"Slic3r keeps adding perimeter until all overhangs are filled."
|
||||||
@ -880,7 +880,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionBool(false));
|
def->set_default_value(new ConfigOptionBool(false));
|
||||||
|
|
||||||
def = this->add("extra_perimeters_odd_layers", coBool);
|
def = this->add("extra_perimeters_odd_layers", coBool);
|
||||||
def->label = L("on odd layers");
|
def->label = L("On odd layers");
|
||||||
def->full_label = L("Extra perimeter on odd layers");
|
def->full_label = L("Extra perimeter on odd layers");
|
||||||
def->category = OptionCategory::perimeter;
|
def->category = OptionCategory::perimeter;
|
||||||
def->tooltip = L("Add one perimeter every odd layer. With this, infill is taken into sandwitch"
|
def->tooltip = L("Add one perimeter every odd layer. With this, infill is taken into sandwitch"
|
||||||
@ -1363,7 +1363,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->sidetext = L("°");
|
def->sidetext = L("°");
|
||||||
def->min = 0;
|
def->min = 0;
|
||||||
def->max = 360;
|
def->max = 360;
|
||||||
def->mode = comAdvanced;
|
def->mode = comExpert;
|
||||||
def->set_default_value(new ConfigOptionFloat(0));
|
def->set_default_value(new ConfigOptionFloat(0));
|
||||||
|
|
||||||
def = this->add("fill_density", coPercent);
|
def = this->add("fill_density", coPercent);
|
||||||
@ -1470,7 +1470,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionFloat(0));
|
def->set_default_value(new ConfigOptionFloat(0));
|
||||||
|
|
||||||
def = this->add("fill_smooth_width", coFloatOrPercent);
|
def = this->add("fill_smooth_width", coFloatOrPercent);
|
||||||
def->label = L("width");
|
def->label = L("Width");
|
||||||
def->full_label = L("Ironing width");
|
def->full_label = L("Ironing width");
|
||||||
def->category = OptionCategory::infill;
|
def->category = OptionCategory::infill;
|
||||||
def->tooltip = L("This is the width of the ironing pass, in a % of the top infill extrusion width, should not be more than 50%"
|
def->tooltip = L("This is the width of the ironing pass, in a % of the top infill extrusion width, should not be more than 50%"
|
||||||
@ -1484,7 +1484,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionFloatOrPercent(50, true));
|
def->set_default_value(new ConfigOptionFloatOrPercent(50, true));
|
||||||
|
|
||||||
def = this->add("fill_smooth_distribution", coPercent);
|
def = this->add("fill_smooth_distribution", coPercent);
|
||||||
def->label = L("distribution");
|
def->label = L("Distribution");
|
||||||
def->full_label = L("Ironing flow distribution");
|
def->full_label = L("Ironing flow distribution");
|
||||||
def->category = OptionCategory::infill;
|
def->category = OptionCategory::infill;
|
||||||
def->tooltip = L("This is the percentage of the flow that is used for the second ironing pass. Typical 10-20%. "
|
def->tooltip = L("This is the percentage of the flow that is used for the second ironing pass. Typical 10-20%. "
|
||||||
@ -1869,7 +1869,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionBool(true));
|
def->set_default_value(new ConfigOptionBool(true));
|
||||||
|
|
||||||
def = this->add("fan_speedup_time", coFloat);
|
def = this->add("fan_speedup_time", coFloat);
|
||||||
def->label = L("fan startup delay");
|
def->label = L("Fan startup delay");
|
||||||
def->category = OptionCategory::firmware;
|
def->category = OptionCategory::firmware;
|
||||||
def->tooltip = L("Move the M106 in the past by at least this delay (in seconds, you can use decimals) and add the 'D' option to it to tell to the firware when the fan have to be at this speed."
|
def->tooltip = L("Move the M106 in the past by at least this delay (in seconds, you can use decimals) and add the 'D' option to it to tell to the firware when the fan have to be at this speed."
|
||||||
" It assume infinite acceleration for this time estimation, and only takes into account G1 and G0 moves. Use 0 to deactivate, negative to remove the 'D' option.");
|
" It assume infinite acceleration for this time estimation, and only takes into account G1 and G0 moves. Use 0 to deactivate, negative to remove the 'D' option.");
|
||||||
@ -2101,7 +2101,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionFloats { 0.07 });
|
def->set_default_value(new ConfigOptionFloats { 0.07 });
|
||||||
|
|
||||||
def = this->add("min_length", coFloat);
|
def = this->add("min_length", coFloat);
|
||||||
def->label = L("minimum extrusion length");
|
def->label = L("Minimum extrusion length");
|
||||||
def->category = OptionCategory::speed;
|
def->category = OptionCategory::speed;
|
||||||
def->tooltip = L("Too many too small commands may overload the firmware / connection. Put a higher value here if you see strange slowdown."
|
def->tooltip = L("Too many too small commands may overload the firmware / connection. Put a higher value here if you see strange slowdown."
|
||||||
"\n0 to disable.");
|
"\n0 to disable.");
|
||||||
@ -2111,7 +2111,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionFloat(0.035));
|
def->set_default_value(new ConfigOptionFloat(0.035));
|
||||||
|
|
||||||
def = this->add("min_width_top_surface", coFloatOrPercent);
|
def = this->add("min_width_top_surface", coFloatOrPercent);
|
||||||
def->label = L("minimum top width for infill");
|
def->label = L("Minimum top width for infill");
|
||||||
def->category = OptionCategory::speed;
|
def->category = OptionCategory::speed;
|
||||||
def->tooltip = L("If a top surface has to be printed and it's partially covered by an other layer, it won't be considered at a top layer where his width is below this value."
|
def->tooltip = L("If a top surface has to be printed and it's partially covered by an other layer, it won't be considered at a top layer where his width is below this value."
|
||||||
" This can be useful to not let the 'one perimeter on top' trigger on surface that should be covered only by perimeters."
|
" This can be useful to not let the 'one perimeter on top' trigger on surface that should be covered only by perimeters."
|
||||||
@ -3228,7 +3228,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionBool(true));
|
def->set_default_value(new ConfigOptionBool(true));
|
||||||
|
|
||||||
def = this->add("thin_walls_min_width", coFloatOrPercent);
|
def = this->add("thin_walls_min_width", coFloatOrPercent);
|
||||||
def->label = L("min width");
|
def->label = L("Min width");
|
||||||
def->full_label = L("Thin walls min width");
|
def->full_label = L("Thin walls min width");
|
||||||
def->category = OptionCategory::perimeter;
|
def->category = OptionCategory::perimeter;
|
||||||
def->tooltip = L("Minimum width for the extrusion to be extruded (widths lower than the nozzle diameter will be over-extruded at the nozzle diameter)."
|
def->tooltip = L("Minimum width for the extrusion to be extruded (widths lower than the nozzle diameter will be over-extruded at the nozzle diameter)."
|
||||||
@ -3240,7 +3240,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionFloatOrPercent(33, true));
|
def->set_default_value(new ConfigOptionFloatOrPercent(33, true));
|
||||||
|
|
||||||
def = this->add("thin_walls_overlap", coFloatOrPercent);
|
def = this->add("thin_walls_overlap", coFloatOrPercent);
|
||||||
def->label = L("overlap");
|
def->label = L("Overlap");
|
||||||
def->full_label = L("Thin wall overlap");
|
def->full_label = L("Thin wall overlap");
|
||||||
def->category = OptionCategory::perimeter;
|
def->category = OptionCategory::perimeter;
|
||||||
def->tooltip = L("Overlap between the thin wall and the perimeters. Can be a % of the external perimeter width (default 50%)");
|
def->tooltip = L("Overlap between the thin wall and the perimeters. Can be a % of the external perimeter width (default 50%)");
|
||||||
@ -3250,7 +3250,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionFloatOrPercent(50, true));
|
def->set_default_value(new ConfigOptionFloatOrPercent(50, true));
|
||||||
|
|
||||||
def = this->add("thin_walls_merge", coBool);
|
def = this->add("thin_walls_merge", coBool);
|
||||||
def->label = L("merging with perimeters");
|
def->label = L("Merging with perimeters");
|
||||||
def->full_label = L("Thin wall merge");
|
def->full_label = L("Thin wall merge");
|
||||||
def->category = OptionCategory::perimeter;
|
def->category = OptionCategory::perimeter;
|
||||||
def->tooltip = L("Allow the external perimeter to merge the thin walls in the path."
|
def->tooltip = L("Allow the external perimeter to merge the thin walls in the path."
|
||||||
|
Loading…
x
Reference in New Issue
Block a user