Page 652 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼外変、"線色・線幅一覧表示"について Since Dos 20/8/27(木) 15:42 ┣Re:外変、"線色・線幅一覧表示"について hogehoge 20/8/28(金) 17:15 ┗外変、"線色・線幅一覧表示"について感謝です。 呑兵衛 20/8/29(土) 6:52 ─────────────────────────────────────── ■題名 : 外変、"線色・線幅一覧表示"について ■名前 : Since Dos ■日付 : 20/8/27(木) 15:42 -------------------------------------------------------------------------
▼呑兵衛さん: 作図した図面で使用されている線色(線幅)の一覧を知る方法についての過去ログは下記のとおりです。 http://www.jwcad.net/bbs2/brd/004/past/tree_769.htm 私の質問に対して kojimaさんから教えていただいたものです。 R.Nさんのアドバイスを参考にして一部書きかえて使っています。 これにより、受領図面などの使用線色と線幅が一目瞭然でとても便利に使っています。 特に1/100設定での個別線幅の設定太さがわかるのでとても便利です。 今回のJWW8.12バージョンアップにより、 線幅が基本幅指定の場合、「lw0」となっていたものが「lw17」(例)と表示されるようになり、とてもわかりやすくなりました。 私が使っているbatファイルは下記のとおりです。 常に使うので、C:\JWWに入れて、Ruby 環境で使用しています。 線色・線幅一覧.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さんありがとうございました。 |
▼Since Dosさん: 有用な外変の紹介有難うございます。 Ruby 1.8系で動作確認致しました。 皆様に感謝申し上げます。 >▼呑兵衛さん: > >作図した図面で使用されている線色(線幅)の一覧を知る方法についての過去ログは下記のとおりです。 ご紹介、感謝致します。 >私が使っているbatファイルは下記のとおりです。 |
▼Since Dosさん: いつもお世話になります。早速の詳細なレスありがとうございました。最近P21ファイルの仕様が増え、SXF線種での線種設定が増えています。私は昔ながらのオーソドックスな標準線種が好きなので、混合して使用するようになりました。参照した線種設定を変えるのも面倒なので混在して使用しました。1/100mm対応で線幅を変えると混在して使用できました。一覧で見られると大変ありがたいです。早速練習してみます。 >▼呑兵衛さん: > >作図した図面で使用されている線色(線幅)の一覧を知る方法についての過去ログは下記のとおりです。 > > http://www.jwcad.net/bbs2/brd/004/past/tree_769.htm > >私の質問に対して kojimaさんから教えていただいたものです。 >R.Nさんのアドバイスを参考にして一部書きかえて使っています。 > >これにより、受領図面などの使用線色と線幅が一目瞭然でとても便利に使っています。 >特に1/100設定での個別線幅の設定太さがわかるのでとても便利です。 > >今回のJWW8.12バージョンアップにより、 >線幅が基本幅指定の場合、「lw0」となっていたものが「lw17」(例)と表示されるようになり、とてもわかりやすくなりました。 > >私が使っているbatファイルは下記のとおりです。 >常に使うので、C:\JWWに入れて、Ruby 環境で使用しています。 > >線色・線幅一覧.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さんありがとうございました。 |