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

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