Skip to content
未検証

外部変形の基本(使い方とバッチ起動)

このページでできるようになること

Jw_cadの 外部変形(外変) コマンド(メニューバー「その他」→「外部変形」、ツールバーの「外変」)の基本概念と使い方を理解できるようになります。外部変形は、Jw_cad本体の機能では実現できない処理を 外部のプログラム(バッチファイル+スクリプト等) に任せて結果を取り込む仕組みです。あわせて、JWC_TEMP.TXT 介在のデータ受け渡しバッチ起動の流れ標準添付の三斜計算プログラムを使った操作例ユーザー側で行う作業の範囲 までを通しで身につけます。

背景: 外部変形は 「Jw_cadのカスタマイズ機構」 にあたる仕組みで、計算機能(三斜計算・日影計算)、形状作図(雲マーク・蛇腹線)、図形操作(ハッチ高度化・自動展開)など、本体に内蔵されていない処理を有志の作者が公開している外部プログラムを通じて利用できます。本体との データのやりとりはテキストファイル(JWC_TEMP.TXT)を介して行われる のが特徴で、この仕組みを理解しておくと、入手した外部変形の挙動が把握できます。

注意: 外部変形プログラム(.bat .exe 等)は 任意のコマンドを実行できる ため、信頼できない配布元から入手したファイルを実行すると セキュリティリスク があります。

安全に使うための原則:

  1. 配布元を確認: 公式サイト、PERSC配布、業界既知の作者の配布物のみ使用
  2. ウイルススキャン: ダウンロード後、必ずアンチウイルスソフトでスキャン
  3. ソースコード確認: .bat ファイルは可能な限り中身(コマンド)を確認
  4. テスト環境で先行実行: 重要な図面ファイルではなく、コピー or テスト用JWWで先行動作確認
  5. 管理者権限不要のものを優先: 管理者権限を要求するスクリプトは慎重に判断

不審な動作(ファイル削除、外部通信、レジストリ変更等)が見られた場合は即座に実行を中断してください。


外部変形の全体像

何ができるか

カテゴリ代表例効果
計算系三斜面積計算・日影計算(標準添付)/天空率計算図面上の三角形・形状から数値を自動算出して作図
図形作図雲マーク(jww雲すけ)・蛇腹線・スパイラル本体にない曲線・記号を自動作図
一括処理レイヤ一括変更・線色一括変換範囲内の図形を条件指定で一括属性変更
集計・出力図形数集計・凡例自動生成図面情報をテキスト・表形式で書き出し

仕組み(5ステップフロー)

外部変形は Jw_cad本体と外部プログラムの間でテキストファイルを受け渡す ことで動作します。s-projects解説の流れを整理すると次の5ステップです。

#動作主体
外部変形コマンドからバッチファイル(.bat)を起動ユーザー
Jw_cadが現在の情報を JWC_TEMP.TXT に書き出すJw_cad
バッチファイルから外部プログラム(exe/awk/ruby等)を呼び、図形情報を変形・新規作成外部プログラム
変形結果を JWC_TEMP.TXT に上書き外部プログラム
Jw_cadが JWC_TEMP.TXT を読み込んで作図Jw_cad

背景: JWC_TEMP.TXT の 先頭に「hq」という文字 が残っていると、Jw_cadは「未処理」と判断して読み込みを行いません(s-projects解説)。バッチファイルや外部プログラムが正しく実行されると、この「hq」が消されて結果データが書き込まれ、Jw_cadに作図が反映されます。


起動方法

方法操作
メニューバーその他」→「外部変形
ツールバーその他(1)」ツールバー内の「外変」ボタン
ショートカット標準では未割当(基本設定 KEY タブで割当可)

要確認: ツールバーボタンの正確な表記は実機で確認します。


基本操作: 標準添付の三斜計算で動作確認

外部変形プログラムの動作を確認するには、Jw_cadに標準添付されている 三斜計算 が手軽です。jwdojo解説に沿った基本フローを示します。

