mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-23 22:54:08 -06:00
Put skirt outside brim to avoid conflicts. #2157
This commit is contained in:
parent
86bad17abb
commit
7aaf27c0c7
4 changed files with 6 additions and 11 deletions
|
@ -384,11 +384,11 @@ sub total_bounding_box {
|
|||
if ($self->has_support_material) {
|
||||
$extra = &Slic3r::Print::SupportMaterial::MARGIN;
|
||||
}
|
||||
$extra = max($extra, $self->config->brim_width);
|
||||
if ($self->config->skirts > 0) {
|
||||
my $skirt_flow = $self->skirt_flow;
|
||||
$extra = max($extra, $self->config->skirt_distance + ($self->config->skirts * $skirt_flow->spacing));
|
||||
$extra = max($extra, $self->config->brim_width + $self->config->skirt_distance + ($self->config->skirts * $skirt_flow->spacing));
|
||||
}
|
||||
$extra = max($extra, $self->config->brim_width);
|
||||
|
||||
if ($extra > 0) {
|
||||
$bb->offset(scale $extra);
|
||||
|
@ -638,7 +638,7 @@ sub make_skirt {
|
|||
|
||||
# draw outlines from outside to inside
|
||||
# loop while we have less skirts than required or any extruder hasn't reached the min length if any
|
||||
my $distance = scale $self->config->skirt_distance;
|
||||
my $distance = scale max($self->config->skirt_distance, $self->config->brim_width);
|
||||
for (my $i = $self->config->skirts; $i > 0; $i--) {
|
||||
$distance += scale $spacing;
|
||||
my $loop = offset([$convex_hull], $distance, 1, JT_ROUND, scale(0.1))->[0];
|
||||
|
@ -723,12 +723,6 @@ sub make_brim {
|
|||
}
|
||||
}
|
||||
|
||||
# if brim touches skirt, make it around skirt too
|
||||
# TODO: calculate actual skirt width (using each extruder's flow in multi-extruder setups)
|
||||
if ($self->config->skirt_distance + (($self->config->skirts - 1) * $flow->spacing) <= $self->config->brim_width) {
|
||||
push @islands, map @{$_->polygon->split_at_first_point->grow($grow_distance)}, @{$self->skirt};
|
||||
}
|
||||
|
||||
my @loops = ();
|
||||
my $num_loops = sprintf "%.0f", $self->config->brim_width / $flow->width;
|
||||
for my $i (reverse 1 .. $num_loops) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue