#Jw_cadでPythonを活用するには(その2)
その1でJw_cadの外部変形機能の.batファイルの作成と実行までを解説。
今回その2では、外部変形ファイル(.bat)の中に記載するREM #~~~
と実際の動きを解説する。
#【REM #~~~】とは
その1でもちょっとだけ触れたが、Jw_cad内のみで動作するコマンドである。
本来の意味は、バッチファイル内にコメントを残す時にREM~~~
と記載すると
画面にも表示されず、実行もされない文字列として使用されるのだが、
Jw_cadでは、REM
と␣#
を組み合わせて、Jw_cad内で動作するコマンドとされている。
REM #~~~
を下記にて解説。
#【基本的なREM #~~~】の解説
コマンド名 | 機能・動作 | 備考 |
---|---|---|
REM ~~~ | Jw_cad上での表示名称 | REMの後に#は不要 |
REM #jww | JWW形式の宣言 | ブロック図形や寸法図形、文字フォントが扱える。 |
REM #jw | JW形式の宣言 | 上記とは逆に機能が制限される。 あまり使用することは無いかも? |
REM #cd | 実行ファイルと同じ場所にJWC_TEMP.TXT作成 | 記載していないと、 Jw_cadがインストールされているフォルダに作成 |
その1で作成したhogehoge.batにも上記の基本的コマンドを使用 |
@echo off
REM 外部変形起動(hello world!!)
REM #jww
REM #cd
echo hello world!!
pause >nul
#【選択範囲.bat】での起動
メモ帳で下記の内容を打ち込み、名前をつけて保存で範囲選択.bat
で保存。
@echo off
REM 範囲選択
REM #cd
REM #jww
REM #0
call notepad.exe JWC_TEMP.TXT
pause >nul
hogehoge.batと異なる所は、5行目にREM #0
を6行目にcall notepad.exe JWC_TEMP.TXT
追加した。
REM #0
を追加することで、外部変形範囲選択.bat
を開くとJw_cad上に**No.0 基準点を指示して下さい。**と表示され、任意の点を基準に外部変形を実行する。
call notepad.exe JWC_TEMP.TXT
は外部変形が終了する前にJWC_TEMP.TXT
を開くコマンド
上記画面は、外部変形の選択~範囲選択~メモ帳が開くまでの図。
外部変形 → 範囲選択.bat → 任意の箇所をクリック → コマンドプロンプトが表示 → JWC_TEMP.TXT
が開く。
#【JWC_TEMP.TXT】を編集し図面上へ反映させる。
【外部変形ファイル】の動作で実行した、範囲選択.bat
を実行し、
JWC_TEMP.TXT
をメモ帳で表示させる。(JWC_TEMP.TXTを保存するまで、コマンドプロンプトは触らない。)
下のJWC_TEMP.TXT
内容の通り、#
の下に座標データを入力
また、JWC_TEMP.TXT
の1行目のhq
を削除し、上書き保存。
画面上にコマンドプロンプトが残っていれば、キーボードの適当なキーを押下。
すると外部変形を実行した際にクリックした任意の点に枠付きのQiitaが記載される。
hk0
~~~~~省略~~~~~
#
-125 -40 125 -40
-125 60 125 60
-125 -40 -125 60
125 -40 125 60
cn0 100 100 0 2
ch -125 -40 250 0 "Qiita
#【JWC_TEMP.TXT】と【動作までの流れ】の解説
JWC_TEMP.TXT
には次のような文字列記載されている。(環境により内容が変わる。)
hq
hk 0
hs 100 100 100 600 600 100 100 100 100 1 100 100 60 100 1 1
hcw 2 2.5 2.8 3 3.2 2.5 5 7 2 5
hch 2.5 3.2 3.5 3.8 4 2.5 5 7 2 5
hcd 0 0 0.5 0 0.5 0 0 0 0 0
hcc 2 2 2 2 2 2 2 2 8 9
hn -433.572606382979 -313.508776595745 701.030585106383 140.759042553192
lg9
ly0
lc2
lt1
cn0 100 100 0 2
cn"$<MS ゴシック>
#
-125 -40 125 -40
-125 60 125 60
-125 -40 -125 60
125 -40 125 60
cn0 100 100 0 2
ch -125 -40 250 0 "Qiita
1行目hq
~#
まではCADデータ上の情報(レイヤ・縮尺等)が記載されている。
先程行ったように、#
から下に線座標や文字+座標を記載することで、線や文字が図面上に反映されるのだが、
1行目のhq
が残っていると、処理が完了していないと捉えられ、図面上には反映されない。
そのため、hq
を削除し、図面に反映されるようにする。
ここで、外部変形の動きを噛み砕いて表すと以下の通り。
Jw_cad上で外部変形コマンド押下 → 外部変形選択 → Jw_cad上で選択(範囲や点を) → コマンドプロンプト起動 → JWC_TEMP.TXT作成 → JWC_TEMP.TXTに追記・編集・hq削除 → Jw_cadに反映。
今回JWC_TEMP.TXT
は手入力・コピペで記載したが、この箇所をPythonで処理してあげればきっと捗る・・・仕事が・・・
#まとめ
このページでもPythonの動作する下地として
外部変形.batファイルの起動及びREMコマンド、JWC_TEMP.TXTの解説を行った。
次は外部変形実行時にCADから引数をもらい、pythonに渡すまでを解説したい。疲れた。
##参考文献・ソフトウェア
Jw_cadのページ ← Jw_cadの公式ページです。
Markdown記法 チートシート ← Qittaの書き方で参考にさせてもらいました。
JWW_SMPL.BAT検索 ← REMコマンドについて解説されています。参考にさせてもらいました。