Skip to content

Infill exceeding perimeters? #1794

Closed
justmyopinion opened this Issue Feb 19, 2014 · 13 comments

5 participants

@justmyopinion

I get strange outlines with this object and find no issues in settings to remove this.
Any hints?

gt2_crap

This is the source:
http://www.thingiverse.com/thing:96324

Layerheight 01-0.2.
Vers 1.0.RC1-RC3

@justmyopinion

And this is how it looks when sliced with cura....:
idler_cura

@jkoljo
jkoljo commented Feb 20, 2014

Please post your config file and the versions you tried this with. You can export config in Slic3r menu.

@justmyopinion

generated by Slic3r 1.0.0RC3 on Thu Feb 20 14:48:11 2014

avoid_crossing_perimeters = 0
bed_size = 200,200
bed_temperature = 55
bottom_solid_layers = 3
bridge_acceleration = 0
bridge_fan_speed = 100
bridge_flow_ratio = 1
bridge_speed = 20
brim_width = 0
complete_objects = 0
cooling = 0
default_acceleration = 0
disable_fan_first_layers = 1
duplicate = 1
duplicate_distance = 6
duplicate_grid = 1,1
end_gcode = M104 S0 ; turn off temperature\n;G28 X0 Y0 ; home X Y axis\n;M84 ; disable motors\n;M300 S500 P4000 ; Marlin only\nM117 Ordbot Ready ....\n;M30 ; end of code CNC only
external_perimeter_speed = 70%
external_perimeters_first = 0
extra_perimeters = 1
extruder_clearance_height = 20
extruder_clearance_radius = 20
extruder_offset = 0x0
extrusion_axis = E
extrusion_multiplier = 1
extrusion_width = 0.5
fan_always_on = 1
fan_below_layer_time = 60
filament_diameter = 1.75,75,75
fill_angle = 45
fill_density = 0.2
fill_pattern = rectilinear
first_layer_acceleration = 0
first_layer_bed_temperature = 70
first_layer_extrusion_width = 0
first_layer_height = 70%
first_layer_speed = 50%
first_layer_temperature = 200
g0 = 0
gap_fill_speed = 20
gcode_arcs = 0
gcode_comments = 1
gcode_flavor = reprap
infill_acceleration = 0
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0
infill_first = 0
infill_only_where_needed =
infill_speed = 40
layer_gcode =
layer_height = 0.2
max_fan_speed = 100
min_fan_speed = 50
min_print_speed = 10
min_skirt_length = 0
notes =
nozzle_diameter = 0.35
only_retract_when_crossing_perimeters =
ooze_prevention = 0
output_filename_format = [input_filename_base].gcode
overhangs = 1
perimeter_acceleration = 0
perimeter_extruder = 1
perimeter_extrusion_width = 0
perimeter_speed = 40
perimeters = 3
post_process =
print_center = 100,100
raft_layers = 0
randomize_start = 1
resolution = 0
retract_before_travel = 0.4
retract_layer_change = 1
retract_length = 2.5
retract_length_toolchange = 5
retract_lift = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 20
rotate = 0
scale = 1
skirt_distance = 6
skirt_height = 1
skirts = 0
slowdown_below_layer_time = 15
small_perimeter_speed = 40
solid_fill_pattern = rectilinear
solid_infill_below_area = 70
solid_infill_every_layers = 30
solid_infill_extrusion_width = 0
solid_infill_speed = 40
spiral_vase = 0
standby_temperature_delta = -5
start_gcode = ;G28 ; home all axes\nG92 E0;\nM104 S[first_layer_temperature] ; set extruder temp \nG1 X40 Y30 Z0.15 F1200 ; Go to corner of the front \nM190 S70 ; set bed temp & wait \nM109 S[first_layer_temperature] ; wait for extruder temp\nM300 S500 P1000 ; marlin only\nG1 Y90 E3 F300 ; wipe 60mm along the edge of the bed \nG1 X41 ; go back\nG1 Y30 E6 F300 ; wipe back 40mm along the edge of the bed \nG1 E4 ; lift Z and retract\nG1 Z2 ;\nG92 E0\nM117 Printing... ; display LCD message
start_perimeters_at_concave_points = 0
start_perimeters_at_non_overhang = 0
support_material =
support_material_angle = 45
support_material_enforce_layers = 0
support_material_extruder = 1
support_material_extrusion_width = 70%
support_material_interface_extruder = 1
support_material_interface_layers = 0
support_material_interface_spacing = 10
support_material_pattern = honeycomb
support_material_spacing = 5
support_material_speed = 40
support_material_threshold = 0
temperature = 195
thin_walls = 1
threads = 5
toolchange_gcode = ; Tx\n; place code to heat extruder and wipeout\n;G28 ; home all axes\nG92 E0\nG1 X40 Y30 Z0.15 F1200 ; Go to corner of the front \nM104 S[first_layer_temperature] ; set extruder temp\nM190 S60 ; set bed temp & wait \nM109 S[first_layer_temperature] ; wait for extruder temp\nG1 X80 E2 F300 ;wipe 40mm along the edge of the bed \nG1 Y29 ; go back\nG1 X40 E4 F300 ;wipe back 40mm along the edge of the bed \nG1 Z5 ;lift Z\n \n; return to position
top_infill_extrusion_width = 0
top_solid_infill_speed = 40
top_solid_layers = 3
travel_speed = 60
use_firmware_retraction = 0
use_relative_e_distances =
vibration_limit = 0
wipe = 0
z_offset = 0

