3D-Drucker/Slic3r

Aus Wiki CCC Göttingen
Zur Navigation springen Zur Suche springen

Kommentare[Bearbeiten]

  • Slic3r so stark in Entwicklung, das Config abhängig von git Version ist
    • Es gibt nun ein Script damit immer klar ist, mit welcher Slic3r Version und Config ein gcode erzeugt wurde 3D-Drucker/Slic3r/create.
    • 048f7ca - Wed Dec 14 16:12:05 2011 +0100 --Hefee 05:49, 16. Dez. 2011 (CET)
    • 6c21501 --Hefee 04:31, 20. Dez. 2011 (CET)
    • c3fc6ee --Hefee, Alex 21:54, 23. Feb. 2012 (CET)
    • seit einigen Wochen bin ich mit der Version 0.7.0 und auch 0.7.1 sehr zufrieden --Hefee 23:15, 12. Apr. 2012 (CEST)
    • 0.7.2b ist nicht zu empfehlen: bei mir slict er wahllos quatsch rein ( nur kleine fehlstellen), mit Dateien die bei 0.7.1 problemlos gingen --Hefee 22:58, 18. Apr. 2012 (CEST)

Skripte rund um Slic3r[Bearbeiten]

Configs[Bearbeiten]

20130206[Bearbeiten]

mit Slic3r 1.0.1-dev


bed_temperature = 70
bottom_layer_speed_ratio = 0.4
bridge_flow_ratio = 1
bridge_speed = 35
duplicate_distance = 5
duplicate_x = 1
duplicate_y = 1
end_gcode = G28 X0\nM84
extrusion_axis = E
extrusion_multiplier = 0.85
extrusion_width_ratio = 0
filament_diameter = 3.0
fill_angle = 45
fill_density = 0.3
first_layer_bed_temperature = 80
first_layer_height_ratio = 0.93
first_layer_temperature = 200
g0 = 0
gcode_arcs = 0
infill_every_layers = 1
infill_speed = 80
layer_height = 0.3
nozzle_diameter = 0.5
perimeters = 2
perimeter_speed = 50
print_center = 100,100
retract_before_travel = 2
retract_length = 4
retract_lift = 0.5
retract_restart_extra = 0.05
retract_speed = 20
rotate = 0
scale = 1.0
skirt_distance = 5
skirt_height = 1
skirts = 1
small_perimeter_speed = 10
solid_infill_speed = 30
solid_layers = 2
start_gcode = G28\nG92 E0\nG1 Y30.0 F1000.0\nG1 E15.0 ; clean extruder\nG1 Y40.0 F1000.0\nG1 Z3.0 F200.0\nG1 Z0.0 F200.0
temperature = 175
travel_speed = 100
use_relative_e_distances = 0
z_offset = 0 

20121120[Bearbeiten]

mit slic3r 0.9.6-dev

bottom_layer_speed_ratio = 0.4
bridge_flow_ratio = 1
bridge_speed = 35
duplicate_distance = 5
duplicate_x = 1
duplicate_y = 1
end_gcode = G28 X0\nM84
extrusion_axis = E

extrusion_multiplier = 0.85

#extrusion_multiplier = 0.75
extrusion_width_ratio = 0
filament_diameter = 3.0
fill_angle = 45
#war 0.6
fill_density = 0.3
#fill_pattern = honeycomb
first_layer_height_ratio = 0.93
g0 = 0
gcode_arcs = 0
infill_every_layers = 1
#60
infill_speed = 80
#war 0.4
layer_height = 0.4
nozzle_diameter = 0.5
perimeter_speed = 50
#40
perimeters = 2
#1
print_center = 100,100
retract_before_travel = 2
retract_length = 4
retract_lift = 0.5
retract_restart_extra = 0.1
retract_speed = 20
rotate = 0
scale = 1.0
skirt_distance = 5
skirt_height = 1
skirts = 1
small_perimeter_speed = 10
#solid_fill_pattern = line
#60
solid_infill_speed = 30
solid_layers = 2
start_gcode = G92 X0 Y0 Z0 E0 ; reset distance\nG1 Z4.0 F200.0\nG1 X-250.0 F2100.0\nG1 X-249.0 F600.0\nG1 X-251.0 F600.0\nG92 X10.0 ; x reference\nG1 Y-250.0 F2100.0\nG1 Y-249.0 F600.0\nG1 Y-251.0 F600.0\nG92 Y20.0 ; xy reference\nG1 Z-250.0 F200.0\nG1 Z-249.0 F100.0\nG1 Z-251.0 F100.0\nG92 Z0.0 ; xyz reference\nM140 60\nG1 Y30.0 F1000.0\nG1 E15.0 ; clean extruder\nG1 Y40.0 F1000.0\nG1 Z3.0 F200.0\nG1 Z0.0 F200.0\n
temperature = 175
travel_speed = 100
use_relative_e_distances = 0
z_offset = 0 

