メインコンテンツまでスキップ

LVL — レベル

LVL は一つだけである。

コードseverity何を言うか
LVL01error二つのレベルの 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 0level 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:3000L1 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 として出る。

関連