この文書を書くにあたっては、Jw_win付属の「jww_smpl.bat」の内容を参考にしています。
たぶん大丈夫だと思うのですが著作権的に問題がありましたら、
mintleaf@mint.freemail.ne.jpまで御連絡ください。即謝ります。
無保証です。使用時は自己責任でお願いいたします。
また、この文書にはJw_winのキャプチャ画像がありますが、この文書は通信費や通信用のパソコン等にかかる実費を除くと、無償で配布しているため、Jw_winの使用条件(4)
(4)サンプルデータ及び画面の使用制限 添付のサンプルデータまたはプログラムの動作画面を含んだ ドキュメントを有償で配布する場合は、事前にご相談ください。には抵触していません。
Jw_winで外部変形を実行する際に一時的に生成されるデータファイル。内容はテキストファイルで、中には図面情報・座標情報などが入っている。
このjwc_temp.txtを任意のプログラムで処理してJw_winに戻すと、その処理がJw_winの画面上で反映される。これが外部変形の仕組みである。
仕様がやや異なるが、原理自体はJW_CAD,HO_CAD,BeDraw、全て同じである。
以下は標準的なjwc_temp.txt(REM #jww)の一例。
hq hk 0 hs 1 100 50 50 60 1 1 1 1 50 50 1 50 50 50 1 hcw 2 2.5 3 4 5 6 7 8 9 10 hch 2 2.5 3 4 5 6 7 8 9 10 hcd 0 0 0.5 0.5 0.5 0.5 1 1 1 1 hcc 1 1 2 2 3 3 4 4 5 5 hn -426.361037254366 -351.966948941264 338.029167859708 283.230545449305 lg1 ly4 lc3 lt1 cn3 cn"$<MS ゴシック> # lc5 ci 75.3373227219136 115.997758790544 100 180 270 1 180 lc1 ci -60.9323933523733 55.3750759984233 100 90 180 1 0 lc6 ci -104.0969977274 -146.69408634725 100 180 270 1 0 lc3 ci 89.6920683578585 -24.6787484417169 100 180 270 1 90 # lg0 11 lgn一階平面 ly0 11 lyn通り芯 ly1 11 lyn壁 ly2 11 lyn柱 ly3 11 lyn断熱 ly4 11 lyn建具 ly5 11 lyn家具 ly6 11 lyn外構 ly7 11 lyn室名 ly8 11 lynハッチ ly9 11 lyn lya 11 lyn寸法 lyb 11 lyn記事 lyc 11 lyn lyd 11 lyn lye 11 lyn lyf 11 lyn補助線
一つ目の「#」の行を区切りに上には、軸角・縮尺等の図面データが出力される。
一つ目の「#」より下の行には図形データが出力される。
バッチファイルで「REM #gn」を指定した場合は、二つ目の「#」が出力され、その下にレイヤに関する情報が出力される。
行の各データの区切りは半角スペースかタブを使う。
外部変形プログラムを実行したかチェックする文字。
jwc_temp.txtをJw_winに戻すとき「hq」の記述が残っていると、
例え実際にはプログラムを実行していても、プログラム未実行とみなされる。
現在編集中のファイル名がフルパスで出力される。
バッチファイルで「REM #hf」を指定しているときのみ出力される。
以下編集中ファイルが、c:\ore\hoge.jwwの場合。
file=c:\ore\hoge.jww
現在の軸角を出力する。以下、現在の軸角が5度の場合。
hk 5
レイヤグループの縮尺の分母が出力される。以下、例。
hs 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30縮尺が1/1以上(2/1等)を越える場合は小数になる。
文字列の幅設定を文字種No.1〜No.10まで出力する。
hcw 2 2.5 3 4 5 6 7 8 9 10
文字列の高さ設定を文字種No.1〜No.10まで出力する。
hch 2 2.5 3 4 5 6 7 8 9 10
文字列の文字間隔設定を文字種No.1〜No.10まで出力する。
hcd 0 0 0.5 0.5 0.5 1 1 1 1 1
文字列の文字ペンNo設定を文字種No.1〜No.10まで出力する。
ペンNoは1〜9で、9は補助線色。
hcc 1 1 2 2 3 3 4 4 5 5
範囲選択の始点と終点の座標を出力する。
バッチファイルで、「REM #h1」「REM #h2」「REM #h3」を指定したときのみ出力される。
以下、始点座標が(0,100)、終点座標が(200,300)の場合。
hn 0 100 200 300
指定点の座標を出力する。範囲は「hp1」〜「hp99」で、それぞれバッチファイルの「REM #1」〜「REM #99」に対応する。
以下、「REM #1」で指定した座標が(100,200)の場合。
hp1 100 200
バッチファイルで「REM #1-」と指定した場合は、以下のように出力される。
hp1- 100 200
バッチファイルで「REM #1ln」「REM #1ci」「REM #1ch」と指定した場合は、それぞれ以下のように出力される。
hp1ln 100 200 hp1ci 100 200 hp1ch 100 200
現在の書込レイヤグループを示す。範囲は「lg0」〜「lg9」「lga」〜「lgf」。
現在の書込レイヤを示す。範囲は「ly0」〜「ly9」「lya」〜「lyf」。
現在の書込線色を示す。範囲は「lc1」〜「lc9」。
現在の書込線種を示す。範囲は「lt1」〜「lt9」(通常線種)と、「lt11」〜「lt19」(ランダム線・倍長線色)。
現在の書込文字種を示す。範囲は「cn0」〜「cn10」で、「cn0」は任意サイズ文字。
「cn0」の場合は、同じ行に文字列の高さ・幅・間隔・ペンNo情報も出力される。
以下、文字高さ3.5、文字幅3.5、文字間隔0、ペンNo2の場合。
cn0 3.5 3.5 0 2
現在の書込文字フォントを出力する。バッチファイルで「REM #jww」を宣言したときのみ有効。Jw_win専用データ。
以下、「MS ゴシック」の場合。
cn"$<MS ゴシック>
jwc_temp.txt(Jw_win)では、図形の属性情報と座標情報が別々になっている。
ここではレイヤ・線色といった属性に関する情報について説明する。
この行以後の図形データは、ここで指定したレイヤグループに所属するようになる。
範囲は「lg0」〜「lg9」「lga」〜「lgf」。
使用時は縮尺の変更に注意。Jw_win2.50以降、座標値は各レイヤグループの実寸値で扱う。
この行以後の図形データは、ここで指定したレイヤに所属するようになる。
範囲は「ly0」〜「ly9」「lya」〜「lyf」。
この行以後の図形データは、ここで指定した線色になる。
範囲は「lc1」〜「lc9」「lc10」。
「lc10」はソリッド図形用のデータで、任意色を指定した場合に使い、任意色の色情報もセットになっている。Jw_win専用データ。
色はRGB形式で指定でき、数値を算出する公式は、
[赤(0〜255)]+[緑(0〜255)*256]+[青(0〜255)*256*256]となっている。
たとえば、R16,G32,B64の場合は、
16 + (32 * 256) + (64 * 256 * 256)で、結果は「4202512」となる。
lc10 4202512となる。
この行以後の図形データは、ここで指定した線種になる。
範囲は「lt1」〜「lt9」(通常線種)と、「lt11」〜「lt19」(ランダム線・倍長線色)。
この行以後の図形データ(文字列)は、ここで指定した文字種になる。
範囲は「cn0」〜「cn10」で、「cn0」の場合は任意サイズ文字。
文字幅4,文字高さ6,文字間隔2,文字ペンNo.5の任意サイズ文字は、
cn0 4 6 2 5と表す。
この行以後の図形データ(文字列)は、ここで指定した文字フォントになる。
以下、「MS ゴシック」の場合。
cn"$<MS ゴシック>
次行にある図形データの
複数指定も可で、その場合は数値が小さい順から並べる。
文字データにはハッチ(z1)属性はつけられない。
jwc_temp.txt(Jw_win)では、図形の属性情報と座標情報が別々になっている。
ここでは線・円・文字といった座標に関する情報について説明する。
線の始点(x1,y1)と終点(x2,y2)を区切って記述する。
行頭識別子はないので注意。
例、(100,200)と(300,400)を結ぶ線。
100 200 300 400
外部変形座標には三角形や四角形はなく、単線の集合で形成する。
Jw_winの正円データは、中心のX,Y座標と半径で表される。
以下、中心点の座標が(100,200)、半径が(300)の場合。
ci 100 200 300
Jw_winで正円弧を表現するには、
ci 100 200 300 45 180 1 0語尾の「1」と「0」は、それぞれ偏平率と軸角。正円弧の場合は「1」と「0」固定でよい。
Jw_winで楕円を表現するには、
「偏平率」は、楕円・楕円弧のX軸半径の割合を1とした場合、Y軸半径の割合をいくつにするか示す。
「軸角」は、傾いた楕円を作図する場合に必要。X軸半径線の角度を与える。
以下、中心X座標が100,同Y座標が200,半径が300,偏平率が1.5、軸角が5度の楕円の場合。
ci 100 200 300 0 360 1.5 5この場合は楕円なので、始角は「0」,終角は「360」となる。
これを、例えば45度〜75度の楕円弧にしたい場合は、
ci 100 200 300 45 75 1.5 5と、する。
Jw_winは文字列を以下の形式で表現する。
文字種類 x1 y1 xv1 yv1 "文字列文字種類は、以下のどれかを使う。
xv1,yv1は、文字列の方向を示すのに必要なデータ。
文字列の左下座標を(0,0)とした場合、右下座標の方向を示す。
「"文字列」には文字列を入れる。先頭に「"」をつける必要がある。
外部変形で作成した文字列の基準点は左下固定となる。任意の設定はできない。
「pt x1 y1」であらわす。以下X座標が100,Y座標が200の点。
pt 100 200
外部変形では仮点の作図はできない。
曲線の実体は単線の集合である。以下のように記述する。 前の線の終点座標と、次の線の始点座標は一致させる必要がある。
pl 100 200 300 400 300 400 600 800 600 800 1200 1500 #
寸法図形は「線」と「寸法値」がセットになった図形。
寸法線が(x1,y1)-(x2,y2)、寸法値が(x3,y3,xv4,yv4,"文字列,文字種3)のデータを寸法図形とする場合は、
msg x1 y1 x2 y2 cn3 cs x3 y3 xv4 yv4 "文字列 #とする。
なお、以下のデータの算出は自前でおこなう必要がある。
ブロック図形は、外部変形では内容の変更や新規作成はできない。
外部変形で取り出せる情報は、
BL 100 200 "hogehoge #となる。BLは大文字なので注意。
sl x1 y1 x2 y2で表せる。
sl x1 y1 x2 y2 x3 y3で表せる。
sl x1 y1 x2 y2 x3 y3 x4 y4で表せる。
sc x1 y1 r1 hp zk a1 a3 f1
se x1 y1 r1 hp zk a1 a3 f1
so x1 y1 r1 hp zk a1 a3 r2 sg x1 y1 r1 hp zk a1 a3 r2
数値 | 編集 | 表示 | P(/) | P(X) |
00 | 不可 | 非表示 | なし | なし |
01 | 不可 | 表示 | なし | なし |
11 | 可能 | 表示 | なし | なし |
20 | 不可 | 非表示 | あり | なし |
21 | 不可 | 表示 | あり | なし |
30 | 可能 | 非表示 | あり | なし |
31 | 可能 | 表示 | あり | なし |
60 | 不可 | 非表示 | なし | あり |
61 | 不可 | 表示 | なし | あり |
70 | 可能 | 非表示 | なし | あり |
71 | 可能 | 表示 | なし | あり |
lg%x %d
lgn**************
ly%x %d
lyn**************
heエラーが発生しました。
h/********.BAT別の外部変形プログラムの実行に移行できる。
h#処理は完了しました。
by 2