New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.2.6 experimental: First layer extrusion width doesn't affect first raft-/support-layer #2662

Closed
jonaskuehling opened this Issue Feb 16, 2015 · 9 comments

Comments

Projects
None yet
4 participants
@jonaskuehling

Hi Alessandro,

not sure if this is intended behaviour, but I just noticed that changing the first layer extrusion width (like 150% or 200%...) doesn't affect the first layer of support (raft), I mean those lines with gaps, first layer on print bed. The first layer height is used as configured, though.

Maybe I just don't see the good reason for it, why Slic3r prefers to always calculate the extrusion width on its own instead of using the pontentially modified extrusion width from advanced settings. But beeing able to do further modification here seems quite interesting to me, since one could force even fatter traces in the first layer to increase bed leveling redundancy and prind bed adhesion for certain support materials.

GCODE/CONFIG: https://www.dropbox.com/s/0lm0vojyhu6clz9/spool-wings_750g_2300g.gcode?dl=0

@jonaskuehling

This comment has been minimized.

Show comment
Hide comment
@jonaskuehling

jonaskuehling Feb 16, 2015

Btw., brim is generated with the configured extrusion width, but the support base line pattern ain't.

Btw., brim is generated with the configured extrusion width, but the support base line pattern ain't.

@hyperair

This comment has been minimized.

Show comment
Hide comment
@hyperair

hyperair Feb 17, 2015

Contributor

I get this too. I had a look around inside the source code, and it doesn't look like it's intentional. I haven't figured out why it's not honouring the first layer extrusion width though.

Contributor

hyperair commented Feb 17, 2015

I get this too. I had a look around inside the source code, and it doesn't look like it's intentional. I haven't figured out why it's not honouring the first layer extrusion width though.

@hyperair

This comment has been minimized.

Show comment
Hide comment
@hyperair

hyperair Feb 17, 2015

Contributor

Aha, found it:

--- lib/Slic3r/Print/Object.pm  2015-02-02 02:32:41.882955504 +0800
+++ /usr/share/perl5/Slic3r/Print/Object.pm     2015-02-17 13:18:08.016468134 +0800
@@ -547,14 +547,14 @@
     my ($self) = @_;

     my $first_layer_flow = Slic3r::Flow->new_from_width(
-        width               => ($self->config->first_layer_extrusion_width || $self->config->support_material_extrusion_width),
+        width               => ($self->print->config->first_layer_extrusion_width || $self->config->support_material_extrusion_width),
         role                => FLOW_ROLE_SUPPORT_MATERIAL,
         nozzle_diameter     => $self->print->config->nozzle_diameter->[ $self->config->support_material_extruder-1 ]
                                 // $self->print->config->nozzle_diameter->[0],
         layer_height        => $self->config->get_abs_value('first_layer_height'),
         bridge_flow_ratio   => 0,
     );

Looks like first_layer_extrusion_width moved from PrintObjectConfig to PrintConfig, so we need to be looking at $self->print->config instead of $self->config for first layer extrusion width.

Contributor

hyperair commented Feb 17, 2015

Aha, found it:

--- lib/Slic3r/Print/Object.pm  2015-02-02 02:32:41.882955504 +0800
+++ /usr/share/perl5/Slic3r/Print/Object.pm     2015-02-17 13:18:08.016468134 +0800
@@ -547,14 +547,14 @@
     my ($self) = @_;

     my $first_layer_flow = Slic3r::Flow->new_from_width(
-        width               => ($self->config->first_layer_extrusion_width || $self->config->support_material_extrusion_width),
+        width               => ($self->print->config->first_layer_extrusion_width || $self->config->support_material_extrusion_width),
         role                => FLOW_ROLE_SUPPORT_MATERIAL,
         nozzle_diameter     => $self->print->config->nozzle_diameter->[ $self->config->support_material_extruder-1 ]
                                 // $self->print->config->nozzle_diameter->[0],
         layer_height        => $self->config->get_abs_value('first_layer_height'),
         bridge_flow_ratio   => 0,
     );

Looks like first_layer_extrusion_width moved from PrintObjectConfig to PrintConfig, so we need to be looking at $self->print->config instead of $self->config for first layer extrusion width.

hyperair added a commit to hyperair/Slic3r that referenced this issue Feb 17, 2015

Get first_layer_extrusion_width from PrintConfig instead of PrintObje…
…ctConfig

This fixes an issue where the support material doesn't honour a custom first
layer extrusion width.

Fixes: #2662
@alexrj

This comment has been minimized.

Show comment
Hide comment
@alexrj

alexrj Feb 22, 2015

Member

Thank you for the patch @hyperair! Much appreciated.

Member

alexrj commented Feb 22, 2015

Thank you for the patch @hyperair! Much appreciated.

@alexrj alexrj closed this Feb 22, 2015

@alexrj alexrj added this to the 1.2.7 milestone Feb 22, 2015

@alexrj alexrj added the Fixed label Feb 22, 2015

@jonaskuehling

This comment has been minimized.

Show comment
Hide comment
@jonaskuehling

jonaskuehling Feb 27, 2015

Hi,

great, at least first layer extrusion width is now respected for support's first layer at all :-) Unfortunately the line spacing isn't adjusted accordingly but stays the same as with unmodified first layer extrusion width, leading to heavily overstuffed first layer with wider extrusion width configured. I tested two settings for this case:

First layer extrusion width = 100% (looks like intended so far)
100percent

First layer extrusion width = 500% (line spacing same as with 100% but correctly wider traces. Unfortunately no gaps left..)
500percent

Looks like the line spacing is somehow hard-coded at the moment or at least not dependend on the extrusion width but layer height only?

Hi,

great, at least first layer extrusion width is now respected for support's first layer at all :-) Unfortunately the line spacing isn't adjusted accordingly but stays the same as with unmodified first layer extrusion width, leading to heavily overstuffed first layer with wider extrusion width configured. I tested two settings for this case:

First layer extrusion width = 100% (looks like intended so far)
100percent

First layer extrusion width = 500% (line spacing same as with 100% but correctly wider traces. Unfortunately no gaps left..)
500percent

Looks like the line spacing is somehow hard-coded at the moment or at least not dependend on the extrusion width but layer height only?

@alexrj alexrj reopened this Feb 27, 2015

alexrj added a commit that referenced this issue Feb 27, 2015

@alexrj

This comment has been minimized.

Show comment
Hide comment
@alexrj

alexrj Feb 27, 2015

Member

Good catch @jonaskuehling, I should have fixed it now. Let me know!

Member

alexrj commented Feb 27, 2015

Good catch @jonaskuehling, I should have fixed it now. Let me know!

@jonaskuehling

This comment has been minimized.

Show comment
Hide comment
@jonaskuehling

jonaskuehling Feb 27, 2015

Hell yeah! Good work @alexrj !

500percent-fixed

Hell yeah! Good work @alexrj !

500percent-fixed

@alexrj

This comment has been minimized.

Show comment
Hide comment
@alexrj

alexrj Feb 27, 2015

Member

Good then!

Member

alexrj commented Feb 27, 2015

Good then!

@alexrj alexrj closed this Feb 27, 2015

@a4jp-com

This comment has been minimized.

Show comment
Hide comment
@a4jp-com

a4jp-com Feb 28, 2015

Very nice fix ^^

Very nice fix ^^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment