Jw_cad 相談室−その2 New

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

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

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


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

Re:データのあるレイヤーのみの表示
 kojima  - 21/9/5(日) 14:02 -
@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


引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.38@ai126160130115.39.access-internet.ne.jp>
・ツリー全体表示

データのあるレイヤーのみの表示 りんごの芯 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

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

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