BIM Model Sync & Clash Detection

System ↔ System

BIM model update triggers clash detection, issue logging, and reporting.

6 nodes · 5 edgesconstruction
systemapidb
Visual
BIM Model Updateevent

IFC file uploaded or Revit model synced to BIM 360/ACC.

sequentialClash Detection
parallelModel Version Control
Clash Detectionsystem

Run Navisworks/Solibri clash rules against merged federated model.

sequentialIssue Logging
Issue Loggingdb

Write detected clashes to issue tracker with BCF viewpoints.

conditionalRFI Generation
sequentialReport Dashboard
RFI Generationapi

Auto-generate request for information for critical clashes via Procore API.

Model Version Controlsystem

Tag model snapshot with version, changelog, and diff summary.

Report Dashboardapi

Push clash statistics and trend data to Power BI dashboard.

uc-bim-sync.osop.yaml
osop_version: "1.0"
id: "bim-sync"
name: "BIM Model Sync & Clash Detection"
description: "BIM model update triggers clash detection, issue logging, and reporting."

nodes:
  - id: "model_update"
    type: "event"
    name: "BIM Model Update"
    description: "IFC file uploaded or Revit model synced to BIM 360/ACC."

  - id: "clash_detect"
    type: "system"
    name: "Clash Detection"
    description: "Run Navisworks/Solibri clash rules against merged federated model."
    timeout_sec: 300

  - id: "issue_log"
    type: "db"
    name: "Issue Logging"
    description: "Write detected clashes to issue tracker with BCF viewpoints."

  - id: "rfi_generate"
    type: "api"
    subtype: "rest"
    name: "RFI Generation"
    description: "Auto-generate request for information for critical clashes via Procore API."
    retry_policy:
      max_attempts: 2

  - id: "version_control"
    type: "system"
    name: "Model Version Control"
    description: "Tag model snapshot with version, changelog, and diff summary."

  - id: "report_dashboard"
    type: "api"
    name: "Report Dashboard"
    description: "Push clash statistics and trend data to Power BI dashboard."

edges:
  - from: "model_update"
    to: "clash_detect"
    mode: "sequential"
  - from: "clash_detect"
    to: "issue_log"
    mode: "sequential"
  - from: "issue_log"
    to: "rfi_generate"
    mode: "conditional"
    when: "clash.severity == 'critical'"
  - from: "model_update"
    to: "version_control"
    mode: "parallel"
  - from: "issue_log"
    to: "report_dashboard"
    mode: "sequential"