Posted to tcl by kbk at Wed Feb 08 00:15:48 GMT 2012view pretty

set command {G01 X1.2 Y3.4}
set factor 1.5
set result {}
for {set start 0} \
    {[regexp -indices -start $start -- {([XYZ])(-?\d*\.\d+)} $command \
	  whole axis distance]} \
    {set start $next} {
	lassign $whole first last
	append result [string range $command $start [lindex $axis end]]
	set newDistance [expr {$factor * [string range $command {*}$distance]}]
	append result [format %.3f $newDistance]
	set next [expr {$last + 1}]
    }
append result [string range $command $start end]
puts $result