Jw_cad 情報交換室−その3New

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

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

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


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

保存されたSXFユーザー定義線色・線種を読み込む外部変形
 kojima  - 19/5/19(日) 12:59 -
新しく開かれる、拡張子.jww.jww のほうの図面に読み込まれます。


@REM SXFユーザー定義線色・線種の読込
@echo off
REM #jww
REM #cd
REM #hf
REM #h0
REM #c直前に上書保存しましたか? はい:1 いいえ:1以外/_/a
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt %1>jwc_temp.txt
pause
goto end
#!ruby -Ks
while ARGV.size>1
case argument=ARGV.pop
when /\/a/
kubun=argument[2..-1].to_i
end
end
if kubun != 1
STDERR.puts "上書保存してから再実行してください"
puts "h#上書保存してから再実行してください"
exit
end
path=Dir.pwd
while ARGF.gets
if $_=~/file\=/
file=$'.chomp
end
end
if file==""
printf("h#このファイル保存されていません。保存してから再実行してください\n")
STDERR.puts "このファイルは保存されていません。保存してから再実行してください\n"
exit
end
i=0
data=""
open(file,"rb"){|f|data=f.read}
#◎jwwデータの宣言
i += 8
#◎図面のバージョン
b_n=data[i,4].unpack("L")[0];
if b_n<420
STDERR.puts "バージョンNO#{b_n}には未対応です。処理を中止します"
puts "h#バージョンNO#{b_n}には未対応です"
exit
end
i += 4
#◎メモ欄の記載文
memo_byte=data[i,1].unpack("C")[0];
i += 1+memo_byte
#◎図面サイズ
i += 4
#◎レイヤグループ・レイヤ状態
i += 4
0.upto(15){|i1|
i += 4;i += 4;i += 8;i += 4
0.upto(15){|i2|i += 4;i += 4}
}
#◎ダミー(54バイト)
i += 14*4#ダミー
#◎寸法関係の設定
i += 4;i += 4;i += 4;i += 4;i += 4
i +=4#◎ダミー
#◎線描画の最大幅
i += 4
#◎プリンタ出力範囲の原点
i += 8;i += 8
#◎プリンタ出力倍率
i += 8
#◎プリンタ90°回転出力、プリンタ出力基準点位置
i += 4
#◎目盛設定モード
i += 4
#◎目盛表示最小間隔ドット
i += 8
#◎目盛表示間隔(X,Y)
i += 8;i += 8
#◎目盛基準点(X,Y)
i += 8;i += 8
#◎レイヤ名・レイヤグループ名
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 += 8;i += 8;i += 4;i += 8
#◎天空図の条件
i += 8;i += 8
#◎2.5Dの計算単位(0以外はmm単位で計算)
i += 4
#◎保存時の画面倍率(読込むと前画面倍率になる)
i += 8;i += 8;i += 8
#◎範囲記憶倍率と基準点(X,Y)
i += 8;i += 8;i += 8
#◎マークジャンプ倍率、基準点(X,Y)およびレイヤグループ
if b_n.to_f >=3.0
1.upto(8){|i1|i += 8;i += 8;i += 8;i += 4}
else
1.upto(4){|i1|i += 8;i += 8;i += 8}
end
#◎文字の描画状態(Ver.4.05以降)
if b_n.to_f >=3.0
i += 8#ダミー
i += 8#ダミー
i += 8#ダミー
i += 4#ダミー
i += 8#ダミー
i += 8#ダミー
if b_n.to_f <4.04
i += 8#ダミー
i += 4#ダミー
else
i += 8;i += 4
end
end
#◎複線間隔
0.upto(9){|i1|i += 8}
#◎両側複線の留線出の寸法
i += 8
#◎色番号ごとの画面表示色、線幅
0.upto(9){|i1|i += 4;i += 4}
#◎色番号ごとのプリンタ出力色、線幅、実点半径
0.upto(9){|i1|i += 4;i += 4;i += 8}
#◎線種番号2から9までのパターン、1ユニットのドット数、、プリンタ出力ピッチ
2.upto(9){|i1|i += 4;i += 4;i += 4;i += 4}
#◎ランダム線1から5までのパターン、画面表示振幅・ピッチ、プリンタ出力振幅・ピッチ
1.upto(5){|i1|i += 4;i += 4;i += 4;i += 4;i += 4}
#◎倍長線種番号6から9までのパターン、1ユニットのドット数、ピッチ、プリンタ出力ピッチ
6.upto(9){|i1|i += 4;i += 4;i += 4;i += 4}
#◎実点を画面描画時の指定半径で描画
i += 4
#◎実点をプリンタ出力時、指定半径で書く
i += 4
#◎BitMap・ソリッドを最初に描画する
i += 4
#◎逆描画
i += 4
#◎逆サーチ
i += 4
#◎カラー印刷
i += 4;i += 4
#◎色番号順の印刷
i += 4
#◎レイヤグループまたはレイヤごとのプリンタ連続出力指定
j=data[i,4].unpack("L")[0]
i += 4
#◎プリンタ共通レイヤ(表示のみレイヤ)のグレー出力指定
i += 4
#◎印刷時における既定線色の線幅の基準値の「dpi」
i += 4
#◎作図時間(Ver.2.23以降)
i += 4
#◎2.5Dの始点位置が設定されている時のフラグ(Ver.2.23以降)
i += 4
#◎2.5Dの透視図・鳥瞰図・アイソメ図の視点水平角(Ver.2.23以降)
i += 4;i += 4;i += 4
#◎2.5Dの透視図の視点高さ・視点離れ(Ver.2.23以降)
i += 8;i += 8
#◎2.5Dの鳥瞰図の視点高さ・視点離れ(Ver.2.23以降)
i += 8;i += 8
#◎2.5Dのアイソメ図の視点垂直角(Ver.2.23以降)
i += 8
#◎線の長さ指定の最終値(Ver.2.25以降)
i += 8
#◎矩形寸法の最終値(Ver.2.25以降)
i += 8;i += 8
#◎円半径指定の最終値(Ver.2.25以降)
i += 8;i += 4;i += 4
i11=i
#◎SXF対応拡張線色定義拡張
0.upto(256){|i1|i += 4;i += 4}
0.upto(256){|i1|
lcn_byte=data[i,1].unpack("C")[0]
i += 1+lcn_byte
i += 4;i += 4;i += 8
}
#◎SXF対応拡張線種定義拡張
0.upto(32){|i1|i += 4;i += 4;i += 4;i += 4}
0.upto(32){|i1|
ltn_byte=data[i,1].unpack("C")[0]
i += 1+ltn_byte
i += 4
1.upto(10){|i2|i += 8}
}
i22=i
data2=""
begin
open("#{path}/temp.jwn","rb"){|f|data2=f.read}
rescue
STDERR.puts "temp.jwnがありません"
puts "h#temp.jwnがありません"
exit
end
data[i11..i22-1]=data2
open(file+".jww","wb"){|f|f.write data}
STDERR.puts "temp.jwnのSXFユーザー定義線色・線種情報を読み込んで、新規に#{file+".jww"}を作成しました\n"
File.delete("#{path}/temp.jwn")
system("start c:/jww/jw_win #{file+".jww"}")
__END__
:end


引用なし

パスワード


<Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALNJS; rv:11.0) like Gecko@ai126189108175.58.access-internet.ne.jp>
・ツリー全体表示

SFX線種をコピー貼り付け mura 19/5/18(土) 11:30
Re:SFX線種をコピー貼り付け katsu 19/5/18(土) 13:03
Re:SFX線種をコピー貼り付け mura 19/5/18(土) 13:11
Re:SFX線種をコピー貼り付け katsu 19/5/18(土) 13:38
Re:SFX線種をコピー貼り付け mura 19/5/18(土) 14:41
Re:SFX線種をコピー貼り付け sera 19/5/18(土) 14:12
Re:SFX線種をコピー貼り付け harada 19/5/18(土) 17:50
図面のSXFユーザー定義線色・線種の保存する外部変形 kojima 19/5/19(日) 12:42
保存されたSXFユーザー定義線色・線種を読み込む外部... kojima 19/5/19(日) 12:59
Re:保存されたSXFユーザー定義線色・線種を読み込む... mura 19/5/21(火) 18:20

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

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