@justmyopinion

Version 1.0.RC1,1.0.RC2 and 1.0.RC3 all create the same image as the upper displayed.

Version 9.10b looks better except for infill :-( , and is shown below:

9_10b

@harriv
harriv commented Feb 21, 2014

I can confirm this with 1.0.0RC2 and 1.0.0RC3. Changing default extrusion width to smaller makes it slightly better, but not good.

@harriv
harriv commented Feb 21, 2014

I set my nozzle size to 0.2 mm (default 0.4 mm), and the slicing looks ok.

@alexrj alexrj added this to the 1.0.0RC4 milestone Feb 25, 2014
@alexrj
Owner
alexrj commented Feb 26, 2014

Heh, how ugly. Thank you for reporting it and providing detailed information. I'm fixing this asap.

@justmyopinion

i did some further testing with 1.0.0RC3.
My nozzle is 0.35mm and tests sofar has been made with extrusion width fixed at 0.5.
However I tried to change that and made a test with extrusionwidth= nozzle size (0.35) and proble somehow disappeared except for some blistering:
0_35-extrw

I then tried the other way and made extrusion width larger than nozzle and the 0.5 used before and i started with extrusion width 0.6mm ( all layerheight 0.2) and I assume that is a legal value?
look what happened (flying carpet?)
0_6-extrw
:

@justmyopinion

Could this be a limit to extrusion width inside the object which is not tested for?
To clarify further I have attached a screenshot of a layer cut of the teeth (Layer 25) extrusion width 0.35 and 05.

First 0.35mm (Nozzle width)

0 35-extrw_layer25

And 0.5:

0 5-extrw_layer25

@bstott
bstott commented Feb 28, 2014

From all your views - Have you sliced and exported to svg yet? Granted your gcode results do look bad. I'm wondering what is the cross section view of the real physical object? [I do not code - I am following your requests for a fix and curious.]

Brian.

@alexrj
Owner
alexrj commented Mar 1, 2014

Well, this is caused by wrong triggering of the thin wall code. The shape and thickness of the object's teeth generate an edge situation when using perimeter extrusion width = 0.5mm. Basically, when you want to fit a larger tool in a narrow shape you lose some accuracy of the shape since corners will be cut out and so on. Slic3r checks what's left and tries to make single walls using the medial axis code. This shouldn't happen in this situation, and I'm working carefully on a meaningful and robust fix to this logic.
In the mean time, I already isolated this report in a regression test to be added to the test suite. Thank you @justmyopinion for reporting it.

@alexrj alexrj added a commit that referenced this issue Mar 1, 2014
@alexrj Better pruning of thin walls to avoid unwanted extra extrusions. Incl…
…udes regression test. #1794
8c4a0f2
@alexrj alexrj added a commit that referenced this issue Mar 1, 2014
@alexrj Better pruning of thin walls to avoid unwanted extra extrusions. Incl…
…udes regression test. #1794

Conflicts:

	lib/Slic3r/Layer/Region.pm
2295d48
@alexrj
Owner
alexrj commented Mar 1, 2014

Okay, fixed. Thank you.

@alexrj alexrj closed this Mar 1, 2014
@alexrj alexrj added Fixed and removed Verified bug labels Mar 1, 2014
@justmyopinion

Thankyou for trying to make a fix on this instant.
I tried to verify your corrections but failed.
I downloaded stable branch and compiled, but here error was still present so maybe it was not corrected here yet?
i then downloaded master branch and compiled. tests reported 6 errors in perimeters and in one in thin walls (teeth test?) i tried to run SLIC3R anyway but it came out reporting errors during load and crashed when trying to slice the above project again. Do i have to be more patient with this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.