Project Synopsis

PROBLEM BEING ADDRESSED

Large facilities like corporate campuses, manufacturing sites, and universities are hard to navigate and hard to manage. Floor plans usually exist only as static PDF drawings, which show where walls and rooms are but nothing about what is inside each room or whether it is available. Finding a room with the right equipment, like a projector, a whiteboard, or enough seats for a meeting, often means asking around, checking several disconnected systems, or walking the building.

Collins Aerospace, our project sponsor, needs a way to turn these existing floor plans into something interactive without redrawing every building by hand. Manually modeling each facility in 3D is slow and expensive, and room information such as equipment and capacity is scattered across different sources and quickly goes out of date.

Therefore, the key problems being addressed include:

  • Floor plans exist only as static PDFs that can’t be searched or explored
  • No single place to find what resources a room has or where they are located
  • Manually building digital models of facilities is slow and does not scale across many buildings
  • Automated readings of floor plans are rarely perfect, so people need an easy way to correct them

Addressing these challenges makes it faster for employees and visitors to find the right space, and gives facility managers an up-to-date, searchable view of their buildings.

PROJECT IDEA

Our project is a Facility Digital Twin: a web application that turns an uploaded floor plan PDF into an interactive 3D map. A user uploads a floor plan, and the system automatically reads its walls, doors, and room labels, stores them, and builds a 3D model of the floor that can be explored in the browser. Users can click into rooms to see their details, search for rooms and resources, and correct anything the automatic reading got wrong.

 A diagram of a project

AI-generated content may be incorrect.

Our primary focus areas for Demo 2 include:

  • Interactive 3D Map View: Floor plans rendered in 3D with Three.js, where users can switch floors, click rooms to see details, and find a route between rooms.
  • Room Resources and Search: Each room shows its capacity and equipment, and users can search by room number, name, or resource (for example “whiteboard” or “projector”) to find matching rooms.
  • Automatic Resource Collection: Room equipment is gathered automatically after every upload, from ISU’s public classroom database and from equipment labels drawn on the floor plan itself.
  • Floor Plan Redraw Tool: Users can fix walls the automatic scan missed by moving, adding, or deleting them, and every edit is saved so everyone sees the corrected version.
  • Building Library: A central list of all uploaded facilities, with each building’s floors grouped together.

By combining automatic extraction with easy manual correction, our goal is a system that can bring any building online quickly while staying accurate.

IMPLEMENTATION

The application is split into an Angular frontend and a Python backend, connected through a REST API.

 A screenshot of a computer

AI-generated content may be incorrect.

Floor Plan Extraction - pdfplumber

Vector PDFs contain three kinds of raw data: words with exact coordinates, line segments, and shapes. The backend uses pdfplumber to read all three directly from the file:

  • Reading room numbers and names from the plan’s room schedule, or from labels placed inside the drawing when no schedule exists.
  • Separating wall lines from shorter door lines, and building an outline around each room.
  • Detecting duplicate uploads by a fingerprint of the file’s contents, so the same floor plan is never stored twice.

Database and API - Python and SQLite

Buildings, floors, rooms, and resources are stored in a relational database:

  • Each building has floors, and each floor has rooms with their outlines and label positions.
  • Resources are linked to rooms by building and room number, so equipment data stays attached even when a floor plan is re-uploaded or redrawn.
  • When a floor is re-uploaded or redrawn, the latest version always replaces the old one, and rooms corrected by hand are never overwritten by automatic extraction.

 

Automatic Resource Collection

Room equipment is collected in the background after every upload, from two sources:

  • ISU Classroom Database: The building’s name is matched against ISU Facilities Planning and Management’s classroom database, and each classroom’s capacity, seating, AV equipment, and boards are collected automatically.
  • Labels on the Floor Plan: Words like “Whiteboard,” “Printer,” or “Table” drawn inside a room are read from the PDF and assigned to that room. This works for any building, not just ISU’s.

Frontend - Angular and Three.js

  • Upload Page: Users upload a PDF, enter the building and floor details, and immediately see the decoded floor plan with its detected rooms.
  • 3D Map View: The floor plan is rendered as a 3D model. Clicking a room opens a details panel with its capacity, equipment grouped by type, and data source.
  • Search: Results update as the user types, highlight matching rooms on the map, and list matches on other floors separately.
  • Redraw Tool: A 2D editor for moving, adding, and deleting walls, with undo. Each edit is saved to the server automatically.