Skip to content
未検証

座標ファイルの書式仕様(lg/ly/lc/ch/ci ほか)

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

Jw_cadの座標ファイル(テキスト形式の図形データ)の 書式仕様 を体系的に理解できるようになります。lg(レイヤグループ)/ ly(レイヤ)/ lc(線色)/ lt(線種)/ lw(線幅)/ cn(文字種)といった 書込設定コード から、線・円・円弧・文字・寸法・点・ソリッド・ブロック・曲線まで、各図形種別の書式と引数を一通り把握できます。テキストエディタで座標ファイルを直接編集して、CSVデータからの一括作図、社内標準部品のテキスト管理、Git/差分ツールでのバージョン管理ができるようになります。

背景: 座標ファイルは「書込設定行 → #(区切り) → 図形データ行」のシンプルな2ブロック構造です。1行1要素・空白区切りという最小の文法のため、ExcelのCONCAT・PythonスクリプトなどでもJw_cad用の図形データを生成できます。


このコマンドで扱う書式

座標ファイルのコード体系を3グループに整理します。詳しい操作(読込・書込)は別記事に委譲し、この記事では 各コードの書式・引数・例 に集中します。

分類コード役割
書込設定lg / ly / lc / lc10 / lt / lw / cn / cn0 / cn"$<フォント>図形を作図するときの属性を設定
一般的な図形(無印) / ci線・円・円弧・楕円
文字・寸法値cc / ch / cv / cs / cr / co / cp / ct / ck / cz / c2横文字・縦文字・寸法値・日影・2.5D
特殊な図形pn / pt / msz / pl / BL / sl / sc / se / so / sg点・寸法図形・曲線・ブロック・ソリッド

委譲: 座標ファイルの 読込・書込の操作手順 は → 座標ファイル(読込・書込)2.5Dデータ書式(c2)の詳細運用 は → 2.5D機能 ※準備中。


全体構造(書込設定 + 図形データ)

座標ファイルは 「書込設定」と「図形データ」を # で区切る 2ブロック構造です。

lg0
ly0
lc2
lt1
lw8
cn4
cn"$<MS ゴシック>
#
 -5 0 5 0
  • # より上: ファイル書込み時点の 作図設定
  • # より下: 図形データ本体

ファイル読込時は、図形データ行の直前にある 線色・線種・文字種 が反映されます。複数の属性を切り替えるときは、図形行と図形行の間に設定行を挟みます。

lc2
lt1
 -5 0 5 0
lc4
lt4
 -5 10 5 10

1本目は 線色2・線種1、2本目は線色・線種行を間に挟んだことで 線色4・線種4 で作図されます。

Tips: 設定行は 直前の図形データに対してだけ 効くわけではなく、それ以降の図形に継続して 反映されます。一度切り替えたら、次に切り替えるまで同じ属性で描かれ続けます。


書込設定コード

lg|レイヤグループ設定

書式: lg値 例: lg0, lgA

書込みレイヤグループの番号を指定します。値は 0〜9 a〜f の16進数1桁です。

背景: 座標ファイル読込での作図は 現在の書込レイヤグループ に対して行われるため、lg は読込時にはほとんど使われません。書込み時に「当時のレイヤグループ」を記録するメタ情報として埋め込まれます。

ly|レイヤ設定

書式: ly値 例: ly0, lyF

書込みレイヤの番号を指定します。値は 0〜9 a〜f の16進数1桁です。lg と同じく、読込時には現在の書込みレイヤに作図されます。

lc|線色設定

書式: lc値 例: lc2, lc4

線色番号を指定します。値は 1〜9。読込時にこの設定があると、その線色で作図されます。記述がない場合は 現在の書込線色 が使われます。

lc10|作図線色(任意色)

書式: lc10 数値 例: lc10 16776960(青)

ソリッド図形などの 任意色(フルカラー) を指定します。数値は以下の式で算出します。

数値 = 赤(0–255) + 緑(0–255) × 256 + 青(0–255) × 65536

例: 純赤 = 255 / 純緑 = 65280 / 純青 = 16711680 / 黒 = 0 / 白 = 16777215

lt|線種設定

書式: lt値 例: lt1, lt15

線種番号を指定します。

範囲種類
1〜9通常線種
11〜15ランダム線
16〜20倍長線種

記述がない場合は 現在の書込線種 が使われます。

lw|線幅設定

書式: lw値 例: lw8, lw34

線幅の設定です。線幅は線色に依存する ため、読込時にこの値を変えても作図結果には影響しないとされます。値は元の線幅に 4.234 を掛けて整数化したものになる仕様です。

