3D-Drucker/Slic3r
Derzeitige Probleme mit Slir3r
- 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)
Skripte rund um Slic3r
- Scrkit um Slic3r, Config, stl und gcode zusammenzuhalten 3D-Drucker/Slic3r/create.
- eignen G-Code erstellen, der die Konfigurationen von Slic3r benutzt 3D-Drucker/Slic3r/Python.
Configs
20120110 0900
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
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
maximale Z-Achsen Geschwidigkeit
Wird nicht mehr benötigt, weil die Schrittmotoren der z-Achse einzelne Treiber haben.
Patch für Slic3r
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
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>