Revit Fixtures with Machine Learning

2019 FIU Master of Science in Data Science Capstone

Daniel Aguirre

Proof of Concept of the Automation of the Layout of Smoke Detectors in a Revit Model using Machine Learning


Abstract

The MEPT engineering design field has been largely overlooked by the data science industry. The design process has been fairly consistent since its hand drafting days and has little to no automation involved. This project’s goal is to demonstrate that a machine learning application would be efficient and accurate enough for the industry to apply it to their design process. The metric to measure the significance of this project was a precision score of 95%. Through a machine learning algorithm this project predicts whether a smoke detector is required in each room of a project building, and its subsequent layout in the designated room using Revit and Dynamo. The data needed to train the machine learning algorithm consist of previous Revit projects, that are mined using PyRevit and stored in SQL. The parameters mined are tested for their correlation and dependency to predict whether a smoke detector is needed. The applicable parameters are then transformed to a usable format specific to the machine learning algorithm. The train data is then fit to the predicted model and the predictions are outputted to Revit’s Dynamo. Dynamo is used to lay out the predicted smoke detectors in their designated rooms. Once the project is completed and constructed, the data is mined from Revit and dumped into the master database in SQL for future training. The algorithms that met the specified metric were TensorFlow’s Keras, KNN, Random Forest, and SVM, while Naive Bayes and Logistic Regression fell short. The final process from mining new Revit project data to laying out the predicted smoke detectors back in Revit takes a few minutes in contrast to hours or days when done manually. The future is vast for this field and promising.


Index Terms

  1. MEP
  2. Smoke Detectors
  3. Revit
  4. Machine Learning
  5. Dynamo
  6. Scikit-Learn
  7. TensorFlow
  8. Python
  9. SQL
  10. R
  11. PyRevit


Want to learn more?