線色・線幅一覧.bat
-----------------------------------------------------------------
@REM 線色・線種・線幅の一覧
@echo off
REM #jww
REM #cd
REM #zw
REM #ht10
REM #ht40
REM #bz
REM #h1
REM #g1
REM #c記入文字種 無指定:3/_/a
REM #1記入点を指示してください
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt %1> jwc_temp.txt
goto end
#!ruby -Ks
cn=3
while ARGV.size>1
case argument=ARGV.pop
when /\/a/
cn=argument[2..-1].to_i
end
end
puts "bz"
array=[];hch=[]
while ARGF.gets
xy=$_.split
if xy[0]=~/^hp1/
hpx,hpy=xy[1].to_f,xy[2].to_f
end
if xy[0]=~/^hch/
xy.each{|item|hch<<item.to_f}
moji_h=hch[cn]
end
if xy[0]=~/^lc/
lc=xy[0][2..-1].to_i
end
if xy[0]=~/^lt/
lt=xy[0][2..-1].to_i
end
if xy[0]=~/^lw/
lw=xy[0][2..-1].to_i
end
if xy[0]=~/^\d|^-|^ci/
array<<[lc,lt,lw] unless array.include?([lc,lt,lw])
end
end
array.sort!{|a,b|
if a[0]==b[0]
if a[1]==[1]
a[2]<=>b[2]
else
a[1]<=>b[1]
end
else
a[0]<=>b[0]
end
}
puts "cn#{cn}","cc3"
l=15;l2=l+3;gyo=moji_h+2
y=hpy
array.each{|lc,lt,lw|
puts "lc#{lc}","lt#{lt}","lw#{lw}"
printf(" %.11f %.11f %.11f %.11f\n",hpx,y,hpx+l,y)
lc>100 ? lc=sprintf("lcsxf%d",lc-100) : lc=sprintf("lc%d",lc)
lt>30 ? lt=sprintf("ltsxf%d",lt-30) : lt=sprintf("lt%d",lt)
printf("ch %.11f %.11f 1 0 \"%s %s lw%d\n",hpx+l2,y,lc,lt,lw)
y -= gyo
}
__END__
:
-----------------------------------------------------------------
改めて kojimaさん、R.Nさんありがとうございました。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.119 Safari/537.36@113x42x194x118.ap113.ftth.ucom.ne.jp>