20120412[Bearbeiten]

config vom 12.4.2012 zusammen mit slic3r 0.7.1 --Hefee 23:15, 12. Apr. 2012 (CEST)

bottom_layer_speed_ratio = 0.7
bridge_flow_ratio = 1
bridge_speed = 30
duplicate_distance = 6
duplicate_x = 1
duplicate_y = 1
end_gcode = G28 X0\nM84
extrusion_axis = E
extrusion_multiplier = 0.85
extrusion_width_ratio = 0
filament_diameter = 3.0
fill_angle = 45
fill_density = 0.7
fill_pattern = rectilinear
first_layer_height_ratio = 1.0
g0 = 0
gcode_arcs = 0
infill_every_layers = 1
infill_speed = 40
layer_height = 0.3
nozzle_diameter = 0.5
perimeter_speed = 20
perimeters = 1
print_center = 100,100
retract_before_travel = 1
retract_length = 2
retract_lift = 0.5
retract_restart_extra = 0
retract_speed = 5
rotate = 0
scale = 1
skirt_distance = 10
skirt_height = 1
skirts = 1
small_perimeter_speed = 20
solid_fill_pattern = rectilinear
solid_infill_speed = 20
solid_layers = 2
start_gcode = G92 X0 Y0 Z0 E0 ; reset distance\nG1 Z4.0 F500.0\nG1 X-250.0 F2100.0\nG1 X-249.0 F600.0\nG1 X-251.0 F600.0\nG92 X10.0 ; x reference\nG1 Y-250.0 F2100.0\nG1 Y-249.0 F600.0\nG1 Y-251.0 F600.0\nG92 Y20.0 ; xy reference\nG1 Z-250.0 F200.0\nG1 Z-251.0 F100.0\nG92 Z0.0 ; xyz reference\nG1 Y30.0 E10.0 F2100.0 ; clean extruder
temperature = 185
travel_speed = 100
use_relative_e_distances = 0
z_offset = 0 

20120110 0900[Bearbeiten]

Meine config vom 20120110 0900

bottom_layer_speed_ratio = 0.3
bridge_flow_ratio = 1
bridge_speed = 30
duplicate_distance = 10
duplicate_x = 1
duplicate_y = 1
end_gcode = G28 X0\nM84
extrusion_axis = E
extrusion_multiplier = 0.75
extrusion_width_ratio = 0
filament_diameter = 3.0
fill_angle = 45
fill_density = 0.4
fill_pattern = rectilinear
first_layer_height_ratio = 0.93
g0 = 0
gcode_arcs = 0
infill_every_layers = 1
infill_speed = 40
layer_height = 0.45
nozzle_diameter = 0.5
perimeter_speed = 30
perimeters = 1
print_center = 100,100
retract_before_travel = 2
retract_length = 1
retract_lift = 1
retract_restart_extra = 0
retract_speed = 4
rotate = 0
scale = 1.2
skirt_distance = 10
skirt_height = 1
skirts = 1
small_perimeter_speed = 30
solid_fill_pattern = rectilinear
solid_infill_speed = 60
solid_layers = 3
start_gcode = G92 X0 Y0 Z0 E0 ; reset distance\nG1 Z4.0 F200.0\nG1 X-250.0 F2100.0\nG1 X-249.0 F600.0\nG1 X-251.0 F600.0\nG92 X10.0 ; x reference\nG1 Y-250.0 F2100.0\nG1 Y-249.0 F600.0\nG1 Y-251.0 F600.0\nG92 Y20.0 ; xy reference\nG1 Z-250.0 F200.0\nG1 Z-249.0 F100.0\nG1 Z-251.0 F100.0\nG92 Z0.0 ; xyz reference\nM140 60\nG1 Y30.0 F1000.0\nG1 E15.0 ; clean extruder\nG1 Y40.0 F1000.0\nG1 Z3.0 F200.0\nG1 Z0.0 F200.0\n
temperature = 185
travel_speed = 100
use_relative_e_distances = 0
z_offset = 0 


20111218 0900[Bearbeiten]

Meine config vom 20111218 0900

