Autodesk's generative design feature allows users to ask an algorithm for help in solving their 3D model given a set of parameters. Possible parameters for the algorithm to solve include inputs such as supporting weight, cost, and type of material to which this feature generates thousands of possible model solutions for. As an analogy, think as though you have modeled the top half of a chair, in turn this feature helps design the legs. While useful, generative design doesn't have a time estimate to let users know how long the feature will take to complete. The goal of this project aims to solve this issue. By harnessing the power of Machine Learning we predict the time frame of how long a design will take to finish. The time frame predictions are either short (1-2 hours), medium (2-7 hours), or long (7+ hours). The project is split up into three parts: first being the machine learning model, second being the server hosting the model, and thirdly the API on Fusion 360 which communicates with the server to obtain a predicted time frame to display back to the user.
The Machine Learning model was done using python and sklearn's implementation of Random Forest Classifier. Experimenting with different models we found this one gave the best overall performance, achieving an accuracy of around 80%. The dataset received to train the model was slightly small and unbalanced towards short time frames so upsampling and downsampling were utilized to help correct this.
The model was hosted on an AWS EC2 Ubuntu instance. The server and the API communicate via python web sockets.
Fusion 360 already has a built-in API so much of that work was focused on communication from the software to the AWS server and asking the user for inputs for the model to predict on. Inputs we ask from users are 5 different parameters that help give specific information about a user's model environment.