Posted to tcl by mjanssen at Wed Feb 08 00:08:36 GMT 2012view pretty
proc scale {gcode scale} { set gcode [split $gcode { }] set result {} while {[llength $gcode] > 0} { set first [lindex $gcode 0] set gcode [lrange $gcode 1 end] switch -re [string toupper [string index $first 0]] { {[XYZ]} { lappend result [string index $first 0][format %.3f [expr {$scale*[string range $first 1 end]}]] } default { lappend result $first } } } return [join $result { }] }