aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/bin/hpgl_move
diff options
context:
space:
mode:
authorN.N. <matju@users.sourceforge.net>2009-10-18 20:01:19 +0000
committerN.N. <matju@users.sourceforge.net>2009-10-18 20:01:19 +0000
commitccddec68116fc6403858ebfa13d4a7b1aa3d5278 (patch)
tree6b90e41b15bbf2440afa76d53cc436debf5b5c5b /externals/gridflow/bin/hpgl_move
parenta1fb215b39535805aa19608185d5e52c0f524b42 (diff)
hi gridflow 0.9.5
svn path=/trunk/; revision=12611
Diffstat (limited to 'externals/gridflow/bin/hpgl_move')
-rwxr-xr-xexternals/gridflow/bin/hpgl_move19
1 files changed, 19 insertions, 0 deletions
diff --git a/externals/gridflow/bin/hpgl_move b/externals/gridflow/bin/hpgl_move
new file mode 100755
index 00000000..f4bf0534
--- /dev/null
+++ b/externals/gridflow/bin/hpgl_move
@@ -0,0 +1,19 @@
+#!/usr/bin/env ruby
+# Copyright (c) 2009 by Mathieu Bouchard
+
+x = Float ARGV[0]
+y = Float ARGV[1]
+
+puts STDIN.read.split(/\s*;\s*/).map {|m|
+ h = m.slice!(0,2)
+ d = m.split(",")
+ case h
+ when "PA","PD","PU"
+ (0...d.length).each {|i|
+ off = if i%2==0 then x else y end
+ v = Float(d[i])+off
+ d[i] = if v==v.to_i then v.to_i else v.to_f end
+ }
+ end
+ h+d.join(",")
+}.join(";")