Page 872 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼同じ作業を楽にしたい 加藤 18/5/18(金) 17:17 ┣Re:同じ作業を楽にしたい P 18/5/18(金) 18:03 ┃ ┗Re:同じ作業を楽にしたい 加藤 18/5/21(月) 14:22 ┣Re:同じ作業を楽にしたい ikki 18/5/18(金) 18:13 ┃ ┗Re:同じ作業を楽にしたい 加藤 18/5/21(月) 14:25 ┣Re:同じ作業を楽にしたい イッチ― 18/6/8(金) 17:47 ┃ ┗Re:同じ作業を楽にしたい 加藤 18/6/11(月) 10:00 ┣Re:参考までに Since Dos 18/6/10(日) 0:55 ┃ ┗Re:参考までに 加藤 18/6/11(月) 10:02 ┣Re:同じ作業を楽にしたい R.N 18/6/14(木) 16:11 ┃ ┗Re:同じ作業を楽にしたい 加藤 18/6/14(木) 20:37 ┣[投稿者削除] ┃ ┣Re:同じ作業を楽にしたい 加藤 18/6/17(日) 22:37 ┃ ┗Re:同じ作業を楽にしたい 加藤 18/6/18(月) 16:19 ┃ ┣Re:同じ作業を楽にしたい 加藤 18/6/18(月) 16:24 ┃ ┗Re:同じ作業を楽にしたい 加藤 18/6/19(火) 9:43 ┗外部変形にて kojima 18/7/16(月) 14:00 ┗Re:外部変形にて 加藤 18/7/18(水) 15:36 ┗Re:外部変形にて kojima 18/7/18(水) 18:58 ┗Re:外部変形にて 加藤 18/7/19(木) 8:55 ─────────────────────────────────────── ■題名 : 同じ作業を楽にしたい ■名前 : 加藤 ■日付 : 18/5/18(金) 17:17 -------------------------------------------------------------------------
いつもお世話になります。 私は電気の図面をJWWで書いております。 建築図をゼネコンさんから頂いてその図面に電気の図面を書いておりますが、電気の図面が見やすいように建築の図面を全て細い線(私の場合ペン1)にしてから作業します。 そのペン1にする作業がちょっと面倒なのでご相談です。 貰った図面を範囲で全て選択してペン1に変換するとブロック図形や寸法図形が変換できません。 現状行ってる作業は・・・ 寸法図解から全選択して解除 範囲から全選択してブロック解除(これを無くなるまで2〜3回) その後 範囲から全選択して フォントを明朝に 文字色をペン1に 他の線をペン1に 変換しています。 上記の作業をもっと簡単にする方法はありませんか? ゼネコンさんから10階建ての図面を10枚頂くとかだと10回この作業をします。 毎回同じことをやってるので何か良い方法がないかなといつも思っておりましたので投稿させていただきました。 少しでも良いアイデアが御座いましたら宜しくお願いします。 |
▼加藤さん: 一旦jwc形式で保存したらどうですか? jwc形式で保存すれば >寸法図解から全選択して解除 >範囲から全選択してブロック解除(これを無くなるまで2〜3回) この作業は必要なくなります >範囲から全選択して >フォントを明朝に >文字色をペン1に >他の線をペン1に >変換しています。 この作業の省略は難しいのでは? |
▼Pさん: >▼加藤さん: >一旦jwc形式で保存したらどうですか? >jwc形式で保存すれば > >>寸法図解から全選択して解除 >>範囲から全選択してブロック解除(これを無くなるまで2〜3回) >この作業は必要なくなります > > >>範囲から全選択して >>フォントを明朝に >>文字色をペン1に >>他の線をペン1に >>変換しています。 >この作業の省略は難しいのでは? ご返事ありがとうございました。 JWCに変換は気が付きませんでした! 実際にやってみましたが確かにこう方法だと前半部分は省略できますね。 JWCには寸法図形とかブロック図形が存在しないからですかね。 PCにあまり詳しくないのでアレですけど、エクセルのマクロ?みたいなもので操作を登録してワンクリックでやる事が出来るみたいなので、そんな感じでJWWも出来ないかなと思ったのですが無理そうですね。 とても助かりました、ありがとうございました! |
▼加藤さん: 建築図をすべて表示のみレイヤにして、グレーの出力要素を薄いグレーに設定 、印刷時カラーにチェックして印刷で白黒プリンターでも建築図が薄くなります。 |
▼ikkiさん: >▼加藤さん: > >建築図をすべて表示のみレイヤにして、グレーの出力要素を薄いグレーに設定 >、印刷時カラーにチェックして印刷で白黒プリンターでも建築図が薄くなります。 ご返事ありがとうございました。 この方法でやってたんですが、ちょいちょい建築図をレイヤー変更したり消したりすることがあるので寸法図形とブロック図形は解除しておきたいんですね。 Pさんの方法とikkiさんの方法を組み合わせれば随分楽になると思います。 どうもありがとうございました! |
▼加藤さん: 意匠屋です。 私は電気設計屋さんに図面を流すときに自分で線変更してます。 ↓この外部変形は結構楽です。 http://p-cata.from.tv/jwwgapp/p044.html ダウンロードして解凍されたフォルダ内のファイルを 全部Cドライブのjwwフォルダに入れて、 Jwwを再起動したら、その他→外部変形から使用できます。 寸法線は解除しないでも線色だけ変更できます。 残念ながらブロック図形は対応していないので、 ブロック図形だけ先に解除して使うことになりますが、 ブロック図形が無い図面であれば、文字も線も一発です。 |
▼イッチ―さん: アドバイスありがとうございました。 早速やってみましたが確かに便利ですね、ただブロック図形がある場合が多いので色々試してみます。 助かりました! >▼加藤さん: > >意匠屋です。 >私は電気設計屋さんに図面を流すときに自分で線変更してます。 > >↓この外部変形は結構楽です。 >http://p-cata.from.tv/jwwgapp/p044.html > >ダウンロードして解凍されたフォルダ内のファイルを >全部Cドライブのjwwフォルダに入れて、 >Jwwを再起動したら、その他→外部変形から使用できます。 > >寸法線は解除しないでも線色だけ変更できます。 >残念ながらブロック図形は対応していないので、 >ブロック図形だけ先に解除して使うことになりますが、 >ブロック図形が無い図面であれば、文字も線も一発です。 |
▼加藤さん: 細線で印刷するだけであれば、建築図をグレー(表示のみ)にして、下記のJWFファイルを 読み込んでやれば、 元データー(建築図)がどんな色であろうと(寸法図形もブロック図形も)すべて細線で 印刷できます。(線の幅は自由に指定可能) モノクロでもカラー印刷でもどちらでも細線で印刷できます。 私の場合は、受領した建築図は、レイヤーを整理して、全て「0グループ」にまとめ、 線色は白に変更し、グレー表示にして、電気図面を作図しています。 ちなみに電気図は「Aグループ」に作図してます。(単にわかりやすいから) 建築図はなるべく少ないグループにまとめておくと、「表示のみ」と「編集」の切り 替えが、わかりやすくて楽です。 不要なレイヤーは、削除するか、非表示にしてプロテクトおくとよいです。 〔参考〕 # 【 グレー線 細線印刷.jwf 】 Jw_cad for Windows # A-Read # # (R) (G) (B) (W) LCOLLOR_G = 75 75 75 1 # (R) (G) (B) (W) (PR) PCOLLOR_G = 128 128 128 1 # END この設定ファイルを読み込んでやれば、そのほかの設定は変更することなく、グレー線の 印刷線幅のみが細線に変更できます。 元に戻すときは、もう一度「Jw_win.Jwf」を読み込んでやればOKです。 |
▼Since Dosさん: ありがとうございました。 ちょっと環境ファイルを出し入れするのは私にはハードルが高い様な気がしますが、チャレンジしてみます。 また宜しくお願いします。 >▼加藤さん: > >細線で印刷するだけであれば、建築図をグレー(表示のみ)にして、下記のJWFファイルを >読み込んでやれば、 >元データー(建築図)がどんな色であろうと(寸法図形もブロック図形も)すべて細線で > >印刷できます。(線の幅は自由に指定可能) >モノクロでもカラー印刷でもどちらでも細線で印刷できます。 > >私の場合は、受領した建築図は、レイヤーを整理して、全て「0グループ」にまとめ、 >線色は白に変更し、グレー表示にして、電気図面を作図しています。 >ちなみに電気図は「Aグループ」に作図してます。(単にわかりやすいから) >建築図はなるべく少ないグループにまとめておくと、「表示のみ」と「編集」の切り > >替えが、わかりやすくて楽です。 >不要なレイヤーは、削除するか、非表示にしてプロテクトおくとよいです。 > > >〔参考〕 > ># 【 グレー線 細線印刷.jwf 】 Jw_cad for Windows ># >A-Read ># ># (R) (G) (B) (W) >LCOLLOR_G = 75 75 75 1 ># (R) (G) (B) (W) (PR) >PCOLLOR_G = 128 128 128 1 ># >END > > >この設定ファイルを読み込んでやれば、そのほかの設定は変更することなく、グレー線の > >印刷線幅のみが細線に変更できます。 >元に戻すときは、もう一度「Jw_win.Jwf」を読み込んでやればOKです。 |
▼加藤さん: 複数ファイル選択で、ブロック図形・寸法図形・曲線属性を一括で解除できるツールも公開されてるようです。 小嶋さん作の、 複数のJWWファイルのブロック・寸法・曲線一括解除 07 (msg_bl_pl_c07.lzh) http://www.farchi.jp/filemgmt/viewcat.php?cid=26 参考までに |
▼R.Nさん: アドバイス助かります。 とりあえず、チャレンジしてみましたが・・・ ブロック図形一括分解.bat と言うファイルをクリックしてみたら 「windowsによってPCが保護さてました」 と警告が出て使えませんでした。 もう少し調べてチャレンジしてみます。 ありがとうございました。 >▼加藤さん: > >複数ファイル選択で、ブロック図形・寸法図形・曲線属性を一括で解除できるツールも公開されてるようです。 >小嶋さん作の、 >複数のJWWファイルのブロック・寸法・曲線一括解除 07 (msg_bl_pl_c07.lzh) > >http://www.farchi.jp/filemgmt/viewcat.php?cid=26 > >参考までに |
この書き込みは投稿者によって削除されました。(18/6/19(火) 23:58) |
▼kojimaさん: 古い書きこみに返事を頂いてありがとうございました。 ちょっとハードル高いですが、とりあえず挑戦してみます。 少し質問が・・・ これはブロック図形と寸法図形には対応してないですよね? 両方を解除してからの作業ですね? あと早速止まっちゃったんですが・・・ >以下の文をコピペして、変更する図面のあるフォルダに >拡張子.bat で保存してください。 このやり方が分からないです、メモ帳とかでやるのでしょうか? 初歩的な質問で申し訳ないですがもう少しアドバイスお願いします。 それが出来たら >尚、この実行にはrubyのインストールが必要です >以下のサイトからダウンロード後、インストールしてください。 これを頑張ってみます。 宜しくお願いします。 |
▼kojimaさん:RNさん ありがとうございました。 先程、やってみて不具合など詳細に投稿したつもりが投稿されていませんでした。(文字数が多すぎたのかな?) 何とか思い出しながらもう一度書込みさせて頂きます。 batファイルは何とか出来ました。 rubyの導入も出来たと思います。 結果・・・ 自作のテスト用でブロックとか寸法図形を作りそのファイルでテストしたら出来ました。 昔のファイルでテストしたら NO230に対応していませんとのエラー そのファイルをJWWで読み込み最新バージョンで保存してから実行したら 図形総数9560 エラーが発生 パスします。 との結果でした。 そこで質問です。 旧バージョンで保存してあるものはダメですか? 図形(ブロック図形?)が多すぎるファイルは駄目ですか? 他にも何かの制限がありますか? フォントが明朝に変換されますが太字はそのままです、細字(通常)に変換出来ませんか? 同時にブロック図形と寸法図形を解除できませんか? 同時に環境ファイルを読み込むことはできませんか? rubyのインストールで(×64)と(×86)がありましたが何が違いますか? お時間が許す範囲でかまいませんのでまだアドバイスお願いします。 |
追記 >図形総数9560 エラーが発生 パスします。 この時のエラーは図形総数では無い気がします。 図形総数というのは成功した時も出ましたので・・・ その下に nil can't be coerced into integer と出ます。 宜しくお願いします。 |
追追伸 いろんなファイルで実験してみましたが、違うエラーも出ました。 undef ined method unpack`for nil:NilClass こんな感じのものです。 それとエラーが出ずに成功したものもSXFと言う線色や文字色は変換されませんでした。 取り急ぎご報告まで・・・ |
以下の外部変形「bl_tenkai08.zip」をDLしてください。 外部変形でブロック図形の解除08 http://www.farchi.jp/filemgmt/index.php?id=1871&comments=1 bl_tenkai08.zipを解凍したフォルダ内に 以下の文をコピペしてファイル名を ブロック図形解除_c2.bat として保存してください。 (行頭に半角スペースが付加された場合は削除してください) ↓この下から @REM ブロック分解 寸法分解 線色 文字色 フォント変更 @echo off REM #jww REM #cd REM #bz REM #zz REM #zw REM #zs REM #zc REM #hf REM #h1 REM #hcこの外部変形を実行する前に、必ずファイルの上書き保存を実行してください。 REM #g1 REM #k 点色の変更|1) 無 (L)|2) 有 (R)|/_/a REM #c 変更後の点色(変更無はスキップ) 無指定:1/_/b REM #k 線色の変更|1) 無 (L)|2) 有 (R)|/_/c REM #c 変更後の線色(変更無はスキップ) 無指定:1/_/d REM #k 文字色の変更|1) 無 (L)|2) 有 (R)|/_/e REM #c 変更後の文字色(変更無はスキップ) 無指定:1/_/f REM #k フォントの変更|1) 無 (L)|2) 有 (R)|/_/g REM #c 変更後の文字フォント(変更無はスキップ) 無指定:MS 明朝/_/h REM #hp REM #e copy jwc_temp.txt temp.txt > nul ruby -Ks bl_tenkai.rb echo ブロック図形の処理が終了しました copy jwc_temp.txt temp.txt > nul echo 寸法図形分解 線色変更 文字変更フォント変更の実行中 ruby -x %~f0 temp.txt %1 %2 %3 %4 %5 %6 %7 %8> jwc_temp.txt echo 寸法図形分解 線色変更 文字変更フォント変更が終了しました goto end #!ruby -Ks pn=1;lc=1;mojic=1;font="MS 明朝" while ARGV.size>1 case argument=ARGV.pop when /\/a/ pn_change=argument[2..-1].to_i when /\/b/ pn=argument[2..-1].to_i when /\/c/ lc_change=argument[2..-1].to_i when /\/d/ lc=argument[2..-1].to_i when /\/e/ mojic_change=argument[2..-1].to_i when /\/f/ mojic=argument[2..-1].to_i when /\/g/ font_change=argument[2..-1].to_i when /\/h/ font=argument[2..-1] end end def pn_change_f(line,pn_change,pn) if pn_change==2 puts "pn#{pn}" else print line end end def lc_change_f(line,lc_change,lc) xy=line.split if lc_change==2 if xy[0] == "lc10" print line else puts "lc#{lc}" end else print line end end def mojic_change_f(line,mojic_change,mojic,hcw,hch,hcd) xy=line.split if xy[0]=~/^cn(\d+)/ if mojic_change==2 i=$1.to_i if xy.size==1 puts "cn0 #{hcw[i]} #{hch[i]} #{hcd[i]} #{mojic}" else puts "cn0 #{xy[1]} #{xy[2]} #{xy[3]} #{mojic}" end else print line end end end def font_change_f(line,font_change,font) if font_change==2 puts "cn\"$<#{font}>" else print line end end hcw=[];hch=[];hcd=[];hd=0 while ARGF.gets xy=$_.split if xy[0]=~/^hq/ elsif xy[0]=~/^hd/ print $_ hd=1 elsif xy[0]=~/^hcw/ xy.each{|item|hcw<<item.to_f} elsif xy[0]=~/^hch/ xy.each{|item|hch<<item.to_f} elsif xy[0]=~/^hcd/ xy.each{|item|hcd<<item.to_f} elsif xy[0]=~/^pn/ pn_change_f($_,pn_change,pn) elsif xy[0]=~/^lc/ lc_change_f($_,lc_change,lc) elsif xy[0]=~/^cn(\d+)/ mojic_change_f($_,mojic_change,mojic,hcw,hch,hcd) elsif xy[0]=~/^cn\"/ font_change_f($_,font_change,font) elsif xy[0]=~/^msg/ while ARGF.gets xy=$_.split if xy[0]=~/^lc/ lc_change_f($_,lc_change,lc) elsif xy[0]=~/^pn/ pn_change_f($_,pn_change,pn) elsif xy[0]=~/^cn(\d+)/ mojic_change_f($_,mojic_change,mojic,hcw,hch,hcd) elsif xy[0]=~/^cn\"/ font_change_f($_,font_change,font) elsif xy[0]=~/^\d|^-|^c[ihvsroptkz2]|^s[lceog]|^pt/ puts "z3" print $_ else print $_ end break if $_ =~/^#/ end else print $_ end end puts "hd" if hd==0 __END__ :end #↑ここまでをコピペ 目的の図面を開いて、外部変形コマンドから「ブロック図形解除_c2.bat」を ダブルクリックして範囲選択すると以下のことが実行されます。 〇ブロック図形の解除・寸法図形の解除 〇点色・線色・文字色を指定色に変更 〇文字フォントを指定のフォントに変更(全て通常文字) ※環境設定ファイルは読み込みません。自身で読み込んでください。 (かかる労力に比べて、短縮できる時間が短過ぎます) >rubyのインストールで(×64)と(×86)がありましたが何が違いますか? ×64は64ビットOS用(Win8以降)、×86は32ビットOS用。 以前の複数のJWWファイルを一括変更するアプリでは、全ての要求に応える ことはできません。(特にバージョン4.20以前への対応) |
▼kojimaさん: ナイスなアドバイスありがとうございました。 早速試してみましたが良い感じです、これから利用させていただきます。 ダメもとでの話ですが、これを実行するときに 最初に範囲の選択になりますが、常に全選択ですので自動で全選択又は「全選択」のボタンは追加できませんか? その後、点色、線色、文字色、フォントを選択できる様になりますが、全て「有り」の「無指定」です。 この場合R→L→R→L→R→L→R→Lとマウス操作しますが、この作業無しにできますか? もしも出来ることがあったらまた教えて下さい。 出来なくてもかなり助かってますので感謝しております。 本当にありがとうございました。 >以下の外部変形「bl_tenkai08.zip」をDLしてください。 > >外部変形でブロック図形の解除08 >http://www.farchi.jp/filemgmt/index.php?id=1871&comments=1 > >bl_tenkai08.zipを解凍したフォルダ内に >以下の文をコピペしてファイル名を ブロック図形解除_c2.bat >として保存してください。 >(行頭に半角スペースが付加された場合は削除してください) >↓この下から > >@REM ブロック分解 寸法分解 線色 文字色 フォント変更 >@echo off >REM #jww >REM #cd >REM #bz >REM #zz >REM #zw >REM #zs >REM #zc >REM #hf >REM #h1 >REM #hcこの外部変形を実行する前に、必ずファイルの上書き保存を実行してください。 >REM #g1 >REM #k 点色の変更|1) 無 (L)|2) 有 (R)|/_/a >REM #c 変更後の点色(変更無はスキップ) 無指定:1/_/b >REM #k 線色の変更|1) 無 (L)|2) 有 (R)|/_/c >REM #c 変更後の線色(変更無はスキップ) 無指定:1/_/d >REM #k 文字色の変更|1) 無 (L)|2) 有 (R)|/_/e >REM #c 変更後の文字色(変更無はスキップ) 無指定:1/_/f >REM #k フォントの変更|1) 無 (L)|2) 有 (R)|/_/g >REM #c 変更後の文字フォント(変更無はスキップ) 無指定:MS 明朝/_/h >REM #hp >REM #e >copy jwc_temp.txt temp.txt > nul >ruby -Ks bl_tenkai.rb >echo ブロック図形の処理が終了しました >copy jwc_temp.txt temp.txt > nul >echo 寸法図形分解 線色変更 文字変更フォント変更の実行中 >ruby -x %~f0 temp.txt %1 %2 %3 %4 %5 %6 %7 %8> jwc_temp.txt >echo 寸法図形分解 線色変更 文字変更フォント変更が終了しました >goto end >#!ruby -Ks >pn=1;lc=1;mojic=1;font="MS 明朝" >while ARGV.size>1 > case argument=ARGV.pop > when /\/a/ > pn_change=argument[2..-1].to_i > when /\/b/ > pn=argument[2..-1].to_i > when /\/c/ > lc_change=argument[2..-1].to_i > when /\/d/ > lc=argument[2..-1].to_i > when /\/e/ > mojic_change=argument[2..-1].to_i > when /\/f/ > mojic=argument[2..-1].to_i > when /\/g/ > font_change=argument[2..-1].to_i > when /\/h/ > font=argument[2..-1] > end >end >def pn_change_f(line,pn_change,pn) > if pn_change==2 > puts "pn#{pn}" > else > print line > end >end >def lc_change_f(line,lc_change,lc) > xy=line.split > if lc_change==2 > if xy[0] == "lc10" > print line > else > puts "lc#{lc}" > end > else > print line > end >end >def mojic_change_f(line,mojic_change,mojic,hcw,hch,hcd) > xy=line.split > if xy[0]=~/^cn(\d+)/ > if mojic_change==2 > i=$1.to_i > if xy.size==1 > puts "cn0 #{hcw[i]} #{hch[i]} #{hcd[i]} #{mojic}" > else > puts "cn0 #{xy[1]} #{xy[2]} #{xy[3]} #{mojic}" > end > else > print line > end > end >end >def font_change_f(line,font_change,font) > if font_change==2 > puts "cn\"$<#{font}>" > else > print line > end >end >hcw=[];hch=[];hcd=[];hd=0 >while ARGF.gets > xy=$_.split > if xy[0]=~/^hq/ > elsif xy[0]=~/^hd/ > print $_ > hd=1 > elsif xy[0]=~/^hcw/ > xy.each{|item|hcw<<item.to_f} > elsif xy[0]=~/^hch/ > xy.each{|item|hch<<item.to_f} > elsif xy[0]=~/^hcd/ > xy.each{|item|hcd<<item.to_f} > elsif xy[0]=~/^pn/ > pn_change_f($_,pn_change,pn) > elsif xy[0]=~/^lc/ > lc_change_f($_,lc_change,lc) > elsif xy[0]=~/^cn(\d+)/ > mojic_change_f($_,mojic_change,mojic,hcw,hch,hcd) > elsif xy[0]=~/^cn\"/ > font_change_f($_,font_change,font) > elsif xy[0]=~/^msg/ > while ARGF.gets > xy=$_.split > if xy[0]=~/^lc/ > lc_change_f($_,lc_change,lc) > elsif xy[0]=~/^pn/ > pn_change_f($_,pn_change,pn) > elsif xy[0]=~/^cn(\d+)/ > mojic_change_f($_,mojic_change,mojic,hcw,hch,hcd) > elsif xy[0]=~/^cn\"/ > font_change_f($_,font_change,font) > elsif xy[0]=~/^\d|^-|^c[ihvsroptkz2]|^s[lceog]|^pt/ > puts "z3" > print $_ > else > print $_ > end > break if $_ =~/^#/ > end > else > print $_ > end >end >puts "hd" if hd==0 >__END__ >:end >#↑ここまでをコピペ > > >目的の図面を開いて、外部変形コマンドから「ブロック図形解除_c2.bat」を >ダブルクリックして範囲選択すると以下のことが実行されます。 >〇ブロック図形の解除・寸法図形の解除 >〇点色・線色・文字色を指定色に変更 >〇文字フォントを指定のフォントに変更(全て通常文字) > >※環境設定ファイルは読み込みません。自身で読み込んでください。 > (かかる労力に比べて、短縮できる時間が短過ぎます) > >>rubyのインストールで(×64)と(×86)がありましたが何が違いますか? >×64は64ビットOS用(Win8以降)、×86は32ビットOS用。 > >以前の複数のJWWファイルを一括変更するアプリでは、全ての要求に応える >ことはできません。(特にバージョン4.20以前への対応) |
全選択にすると、範囲選択時の注意喚起文 「この外部変形を実行する前に、必ずファイルの上書き保存を実行してください。」 が表示されません。 ブロック図形を移動させて「上書き保存」しないで この外部変形を実行すると、ブロック図形は消去されます。 「上書き保存」を習慣づけてください。 バッチファイルの内容を以下のように変更してください。 メモ帳で設定.txtが表示されます。 設定内容に変更があれば修正して上書き保存後、閉じてください。 ※メモ帳で設定.txtを表示させたくない時は、40行目の system("notepad 設定.txt") を削除してください。 ↓この下から @REM ブロック分解 寸法分解 線色 文字色 フォント変更 @echo off REM #jww REM #cd REM #bz REM #zz REM #zw REM #zs REM #zc REM #hf REM #h4 REM #hcこの外部変形を実行する前に、必ずファイルの上書き保存を実行してください。 REM #g1 REM #hp REM #e copy jwc_temp.txt temp.txt > nul ruby -Ks bl_tenkai.rb echo ブロック図形の処理が終了しました copy jwc_temp.txt temp.txt > nul echo 寸法図形分解 線色変更 文字変更フォント変更の実行中 ruby -x %~f0 temp.txt > jwc_temp.txt echo 寸法図形分解 線色変更 文字変更フォント変更が終了しました goto end #!ruby -Ks array=["2","1","2","1","2","1","2","1","MS 明朝"] begin open("設定.txt","r"){|f|} rescue open("設定.txt","w"){|f| f.puts("点色の変更 無:1 有:2_____________________________2") f.puts("変更後の点色___________________________________________1") f.puts("線色の変更 無:1 有:2_____________________________2") f.puts("変更後の線色___________________________________________1") f.puts("文字色の変更 無:1 有:2___________________________2") f.puts("変更後の文字色_________________________________________1") f.puts("フォントの変更 無:1 有:2___________________________2") f.puts("変更後の文字フォント___________________________________MS 明朝") } end system("notepad 設定.txt") array=[] open("設定.txt","r"){|f| while f.gets xy=$_.split(/\_+/) array<<xy[1].chomp end } pn_change=array[0].to_i pn=array[1].to_i lc_change=array[2].to_i lc=array[3].to_i mojic_change=array[4].to_i mojic=array[5].to_i font_change=array[6].to_i font=array[7] def pn_change_f(line,pn_change,pn) if pn_change==2 puts "pn#{pn}" else print line end end def lc_change_f(line,lc_change,lc) xy=line.split if lc_change==2 if xy[0] == "lc10" print line else puts "lc#{lc}" end else print line end end def mojic_change_f(line,mojic_change,mojic,hcw,hch,hcd) xy=line.split if xy[0]=~/^cn(\d+)/ if mojic_change==2 i=$1.to_i if xy.size==1 puts "cn0 #{hcw[i]} #{hch[i]} #{hcd[i]} #{mojic}" else puts "cn0 #{xy[1]} #{xy[2]} #{xy[3]} #{mojic}" end else print line end end end def font_change_f(line,font_change,font) if font_change==2 puts "cn\"$<#{font}>" else print line end end hcw=[];hch=[];hcd=[];hd=0 while ARGF.gets xy=$_.split if xy[0]=~/^hq/ elsif xy[0]=~/^hd/ print $_ hd=1 elsif xy[0]=~/^hcw/ xy.each{|item|hcw<<item.to_f} elsif xy[0]=~/^hch/ xy.each{|item|hch<<item.to_f} elsif xy[0]=~/^hcd/ xy.each{|item|hcd<<item.to_f} elsif xy[0]=~/^pn/ pn_change_f($_,pn_change,pn) elsif xy[0]=~/^lc/ lc_change_f($_,lc_change,lc) elsif xy[0]=~/^cn(\d+)/ mojic_change_f($_,mojic_change,mojic,hcw,hch,hcd) elsif xy[0]=~/^cn\"/ font_change_f($_,font_change,font) elsif xy[0]=~/^msg/ while ARGF.gets xy=$_.split if xy[0]=~/^lc/ lc_change_f($_,lc_change,lc) elsif xy[0]=~/^pn/ pn_change_f($_,pn_change,pn) elsif xy[0]=~/^cn(\d+)/ mojic_change_f($_,mojic_change,mojic,hcw,hch,hcd) elsif xy[0]=~/^cn\"/ font_change_f($_,font_change,font) elsif xy[0]=~/^\d|^-|^c[ihvsroptkz2]|^s[lceog]|^pt/ puts "z3" print $_ else print $_ end break if $_ =~/^#/ end else print $_ end end puts "hd" if hd==0 __END__ :end #↑ここまでをコピペ |
▼kojimaさん: 早速のご返答ありがとうございました。 下記の内容をやってみましたが、私の力不足だと思うのですが、以前と変わりません。 何か変更して頂いたのでしょうか? 前回の ブロック図形解除_c2.bat の中身を今回の物に変更して上書きしました。 JWWを開いて外部変形から実行したら前回と同じ 範囲選択からその後点色、線色、文字色、フォントを選択して実行です。 メモ帳が開くと書いてありましたが開きませんでした。 試しにエクスプローラーから ブロック図形解除_c2.bat を直接クリックしたら黒い画面が出て途中でメモ帳が開きました。 それを上書き保存して閉じて、もう一度JWWで外部変形をやってみましたが前回と変わりませんでした。 よく理解できていないので申し訳ありません、もう一度やり方を教えて下さい。 時間の許す範囲で結構ですので宜しくお願いします。 >全選択にすると、範囲選択時の注意喚起文 >「この外部変形を実行する前に、必ずファイルの上書き保存を実行してください。」 >が表示されません。 > >ブロック図形を移動させて「上書き保存」しないで >この外部変形を実行すると、ブロック図形は消去されます。 >「上書き保存」を習慣づけてください。 > >バッチファイルの内容を以下のように変更してください。 >メモ帳で設定.txtが表示されます。 >設定内容に変更があれば修正して上書き保存後、閉じてください。 > >※メモ帳で設定.txtを表示させたくない時は、40行目の >system("notepad 設定.txt") を削除してください。 > >↓この下から > >@REM ブロック分解 寸法分解 線色 文字色 フォント変更 >@echo off >REM #jww >REM #cd >REM #bz >REM #zz >REM #zw >REM #zs >REM #zc >REM #hf >REM #h4 >REM #hcこの外部変形を実行する前に、必ずファイルの上書き保存を実行してください。 >REM #g1 >REM #hp >REM #e >copy jwc_temp.txt temp.txt > nul >ruby -Ks bl_tenkai.rb >echo ブロック図形の処理が終了しました >copy jwc_temp.txt temp.txt > nul >echo 寸法図形分解 線色変更 文字変更フォント変更の実行中 >ruby -x %~f0 temp.txt > jwc_temp.txt >echo 寸法図形分解 線色変更 文字変更フォント変更が終了しました >goto end >#!ruby -Ks >array=["2","1","2","1","2","1","2","1","MS 明朝"] >begin > open("設定.txt","r"){|f|} >rescue > open("設定.txt","w"){|f| > f.puts("点色の変更 無:1 有:2_____________________________2") > f.puts("変更後の点色___________________________________________1") > f.puts("線色の変更 無:1 有:2_____________________________2") > f.puts("変更後の線色___________________________________________1") > f.puts("文字色の変更 無:1 有:2___________________________2") > f.puts("変更後の文字色_________________________________________1") > f.puts("フォントの変更 無:1 有:2___________________________2") > f.puts("変更後の文字フォント___________________________________MS 明朝") > } >end >system("notepad 設定.txt") > >array=[] >open("設定.txt","r"){|f| > while f.gets > xy=$_.split(/\_+/) > array<<xy[1].chomp > end >} >pn_change=array[0].to_i >pn=array[1].to_i >lc_change=array[2].to_i >lc=array[3].to_i >mojic_change=array[4].to_i >mojic=array[5].to_i >font_change=array[6].to_i >font=array[7] >def pn_change_f(line,pn_change,pn) > if pn_change==2 > puts "pn#{pn}" > else > print line > end >end >def lc_change_f(line,lc_change,lc) > xy=line.split > if lc_change==2 > if xy[0] == "lc10" > print line > else > puts "lc#{lc}" > end > else > print line > end >end >def mojic_change_f(line,mojic_change,mojic,hcw,hch,hcd) > xy=line.split > if xy[0]=~/^cn(\d+)/ > if mojic_change==2 > i=$1.to_i > if xy.size==1 > puts "cn0 #{hcw[i]} #{hch[i]} #{hcd[i]} #{mojic}" > else > puts "cn0 #{xy[1]} #{xy[2]} #{xy[3]} #{mojic}" > end > else > print line > end > end >end >def font_change_f(line,font_change,font) > if font_change==2 > puts "cn\"$<#{font}>" > else > print line > end >end >hcw=[];hch=[];hcd=[];hd=0 >while ARGF.gets > xy=$_.split > if xy[0]=~/^hq/ > elsif xy[0]=~/^hd/ > print $_ > hd=1 > elsif xy[0]=~/^hcw/ > xy.each{|item|hcw<<item.to_f} > elsif xy[0]=~/^hch/ > xy.each{|item|hch<<item.to_f} > elsif xy[0]=~/^hcd/ > xy.each{|item|hcd<<item.to_f} > elsif xy[0]=~/^pn/ > pn_change_f($_,pn_change,pn) > elsif xy[0]=~/^lc/ > lc_change_f($_,lc_change,lc) > elsif xy[0]=~/^cn(\d+)/ > mojic_change_f($_,mojic_change,mojic,hcw,hch,hcd) > elsif xy[0]=~/^cn\"/ > font_change_f($_,font_change,font) > elsif xy[0]=~/^msg/ > while ARGF.gets > xy=$_.split > if xy[0]=~/^lc/ > lc_change_f($_,lc_change,lc) > elsif xy[0]=~/^pn/ > pn_change_f($_,pn_change,pn) > elsif xy[0]=~/^cn(\d+)/ > mojic_change_f($_,mojic_change,mojic,hcw,hch,hcd) > elsif xy[0]=~/^cn\"/ > font_change_f($_,font_change,font) > elsif xy[0]=~/^\d|^-|^c[ihvsroptkz2]|^s[lceog]|^pt/ > puts "z3" > print $_ > else > print $_ > end > break if $_ =~/^#/ > end > else > print $_ > end >end >puts "hd" if hd==0 >__END__ >:end >#↑ここまでをコピペ |