LoginSignup
1
0

More than 3 years have passed since last update.

Jw_cadでPythonを活用するには(その2 コマンドの解説・動作)

Last updated at Posted at 2020-12-22

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にも上記の基本的コマンドを使用

hogehoge.bat
@echo off
REM 外部変形起動(hello world!!)
REM #jww
REM #cd
echo hello world!! 
pause >nul

【選択範囲.bat】での起動

メモ帳で下記の内容を打ち込み、名前をつけて保存で範囲選択.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が記載される。

JWC_TEMP.TXT
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には次のような文字列記載されている。(環境により内容が変わる。)

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コマンドについて解説されています。参考にさせてもらいました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0