bottom_layer_speed_ratio = 0.3
bridge_flow_ratio = 1
bridge_speed = 60
duplicate_distance = 6
duplicate_x = 1
duplicate_y = 1
end_gcode = G28 X0\nM84
extrusion_axis = E
extrusion_multiplier = 0.85
extrusion_width_ratio = 0
filament_diameter = 3.0
fill_angle = 0
fill_density = 0.4
fill_pattern = rectilinear
first_layer_height_ratio = 0.93
g0 = 0
gcode_arcs = 0
infill_every_layers = 1
infill_speed = 40
layer_height = 0.45
nozzle_diameter = 0.5
perimeter_speed = 30
perimeters = 3
print_center = 80,80
retract_before_travel = 2
retract_length = 1
retract_lift = 2
retract_restart_extra = 0.02
retract_speed = 4
rotate = 0
scale = 1.3
skirt_distance = 10
skirt_height = 1
skirts = 1.7
small_perimeter_speed = 30
solid_fill_pattern = rectilinear
solid_infill_speed = 60
solid_layers = 3
start_gcode = G92 X0 Y0 Z0 E0 ; reset distance\nG1 Z4.0 F200.0\nG1 X-250.0 F2100.0\nG1 X-249.0 F600.0\nG1 X-251.0 F600.0\nG92 X10.0 ; x reference\nG1 Y-250.0 F2100.0\nG1 Y-249.0 F600.0\nG1 Y-251.0 F600.0\nG92 Y20.0 ; xy reference\nG1 Z-250.0 F200.0\nG1 Z-249.0 F100.0\nG1 Z-251.0 F100.0\nG92 Z0.0 ; xyz reference\nG1 Y30.0 F1000.0\nG1 E5.0 ; clean extruder\nG1 Y40.0 F1000.0\nG1 Z3.0 F200.0\nG1 Z0.0 F200.0\n
temperature = 190
travel_speed = 100
use_relative_e_distances = 0
z_offset = 0 

Old[Bearbeiten]

maximale Z-Achsen Geschwidigkeit[Bearbeiten]

Wird nicht mehr benötigt, weil die Schrittmotoren der z-Achse einzelne Treiber, 3D-Drucker/Logbuch#2012-02-15 haben.

Patch für Slic3r[Bearbeiten]

Mein patch für Slic3r, damit Sli3r eine maximale z-Geschwindigkeit hat.

commit eca6d0b6d0e895d3f2db1c5213b6a59bd5ca1007
Author: Alessandro Ranellucci <aar@cpan.org>
Date:   Sat Dec 17 20:29:06 2011 +0100

    Adjust flow for solid surfaces when using concentric infill too. #120


diff --git a/lib/Slic3r/Extruder.pm b/lib/Slic3r/Extruder.pm
index 88de440..d0da6d5 100644
--- a/lib/Slic3r/Extruder.pm
+++ b/lib/Slic3r/Extruder.pm
@@ -291,10 +291,10 @@ sub _Gx {
     
     # output speed if it's different from last one used
     # (goal: reduce gcode size)
-    if ($speed != $self->last_f) {
+#    if ($speed != $self->last_f) {
         $gcode .= sprintf " F%.${dec}f", $speed;
-        $self->last_f($speed);
-    }
+#        $self->last_f($speed);
+#    }
     
     # output extrusion distance
     if ($e && $Slic3r::extrusion_axis) {
@@ -302,7 +302,7 @@ sub _Gx {
         $self->extrusion_distance($self->extrusion_distance + $e);
         $gcode .= sprintf " %s%.5f", $Slic3r::extrusion_axis, $self->extrusion_distance;
     }
-    
+    $gcode =~ s/^( Z.*\s+)F[0-9][0-9.]*(.*)$/${1} F200.000${2}/;
     $gcode .= sprintf " ; %s", $comment if $comment && $Slic3r::gcode_comments;
     return "$gcode\n";
 }

python[Bearbeiten]

Aufruf via:

$python bla.gcode
Updating gcode to bla_lowspead.gcode
$

gepatchte G-Code Datei ist nun unter *_lowspead.gcode erzeugt worden.

<highlightSyntax language="python"> import re import sys import os

fname= sys.argv[1] (root,ext)=os.path.splitext(fname) newfname="%s_lowspeed%s"%(root,ext)

speed=200

with open(fname) as f:

   content=f.read()

content = re.sub(r'^(?PG1 Z[0-9\.]+) (?P<e>F[0-9\.]+)$','\g F%s.000\nG1 \g<e>'%speed , content, flags=re.M) content = re.sub(r'^(?PG1 Z[0-9\.]+)$','\g F%s.000'%speed , content, flags=re.M)

with open(newfname,'w') as f:

   f.write(content)

print "Updating gcode to %s" % newfname </highlightSyntax>