REM #jww
REM #1-始点を指示してください。 (L)free (R)Read
REM #2終点を指示してください。 (L)free (R)Read
REM #e
#!ruby
txt = ARGV[0]
if File.exist? txt
hp = []
f = open(txt,"r")
while f.gets
if $_ =~ /^hp[1-9][0-9]?/
hp << $_.split()[1,2]
end
end
f.close()
g = open(txt, "w")
for pt in hp
g << "%s\n" % pt.join(" ")
end
g.close()
end
のようになります。
時刻を書き込むなら
@rem 時刻を書き込む
@echo off
ruby -x %~f0 jwc_temp.txt
exit
REM #jww
REM #0 時刻を書き込む基点を指示してください。
REM #e
#!ruby
txt = ARGV[0]
t = "\"%s" % Time.now
g = open(txt, "w")
g << "%s\n" % ["ch",0,0,1,0,t].join(" ")
g.close()
REM #jww
REM #cd
REM #h0
REM #c初期の1サイクル長(実寸) 無指定:100/_/a
REM #c初期の1サイクルの振幅(実寸) 無指定:300/_/b
REM #c1/2サイクルの分割数 無指定:20/_/c
REM #c振幅の減衰率 無指定:0.9/_/d
REM #1/始点を指示してください free(L) Read(R)
REM #2終点を指示(AM1:00ドラッグで15度毎解除) free(L) Read(R)
REM #e
#!ruby
include Math
pitch=100.0;sinpuku=300.0;bunkatu=20;biritu=0.9
while ARGV.size>1
case argument=ARGV.pop
when /\/a/
pitch=argument[2..-1].to_f
when /\/b/
sinpuku=argument[2..-1].to_f
when /\/c/
bunkatu=argument[2..-1].to_i
when /\/d/
biritu=argument[2..-1].to_f
end
end
while ARGF.gets
xy=split
ax,ay=xy[1].to_f,xy[2].to_f if xy[0]=="hp1-"
bx,by=xy[1].to_f,xy[2].to_f if xy[0]=="hp2"
end
puts "pl"
x,y=bx-ax,by-ay
l,arg=sqrt(x**2+y**2),atan2(y,x)
tl=0
while tl hh=sinpuku/2;p2=pitch/2;y_by=PI/2*hh/(p2/2)
d_pi=PI/bunkatu;d_l=p2/bunkatu
0.step(2*PI,d_pi){|i|
y=(y_by*sin(i)*p2/PI)
printf("%.11f %.11f\n",ax+(d_l*i/d_pi)*cos(arg)-y*sin(arg),ay+y*cos(arg)+(d_l*i/d_pi)*sin(arg))
}
ax += pitch*cos(arg)
ay += pitch*sin(arg)
sinpuku *= biritu
pitch *= 1/biritu
tl += pitch
end
puts "#"
@REM 三 斜 計 算(円枠対応)
@echo off
goto do%1
REM #jww
REM #cd
REM #hm |三 斜 計 算|BAT 編集|
REM #:1
REM #h1
REM #hc 【 三 斜 計 算 】 三角形を選択(三角形の辺 200 まで)
REM #0 数値書き込み位置指示 (L)free (R)Read
REM #ht10
REM #ht20
REM #ht40
REM #hr
REM #e
REM
REM 追加オプション(指定レイヤに作図)
REM /M* :文字種類指定、 「*」は文字種No1〜10 (無指定:2)
REM /N* :初期番号指定、 「*」は1〜8001 (無指定:1)
REM /L* :レイヤ指定、 「*」はレイヤ0〜F (無指定:書込レイヤ )
REM /K* :小数点以下有効桁数、 「*」は0〜3 (無指定:2)
REM
REM /T* :三角形頂点に点を作図、 「*」 は 点種類No1〜9 (無指定:1)
REM /E*.*:三角形頂点に円を作図、「*.*」 は円半径 mm (無指定:1.0)
REM /H* :三角形の辺を作図、 「*」 は 線色No1〜9 (無指定:1)
REM
REM /S :敷地面積(小数点以下3桁を切り捨て)を作図
REM
REM #:2
REM #h0
REM #hr
REM #e