Skip to main content
Loading navigation
Back to prompt library

Build an IFC Accessibility Ramp and Door Auditor — implementation

Linked challenge: Build an IFC Accessibility Ramp and Door Auditor

Prompt source

implementation94 lines11 sectionsNo variables1 code block
## Build
Inspect door clear widths and ramp inclinations in architectural IFC models to assess compliance with accessibility guidelines. Generate remedial design tasks for substandard circulation routes.

## User
Universal Design Accessibility Auditor

## Workflow
1. Query IfcDoor and IfcRamp elements with dimensions from architectural model files.
2. Compare clear door opening widths against the standard 850mm barrier-free threshold.
3. Calculate ramp slope gradients and identify segments exceeding maximum 1:12 inclination.
4. Produce prioritized non-conformance action items for architectural revision.

## Interface
Accessibility scorecard dashboard displaying non-compliant circulation elements with direct 3D tags.

## Data
Sample IFC building models containing internal doors and circulation ramps from open IFC repositories.
Starter examples below are synthetic. They are not downloaded records.

## Source
[IfcOpenShell](https://raw.githubusercontent.com/IfcOpenShell/IfcOpenShell/v0.8.0/README.md)
Leverages IfcOpenShell Python schema parsing APIs and ifcbimtester test definitions for property validation.

## Tools
pydantic-ai, fastapi, rich.
Pydantic AI guarantees structured validation of geometric element properties and accessibility rule outputs.
Fast inference model specialized in numerical condition checking and technical compliance documentation.

## Deliverables
Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

## Acceptance
- Processes IfcDoor and IfcRamp entity parameters extracted via IfcOpenShell conventions.
- Flags doors with clear width below 0.85 meters.
- Flags ramps with slope gradient steeper than 8.33 percent (1:12 slope).

## Starter Examples
```json
[
  {
    "input": {
      "door_elements": [
        {
          "id": "DOOR-01",
          "name": "Main Entrance",
          "overall_width_m": 0.95,
          "clear_width_m": 0.88
        }
      ],
      "ramp_elements": [
        {
          "id": "RAMP-01",
          "length_m": 6,
          "rise_m": 0.45
        }
      ]
    },
    "expected_output": {
      "compliant_elements": 2,
      "violations": 0,
      "audit_pass": true,
      "remediation_tasks": []
    }
  },
  {
    "input": {
      "door_elements": [
        {
          "id": "DOOR-02",
          "name": "Restroom Door",
          "overall_width_m": 0.8,
          "clear_width_m": 0.74
        }
      ],
      "ramp_elements": [
        {
          "id": "RAMP-02",
          "length_m": 4,
          "rise_m": 0.5
        }
      ]
    },
    "expected_output": {
      "compliant_elements": 0,
      "violations": 2,
      "audit_pass": false,
      "remediation_tasks": [
        {
          "element_id": "DOOR-02",
          "issue": "Clear width 0.74m is less than mandatory 0.85m"
        },
        {
          "element_id": "RAMP-02",
          "issue": "Slope 12.5% exceeds maximum permitted 8.33% (1:12)"
        }
      ]
    }
  }
]
```

## Safety
Accessibility audit results assist architects; official building code approval must be granted by code compliance officials.
Use mock external writes. Require human review before any real deployment.