How aakashkavediya/visionaries_orchathon works
Visionaries Orchathon is a BIM analytics and clash-resolution project: it aims to turn model inputs into extracted MEP data, detected clashes and actionable resolution recommendations. The clearest implemented request workflow is the Flask prototype: upload RVT, convert it to IFC, then request MEP extraction or clash results. Separate scripts cover data enrichment and a more standards-aware rule engine. The README also describes reporting and a Next.js interface, though the sampled Next.js page is still a starter screen. Some documented stages lack sampled call wiring, so those links are documented rather than inferred from module names.
Main entry points: app.py Flask API · stage2.py Stage 2 analysis · stage4.py Rule validation · process_bim_data.py IFC enrichment
Components 17
Ingestion and extraction
- RVT converter
prototype/converter.py - Converted IFC
prototype/app.py - MEP extraction
prototype/mep_extractor.py - IFC enrichment
process_bim_data.py
Clash and resolution
- AABB detection
prototype/clash_detector.py - Stage 2 analysis
stage2/stage2.py - Rule validation
stages/stage4.py - Resolution engine
extra/decision.py
API and interface
- Flask API
prototype/app.py - Prototype UI
prototype/static/js/main.js - Next.js starter
bim_fixer/app/page.js - Static prototype
extra/index.html
Data and reporting
- XML processing
stages/stage2_xml.py - JSON and CSV outputs
stage2 - Reports
stages/report.html
Other components
- BIM engineer
- RVT upload
Connections 18
- BIM engineer → RVT upload: uploads
README.md - RVT upload → Flask API: submits to
prototype/app.py - Flask API → RVT converter: calls
prototype/app.py - RVT converter → Converted IFC: writes IFC
prototype/app.py - Flask API → Converted IFC: loads IFC
prototype/app.py - Flask API → MEP extraction: extracts via
prototype/app.py - Flask API → AABB detection: detects via
prototype/app.py - Prototype UI → Flask API: requests API
prototype/static/js/main.js - BIM engineer → IFC enrichment: provides model
README.md - IFC enrichment → Stage 2 analysis: feeds analysis
README.md - Stage 2 analysis → Rule validation: supports scoring
README.md - XML processing → IFC enrichment: merges data
README.md - Rule validation → JSON and CSV outputs: produces outputs
README.md - Stage 2 analysis → JSON and CSV outputs: writes artifacts
README.md - JSON and CSV outputs → Reports: feeds reporting
README.md - BIM engineer → Next.js starter: views results
README.md - BIM engineer → Static prototype: uses preview
README.md - Rule validation → Resolution engine: complements strategy