位置と領域の書き方
座標の直書きは無い。位置は常に通り芯の言葉で書かれる — X2、X2+600、Y3-150。生の mm を書けるのは敷地形状 (polygon) だけで、それは測量由来の所与だからである。
この頁は、通り参照・オフセット・範囲・領域・点の綴りを書く。方位 (N E S W) は 方位と a 側、行そのものの読まれ方は 一行の読まれ方 にある。
koyu 1.0
name 位置の例
unit mm
grid X 0 6400 12800
grid Y 0 5600 11200
level L1 0 h:2700 slab:200
space /L1/ldk ldk X1..X2 Y1..Y2 + X2..X3 Y1..Y1+2800 name:LDK
space /L1/hall hall X2..X3 Y1+2800..Y2 name:廊下
space /L1/room room X1..X3 Y2..Y3 name:寝室
space /out exterior name:外部
通り芯
grid が座標系を与える。軸ごとに一度だけ、mm の座標を昇順に2つ以上並べる。名は自動で X1 X2 … / Y1 Y2 … になり、書き手は付けない。
grid X 0 6400 12800 19200
grid Y 0 5600 7600 13200
- 昇順でなければエラー (
grid coordinates are written in ascending order) - 2つ未満はエラー
- 同じ軸を二度宣言すればエラー — 層を重ねているときは入口の層だけが宣言する
- 使う行より前に置かなければならない。
gridの後ろで宣言された通り名を前の行が参照するとUndefined grid line nameになる
X は東が正、Y は北が正、z は上が正である。長さは mm、線分上の比率位置は 0..1、面積の出力は㎡ (壁芯) である。
通り参照とオフセット
| 綴り | 意味 |
|---|---|
X2 | 通り芯 X2 の座標そのもの |
X2+600 | X2 から東へ 600mm |
Y3-150 | Y3 から南へ 150mm |
綴りの規則は厳密である — 軸の文字 + 通り番号 + 省略可能な符号つき整数で、それ以外は通らない。
| 書いたもの | 結果 |
|---|---|
X2+600 | 6400 + 600 |
X2 + 600 | 三つのトークンに割れて読めない |
X2+600.5 | Undefined grid line name: X2+600.5 — オフセットは整数の mm だけ |
X2+600-100 | 同上 — オフセットは一つだけ |
X9 | Undefined grid line name: X9 — 宣言されていない通り |
オフセットは隣の通りを越えてよい。X1..X2+6000 は X3 より東へ届いていても構わない — 通り芯は座標の名前であって、区画の枠ではない。
範囲
A..B の形で、両端が同じ軸の通り参照でなければならない。
| 書いたもの | 結果 |
|---|---|
X1..X2+3200 | 0 から 9600 までの X 区間 |
X1..Y2 | Both ends of a range are grid lines on the same axis |
X2..X2 | The region has zero width — 幅ゼロの範囲は書けない |
X2..X1 | X1..X2 と同じ矩形。昇順に正規化して保存される |
逆順が同じ矩形の別綴りに畳まれるのは、それが同じ形だからである。機械形式にも差分にも昇順の綴りだけが現れる。
この正規化には例外が一つある — band の範囲は昇順で書かなければならない。帯では要素の並びが意味を持つので、逆順は別綴りではなく間違いとして扱われる (A band range is written in ascending order)。
領域
領域は X の範囲と Y の範囲、ちょうど二つのトークンである。並びは自由で、Y1..Y2 X1..X2 も同じ矩形になる。
space /L1/room room X1..X3 Y2..Y3 name:寝室
三つ以上並べても、一つしか無くても A region is given as two ranges, X?..X? and Y?..Y? になる。
矩形の合併
+ は独立したトークンである — 前後に空白を置く。L 字も凹型も、矩形をいくつ並べても書ける。
space /L1/ldk ldk X1..X2 Y1..Y2 + X2..X3 Y1..Y1+2800 name:LDK
+ の左右はそれぞれ「X の範囲と Y の範囲」の対である。同じ空間の中で矩形が重なればエラーであり (GEO01)、同じレベルの別の空間と重なってもエラーである (GEO02)。合併の内部の継ぎ目に壁は立たない — 二つの矩形で書いた L 字は、一つの部屋として振る舞う。
領域を持たない空間も書ける。space /out exterior name:外部 のように、外部や集約のための空間は領域を省く。ただし領域を持つ空間はレベルと天井高が決まらなければならない (SUF02 / SUF01)。
点
line の端点だけは、X と Y の通り参照を , で繋いだ点として書く。
boundary /L1/a /L1/b
line X3,Y1 X3+600,Y2-900
- X の通りを先に、Y の通りを後に書く。逆にすれば
A point is written X grid line first, then Y - 両端が同じ点ならエラー
- 生の座標も角度も書けない。線の端点は必ず通りの言葉である
領域を書かずに位置を決める
寸法と並びを書いて位置を導かせる書き方が二つある。
band は帯の範囲を与え、要素は幅 w: だけを持つ。切り位置は足し算で導かれ、書かれた寸法の合計が帯の幅と一致しなければエラーになる。
koyu 1.0
grid X 0 3600 5400
grid Y 0 4000
level L1 0 h:2400 slab:150
band X X1..X3 Y1..Y2
space /L1/a room w:2000
space /L1/b room w:rest
導かれた切り位置はその座標以下で最も大きい通り芯からのオフセットとして綴られる (床規則)。上の例の切り位置 2000 は X1+2000 になり、X3-3400 にはならない。帯の両端と直交方向の両端は書かれた綴りがそのまま使われる。
column は位置をどこにも書かない。柱は通り芯の交点のうち、そのレベルに床のある所に立つ。x: / y: はその交点を通りの名で絞るだけである。
生の座標が書ける唯一の場所
polygon /site -2600,-7000 38000,-7000 38000,19600 2000,21000 -2600,15000
polygon だけが、格子に載らない自由頂点で形を書く。敷地の形は測量由来の所与であって設計の生成物ではないので、例外として認められている。頂点は x,y の mm 座標を3つ以上で、グリッドと同じ座標系に載る。
通り参照で位置を指す属性
開口と seg の at: は、比率でも通り参照でも書ける。
| 綴り | 意味 |
|---|---|
at:0.3 | 線分長に対する比率。線分に収まるようクランプされる (診断は出ない) |
at:X2+450 | 絶対位置。クランプしない |
絶対位置は軸が線分と合っていなければならない — 水平の線分は X 系、垂直の線分は Y 系である。合わなければ OPN07 / SEG07、はみ出せば OPN08 / SEG08 になる。
At X1+200 the door (width 900) runs off the boundary segment (segment 0-6400mm, center allowed 450-5950mm)
比率と絶対位置の違いは、黙って動くか、止まるかである。図面上の寸法として位置を決めたなら通り参照で書く。