AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
【Jw_cad 外部変形】メモ帳でJWC_TEMP.TXTを編集
既に公開されている外部変形アプリでは、書き出される「JWC_TEMP.TXT」を編集するのに、awk、ruby、perl、WSH、等のようなスクリプト系の言語処理系や、Visual BASIC、Visual C++、Delphi(Pascal)、Fortran、等のような言語処理系が利用されていますし、EXCELマクロのような仕組みを利用されているものもあります。私自身は Delphi6をよく利用していますので、ここで作成する場合には自然と Delphi6で作成していく予定ですが、当面は、前回の「メモ帳起動.bat」を利用して編集する事にします。
 
まずは用紙枠に線を描きたい、という事から始めます。実際の編集の前に、用紙サイズを書き出したいのでバッチファイルを修正しておきます。「REM #zs」を追記します。
メモ帳起動.bat
REM メモ帳を起動しJWC_TEMP.TXTを開く
REM #jww
REM #cd
REM #zs
REM #e
start /w notepad JWC_TEMP.TXT
Jw_cad を起動し、用紙サイズ「A0」レイヤグループ[0]縮尺[1/100]の状態で「メニュー→その他→外部変形」→「メモ帳起動.bat」を選択・実行します。
hq
hk 0
hs 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 1
hzs 1189 841
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 1 1 1 1 1
hcc 1 1 2 2 3 3 4 4 5 5
hn 0 0 0 0
lg0
ly0
lc2
lt1
cn0 3.5 3.5 0 2
cn"$<MS ゴシック>
#
まずは冒頭の「hq」を消し、用紙サイズは
「hzs」 図面サイズ(用紙寸法mm)
 書式:hzs xsize ysize
ですがここでは「hzs 1189 841」となっていますので、横1189mm、縦841mmという事が分かります。
次に、線データは
線データ(始点x1,y1 終点x2,y2)
 書式:x1 y1 x2 y2
連続線データは
連続線データ(第1点x1,y1 第2点x2,y2 第3点x3,y3 …)
 書式:x1 y1
    x2 y2
    x3 y3
    ・・・
 最初の行の前の行・最後の行の次の行は 空行、との事
となり、各座標値は実寸値で中央が原点(0,0)となるようですので、レイヤグループ[0]の縮尺は1/100ですから、118900mm・84100mmの長方形となり、原点は中央ですから左右上下はプラスマイナスの半分の値になり、左下(-59450,-42050)〜右上(59450,42050)となりますので
-59450 -42050 59450 -42050
59450 -42050 59450 42050
59450 42050 -59450 42050
-59450 42050 -59450 -42050
又は

-59450 -42050
59450 -42050
59450 42050
-59450 42050
-59450 -42050
となりますから、連続線の方が簡単なので連続線を採用して
hk 0
hs 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 1
hzs 1189 841
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 1 1 1 1 1
hcc 1 1 2 2 3 3 4 4 5 5
hn 0 0 0 0
lg0
ly0
lc2
lt1
cn0 3.5 3.5 0 2
cn"$<MS ゴシック>
#

-59450 -42050
59450 -42050
59450 42050
-59450 42050
-59450 -42050
という具合に書き換えてメモ帳を終了&上書き保存し、Jw_cad に戻ると、全体表示では少しみにくいですが、少し縮小表示をすると用紙枠に線が描かれているのが分かると思います。

しかし縮尺の値によって座標値をころころと変えないといけない、というのはやや面倒です。1/10や1/100の場合は簡単ですが、1/30や1/50等だと少し面倒です。実寸値ではなく図寸値で書きたい。そういう場合は
「bz」 データが図面寸法
 書式:bz
を利用すると良いです。この場合は
hk 0
hs 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 1
hzs 1189 841
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 1 1 1 1 1
hcc 1 1 2 2 3 3 4 4 5 5
hn 0 0 0 0
lg0
ly0
lc2
lt1
cn0 3.5 3.5 0 2
cn"$<MS ゴシック>
#
bz

-594.5 -420.5
594.5 -420.5
594.5 420.5
-594.5 420.5
-594.5 -420.5
と書き換えます。上記と同じ結果になります。
 
 
次に、更に上下左右・図寸5mm分ずつ中に入った長方形を補助線色・点線1で作図したいとします。補助線色の番号は「9」、点線1の番号は「2」ですので、「lc9」「lt2」を書いた後に再び連続線データを5mm分ずつ引いた値で記述します。
上記を動かした後に連続して実行する場合には、一旦、「戻る」を行って以前の用紙枠上の線を消しておいて下さい。
hk 0
hs 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 1
hzs 1189 841
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 1 1 1 1 1
hcc 1 1 2 2 3 3 4 4 5 5
hn 0 0 0 0
lg0
ly0
lc2
lt1
cn0 3.5 3.5 0 2
cn"$<MS ゴシック>
#
bz

-594.5 -420.5
594.5 -420.5
594.5 420.5
-594.5 420.5
-594.5 -420.5

lc9
lt2

-589.5 -415.5
589.5 -415.5
589.5 415.5
-589.5 415.5
-589.5 -415.5
という具合に書き換えてメモ帳を終了&上書き保存し、Jw_cad に戻って確認してみて下さい。

 
点座標指定や範囲選択を行ってデータ書き出し(=座標値を取得)する場合には、通常は、実寸値での取得となりますが、これを図寸値で取得したい場合は、バッチファイルで
「REM #bz」図面寸法でデータを書込み
の指定を行う事になります。
 
外部変形アプリを作成する場合には、
 座標値等を実寸で扱いたいのか、図寸で扱いたいのか
を明確にしておく事が必要のように思います。
例えば、ねじ図や歯車図のような部品そのものは実寸で、地図記号や電気図記号や配管シンボルなどの図記号は図寸で、など。勿論、全て実寸で扱い、必要に応じて、レイヤグループの縮尺の分母値を掛ければ良い訳でもあります。
 
 
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
M7
Jw_cad
 [BACK]
 [NEXT]
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015 By AFsoft All Rights Reserved.