Page 1516 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼データのあるレイヤーのみの表示 りんごの芯 21/9/1(水) 9:47 ┣Re:データのあるレイヤーのみの表示 Lion 21/9/1(水) 11:11 ┃ ┗Re:データのあるレイヤーのみの表示 りんごの芯 21/9/1(水) 19:09 ┣Re:データのあるレイヤーのみの表示 Keiichi 21/9/1(水) 11:34 ┃ ┗Re:データのあるレイヤーのみの表示 りんごの芯 21/9/1(水) 19:12 ┣無意味な機能? kojima 21/9/1(水) 14:13 ┃ ┗Re:無意味な機能? りんごの芯 21/9/1(水) 19:35 ┃ ┣Re:無意味な機能? kojima 21/9/1(水) 22:14 ┃ ┃ ┗Re:無意味な機能? りんごの芯 21/9/3(金) 17:27 ┃ ┣レイヤ整理ファイル 作成例 kojima 21/9/2(木) 15:30 ┃ ┗Re:無意味な機能? john 21/9/2(木) 15:39 ┣Re:データのあるレイヤーのみの表示 sugi 21/9/2(木) 8:31 ┃ ┗Re:レイヤ表示.bat R.N 21/9/2(木) 13:07 ┃ ┗Re:レイヤ表示.bat sugi 21/9/2(木) 14:01 ┃ ┗Re:レイヤ表示.bat R.N 21/9/2(木) 15:51 ┗Re:データのあるレイヤーのみの表示 kojima 21/9/5(日) 14:02 ─────────────────────────────────────── ■題名 : データのあるレイヤーのみの表示 ■名前 : りんごの芯 ■日付 : 21/9/1(水) 9:47 -------------------------------------------------------------------------
レイヤー表の表示で データを入れていない空のレイヤーを 一括でオフにしたいのですが、 そんな方法はありませんか? 「それは無理」ならそれでもいいです。 どなたか教えてくれませんか。 |
▼りんごの芯さん: >レイヤー表の表示で >データを入れていない空のレイヤーを >一括でオフにしたいのですが、 >そんな方法はありませんか? > >「それは無理」ならそれでもいいです。 >どなたか教えてくれませんか。 レイヤー下の「ALL」ボタンクリックで表示レイヤー以外が消えます あと、赤印が入力のあるレイヤーですので、個々にONですね。 |
▼Lionさん: >▼りんごの芯さん: >>レイヤー表の表示で >>データを入れていない空のレイヤーを >>一括でオフにしたいのですが、 >>そんな方法はありませんか? >> >>「それは無理」ならそれでもいいです。 >>どなたか教えてくれませんか。 > >レイヤー下の「ALL」ボタンクリックで表示レイヤー以外が消えます >あと、赤印が入力のあるレイヤーですので、個々にONですね。 やはりそうなんですね。 個々のON OFFが面倒なので 表示レイヤーのALLと同じ感じで 一括操作ができないかと思ったのですが。 わかりました。 ありがとうございました。 |
▼りんごの芯さん: レイヤー表とはレイヤ一覧のことですか? レイヤ一覧でデータが無いレイヤーをオフにする法があるかないかで言えばありません。 |
▼Keiichiさん: >▼りんごの芯さん: >レイヤー表とはレイヤ一覧のことですか? >レイヤ一覧でデータが無いレイヤーをオフにする法があるかないかで言えばありません。 そうです、レイヤ一覧のことです。 わかりました。 あきらめます。 ありがとうございました。 |
▼りんごの芯さん: >レイヤー表の表示で >データを入れていない空のレイヤーを >一括でオフにしたいのですが、 >そんな方法はありませんか? > >「それは無理」ならそれでもいいです。 >どなたか教えてくれませんか。 ありません。 データが無ければ表示もされないわけで、 オフにする必要はないのでは? 空のレイヤーを一括でオフにできるメリットは? 教えていただきたいです。 |
▼kojimaさん: >▼りんごの芯さん: >>レイヤー表の表示で >>データを入れていない空のレイヤーを >>一括でオフにしたいのですが、 >>そんな方法はありませんか? >> >>「それは無理」ならそれでもいいです。 >>どなたか教えてくれませんか。 > >ありません。 > >データが無ければ表示もされないわけで、 >オフにする必要はないのでは? > >空のレイヤーを一括でオフにできるメリットは? >教えていただきたいです。 使っていないレイヤーでも 表には番号が表示されていますよね。 データのあるレイヤーは、線のマークが点いて 判別できるようになっているのも理解しています。 ただ、 「あれとこれと、ここもあそこも、移動しよ」 ってなった時に、 見落として漏らすんです、集中力が足りなくて。 見落としと、見間違いと。 で、使っていないレイヤーだけでも 番号をOFFにしてやってみたりするんですが 個別でOFFにしていると 時間がかかって仕方ない。 で、 ちょっとみなさんに聞いてみました。 ありがとうございました。 あきらめます。 |
>使っていないレイヤーでも >表には番号が表示されていますよね。 >データのあるレイヤーは、線のマークが点いて >判別できるようになっているのも理解しています。 > >ただ、 >「あれとこれと、ここもあそこも、移動しよ」 >ってなった時に、 >見落として漏らすんです、集中力が足りなくて。 >見落としと、見間違いと。 あとで、まとめて指定したレイヤに移動させる方法として レイヤ整理ファイル(JWL)という機能があります。 「設定」→「環境設定ファイル」→「編集・作成」 ファイル選択画面のファイル名「sample.jwl」と入力する。 sample.jwlが開きます。 説明文があります。 |
▼kojimaさん: >あとで、まとめて指定したレイヤに移動させる方法として >レイヤ整理ファイル(JWL)という機能があります。 > >「設定」→「環境設定ファイル」→「編集・作成」 >ファイル選択画面のファイル名「sample.jwl」と入力する。 > >sample.jwlが開きます。 >説明文があります。 見てみました。 読みました。 ・・・ 理解に時間がかかりそうなので 〆切から解放されてから じっくりやってみます。 ありがとうございました。 返信が遅くなり失礼しました。 |
◎前提条件(例) レイヤ0の名前を「躯体基準線」とする。 躯体基準線は、線色1 線種5で描かれていること。 レイヤ1の名前を「躯 体」とする。 躯体は、線色2で描かれていること。 レイヤ2の名前を「機器基準線」とする。 機器基準線は、線色1 線種6で描かれていること。 レイヤ3の名前を「機 器」とする。 機器は、線色3で描かれていること。 レイヤ4の名前を「配管基準線」とする。 配管基準線は、線色8 線種6で描かれていること。 レイヤ5の名前を「配 管」とする。 配管は、線色6で描かれていること。 レイヤ6の名前を「文 字」とする。 文字種は問わず、寸法属性でないこと。 レイヤ7の名前を「寸 法」とする。 寸法属性であること。 レイヤ8の名前を「ソリッド図形」とする。 ソリッド図形であること。 レイヤ9の名前を「ブロック図形」とする。 ブロック図形であること。 ◎レイヤ整理ファイル(.jwl)の作成 ↓メモ帳(notepad)に以下の記載をする。 LAY_0_N =躯体基準線 LAY_0 = 1 5 0 0 0 LAY_1_N = 躯 体 LAY_1 = 2 0 0 0 0 LAY_2_N = 機器基準線 LAY_2 = 1 6 0 0 0 LAY_3_N = 機 器 LAY_3 = 3 0 0 0 0 LAY_4_N = 配管基準線 LAY_4 = 8 6 0 0 0 LAY_5_N = 配 管 LAY_5 = 6 0 0 0 0 LAY_6_N = 文 字 LAY_6_F = 0 0 0 1 0 LAY_7_N = 寸 法 LAY_7 = 0 0 0 0 3 LAY_8_N = ソリッド図形 LAY_8 = 0 0 0 0 7 LAY_9_N = ブロック図形 LAY_9 = 0 0 0 0 8 C:\jwwフォルダに適当な名前で保存する。(sample2.jwl) ◎レイヤ整理ファイル(.jwl)の読み込み JWW図面上で 「設定」→「環境設定ファイル」→「読み込み」 ファイル選択画面で、ファイルの種類をJWL(*.JWL)にする。 sample2.jwlを選択して開く。 ※各レイヤの名称がsample2.jwlに記載された名称に変更される。 ※散らばっているデータがsample2.jwlに記載されたレイヤに移動する。 線色1 線種5のデータは、レイヤ0に移動。 線色2のデータは、レイヤ1に移動。 線色1 線種6のデータは、レイヤ2に移動。 線色3のデータは、レイヤ3に移動。 線色8 線種6のデータは、レイヤ4に移動。 線色6のデータは、レイヤ5に移動。 寸法属性以外の文字は、レイヤ6に移動。 寸法属性は、レイヤ7に移動。 ソリッド図形は、レイヤ8に移動。 ブロック図形は、レイヤ9に移動。 |
▼りんごの芯さん: レイヤバーの、書き込みレイヤを右クリックで、レイヤごと要素の一覧が出て、その画面で右クリックすると書き込みレイヤの移動も出来ますので一助になるかもしれませんが、ご存知でしたらスルーして下さい。 |
rubyの外部変形で作ってみたのですが、こんなのはどうでしょう? http://pansy.s1010.xrea.com/2021/09/02/%e3%83%ac%e3%82%a4%e3%83%a4%e8%a1%a8%e7%a4%ba/ |
▼sugiさん: >rubyの外部変形で作ってみたのですが、こんなのはどうでしょう? > >http://pansy.s1010.xrea.com/2021/09/02/%e3%83%ac%e3%82%a4%e3%83%a4%e8%a1%a8%e7%a4%ba/ こんにちは、 お久です、お元気そうで、何より (`・ω・´)ノ リンクサイトの枠内をコピーして、Text(S_JIS)で貼り付けたのですが、半角の空白(区切り)が抜けてしまうようですが? gemsを使ったことがないので、挑戦してみます。 ありがとうございます。 |
あれ、なぜだろう?って調べてみたんですがスクリプトを直接選択して貼り付けると半角スペースが跳ぶ個所ができますね。 スクリプトの右上部分にカーソルを乗せると「Copy」って出るボタンがあるのでこのボタンを押してコピーしてください。 # そういえば、以前も一度ここでハマったんだった orz |
▼sugiさん: >スクリプトの右上部分にカーソルを乗せると「Copy」って出るボタンがあるのでこのボタンを押してコピーしてください。 ># そういえば、以前も一度ここでハマったんだった orz そうでしたか〜 確認不足ですね ( ´_ゝ`)ゞ すみません。 |
@REM データのあるレイヤのみ表示にして開く @echo off REM #jww REM #cd REM #hf REM #h0 REM #e copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt > jwc_temp.txt pause goto end #!ruby -Ks #data_mojiとdata_noをarray2(二重配列)に収集する。 def data_no_collect(data,i,array2,data_moji,no,hash,j) data_no=no+j array2<<[data_moji,data_no] i=data_next(data,i,data_moji,hash) return i end #data_mojiのバイト数の分だけiを次へ進める。 def data_next(data,i,data_moji,hash) ly=data[i+9,2].unpack("S")[0] lg=data[i+11,2].unpack("S")[0] unless $lg_a[lg]==3 $lg_a[lg]=2 end unless $lg_ly_a[lg][ly]==3 $lg_ly_a[lg][ly]=2 end if data_moji=="CDataMoji" f_i=data[i+83,1].unpack("C")[0] m_i=data[i+84+f_i,1].unpack("C")[0] m_byte=83+f_i+m_i+2 hash[data_moji]=m_byte i += hash[data_moji] elsif data_moji=="CDataSunpou" f_i=data[i+145,1].unpack("C")[0] m_i=data[i+146+f_i,1].unpack("C")[0] m_byte=147+f_i+m_i+236 hash[data_moji]=m_byte i += hash[data_moji] elsif data_moji=="CDataSolid" if data[i+5] == 10 i += hash[data_moji]+4 else i += hash[data_moji] end elsif data_moji=="CDataTen" if data[i+4] == 100 i += hash[data_moji]+20 else i += hash[data_moji] end else i += hash[data_moji] end return i end STDERR.puts "事前に上書き保存しましたか? NO:0 YES:1" flg=STDIN.gets.chomp.to_i if flg != 1 STDERR.puts "上書き保存してから再実行してください" exit end while ARGF.gets if $_=~/^file\=/ file=$'.chomp end end $lg_a=Array.new(16) $lg_ly_a=[] 0.upto(15){|i|$lg_ly_a<<Array.new(16)} i=0;data="";open(file,"rb"){|f|data=f.read} i += 8 b_n=data[i,4].unpack("L")[0] i += 4 if b_n<351 STDERR.puts "バージョンNO#{b_n}には対応していません。パスします" puts "h#バージョンNO#{b_n}には対応していません。パスします" exit end memo_byte=data[i,1].unpack("C")[0] i += 1+memo_byte i += 8 i3=i 0.upto(15){|i1| if data[i,4].unpack("L")[0]==3 $lg_a[i1]=data[i,4].unpack("L")[0] end i += 20 0.upto(15){|i2| if data[i,4].unpack("L")[0]==3 $lg_ly_a[i1][i2]=data[i,4].unpack("L")[0] end i += 8 } } i += 156 0.upto(15){|i1| 0.upto(15){|i2|byte=data[i,1].unpack("C")[0];i += byte+1} } 0.upto(15){|i1|byte=data[i,1].unpack("C")[0];i += byte+1} #◎日影計算の条件 i += 96 #◎マークジャンプ倍率、基準点(X,Y)およびレイヤグループ if b_n>=300 1.upto(8){|i1|i += 28} else 1.upto(4){|i1|i += 24} end if b_n >=300 i += 56 end i += 2820 0.upto(256){|i1|lcn_byte=data[i,1].unpack("C")[0];i += 1+lcn_byte;i += 16} i += 528 0.upto(32){|i1| ltn_byte=data[i,1].unpack("C")[0];i += 1+ltn_byte;i += 4 1.upto(10){|i2|i += 8} } i += 380 #◎図形(線・円・点・文字・ソリッド・寸法図形・ブロック図形)の総数 int1=data[i,2].unpack("S")[0] if int1==255*256+255 i += 2 n2=data[i,4].unpack("L")[0] i += 4 else n2=int1 i += 2 end #◎図形(線・円・点・文字・ソリッド・寸法図形・ブロック図形)のデータNOの検出 hash={"CDataSen"=>47,"CDataTen"=>35,"CDataEnko"=>75,"CDataSolid"=>79,"CDataBlock"=>59} data_moji="";array2=[];no=0;j=0 while no<n2 no += 1 int1=data[i,2].unpack("S")[0] if int1==255*256+255 i += 4 n=data[i,2].unpack("S")[0] i += 2 data_moji=data[i,n] i += n i=data_no_collect(data,i,array2,data_moji,no,hash,j) j += 1 elsif int1==127*256+255 i += 2 n=data[i,4].unpack("L")[0]-128*256*256*256 i += 4 array2.each{|item| if item[1] == n data_moji=item[0] break end } i=data_next(data,i,data_moji,hash) else n=int1-(128*256) i += 2 array2.each{|item| if item[1] == n data_moji=item[0] break end } i=data_next(data,i,data_moji,hash) end end i=i3 0.upto(15){|i1| if $lg_a[i1]==nil data[i,4]=[0].pack("L") end i += 20 0.upto(15){|i2| if $lg_ly_a[i1][i2]==nil && $lg_a[i1]!=nil data[i,4]=[0].pack("L") end i += 8 } } file2=file+".jww" open(file2,"wb"){|f|f.write(data)} system("c:\\jww\\jw_win #{file2}") __END__ :end |