要確認: 「線幅 × 4.234(小数点以下四捨五入)」の換算式は s-projects 由来。バージョンによる挙動差は実機で確認します。

cn|文字種

書式: cn値 例: cn4

文字種番号を指定します。値は 1〜10。読込時にこの設定があると、その文字種で文字が作図されます。

cn0|任意サイズ文字

書式: cn0 文字幅 文字高さ 文字間隔 線色番号 例: cn0 3.5 3.5 0 2

任意サイズ文字を指定します。固定の文字種(cn1〜cn10)ではなく、寸法を直接指定したい場合に使います。

cn"$<フォント名>|フォント

書式: cn"$<フォント名> 例: cn"$<MS ゴシック>

文字のフォントを指定します。記述がない場合は現在のフォントで作図されます。

要確認: フォント名のスペース有無、半角/全角の混在ルールは s-projects 抜粋からは断定できないため、実機で書込・読込を往復して確認します。


一般的な図形データ

書式: x1 y1 x2 y2 例: -5 0 5 0

引数意味
x1, y1始点座標
x2, y2終点座標

行頭にコード文字がない(数字から始まる)行は 線データ として扱われます。書込時の慣例として、行頭に 半角スペース が1つ入っています。

ci|円

書式: ci x y 半径 例: ci 0 0 10

引数意味
x, y中心座標
半径円の半径

ci|円弧・楕円

書式: ci x y 半径 開始角度 終了角度 扁平率 傾き角度 例: ci 0 0 10 0 90 1 0

引数意味
x, y中心座標
半径円弧の半径
開始角度 / 終了角度反時計回り(度)
扁平率1で真円、0〜1で扁平
傾き角度楕円の長軸の角度(度)

例の ci 0 0 10 0 90 1 0 は、原点を中心とする半径10の真円の0〜90度(左上の四半円)になります。

Tips: ci は引数の数で 円 / 円弧・楕円 を自動判別します。3つなら円、7つなら円弧・楕円です。


文字データ

cc|文字基準点

書式: cc値 例: cc4

文字の基準点位置を指定します。

位置
6 = 左上7 = 中上
3 = 左中4 = 中中
0 = 左下1 = 中下

ch|横文字

書式: ch x1 y1 x2 y2 "文字列 例: ch -11 0 22 0 "あいうえお

引数意味
x1, y1基準点座標
x2, y2文字作図方向の座標(基準点を原点としたときの相対座標)
"文字列表示する文字列

x2, y2 は 「基準点を (0, 0) としたときの座標」 で記述します。先頭の " が文字列の開始を示します。

cv|縦文字

書式: cv x1 y1 x2 y2 "文字列 例: cv 0 11 0 -22 "あいうえお

ch の縦書き版です。引数の意味は同じです。

cs|寸法値

書式: cs x1 y1 x2 y2 "文字列 例: cs 0 0 4.25 0 "10

「寸法」コマンドで作図された寸法値テキストです。寸法値は縦書きの概念がなく、すべて横文字 で扱われます。円周の寸法値も cs になります。

cr|半径寸法値

書式: cr x1 y1 x2 y2 "文字列 例: cr 0 0 6.5 0 "R10

半径寸法のテキストです。引数構成は cs と同じ。

co|直径寸法値

書式: co x1 y1 x2 y2 "文字列 例: co 0 0 8.75 0 "φ20

直径寸法のテキストです。

cp|角度寸法値

書式: cp x1 y1 x2 y2 "文字列 例: cp 0 0 6.5 0 "45°

角度寸法のテキストです。

ct|累寸寸法値

書式: ct x1 y1 x2 y2 "文字列 例: ct 0 0 4.25 0 "10

累進寸法(積み上げ寸法)のテキストです。

ck|日影真北データ

書式: ck x1 y1 x2 y2 "文字列 例: ck -5.625 0 11.25 0 "90.000000

日影図用の真北角度データ。座標は ch と同じ。

cz|日影建物高さデータ

書式: cz x1 y1 x2 y2 "文字列 例: cz -3.75 0 7.5 0 "10.000

日影図用の建物高さデータ。

c2|2.5Dデータ

書式: c2 x1 y1 x2 y2 "文字列 例: c2 -3.75 0 7.5 0 "10 , 0

2.5D機能用の高さ・厚みデータです。文字列部分に 高さ , 厚み を記述します。

委譲: 2.5D機能の使い方そのものは → 2.5D機能 ※準備中


特殊な図形データ

pn|点の色番号

書式: pn値 例: pn3

