3D-Drucker/Slic3r: Unterschied zwischen den Versionen

Aus Wiki CCC Göttingen
Zur Navigation springen Zur Suche springen
Zeile 108: Zeile 108:
Wird nicht mehr benötigt, weil die Schrittmotoren der z-Achse einzeln angestuert werden.
Wird nicht mehr benötigt, weil die Schrittmotoren der z-Achse einzeln angestuert werden.


====Patch für Slic3r ====
Mein patch für Slic3r, damit Sli3r eine maximale z-Geschwindigkeit hat.
Mein patch für Slic3r, damit Sli3r eine maximale z-Geschwindigkeit hat.
<pre>
<pre>
Zeile 148: Zeile 149:


</pre>
</pre>
==== 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'^(?P<s>G1 Z[0-9\.]+) (?P<e>F[0-9\.]+)$','\g<s> F%s.000\nG1 \g<e>'%speed , content, flags=re.M)
content = re.sub(r'^(?P<s>G1 Z[0-9\.]+)$','\g<s> F%s.000'%speed , content, flags=re.M)
with open(newfname,'w') as f:
    f.write(content)
print "Updating gcode to %s" % newfname
</highlightSyntax>


[[Category:3D-Drucker]]
[[Category:3D-Drucker]]

Version vom 23. Februar 2012, 21:08 Uhr

Derzeitige Probleme mit Slir3r

  • Slic3r so stark in Entwicklung, das Config abhängig von git Version ist
    • 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)

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 einzeln angestuert werden.

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>