Skip to main content

space_grid

Function space_grid 

Source
pub fn space_grid(model: &Model) -> SpaceGrid
Expand description

モデルの通り芯と階から立体グリッドを導く。

  • 平面の格子線は、離れを測る向きがグローバル軸に沿う平行芯グループ (AxisGroupKind::plan_dir)から取る。斜めの平行芯グループと AxisGroupKind::Other(円弧芯・放射芯・作図芯)は、直交格子として 表せないため対象にしない。
  • 離れはグループの原点・方向角で測った符号付きの値なので、グローバル座標へ 戻してから昇順に並べる(AxisGroupKind::offset_dir の向きに沿う 1 次元の 位置なので、原点+離れ×向きの該当成分がそのまま座標になる)。
  • レベルは基部(Model::base_elevation)と各階の標高。階は標高の昇順に 並ぶ不変条件を持つ(Model::validate)ため、そのまま使える。

同じ位置の通りが複数あるモデル(取り込みで重複した通り)では、GRID_TOL_MM 以内の格子線を 1 本にまとめ、名前は先に現れたものを採る。