点の色番号を指定します。値は 1〜9。記述がない場合は 現在の書込線色 が使われます。

pt|点

書式: pt x y 例: pt 0 0

実点を指定座標に作図します。

pt|点マーカデータ

書式: pt x y 倍率 角度 マーカコード 例: pt 0 0 1 0 -7

点マーカ(特殊シンボル)を作図します。マーカコードは以下のとおりです。

コードマーカ
1blanked arrow
2blanked box
3blanked dot
4dimension origin
5filled box
6filled arrow
7filled dot
8integral symbol
9open arrow
10slash
11unfilled arrow
-1asterisk
-2circle
-3dot
-4plus
-5square
-6triangle
-7X

msz|寸法図形データ

書式(複数行):

msz
x1 y1 x2 y2
cs x1 y1 x2 y2 "寸法値

例:

msz
0 0 10 0
cs 0 0 4.25 0 "10

msz寸法線(線データ) + 寸法値(cs) を一体として保持する形式です。

pl|曲線データ

書式(複数行 + # で終端):

pl
x1 y1 x2 y2
x2 y2 x3 y3
x3 y3 x4 y4

#

連続する線分を1つの曲線データとしてまとめる形式です。終端に # を記述します。

BL|ブロックデータ

書式(# で終端):

BL x y "ブロック名
#

例:

BL 0 0 "ブロック1
#

ブロック(部品)を指定座標に配置するデータです。

sl|線形ソリッド図形

書式: sl x1 y1 x2 y2 例: sl -5 0 5 0

太い線として塗り潰される線形ソリッドです。

sl|三角形ソリッド図形

書式: sl x1 y1 x2 y2 x3 y3 例: sl -5 0 5 0 0 5

3頂点で構成される三角形ソリッドです。

sl|四角形ソリッド

書式: sl x1 y1 x2 y2 x3 y3 x4 y4 例: sl -5 0 5 0 5 10 -5 10

4頂点で構成される四角形ソリッドです。

Tips: sl は引数の数で 線形 / 三角形 / 四角形 を自動判別します。4個=線形、6個=三角形、8個=四角形です。

sc|円ソリッド図形

書式: sc x y 半径 扁平率 傾き角度 開始角度 円弧角度 ソリッド形状 例: sc 0 0 10 1 0 0 6.283 100

円・扇形・弓形・円外側のソリッドを指定します。角度はすべてラジアン です。

ソリッド形状結果
100(10以上)
5弓形
0(5以外の一桁)扇形
-1円外側(円弧角度がπ/2を超えると扇形になる)

se|円周ソリッド図形

書式: se x y 半径 扁平率 傾き角度 開始角度 円弧角度 ソリッド形状 例: se 0 0 10 1 0 0 6.283 100

円周(弧)のソリッドです。角度はすべて ラジアン

ソリッド形状結果
100(10以上)
0(10未満)円弧

so|円環ソリッド図形(扁平率一定)

書式: so x y 半径 扁平率 傾き角度 開始角度 円弧角度 内円半径 例: so 0 0 10 0.5 0 0 6.283 6

ドーナツ形のソリッドです。扁平率を保ちます。

sg|円環ソリッド図形(幅一定)

書式: sg x y 半径 扁平率 傾き角度 開始角度 円弧角度 内円半径 例: sg 0 0 10 0.5 0 0 6.283 6

so と同じ円環ですが、幅一定 で描画されます。


派生パターン

パターンA: 単純な作図(線・円のみ)

lc2
lt1
#
 0 0 100 0
 100 0 100 50
 100 50 0 50
 0 50 0 0
ci 50 25 20

矩形と円を一発で作図する最小構成例です。# の前で書込み属性(線色2・線種1)を1セット定義し、# 以降は線4本+円1個。

パターンB: 線色を切り替えながら描く

lc2
lt1
#
 0 0 100 0
lc4
lt2
 0 10 100 10
lc6
 0 20 100 20

1本目は線色2・線種1、2本目は線色4・線種2に切替、3本目は線色6・線種2のまま継続。直近の設定が継続される ことを利用すれば、同じ線色で描く図形は属性行を繰り返さなくて済みます。

パターンC: 文字+寸法値の混在

cn4
cc4
ch 50 100 20 0 "図面タイトル
cs 0 -10 4.25 0 "100

横文字(タイトル)と寸法値を1ファイルに収める例。基準点を中中(cc4)に設定しておくことで、文字位置の制御が直感的になります。

パターンD: ソリッドで塗り潰し図形

lc10 16711680
sl 0 0 100 0 100 50 0 50
sc 50 25 20 1 0 0 6.283 100

任意色(青)で四角形ソリッドと円ソリッドを描く例。lc10 の数値が色を直接指定します。


実務での使い方 ★PERSC独自

CSVから一括作図する

エクセル・CSVに整理された大量の点座標(測量結果・プラント計器位置など)を、pt x y 形式の行に変換すれば、座標ファイルとして一発で作図できます。エクセルなら以下のような数式で行を生成できます。

="pt "&A2&" "&B2

A列にX座標、B列にY座標を入れて数式をコピーするだけで、pt x y の行が大量生成されます。これをテキストファイルとして保存し、Jw_cad で「ファイル名設定」→「ファイル読込」すれば数百点が瞬時に打てます。

Pythonで座標ファイル生成

繰り返しの多い図形(パンチングメタル・スリーブ配置・通り芯グリッドなど)はPythonでループ生成すると非常に速くなります。書式は単純なテキストなので、print(f" {x1} {y1} {x2} {y2}") を回すだけで線が大量に作れます。

Gitでバージョン管理する

座標ファイルは テキスト形式 なので、Git・SVNなどのバージョン管理ツールで差分管理ができます。社内標準部品(建具・設備シンボル)を座標ファイル化してリポジトリで管理すれば、誰がいつどの部品を更新したかが追えるようになります。バイナリの図形登録ファイルではできない運用です。

寸法値テキストだけ一括差し替え

cs 行の文字列だけを正規表現で置換すれば、寸法値の単位変更・表記揺れ修正 が一括でできます。例: "10"10mm のような追記、"45°"45度 のような変換が、テキストエディタの一括置換で完了します。

PERSCの推奨: 座標ファイルを部品化する場合、ファイル冒頭に コメント行(# で始まる作図設定の前にメモ) を入れる流派もありますが、Jw_cad の # は構造的な区切り文字なので、コメントは別ファイル(README)で管理 するのが安全です。


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

Q: ファイル読込で何も描かれない

# の区切り行が抜けている 可能性があります。書込設定と図形データの間に # が必須です。# がないと、Jw_cad は全行を設定行と解釈し、図形を描かずに終わります。

Q: 線色を変えたつもりが反映されない

lc 行が図形行の後にある 可能性があります。lc後続の図形 に効くので、変えたい図形の 直前 に置く必要があります。

Q: 文字が全角・半角で文字化けする

フォント指定(cn"$<フォント名>)が現在の環境にないフォント を指している可能性があります。MS ゴシックなど、Windowsに必ずあるフォントに置き換えてください。

Q: ソリッドの色が変わらない

lc10 の数値計算を間違えている 可能性があります。「赤 + 緑×256 + 青×65536」の式で計算してください。例: 純赤=255、純緑=65280、純青=16711680。

Q: 円弧の角度がおかしい

ci の引数(円弧)と sc/se の引数(ソリッド)で角度の単位が違いますcisc/se/so/sgラジアン。混同に注意してください。

Q: 寸法図形の中の線が二重に描かれる

msz ブロック内で線データを書きつつ、ブロック外でも同じ線を書いている 可能性があります。寸法図形は msz 内ですべて完結させてください。

Q: pt で点が見えない

点の色(pn)が背景色と同じ か、画面表示で点が小さすぎる可能性があります。pn で目立つ色を指定するか、画面表示倍率を上げて確認してください。

Q: 座標ファイルの中身を覚えきれない

→ 一度 Jw_cad で対象図形を描いてから「ファイル書込」すれば、正解の書式が自動生成 されます。書式を暗記するより、実際に書込んで雛形を得る → そこから編集 が最速です。


関連項目


まとめ

  • 座標ファイルは 書込設定行 → # → 図形データ行 の2ブロック構造
  • 書込設定: lg(レイヤG)/ ly(レイヤ)/ lc(線色)/ lt(線種)/ lw(線幅)/ cn(文字種)
  • 一般図形: 数字始まりが線、ci が円・円弧・楕円
  • 文字: ch(横)/ cv(縦)/ cs cr co cp ct(寸法値各種)/ ck cz c2(日影・2.5D)
  • 特殊: pt(点)/ msz(寸法図形)/ pl(曲線)/ BL(ブロック)/ sl sc se so sg(ソリッド)
  • 角度の単位は ci が度、ソリッド系(sc/se/so/sg)はラジアン で混在
  • 線色・線種等の設定は 後続の図形に継続 して効く
  • CSVからの一括作図、Pythonでの大量生成、Gitでのバージョン管理が テキスト形式の利点
  • 書式を暗記するより、実機で書込んで雛形を得る → 編集 が最速