Jw_cad 相談室−その2 New

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

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

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


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

Re:pathの設定が必要
 kojima  - 21/11/12(金) 23:47 -
以下の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
}


引用なし

パスワード


<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@ai126173137179.46.access-internet.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

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

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