pub fn space_grid(model: &Model) -> SpaceGridExpand description
モデルの通り芯と階から立体グリッドを導く。
- 平面の格子線は、離れを測る向きがグローバル軸に沿う平行芯グループ
(
AxisGroupKind::plan_dir)から取る。斜めの平行芯グループとAxisGroupKind::Other(円弧芯・放射芯・作図芯)は、直交格子として 表せないため対象にしない。 - 離れはグループの原点・方向角で測った符号付きの値なので、グローバル座標へ
戻してから昇順に並べる(
AxisGroupKind::offset_dirの向きに沿う 1 次元の 位置なので、原点+離れ×向きの該当成分がそのまま座標になる)。 - レベルは基部(
Model::base_elevation)と各階の標高。階は標高の昇順に 並ぶ不変条件を持つ(Model::validate)ため、そのまま使える。
同じ位置の通りが複数あるモデル(取り込みで重複した通り)では、GRID_TOL_MM
以内の格子線を 1 本にまとめ、名前は先に現れたものを採る。