LVL — レベル
LVL は一つだけである。
| コード | severity | 何を言うか |
|---|---|---|
| LVL01 | error | 二つのレベルの z が同じ |
レベルは名前と z (基準面からの高さ mm) の対である。z は順序を与える唯一の値であり、そこから階高・上下関係・垂直の隣接・柱と壁の伸び — 断面のすべてが導かれる。二つのレベルが同じ z にあると、その順序が決まらない。
LVL01 — レベルの z が同じです
error
grid X 0 3600
grid Y 0 4000
level L1 0
level L2 0
Levels L1 and L2 have the same z
原因 — 二つのレベルが同じ高さにある。判定は z の差が 0.5mm 未満かどうかで、level A 0 と level B 0.4 も同じ扱いになる。
z が並ばないと、次が全部決まらない。
- 階高。階高は書かれない。次のレベルの
zとの差である。同じzの隣どうしでは階高が 0 になる。 - 上下関係。
type:stair/shaft/voidの垂直境界は「隣り合うレベルの間」にしか張れない (VRT02)。隣り合うとはz順で隣という意味である。 - 柱と壁が伸びる高さ。階高そのものである。
診断の位置 — メッセージは z 順で隣り合う二つを名指し、行は後ろ側を指す。related に前側の行が入る。三つのレベルが同じ z にあれば、隣接の対ごとに二件出る。
直し方 — z を直す。
grid X 0 3600
grid Y 0 4000
level L1 0
level L2 3000
範囲宣言との衝突
level は範囲でも書ける。level L1..L3 0 pitch:3000 は L1 L2 L3 を 0 / 3000 / 6000 に置く。個別の宣言がその途中の z にぶつかると LVL01 が出る。
grid X 0 3600
grid Y 0 4000
level L1..L3 0 pitch:3000 h:2600 slab:400
level M 3000
Levels L2 and M have the same z
範囲宣言は z を書かせないので、衝突は見えにくい。koyu levels を回すと積み上がりが出て、どこが潰れているかが分かる。
L3 z:6000 h:2600 slab:400
M z:3000
↑ storey height 3000
L2 z:3000 h:2600 slab:400
↑ storey height 0
L1 z:0 h:2600 slab:400
↑ storey height 3000 = ceiling 2600 + slab 400
storey height 0 の行が、潰れた階である。
直し方 — 中間階に別の名を与えたいだけなら、レベルではなく zone で束ねる。ゾーンは z を持たないので断面の順序を乱さない。ほんとうに中二階が要るなら、z を実際の高さ (level M 1500) にする。
同じ名前を二度書いた場合
これは LVL01 ではない。合成前の構文の誤りなので、パーサがその場で止める。
Duplicate level: L1
範囲宣言が既存の名前を再び作った場合も同じ本文になる。check --json ではこれは SYN01 として出る。
関連
- SUF — 充足性 — レベルが特定できない空間 (SUF02)、
slab:の無いレベル (SUF03) - HGT — 高さの不変量 —
zから導かれる階高との突き合わせ - SYN — 構文と合成 — レベル名の重複・未宣言のレベル
- koyu check