手順1: コマンドを起動

メニューバー「その他」→「外部変形」、またはツールバーの「外変」をクリックします。

手順2: ファイル選択ダイアログでバッチファイルを選択

ファイル選択」ダイアログが開きます。フォルダツリーから 三斜計算プログラムが格納されているフォルダ を開き、バッチファイル(.bat) をダブルクリックして実行します。

要確認: 標準添付の三斜計算プログラムの格納フォルダ名・パスは実機で確認します(C:\JWW\jww 配下に標準添付フォルダがある想定)。

背景: ファイル選択ダイアログには REM #jww または REM #jw の宣言が含まれているバッチファイルだけ が一覧に表示されます。バッチファイルを置いても表示されない場合は、この宣言行が抜けている可能性があります。

手順3: 対象図形を範囲選択

外部変形プログラムの仕様によっては 範囲選択モード に切り替わります。三斜計算の場合、計算対象の三角形を 始点左クリック → 終点(左/右クリック) で囲みます。

手順4: 選択確定

選択範囲を確定すると、ステータスバーに次の指示が表示されます。「選択確定」ボタンを左クリックします。

手順5: 作図位置・オプション指定

外部変形プログラムによっては、作図位置・初期番号・小数点桁数・線色番号などのオプション入力を求めてきます。三斜計算では以下を順に指定します(jwdojo解説)。

#入力項目指定方法
1面積表の作図位置作図ウィンドウで左クリック(または右クリックで読取点)
2初期番号(1〜8001)数値入力+Enter(無入力なら「1」)
3作図レイヤ「0〜F」のレイヤ番号+Enter(無入力なら現在の書込レイヤ)
4小数点以下の有効桁数(0〜3)数値入力+Enter(無入力なら「2」)
5文字種類・円の半径・点種類・線色番号等の追加オプション/M2」「/E1」等の書式で入力

手順6: 作図結果の確認

すべての入力を終えると、選択した三角形に対して 辺の寸法・面積表・頂点番号 が一括で作図されます。


バッチ起動の流れ(仕組みを掘り下げる)

外部変形プログラムを正しく使う/カスタムする上で、バッチファイルが裏で何をしているか を理解しておくと役立ちます。

バッチファイル最小構成

s-projects解説に基づく、外部変形として認識される 最小バッチファイル は1行だけです。

REM #jww

これだけだと外部変形は 何も実行せず 、JWC_TEMP.TXT のみが書き出されて作図ウィンドウ左上に「未実行」と表示されます。

要確認: 「未実行」表示のタイミング・文言は実機で確認します。

書き込み確認ステップ

最小バッチファイルを実行すると、C:\JWW(または指定ディレクトリ)に JWC_TEMP.TXT というファイルが作成または上書きされます。中身は次のような構造(s-projects例)。

hq
hk 0
hs 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 0 0 0 0
lg0
ly0
lc2
lt1
cn4
cn"$<MS ゴシック>
#
行頭意味(概要)
hq「未処理」マーカー。これが残っていると読込なし
hk用紙基準点情報
hs線種設定
hcw / hch / hcd文字種の幅・高さ・距離
hcc文字種の色番号
lg / ly / lc / lt書込レイヤグループ・レイヤ・線色・線種
cn文字種・フォント名
#データブロック区切り

背景: 各行の正確な書式は別記事 外部変形 書き込みデータ仕様 ※準備中 で詳説します。この記事では「テキストファイルを介して情報が受け渡されている」ことを把握できれば十分です。

動作確認用の最小実例

s-projects解説に従えば、バッチファイルの copyコマンド を使うだけでも、外部変形の往復動作を体感できます。

REM #jww
copy original.txt JWC_TEMP.TXT

事前に同じフォルダに original.txt を用意しておき、その中身を「0 0 10 0」(=線データ)にしておきます。このバッチを外部変形から実行すると、長さ10mmの横線が作図 されます。これが外部変形の最小動作例です。

図形情報を読み取って書き出すバッチ

