
Classification of CAD Models and
Standardization through CAD Ranking
Rating CAD models based on weighted average z-scores taken from public Onshape documents to standardize and identify quality CAD models. Future implementation suggestion consists of larger sampling size, more complex training data, and dynamically updating scores.
B A C K G R O U N D
A good CAD model is indicative of a quality final product and is useful for illustrating your ideas. By scoring this through metrics tied to how businesses and the general public create CAD, it may greatly increase the efficiency of learning, maintain product quality over time, and identify areas of improvement. However, currently there is no definitive way of determining whether a CAD model is good or not especially since CAD models can have multiple different purposes. Of course, a complex model containing many different components and sub-assemblies can seem more "professional" but anyone can create multiple parts and subassemblies that do not have any relevance. So, what differentiates a quality model from one that isn't?
O B J E C T I V E


Fig. 1: Complex Onshape Document (top) and Simple Onshape Document (bottom)
Create a system that calculates how "good" a CAD model is based on public Onshape model documents using common document names (i.e. robot, car, engine, etc.) and unique documents manually selected based on complexity. Complexity is defined as original work whose purpose is clearly apparent and is physically or theoretically possible to create in real life.
M E T H O D O L O G Y
Using a list of 1000 randomly sampled public Onshape documents and 500 other hand curated documents of high complexity, a program was created which calls on different API requests to extract 86 different attributes from the list and creates a list of feature quantities. With this, statistical analysis to find the standard deviation of each document in relation to the specific feature was employed to generate a set of weights for scoring using key attributes such as "number of parts" or "number of drawings"—if a document has 12 parts in the assembly and within the 1500 documents the average number of parts is 5 then the document you are comparing ranks higher for this particular feature.
After compiling the training dataset and assigning weights to the features, the user will be able to use just input a desired document URL to find out how their CAD model ranks amongst the public. The GUI extracts the document ID and workspace ID in order to call on the Onshape API's to get the features that will be compared. After comparing all of the desired document's features to the training set, a non-integer number between 1 and 10 will be displayed as shown in Fig. 3. An invalid Onshape document URL will not be accepted.

Various Feature Attributes from a Document
Training Set Document Data
“Number of Versions” attribute column
Fig. 2: Training Strategy: Weight Generation using Z-Score
R E S U L T S
(Github repo: https://github.com/hsiehk/apikey)



A simple GUI was created for the user to input the URL and an Enter button to send the URL to extract the data. Trying out different URL's with varying complexity resulted in rankings that corresponded to scores estimated by industry professionals from Onshape and PTC.
Another method of increasing validity is to increase the sampling size; more documents in the training dataset will result in a more holistic result.
Initial results varied based on the training dataset that was introduced since most public Onshape documents are not standard models typically found in industry — most models are made by students in secondary school and undergrad. However, by manually selecting more complex models taken from the specific industry that you are interested in (i.e. updating the training dataset with only different car models to rank your assembly of a Chevrolet Corvette), the validity of the scores increased.
Fig. 3: GUI and Corresponding Response using Model from Fig. 1
C O N C L U S I O N
The method of evaluating the "professionalism" of a CAD model through the number of features is still rudimentary and is highly influenced by the models used to train the database. For instance, models with custom features such as wiring diagrams, sheet metal parts, and gears do not have high weights attached
since these features are uncommon, but models with these features are typically more detailed and contain more accurate representations of real world components. With the program now, these models may still have high scores due to the complexity of the part, but there is no guarantee of such.
It may be beneficial for future implementation to build a more robust dataset using professional documents with varying complexity and instead of just using a static training dataset, use a dynamic one that updates with each new public document.

Fig. 4: Onshape Downloadable Custom Features