jw_cad 外部変形 - (823) rubyで指示点を確認する(hp) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

rubyで指示点を確認する(hp)

:rubyで指示点を確認する(hp)
@echo off
ruby -x %0 jwc_temp.txt
goto:eof

REM #jww
REM #1-%d 点を指示してください
REM #99#
REM #zs
REM #e

#!ruby -Ks -an -i.bak
case $_
  when /^hq/i
    hp = []
  when /^hs/
      hs = {}
    for i in 0..15
      hs[ sprintf("%x", i) ] = $F[i + 1].to_f
    end
  when /^hzs/
    w, h = $F[1..2].map{|x| x.to_f}
  when /^hp/
    $F[0].gsub!(/hp|-/i, "")
    hp[$F[0].to_i] = $F[1, 2]
  when /^lg[0-9a-f]/
    lg = $F[0][2, 1].to_s
  else
    if ARGF.eof
      sc = hs[lg]
      w *= sc
      h *= sc
      puts "%s %s %s %s" % [-w / 2.0, 0, w /2.0, 0]
      puts "%s %s %s %s" % [0, -h / 2.0, 0, h /2.0]
      puts "ch 0 0 1 0 \"[0 ,0]"
      hpn = hp.size - 1
      for i in 1..hpn
        puts "pt %s %s" % hp[i]
        puts "ch %s %s 1 0 \"[%s]" % hp[i].push("%s, %s" % hp[i])
      end
    end
end
__END__