範囲選択した図形情報を JWC_TEMP.TXT に書き出すには、バッチに REM #h1 を追加します。

REM #jww
REM #h1
(その後の処理)

#h1 を入れると、外部変形を起動した瞬間に 範囲選択モード になり、選択した図形・文字のデータが JWC_TEMP.TXT に書き込まれます(範囲指定の派生として #h0#h4 の5種類があります。詳細は 外部変形バッチコマンド一覧 ※準備中 を参照)。

外部プログラムを呼び出すバッチ

実際の処理(計算・作図)を行う外部プログラム(exe/awk/ruby等)は、バッチから callコマンド で起動します。

REM #jww
REM #h1
call hensei.exe

call を使うと指定プログラムが起動し、JWC_TEMP.TXT を読み取って処理 → 結果を JWC_TEMP.TXT に上書き します。これにより Jw_cad に処理結果が作図されます。

背景: バッチファイルの文法・コマンド一覧(#jw, #jww, #h0〜h4, #hp, #hc, #ht, #zk 等)は 外部変形バッチコマンド一覧 ※準備中 で網羅します。


ユーザーが実装する3つのパーツ

s-projects解説によれば、自作の外部変形を作る場合に ユーザー側で用意するもの は次の3つです(既製の外部変形プログラムを使う場合は不要)。

#パーツ役割
1バッチファイル(.bat)起動口・処理フローの定義・JWC_TEMP.TXT受け渡しの制御
2図形情報を変形・作成する仕組みexe / AWK / Ruby スクリプト等で実装
3JWC_TEMP.TXT を上書きする仕組み通常はバッチからのリダイレクト・スクリプト内で行う

PERSCの推奨: 自作はかなりの専門知識(テキストファイル操作・スクリプト言語)が必要です。初めての方は、まず標準添付の三斜計算・有志公開の雲すけ等を使って外部変形の挙動を体感 することから始めるのが良いです。導入手順は 外部変形プログラムの導入 を参照。


派生パターン

パターンA: 三斜計算で敷地面積を出す

敷地形状を三角形に分割(三斜分割)→ 外部変形→ 三斜計算プログラム選択→ 範囲選択→ 面積表作図、という流れで 敷地求積図 が一気に作図できます。確認申請の必須図書である求積図作成の標準ワークフローです。

パターンB: 日影計算で日影図を作る

Jw_cadには標準添付の 日影計算外変 があります。建物形状を入力した上で、緯度・季節・時刻設定を渡すと、影の落ち方が線データとして自動作図されます(日影図 ※準備中 で詳説)。

パターンC: 雲すけで指摘箇所マークを描く

「jww雲すけ」(有志公開)を導入すると、確認申請・施工図のチェック時に 雲マーク(指摘記号) を簡単に描けます。範囲を反時計回りに左クリックで囲み → 雲ピッチ・深さを設定 → 雲すけ作図、で雲が完成(jwdojo menu_0203 解説)。

パターンD: AWK・Ruby系の外部変形を使う

有志公開の外部変形には AWK スクリプトRuby スクリプト で書かれたものも多数あります。これらを実行するには別途 AWK / Ruby の実行環境を用意する必要があります(外部変形プログラムの導入 を参照)。


実務での使い方 ★PERSC独自

「本体機能の限界」を補う第1選択

PERSC編集部の実務感覚として、外部変形が真価を発揮するのは 「本体機能では一気にできないが、計算式・ロジックで自動化できる作業」 です。

場面本体機能だと外部変形だと
敷地求積図(三斜計算)三角形ごとに辺長・面積を手計算→記入範囲選択→自動算出→面積表作図
確認申請の指摘修正マーク(雲マーク)多段折線で苦労して描く範囲指示→自動作図
日影図太陽位置を手計算→影の長さを作図緯度・季節入力→自動作図
大量の同形状を等間隔配置複写を繰り返す配置間隔・個数指定→一括

商用CADとのコスト比較

PERSCの推奨: 「外部変形がない=有償CADを買うかどうかの分かれ目」になる場面があります。三斜計算・日影計算・天空率計算といった建築実務の必須機能を、フリーCADでありながら有償CAD並みの自動化 で扱える点は、Jw_cadが現場で使われ続けている大きな理由です。建築設計事務所の新人教育では、本体機能と並行して 「使える外部変形3〜5本」 を最初に押さえる運用を推奨します。

外部変形の入手元と信頼性

外部変形は有志個人の公開物が多く、配布元・更新時期 に注意が必要です。

観点チェックポイント
配布元公式・準公式サイト/作者の継続運営/配布規約の明示
更新時期最終更新が10年以上前のものは現行Windowsで動かないことあり
動作環境exe単体/AWK/Ruby環境必須 の事前確認
説明書同梱テキスト(README)の有無・操作手順の明示

導入前に READMEを必ず一読 することで、トラブルを未然に防げます。


つまずきポイント・対処 ★PERSC独自

Q: ファイル選択ダイアログにバッチファイルが出てこない

→ そのバッチファイルに REM #jww または REM #jw の宣言が入っていない 可能性が最も高い原因です。テキストエディタでバッチを開き、1行目に REM #jww があるか確認してください。

Q: 「未実行」と表示されたまま結果が反映されない

→ JWC_TEMP.TXT の 先頭に「hq」が残っている 状態です。外部プログラム(exe/awk/ruby)が呼ばれていないか、呼ばれてもエラーで処理が止まっている可能性があります。バッチ内の call コマンドのファイルパス・実行可能環境を確認してください。

Q: 「ファイルが見つかりません」エラーが出る

→ バッチファイルが参照している外部プログラム・スクリプトのパスが違っている可能性があります。REM #cd 指定でカレントディレクトリをバッチファイルの場所に変更すると解消することがあります(外部変形バッチコマンド一覧 ※準備中 を参照)。

Q: 範囲選択が出てこない

→ バッチに REM #h1#h4 のいずれもない場合、範囲選択モードは起動しません。図形データを外部プログラムに渡したい場合は #h1 等の指定をバッチに追加してください。

Q: AWK / Ruby スクリプトがエラーで止まる

→ 該当する実行環境(AWK の gawk.exe / Ruby の RubyInstaller)がインストールされていない可能性があります。導入手順は 外部変形プログラムの導入 を参照。

Q: バッチを編集して保存し直したのに反映されない

→ バッチファイルを メモ帳で保存する際に「.bat.txt」 になっていることがあります。エクスプローラーの拡張子表示をONにして、ファイル名末尾が .bat で終わっていることを確認してください。

Q: JWC_TEMP.TXT がどこに生成されているか分からない

→ バッチに REM #cd 指定がない場合、jw_win.exe のあるディレクトリ(通常 C:\JWW)がカレントになります。REM #cd を入れたバッチでは バッチファイルと同じディレクトリ にJWC_TEMP.TXT が生成されます(s-projects解説)。

Q: 自分でバッチを書きたい・カスタムしたい

→ 文法詳細は 外部変形バッチコマンド一覧 ※準備中、書き込みデータ書式は 外部変形 書き込みデータ仕様 ※準備中、読み込みデータ書式は 外部変形 読み込みデータ仕様 ※準備中 で詳説します。


関連項目


まとめ

  • 「外部変形(外変)」は Jw_cad本体に内蔵されていない処理を外部プログラムで実行 する仕組み
  • データ受け渡しは テキストファイル「JWC_TEMP.TXT」を介在 して行われる(5ステップフロー)
  • 起動口は バッチファイル(.bat)REM #jww の宣言がないとファイル選択に表示されない
  • 標準添付の三斜計算・日影計算で挙動を体感するのが最初のステップ
  • 自作には専門知識が必要だが、有志公開の外部変形(雲すけ・天空率計算 等)の利用は手順を踏めば誰でもできる
  • バッチ文法・データ書式の詳細は別記事に集約。この記事は 概念と基本フロー に集中