Jw_cad 相談室−その2 New

 Jw_cad についての相談の場としてお使いください
情報の交換には Jw_cad 情報交換室 をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
1309 / 1500     ←次へ | 前へ→

Re:pathの設定が必要
 加藤  - 21/11/13(土) 22:58 -
▼kojimaさん:
>以下のbatファイルをコピペして実行してみてください。
>
>
>c:\ruby\bin\ruby -x %~f0
>pause
>goto end
>#!ruby -Ks
>$lc=1
>#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)
> if data_moji=="CDataMoji"
> font_change(data,i,data_moji)
>
> 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"
> lc_change2(data,i,data_moji)
> font_change2(data,i,data_moji)
>
> 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"
> lc_change(data,i,data_moji)#線・円の場合は、$str_hに対応する線色に変更
> if data[i+4] == 100
> i += hash[data_moji]+20
> else
> i += hash[data_moji]
> end
> else
> lc_change(data,i,data_moji)#線・円の場合は、$str_hに対応する線色に変更
> i += hash[data_moji]
> end
> return i
>end
>#線・円を線色1に変更する
>def lc_change(data,i,data_moji)
> data[i+5,2]=[$lc].pack("S")
>end
>#寸法図形を線色1に変更する
>def lc_change2(data,i,data_moji)
> data[i+20,2]=[$lc].pack("S")
>end
>#文字色を線色1 文字のフォントをMS 明朝にする
>def font_change(data,i,data_moji)
> data[i+5,2]=[$lc].pack("S")
> data[i+47,4]=[0].pack("L")
> f_i=data[i+83,1].unpack("C")[0]
> data[i+83,1]=[9].pack("C")
> data[i+83+1,f_i]="MS 明朝".unpack("C*").pack("C*")
>end
>#寸法図形の線色1 フォントをMS 明朝にする
>def font_change2(data,i,data_moji)
> data[i+67,2]=[$lc].pack("S")
> data[i+109,4]=[0].pack("L")
> f_i=data[i+145,1].unpack("C")[0]
> data[i+145,1]=[9].pack("C")
> data[i+145+1,f_i]="MS 明朝".unpack("C*").pack("C*")
>end
>#メインルーチン
>path=Dir.pwd
>file_a=(Dir.entries(path)).select{|item|item=~/\.jww$/i}
>file_a.each{|file|
> base_name = $` if file =~ /\.jww$/i
> new_file_neme = base_name+"_2"+".jww"
> begin
> i=0
> data=""
> open(file,"rb"){|f|data=f.read}
> #◎jwwデータの宣言
> i += 8
> #◎図面のバージョン
> b_n=data[i,4].unpack("L")[0]
> i += 4
> if b_n<351
> puts "バージョンNO#{b_n}には対応していません。パスします";next
> end
> memo_byte=data[i,1].unpack("C")[0]
> i += 1+memo_byte
> i += 8
> 0.upto(15){|i1|i += 20
> 0.upto(15){|i2|i += 8}
> }
> i += 14*4#ダミー
> i += 100
> 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
> if b_n>=300
> 1.upto(8){|i1|i += 28}
> else
> 1.upto(4){|i1|i += 24}
> end
> if b_n >=300
> i += 44
> if b_n <404
> i += 12
> else
> i += 12
> end
> 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
> i+=80
> }

ありがとうございます。
この上のものと続きの中のやつを上下つなげてひとつのbatファイルとして保存して実行しましたが。うまくいきませんでした。

d;/フォルダー名/バッチファイル名.bat:210:syntax error,unexpected tCONSTANT,rxpecting KEND
int=data[i,2]unpack("s")[0]

みたいなものが30行ほどでます。
コピペが出来なかったので見ながら打ち込みましたから間違いがあるかもしれませんが・・・

そろそろ諦めたほうがよさそうですかね。


引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.44@M014011067097.v4.enabler.ne.jp>
・ツリー全体表示

複数のファイルの図面の線種など一括変更の仕方 加藤 21/11/10(水) 10:01
Re:複数のファイルの図面の線種など一括変更の仕方 kojima 21/11/10(水) 12:12
Re:複数のファイルの図面の線種など一括変更の仕方 加藤 21/11/10(水) 21:33
Re:複数のファイルの図面の線種など一括変更の仕方 加藤 21/11/10(水) 21:58
Re:複数のファイルの図面の線種など一括変更の仕方 Keiichi 21/11/11(木) 7:35
[投稿者削除]
Re:複数のファイルの図面の線種など一括変更の仕方 Keiichi 21/11/11(木) 13:03
Re:複数のファイルの図面の線種など一括変更の仕方 加藤 21/11/11(木) 18:22
Re:複数のファイルの図面の線種など一括変更の仕方 Keiichi 21/11/11(木) 18:52
pathの設定が必要 kojima 21/11/11(木) 20:10
Re:pathの設定が必要 加藤 21/11/11(木) 23:07
Re:pathの設定が必要 kojima 21/11/12(金) 12:51
Re:pathの設定が必要 加藤 21/11/12(金) 20:46
Re:pathの設定が必要 kojima 21/11/12(金) 23:47
続き kojima 21/11/12(金) 23:48
Re:pathの設定が必要 加藤 21/11/13(土) 22:58
行頭の半角スペースと文字コード kojima 21/11/14(日) 13:49
Re:行頭の半角スペースと文字コード 加藤 21/11/14(日) 21:12

1309 / 1500     ←次へ | 前へ→
新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
 1033062
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b5
Jw_cad Copyright (C)1997-2021 Jiro Shimizu & Yoshifumi Tanaka