mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-14 15:25:55 +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
|
||||
setting:only_retract_when_crossing_perimeters
|
||||
setting:infill_first
|
||||
group:Advanced Infill
|
||||
line:Ironing tuning
|
||||
setting:label_width$6:width$5:sidetext_width$7:fill_smooth_width
|
||||
group:Advanced Infill options
|
||||
line:Ironing infill tuning
|
||||
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
|
||||
|
||||
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:thin_walls_speed
|
||||
end_line
|
||||
setting:label$Ironing post-process speed:label_width$30:width$4:ironing_speed
|
||||
group:Speed for non-print moves
|
||||
setting:travel_speed
|
||||
group:Modifiers
|
||||
|
@ -111,6 +111,7 @@ std::vector<SurfaceFill> group_fills(const Layer &layer)
|
||||
params.extruder = layerm.region()->extruder(extrusion_role);
|
||||
params.pattern = layerm.region()->config().fill_pattern.value;
|
||||
params.density = float(layerm.region()->config().fill_density) / 100.f;
|
||||
params.dont_adjust = false;
|
||||
|
||||
if (surface.has_fill_solid()) {
|
||||
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
|
||||
// been applied to $f->flow_spacing
|
||||
} 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
|
||||
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));
|
||||
}
|
||||
|
||||
|
@ -131,7 +131,9 @@ namespace Slic3r {
|
||||
eecroot->no_sort = true;
|
||||
|
||||
// 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
|
||||
FillParams monotonous_params = params;
|
||||
|
@ -1985,7 +1985,8 @@ void PrintConfigDef::init_fff_params()
|
||||
def = this->add("ironing_flowrate", coPercent);
|
||||
def->label = L("Flow rate");
|
||||
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->ratio_over = "layer_height";
|
||||
def->min = 0;
|
||||
@ -1993,7 +1994,7 @@ void PrintConfigDef::init_fff_params()
|
||||
def->set_default_value(new ConfigOptionPercent(15));
|
||||
|
||||
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->tooltip = L("Distance between ironing lines");
|
||||
def->sidetext = L("mm");
|
||||
|
Loading…
x
Reference in New Issue
Block a user