Three models
The grid system uses three entities:A project can have multiple Grids — for campus projects with multiple buildings, buildings with rotated wings, or additions. Each Grid is an independent coordinate system. Within a single building, the grid is the same on every floor (it extrudes vertically through the structure), so a 50-story building still has one Grid.
Cross-block alignment
Grid lines serve as shared control points for aligning coordinates across different blocks. When Bedrock detects grid lines on a VIEW block, it creates BlockGridLine entries recording each grid line’s normalized position (0-1000) within that block. Two blocks that share the same GridLines can be spatially aligned by mapping through these control points.How alignment works
To check if a duct on M-101 clashes with a beam on S-201:- The duct Feature on M-101 has
boundsat position 350-650 (between grid A and C) - The beam Feature on S-201 has
boundsat position 420-720 (between grid B and C) - Using shared grid lines as control points, compute an affine transform between the two coordinate spaces
- Map the duct’s position into the structural block’s space
- Detect that they overlap near grid B — potential clash
- Different disciplines on the same floor (architectural vs structural vs MEP)
- Different floors of the same building (same Grid, different sheets)
- Different revisions of the same sheet (grid lines are stable across revisions)
Key fields
Grid
GridLine
Unique constraint:
(grid_id, label) — no duplicate labels within a grid.
BlockGridLine
Unique constraint:
(block_id, grid_line_id) — each grid line appears at most once per block.
Grid intersection queries
Query features by grid intersection to find everything at a specific location across all disciplines:- MCP Tools
- CMS API
Use cases
Next steps
Relations
How cross-references work.