3D-Drucker/Slic3r: Unterschied zwischen den Versionen
Hefee (Diskussion | Beiträge) |
Alex (Diskussion | Beiträge) |
||
(13 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== | == Kommentare == | ||
* Slic3r so stark in Entwicklung, das Config abhängig von git Version ist | * 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 --[[Benutzer:Hefee|Hefee]] 05:49, 16. Dez. 2011 (CET) | ** 048f7ca - Wed Dec 14 16:12:05 2011 +0100 --[[Benutzer:Hefee|Hefee]] 05:49, 16. Dez. 2011 (CET) | ||
** 6c21501 --[[Benutzer:Hefee|Hefee]] 04:31, 20. Dez. 2011 (CET) | ** 6c21501 --[[Benutzer:Hefee|Hefee]] 04:31, 20. Dez. 2011 (CET) | ||
** c3fc6ee --[[Benutzer:Hefee|Hefee]] [[Benutzer:Alex|Alex]] 21:54, 23. Feb. 2012 (CET) | ** c3fc6ee --[[Benutzer:Hefee|Hefee]], [[Benutzer:Alex|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 --[[Benutzer:Hefee|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 --[[Benutzer:Hefee|Hefee]] 22:58, 18. Apr. 2012 (CEST) | |||
== 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 == | == Configs == | ||
=== 20130206 === | |||
mit Slic3r 1.0.1-dev | |||
<pre> | |||
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 | |||
</pre> | |||
=== 20121120 === | |||
mit slic3r 0.9.6-dev | |||
<pre> | |||
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 | |||
</pre> | |||
=== 20120412 === | |||
config vom 12.4.2012 zusammen mit slic3r 0.7.1 --[[Benutzer:Hefee|Hefee]] 23:15, 12. Apr. 2012 (CEST) | |||
<pre> | |||
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 | |||
</pre> | |||
=== 20120110 0900 === | === 20120110 0900 === | ||
Meine config vom 20120110 0900 | Meine config vom 20120110 0900 | ||
Zeile 101: | Zeile 271: | ||
use_relative_e_distances = 0 | use_relative_e_distances = 0 | ||
z_offset = 0 </pre> | z_offset = 0 </pre> | ||
== Old == | == Old == | ||
=== maximale Z-Achsen Geschwidigkeit === | === maximale Z-Achsen Geschwidigkeit === | ||
Wird nicht mehr benötigt, weil die Schrittmotoren der z-Achse | Wird nicht mehr benötigt, weil die Schrittmotoren der z-Achse einzelne [[3D-Drucker/PoliluDriverA4988|Treiber]], [[3D-Drucker/Logbuch#2012-02-15]] haben. | ||
====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 318: | ||
</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]] |
Aktuelle Version vom 6. Februar 2014, 20:14 Uhr
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]
- 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[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>