Hospital campus CAD data migration
Migration of FM data of 1M sq.m. hospital campus from outdated CAD system to Revit before AI era.

Overview
The task was to migrate CAD drawings of the second largest hospital campus in Europe to Revit. The choice of Revit was made by the client so we had to deal with it. Original data were in outdated and exotic CAD system MicroGDS - not even one of major CAD systems.
The original idea was to make the client to clean up the data and provide them in DWG (DXF) format to ease the migration. This failed at the first step as the client had no time and resources to do it. This was obviuos for me from the beginning - it is incorrect to delegate such critical task to people not profecient in it. At the point when it became obvious for everyone I had a prototype process not relying on input format so the project was not interrupted.
It was also agreed that we will not create true 3D models as the data quality was too low to do so. Instead, we created a set of 2.5D models with data-rich families for entities and graphically accurate architectural layouts. The client was able to continue the work in Revit same way as in old CAD system and parallel to replace graphics with native Revit elements and families.
The project took 2 years to complete. Final production migration of data took 2 machine-time days and was complitely automated. Apart from the models the process produced metrics of the migration quality: what elements were skipped, mapping between old and new entities, quality of graphical match.
What I did
The project was organized into 4 main phases: learning how the client worked with his old system and used the data, building a core prototype to migrate test data, extend it to implement incremental migration and scale the process to real needs and size of data.
Alone collecting users practices and their development in 40 years of usage was challenging. It required many questions ahead and pro-active instead of relying on people's memory.
Technical development followed a clear framework for data pipelines: core, pre- and post-processing, intermediate storage and quality metrics. The last component is often overseen but it is crucial to be able to prove that during migration no data were lost or changed.
Keeping all components of the workflow under control and in perfect agreement was the key to success. I only needed a support from one more Revit programmer to stay focused on non-trivial tasks.
Design decisions
I started from the core problem of this project: mapping of data between the old CAD system and Revit. CAD relies on graphics and does not care much about data structure. Revit has a very strict data model before any line is created.
Recognition of similar graphics for similar elements in CAD and converting them to proper families, types and instances in Revit took 70% of the efforts.
Building pre-processing and post-processing pipelines around this core was another challenge. Using PostGIS for storing data and processing results was a key decision as it is capable to natively store and process 2D geometry as well.
Intermediate storage for all data allowed incremental migration as already migrated data were "cached" in the database and not in Revit. Revit storage would not allow needed performance.
Outcome
As the result the client got a set of 2.5D building models where each entity was presented by an instance of a family with all data and the outlook from the old system.
Apart from models a database storing the mapping between old and new systems was provided. The database also stored the quality metrics of the migration.
The migration process was so complicated that it gave starts to many side projects and knowledge reusage.
This project was presented at BILT conference in 2022 and was highly appreciated by the professional community.