Structural Plan to Revit

Turn drawing observations into a traceable data contract, review the evidence, then build and measure native Revit elements.

Independent engineering software · Development pilot · Python · Model Context Protocol · JSON Schema · pyRevit / Revit API · pytest

Workflow: drawing evidence, checked data contract, independent audit, then native Revit changes and read-back.

The problem

Structural plans spread dimensions, levels, materials and schedules across drawings and specifications. A model can look plausible while missing evidence or placing a member on the wrong support.

The goal is to keep each modeling decision connected to its source and make unresolved information visible before a build.

What I built

A Python MCP server for source registration, drawing observations, geometry checks and audit sign-off, plus a pyRevit bridge for previewing model changes and reading back native geometry.

The source repository is private. This case study summarizes the implementation without publishing drawings, credentials or private source files.

How the workflow works

  1. Register evidence. Hash source files and drawing crops; record observations with units and source references.
  2. Check the contract. Validate JSON Schema, dimensions, elevations, supports and dependencies. Unresolved inputs remain explicit issues.
  3. Audit independently. A separate review session signs off on the data, evidence and coverage; changed inputs invalidate approval.
  4. Preview and build. Identify unchanged, changed or conflicted members; hold back dependent changes when a support conflicts.
  5. Read back and compare. Compare native Revit geometry and identity to the expected contract, with rollback and conflict handling for failed or uncertain operations.

Evidence

57 offline regression tests passed on 29 September 2026, covering validation and build logic, including wrong-document, changed-type, support-conflict and uncertain-response cases.

A historical Rinker Hall pilot report recorded 95 native members: 23 grids, 7 levels and 65 physical elements. Recorded live checks include repeat runs, dependency updates and failure recovery.

Those historical results are scoped evidence of a development slice, separate from the current offline test result.

Current scope and next check

The implementation covers orthogonal grids and flat slabs. Follow-up audit fixes tightened geometry checks and evidence binding; the old pilot sign-off is now stale.

A roof-deck support discrepancy and boundary-support scope need resolution and re-audit. Independent drawing-set validation is pending. The project does not yet establish general extraction accuracy or a currently revalidated complete building.

What this demonstrates

Designing a checked data boundary between AI-assisted document interpretation and a desktop engineering API; building MCP tools, provenance records, dependency-aware updates and regression checks; documenting what a system can prove and what still needs review.