Posted to tcl by mjanssen at Wed Feb 08 00:08:36 GMT 2012view raw
- 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 { }]
- }