mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-17 07:05:54 +08:00
fix fill, add prusa ironing to ui.
This commit is contained in:
parent
05632802c1
commit
c3073c4422
@ -135,10 +135,19 @@ group:sidetext_width$3:Advanced
|
|||||||
end_line
|
end_line
|
||||||
setting:only_retract_when_crossing_perimeters
|
setting:only_retract_when_crossing_perimeters
|
||||||
setting:infill_first
|
setting:infill_first
|
||||||
group:Advanced Infill
|
group:Advanced Infill options
|
||||||
line:Ironing tuning
|
line:Ironing infill tuning
|
||||||
setting:label_width$6:width$5:sidetext_width$7:fill_smooth_width
|
|
||||||
setting:label_width$9:width$5:fill_smooth_distribution
|
setting:label_width$9:width$5:fill_smooth_distribution
|
||||||
|
setting:label$Spacing between ironing lines:width$5:sidetext_width$7:fill_smooth_width
|
||||||
|
end_line
|
||||||
|
group:Ironing post-process (This will go on top of infills and perimeters)
|
||||||
|
line:Enable ironing post-process
|
||||||
|
setting:label$_:ironing
|
||||||
|
setting:label$On:ironing_type
|
||||||
|
end_line
|
||||||
|
line:Tuning ironing
|
||||||
|
setting:ironing_flowrate
|
||||||
|
setting:ironing_spacing
|
||||||
end_line
|
end_line
|
||||||
|
|
||||||
page:Skirt & Brim:skirt+brim
|
page:Skirt & Brim:skirt+brim
|
||||||
@ -211,6 +220,7 @@ group:label_width$8:Speed for print moves
|
|||||||
setting:width$4:gap_fill_speed
|
setting:width$4:gap_fill_speed
|
||||||
setting:width$4:thin_walls_speed
|
setting:width$4:thin_walls_speed
|
||||||
end_line
|
end_line
|
||||||
|
setting:label$Ironing post-process speed:label_width$30:width$4:ironing_speed
|
||||||
group:Speed for non-print moves
|
group:Speed for non-print moves
|
||||||
setting:travel_speed
|
setting:travel_speed
|
||||||
group:Modifiers
|
group:Modifiers
|
||||||
|
@ -111,6 +111,7 @@ std::vector<SurfaceFill> group_fills(const Layer &layer)
|
|||||||
params.extruder = layerm.region()->extruder(extrusion_role);
|
params.extruder = layerm.region()->extruder(extrusion_role);
|
||||||
params.pattern = layerm.region()->config().fill_pattern.value;
|
params.pattern = layerm.region()->config().fill_pattern.value;
|
||||||
params.density = float(layerm.region()->config().fill_density) / 100.f;
|
params.density = float(layerm.region()->config().fill_density) / 100.f;
|
||||||
|
params.dont_adjust = false;
|
||||||
|
|
||||||
if (surface.has_fill_solid()) {
|
if (surface.has_fill_solid()) {
|
||||||
params.density = 1.f;
|
params.density = 1.f;
|
||||||
@ -408,11 +409,11 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
|
|||||||
// so we can safely ignore the slight variation that might have
|
// so we can safely ignore the slight variation that might have
|
||||||
// been applied to $f->flow_spacing
|
// been applied to $f->flow_spacing
|
||||||
} else {
|
} else {
|
||||||
surface_fill.params.flow = Flow::new_from_spacing((float)f->get_spacing(), surface_fill.params.flow.nozzle_diameter, (float)surface_fill.params.flow.height, is_bridge);
|
surface_fill.params.flow = Flow::new_from_spacing((float)f->get_spacing(), surface_fill.params.flow.nozzle_diameter, (float)surface_fill.params.flow.height, surface_fill.params.flow.bridge);
|
||||||
}
|
}
|
||||||
|
|
||||||
//apply bridge_overlap if needed
|
//apply bridge_overlap if needed
|
||||||
if (is_bridge && surface_fill.params.density > 99 && layerm->region()->config().bridge_overlap.get_abs_value(1) != 1) {
|
if (surface_fill.params.flow.bridge && surface_fill.params.density > 99 && layerm->region()->config().bridge_overlap.get_abs_value(1) != 1) {
|
||||||
surface_fill.params.density *= float(layerm->region()->config().bridge_overlap.get_abs_value(1));
|
surface_fill.params.density *= float(layerm->region()->config().bridge_overlap.get_abs_value(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,7 +131,9 @@ namespace Slic3r {
|
|||||||
eecroot->no_sort = true;
|
eecroot->no_sort = true;
|
||||||
|
|
||||||
// first infill
|
// first infill
|
||||||
perform_single_fill(0, *eecroot, *surface, params, volumeToOccupy);
|
FillParams first_pass_params = params;
|
||||||
|
first_pass_params.role = ExtrusionRole::erSolidInfill;
|
||||||
|
perform_single_fill(0, *eecroot, *surface, first_pass_params, volumeToOccupy);
|
||||||
|
|
||||||
//use monotonous for ironing pass
|
//use monotonous for ironing pass
|
||||||
FillParams monotonous_params = params;
|
FillParams monotonous_params = params;
|
||||||
|
@ -1985,7 +1985,8 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def = this->add("ironing_flowrate", coPercent);
|
def = this->add("ironing_flowrate", coPercent);
|
||||||
def->label = L("Flow rate");
|
def->label = L("Flow rate");
|
||||||
def->category = OptionCategory::ironing;
|
def->category = OptionCategory::ironing;
|
||||||
def->tooltip = L("Percent of a flow rate relative to object's normal layer height.");
|
def->tooltip = L("Percent of a flow rate relative to object's normal layer height."
|
||||||
|
" It's the percentage of the layer that will be over-extruded on top to do the ironing.");
|
||||||
def->sidetext = L("%");
|
def->sidetext = L("%");
|
||||||
def->ratio_over = "layer_height";
|
def->ratio_over = "layer_height";
|
||||||
def->min = 0;
|
def->min = 0;
|
||||||
@ -1993,7 +1994,7 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->set_default_value(new ConfigOptionPercent(15));
|
def->set_default_value(new ConfigOptionPercent(15));
|
||||||
|
|
||||||
def = this->add("ironing_spacing", coFloat);
|
def = this->add("ironing_spacing", coFloat);
|
||||||
def->label = L("Spacing between ironing passes");
|
def->label = L("Spacing between ironing lines");
|
||||||
def->category = OptionCategory::ironing;
|
def->category = OptionCategory::ironing;
|
||||||
def->tooltip = L("Distance between ironing lines");
|
def->tooltip = L("Distance between ironing lines");
|
||||||
def->sidetext = L("mm");
|
def->sidetext = L("mm");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user