SlideShare a Scribd company logo
1 of 163
ML guided User Assistance for 3D CAD Surface Modeling: From Image to
Customized 3D Mouse Model
MSc Advanced Product Design Engineering & Manufacturing
By
GEORGIOS KONSTANTINOS KOURTIS
SUPERVISOR
VASILEIOS SAGIAS
UNIVERSITY OF WEST ATTICA – KINGSTON UNIVERSITY LONDON
DEPARTMENT OF MECHANICAL ENGINEERING
SEPTEMBER 2023
I hereby declare responsibly that this thesis is entirely my own work, and no part of it has been copied
from printed or electronic sources, translated from foreign sources, or reproduced from the works of
other researchers or students. Where I have relied on ideas or texts from others, I have made every effort
to clearly specify it through the use of references, adhering to academic ethics.
Abstract
The design of 3D CAD surfaces, notably in mouse design, often necessitates a specialized
understanding and expertise. This thesis presents an innovative approach that harnesses machine learning
(ML) to facilitate 3D CAD surface modeling. The primary objective is to develop a demonstration
platform that uses ML to process user input, identify the most similar pre-existing design from a database,
and guide the user in modifying the chosen design to meet their specific requirements. The demonstration
platform will offer step-by-step guidance, assisting users in adapting the suggested mouse surface design
to match their design preferences. This ML-guided approach aims to inspire users to explore more
inventive designs while saving both time and costs by streamlining the design process. The pivotal
project objectives encompass the development of a machine learning model capable of interpreting user
input and identifying the closest match from an existing database of designs, the construction of an
interactive demo that integrates with 3D CAD software, and the preparation of a comprehensive report
documenting all stages of the project. The implementation of the proposed demo will yield a more
efficient and streamlined surface modeling experience for users. The machine learning model, trained on
a robust dataset of user inputs and mouse designs, will facilitate the identification and modification of an
existing design, effectively assisting users in achieving their design goals. In summary, this thesis seeks
to synergize ML and CAD surface modeling, offering enhanced assistance to users. The anticipated
outcome includes a demo and machine learning model that are poised to significantly advance the process
of 3D CAD surface design, particularly for mouse design, optimizing creativity, efficiency, and user
satisfaction.
Georgios Konstantinos Kourtis iii
Acknowledgements
This thesis is the culmination of my research work in the field of ML and CAD Automation, focusing on
"ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse
Model." Its central objective is to design a demo that offers users comprehensive guidance and assistance
throughout the process of 3D CAD surface modeling. The project entails developing a machine learning
model capable of analyzing user actions and providing suggestions that align with design parameters
such as surface size, shape, and curvature. I have chosen to delve into this specific field due to my keen
interest in exploring the intersection of ML, CAD Automation, and their potential applications.
I would like to express my sincere gratitude to my friends and colleagues, George, Giannis, and Nikos,
whose unwavering support and assistance have been invaluable throughout these two years. Their
willingness to lend a helping hand whenever I needed it has been a testament to their exceptional
character and unwavering dedication. Additionally, I extend my heartfelt appreciation to my supervisor,
Prof. Vasileios Sagias, for his invaluable guidance throughout the thesis and for igniting my interest in
R&D Digitalization through CAD automation.
Above all, I am profoundly grateful to my family and my girlfriend, Vivi, as their unwavering support has
been the cornerstone of my accomplishments. They have placed their trust in me, supported my decisions,
celebrated my successes, and provided strength and encouragement during both moments of triumph and
adversity. It is thanks to their unwavering belief in me that I have found the courage to pursue my dreams.
Georgios Konstantinos Kourtis
Denmark, September 2023
Georgios Konstantinos Kourtis v
Contents
Abstract iii
Acknowledgements v
Contents vii
List of Figures ix
List of Tables xi
1 Introduction 1
1.1 Problem Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Introduction and Overview of CAD, ML, and ML in CAD . . . . . . . . . . . . . 2
2 State of the Art 5
2.1 CAD Automation through API . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 ML Intergration into CAD systems . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Surface Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Analysis of Selected Model: The Computer Mouse . . . . . . . . . . . . . . . . . 21
3 Primary Objectives and Expected Deliverables 23
3.1 Primary Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Expected Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4 Project Methodology 25
4.1 Selection of Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Application of the selected Methodology in the Project . . . . . . . . . . . . . . 26
5 Qualitative Research 29
5.1 Introduction to Qualitative Research . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2 Qualitative Research Methodology . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3 User Observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.4 Interviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5 Questionnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.6 Findings Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6 Design and Development Guidelines 47
6.1 Design and Development Guidelines Introduction . . . . . . . . . . . . . . . . . 47
6.2 Design and Development Guidelines Development . . . . . . . . . . . . . . . . . 49
6.3 List of Design and Development Guidelines . . . . . . . . . . . . . . . . . . . . 51
Georgios Konstantinos Kourtis vii
Contents
7 Design and Implementation 53
7.1 Design Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2 Implementation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8 Evaluation and Results 101
8.1 Evaluation Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9 Conclusion and Future Work 103
9.1 Summary of Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
A Research 105
A.1 User Observation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
A.2 User Observation Task 1 Findings Visualisation Code Snippet . . . . . . . . . . . 111
A.3 User Observation Task 2 Findings Visualisation Code Snippet . . . . . . . . . . . 112
A.4 Interviews Visualisation Charts Code Snippet . . . . . . . . . . . . . . . . . . . . 113
A.5 Questionnaires Results Visualisation Code Snippet . . . . . . . . . . . . . . . . . 114
B Implementation 117
B.1 Image Extension Changing Code Snippet . . . . . . . . . . . . . . . . . . . . . . 117
B.2 "Mouse" and "Not Mouse" Images Resizing Code Snippet . . . . . . . . . . . . . 117
B.3 Random "Mouse" and "Not Mouse" Images Preview Code Snippet . . . . . . . . 118
B.4 Training and Testing Image Splitting Code Snippet . . . . . . . . . . . . . . . . . 119
B.5 Training "Mouse" & "Not Mouse" ML Model Code Snippet . . . . . . . . . . . . 120
B.6 Image Classification with a User-Specified Image Code Snippet . . . . . . . . . . 123
B.7 Dataset Categorization for Mouse-Model Matching Code Snippet . . . . . . . . . 125
B.8 Splitting of the Mouse-Model Matching Image Dataset into Training, Validation,
and Testing Sets Code Snippet . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
B.9 Training of the Mouse-Model Matching Image Dataset Code Snippet . . . . . . . 127
B.10 Mouse Model Identification using a User-Specified Image Code Snippet . . . . . 129
B.11 Resize Image Executable Script from API Code Snippet . . . . . . . . . . . . . . 132
B.12 Mouse or Not Mouse Prediction Executable Script from API Code Snippet . . . . 132
B.13 Mouse Model Classification Executable Script from API Code Snippet . . . . . . 134
B.14 Module VBA Code Snippet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
B.15 UserForm for Image Selection VBA Code Snippet . . . . . . . . . . . . . . . . . 139
B.16 UserForm for Model Modification VBA Code Snippet . . . . . . . . . . . . . . . 145
Bibliography 147
viii Georgios Konstantinos Kourtis
List of Figures
1.1 Visualization of Machine Learning Software: Processing 3D Model Data and Leveraging
Advanced Techniques for Production . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 CAD BASED PRODUCT DESIGN A CASE STUDY: Part design process of spur gear
and Assembly process flow of a wheel . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Real time object customization in CAD system: Developed GUI is activated in NX10
system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Deep CAD/CAE framework of the 3D Conceptual Wheel . . . . . . . . . . . . . . . . 9
2.4 SketchGraphs: Example sketch (left) and a portion of its geometric constraint graph
(right). Constraints are denoted as edges that either act on a primitive as a whole or some
subcomponent of the primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5 CAD Defeaturing Using Machine Learning: Defeaturing example . . . . . . . . . . . . 12
2.6 Machine Learning for Object Recognition in Manufacturing Applications: Feature
recognition results example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.7 Visualization of the Loft command in Solidworks . . . . . . . . . . . . . . . . . . . . . 17
2.8 Visualization of the Boundary Surface command in Solidworks . . . . . . . . . . . . . 17
2.9 Visualization of the Sweep command in Solidworks . . . . . . . . . . . . . . . . . . . 18
2.10 Visualization of the Revolve command in Solidworks . . . . . . . . . . . . . . . . . . . 19
2.11 An ordinary laser computer mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.12 3 standard consumer mice types. From left to right: Typical laser mouse, gaming mouse
and ergonomic mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1 Visualization of Agile Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Visualization of the Project’s Methodology Based on Agile Methodology . . . . . . . . 26
5.1 Basic difference between Qualitative and Quantitative Research . . . . . . . . . . . . . 29
5.2 Snapshot of User Observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3 Task 1: Designing a Surface (Finished Model) . . . . . . . . . . . . . . . . . . . . . . 34
5.4 User Observation Task 1 Findings Visualisation Graphs . . . . . . . . . . . . . . . . . 35
5.5 Task 2 - Modifying a Finished Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.6 User Observation Task 2 Findings Visualisation Graphs . . . . . . . . . . . . . . . . . 37
5.7 Interviews Visualisation Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.8 Questionnaire Results Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.1 Design and Development Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.1 Design Workflow Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.2 A Typical Convolutional Neural Network . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.3 Image Padding (Resizing to 224x224 pixel dimension) . . . . . . . . . . . . . . . . . . 59
Georgios Konstantinos Kourtis ix
List of Figures
7.4 Preview of random dataset pictures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.5 Mouse-Not Mouse Model’s performance during training over 14 epochs . . . . . . . . . 66
7.6 Preview of the selected 20 Mouse Models to be CAD Modeled . . . . . . . . . . . . . . 68
7.7 View of the 20 CAD Mouse Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.8 Workflow for creating the 3D model of HP Envy 500 . . . . . . . . . . . . . . . . . . . 71
7.9 Mouse-Model Matching performance during training over 63 epochs . . . . . . . . . . 77
7.10 UserForm for Image Selection Layout Preview . . . . . . . . . . . . . . . . . . . . . . 84
7.11 UserForm for Modifying CAD Model Preview . . . . . . . . . . . . . . . . . . . . . . 89
7.12 Unzipping the Executables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.13 Macro Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.14 Confirmation to Generate Mouse Model . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.15 Executable Path Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.16 Image Selection Userform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.17 Comparative view of Image Selection Userform for a Mouse and Non-Mouse Image . . 97
7.18 Not Mouse Image Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.19 Mouse Image Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.20 Mouse Image Classification Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.21 CAD Model Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.22 Mouse CAD Opened . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
x Georgios Konstantinos Kourtis
List of Tables
7.1 Class Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
A.1 User Observation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
A.2 Task 2 - Modifying a Finished Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Georgios Konstantinos Kourtis xi
Chapter 1
Introduction
1.1 Problem Area
The fusion of machine learning and computer-aided design (CAD) software is poised to revolutionize
the manufacturing industry. The advent of these technologies has created unique opportunities for
innovation, efficiency, and improvement in the product development process. The problem area this thesis
focuses on is situated at the intersection of three key technologies: CAD, Application Programming
Interfaces (APIs), and Machine Learning (ML). By exploring and understanding the potential synergies
between these areas, this study aims to provide insights and develop solutions for automating 3D surface
modeling in CAD.
The intersection of machine learning and 3D CAD modeling brings forth a wealth of possibilities for
numerous industries. Below is a small highlight of a few sectors where this synergy could revolutionize
traditional processes.
• Jewelry design, with its intricate and complex surfaces, stands to gain immensely from machine
learning guidance in 3D CAD modeling. Designers, especially novices, could considerably enhance
their productivity and precision, thereby translating their creative visions into tangible art more
effectively (Gupta, Damani, and Narahari 2018).
• In industrial design, complex geometric prototypes and products can be crafted more efficiently
using machine learning. This intelligent system could expedite the design process, reduce costs,
and thereby accelerate the speed to market (Li and Wang 2023).
• Architects leveraging 3D CAD for designing structures with elaborate geometries could also benefit
significantly. Machine learning could enable them to push the envelope of creativity and design
ambition, while simultaneously curbing time and cost expenditures (Chaillou 2019).
• In the realm of automotive design, vehicles’ prototypes and components often feature complex
curves and surfaces. With machine learning offering modeling guidance, designers could conceive
more aerodynamic and efficient designs, reducing the design timeline and costs (Shimizu et al.
2021).
Georgios Konstantinos Kourtis 1
1. Introduction
1.2 Introduction and Overview of CAD, ML, and ML in CAD
1.2.1 APIs in CAD
Application Programming Interfaces, more commonly known as APIs, play a crucial role in ensuring
software interactivity. Essentially, APIs define the methods and data formats that allow different software
applications to communicate with each other. When we bring this concept into the realm of Computer-
Aided Design (CAD), APIs take on a transformative role. They provide programmers with the means
to both automate and customize CAD software. This opens the door to more efficient workflows and a
higher degree of precision and consistency in the design process (Zbiciak, Grabowik, and Janik 2015).
Further, APIs are the foundational tools that facilitate the creation of applications capable of directly
interacting with CAD software. This interaction is critical as it automates a significant number of tasks
that would traditionally require manual input and oversight, thereby streamlining the overall design
process.
Beyond serving as mere facilitators of automation, APIs in CAD environments also enable a higher
degree of customization. Designers and engineers can leverage APIs to tailor the CAD software to their
unique needs, thereby increasing productivity and reducing the chances of error (Abidin and Zahid 2019).
They can create scripts and plugins to automate repetitive tasks, integrate the CAD software with other
systems, or even develop entirely new features. As such, APIs in CAD not only improve the efficiency of
the design process, but also its flexibility and adaptability.
1.2.2 Machine Learning
Machine Learning (ML), a branch of artificial intelligence, is a method of data analysis that automates
the construction of analytical models. It involves designing and applying algorithms capable of learning
from and making predictions or decisions based on data. In essence, machine learning enables computers
to handle new situations through analysis, self-training, observation, and experience (Janiesch, Zschech,
and Heinrich 2021). As datasets grow larger and computations become more complex, machine learning
has emerged as a vital component of technological innovation across a diverse range of industries.
Notably, machine learning algorithms have the capacity to improve over time. They can learn from
their mistakes, adapt to new data, and gradually improve their predictions or decisions. This makes
them particularly useful for tasks that involve large amounts of data or complex computations, where
manual analysis would be time-consuming or impractical. Additionally, machine learning algorithms can
uncover patterns and insights within the data that might be difficult or impossible for humans to detect.
These capabilities make machine learning a powerful tool for a variety of applications, ranging from
predictive analytics to autonomous systems.
1.2.3 Machine Learning in CAD
The merger of machine learning and CAD opens up a world of remarkable possibilities. Machine
learning has the potential to augment the functionality and capabilities of CAD software, leading to
improvements in the speed, efficiency, and quality of the design process. For instance, machine learning
algorithms can learn from existing CAD models to predict and generate new designs, automate the
detection of design errors, or even optimize designs for specific criteria (Rapp et al. 2022).
2 Georgios Konstantinos Kourtis
Introduction and Overview of CAD, ML, and ML in CAD
Moreover, machine learning can facilitate the creation of more intelligent CAD systems. These
systems can learn from user interactions and adapt to individual users’ preferences and habits, making
the design process more intuitive and user-friendly. They can also incorporate knowledge from various
sources, such as design standards or historical design data, to provide users with real-time design
suggestions and feedback.
Despite the promising possibilities that machine learning brings to the table, its application within
CAD is still an emerging field. Many potential benefits remain untapped, and there are significant
challenges to overcome, such as the complexity of CAD data and the need for large amounts of training
data. Nonetheless, the potential of machine learning in CAD is immense, and its exploration is a
fascinating journey that promises to reshape the landscape of design technology (Kahng 2023).
Figure 1.1: Visualization of Machine Learning Software: Processing 3D Model Data and Leveraging
Advanced Techniques for Production.
As mentioned before, the problem area for this thesis stems from a desire to leverage these
technologies —APIs, CAD, and Machine Learning— to create an innovative solution for automating 3D
surface modeling. By developing an API that uses machine learning to predict and generate 3D models
based on user input, a more intuitive, efficient, and user-friendly design process is going to be created. At
the following chapters, a deeper analysis into the state of the art in these areas is going to be happen, in
order to identify gaps where this research can contribute.
Georgios Konstantinos Kourtis 3
Chapter 2
State of the Art
2.1 CAD Automation through API
As already mentioned in the introductory section, the vast landscape of CAD (Computer-Aided
Design) APIs (Application Programming Interfaces) is becoming a powerhouse for design and
manufacturing innovation. As an interface that allows various software components to communicate,
CAD APIs have played a critical role in automating design tasks, integrating multiple engineering
software systems, enabling generative design methodologies, and extracting advanced features from
CAD models.
As we delve into CAD API applications and advancements, we will spotlight five notable works that
each highlight a different aspect of CAD automation, prioritizing those most relevant to our work scope
and gradually shifting towards those with lesser relevance to our specific domain. These papers unfold
the possibilities of CAD APIs in automating design tasks, thereby transforming the traditional design
methodologies into more streamlined, efficient, and dynamic processes. They explore a broad range of
topics from enhancing automation in the design process to utilizing APIs to bridge gaps between different
CAD software. Each paper showcases how CAD APIs can re-engineer design workflows, driving a
significant shift from manual to automated design processes, thereby setting a dynamic context for the
discussions to follow.
Figure 2.1: CAD BASED PRODUCT DESIGN A CASE STUDY: Part design process of spur gear and
Assembly process flow of a wheel.
The paper titled "CAD BASED PRODUCT DESIGN: A CASE STUDY" (Kyratsis et al. 2019)
makes a contribution to the field of CAD automation by showcasing the application of the Application
Programming Interface (API) of SolidWorks™. This paper underscores the crucial role of design in the
product lifecycle, emphasizing the need for speed and adaptability in the design modification stage.
Georgios Konstantinos Kourtis 5
2. State of the Art
One salient feature of this study is the development of an automated design application to streamline
the design process of a complex product: a bicycle. This application is built upon the premise of
automating repetitive and time-consuming tasks, saving valuable time and resources while maintaining a
high standard of product quality.
An aspect of this case study is the use of VBA in order to facilitate the creation of a user-friendly
interface, thereby enabling designers to quickly and effectively implement design changes. Such
automation not only accelerates the design process but also empowers designers to easily customize
various aspects of the bicycle design such as size, frame style, color, wheels, handlebar, saddle, etc.
The application follows a straightforward input-output workflow. The user inputs necessary data
into an easy-to-use interface divided into five tabs. On completing the input process, a command button
initiates the design process, culminating in a fully assembled and parametrically designed model of
a bicycle. In addition, the system produces a rendered model of the bicycle, applying the specified
attributes for illustration purposes.
In addition to automation, the case study highlights the flexible nature of the API, which can be used
to create simple and effective tools that serve various purposes in product design and manufacturing. Thus,
the paper extends the conversation around CAD automation, demonstrating the tremendous potential of
APIs in optimizing design processes for a wide range of products.
Furthermore, the paper also encompasses a literature survey, which discusses several tools developed
with the aid of different API systems. This includes applications for automatic design and manufacturing,
specialized tools for specific purposes like artificial measuring, machining simulation, robot simulation,
and more.
Figure 2.2: Real time object customization in CAD system: Developed GUI is activated in NX10 system.
The paper "Real time object customization in CAD system" (Abidin and Zahid 2019) presents a
6 Georgios Konstantinos Kourtis
CAD Automation through API
new approach to object customization in CAD (Computer Aided Design) systems that allows real-time
modification of 3D models. The traditional approach to modifying a CAD model relies heavily on manual
editing. However, this proposed tool aims to simplify the process, speed it up, and reduce the likelihood
of mistakes.
The program is developed using Visual Basic (VB) and a custom Graphical User Interface (GUI),
integrated into the NX10 CAD/CAM software interface. The research paper provides a method to
translate 3D model modification instructions into programming codes using Journaling tools in the NX
interface. These codes are then linked to the GUI, allowing the user to make real-time changes to the
model with minimum process steps.
A significant advantage of this method is the capacity to modify the 3D model in real time, which
was a limitation in the traditional process, as changes could only be made after setting parameter values,
thus making the modification process not instantaneous.
This tool has substantial potential applications in industries like furniture design where modifications
in terms of size, shape, and additional compartments are commonplace. By automating these
modifications, designers can save time and reduce repetitive tasks, thereby minimizing potential errors
and improving productivity.
The tool is also evaluated based on its performance in reducing process steps and time spent modifying
the 3D model in the CAD system. The authors, therefore, suggest that this tool could have wide-ranging
impacts on various industries by allowing real-time customization and modification of designs.
The paper "A basic automated CAD modelling approach for an IC engine piston" (Sirigiri and
Esanakula 2022) introduces an automated Computer-Aided Design (CAD) modeling approach for
creating and improving designs of Internal Combustion (IC) engine pistons. Recognizing that traditional
CAD techniques are time-consuming and that even small alterations can have significant effects on the IC
engine assembly, the authors propose an automation method that leverages parametric modeling, CAD
software, SolidWorks, and a customized Graphical User Interface (GUI). They suggest that this approach
not only reduces design and modeling time but also allows for efficient reuse of design data. The authors
also discuss related concepts such as Knowledge-Based Engineering (KBE), Design Automation, the role
of Application Programming Interfaces (APIs), and Visual Basic (VB) in their proposed methodology.
The paper "Automated CAD Modelling of Mechanical Components" (Joshi et al. 2017) addresses the
repetitive and time-consuming process of modeling similar components in the manufacturing industry.
The authors propose a method to automate geometric CAD modeling, thereby enhancing productivity
and reducing the chances of errors. The paper highlights the limitations of existing CAD software
and traditional modeling methods, such as human errors, the high skill level required, high costs, and
limited shape variation accommodation. The authors suggest automation through customizing the CAD
software according to the Application Programming Interface (API) could resolve these issues, enhancing
efficiency, minimizing errors, and potentially reducing costs.
The paper, "Generation of rule-adhering robot programs for aluminum welding automatically from
CAD" (Tran et al. 2023) presents an innovative method for the automatic generation of robot welding
programs from CAD (Computer-Aided Design) data, particularly catering to the growing demand for
Georgios Konstantinos Kourtis 7
2. State of the Art
product customization. The developed programs consider specific welding conditions and requirements,
thereby ensuring appropriate welding operations and maintaining structural integrity. To attain this,
the paper leverages information extracted from a topological analysis of tessellated geometry local to
the weld joint, in combination with available CAD API functions. The approach is implemented using
Siemens NX and the Robotics Toolbox for Python and tested on different node configurations and a
stiffener piece. The paper emphasizes that this system can generate programs that comply with the
allowed welding operations provided a solution exists, significantly advancing the capabilities of robotic
welding in manufacturing industries.
8 Georgios Konstantinos Kourtis
ML Intergration into CAD systems
2.2 ML Intergration into CAD systems
The incorporation of Machine Learning (ML) into the realm of Computer-Aided Design (CAD) has
opened up an exciting frontier, accelerating innovation and pushing the boundaries of design technology.
This convergence of disciplines has given birth to numerous robust and sophisticated systems, each
demonstrating the profound impact of blending ML’s analytical prowess with CAD’s design intricacies.
In the rapidly evolving landscape of ML, it’s a challenging task to capture the full scope of its
integration into CAD. Our primary aim is to showcase ten examples of this integration, prioritizing those
most relevant to our work scope. We will analyze each of these instances, gradually shifting towards
those with lesser relevance to our specific domain. Each instance represents a significant contribution to
the field, successfully weaving together ML and CAD into a well-defined system, generating insightful
research and serve as a testament to the potential that lies at the intersection of these two dynamic fields.
Figure 2.3: Deep CAD/CAE framework of the 3D Conceptual Wheel.
"Integrating Deep Learning into CAD/CAE System: Generative Design and Evaluation of 3D
Conceptual Wheel" (Yoo et al. 2021) illustrates how deep learning has been integrated into the CAD/CAE
framework, specifically during the conceptual design phase. The framework automatically generates
3D CAD designs and evaluates their engineering performance, signifying a significant advancement in
CAD/CAE system development.
In essence, this research outlines a deep learning-based CAD/CAE framework that combines
generative design, CAD/CAE automation, and advanced machine learning technologies. This holistic
approach seeks to address the early stages of the design phase by automatically generating and evaluating
3D CAD data. The focus is on establishing viable conceptual designs early on, thereby increasing
efficiency and improving outcomes.
The framework introduces several key components that contribute to the overall process:
Georgios Konstantinos Kourtis 9
2. State of the Art
• 2D generative design: Leveraging deep learning, this component generates multiple potential
designs based on pre-set constraints.
• Dimensionality reduction: This process helps manage the complexity of the design space and
efficiently represents the design candidates.
• Design of experiment (DOE) in latent space: This procedure helps explore and understand the
design space.
• 3D CAD automation: This part automates the creation of 3D CAD models from the designs
generated.
• Transfer learning: The system employs transfer learning techniques to apply knowledge from one
problem and apply it to another.
• CAE automation: Here, the framework evaluates the generated designs from an engineering
standpoint.
• Visualization and analysis: The final component enables designers to visualize and analyze the
conceptual designs for further refinement.
One of the standout benefits of this approach is the capability to automatically generate a large
number of feasible 3D wheel CAD models and provide immediate predictions for modal analysis results.
This is done without necessitating an extensive 3D CAD/CAE modeling process, thereby reducing the
time typically needed for these stages.
The proposed framework allows designers to instantly evaluate the engineering performance of new
designs, omitting the need for engineers to manually review them. By having AI generate and evaluate
a large number of CAD models, the designer can focus on selecting and refining the most promising
candidates for detailed designs.
Figure 2.4: SketchGraphs: Example sketch (left) and a portion of its geometric constraint graph (right).
Constraints are denoted as edges that either act on a primitive as a whole or some subcomponent of the
primitive.
"SketchGraphs: A Large-Scale Dataset for Modeling Relational Geometry in Computer-Aided
Design" (Seff et al. 2020) introduces a new data set, "SketchGraphs," which comprises 15 million sketches
extracted from real-world CAD models. The sketches are represented as geometric constraint graphs,
10 Georgios Konstantinos Kourtis
ML Intergration into CAD systems
thereby enabling training Machine Learning models to reason about and synthesize parametric CAD
designs. This dataset facilitates exploration of program synthesis and induction, further strengthening the
tie between Machine Learning and CAD.
The creation of this Dataset aims to make significant strides in combining machine learning models
with CAD, thereby bringing about more effective and efficient design workflows. This is crucial because
this area sits at the crossroads of graphics, relational reasoning, and program synthesis, making it a
challenging yet fertile ground for innovation and advancement.
The paper draws parallels between the process of designing physical objects in a parametric CAD
system and constraint programming. It highlights that both involve defining rich geometric structures
through an implicit program.
Below is a deeper look at the key points mentioned in the paper:
• Modular Approach to Design: The paper emphasizes that modern physical object design mirrors
modular programming, where simple subcomponents are put together to form a more complex
assembly. In parametric CAD, parts start as a collection of 2D sketches composed of geometric
primitives, like line segments, circles, and more. These primitives have associated parameters, and
their final configuration is determined through specified constraints.
• Using ML to Construct and Reason about Object Designs: Machine learning models can be trained
on the SketchGraphs dataset to learn to construct and reason about object designs. Such models,
when adapted to CAD, can suggest subsequent steps based on partial geometry, or offer corrections
for implausible operations. They can also infer the underlying feature history when provided with
visual observations of a part or sketch, allowing for direct modification in CAD software.
• Understanding Human-Designed Structures for AI Research: The paper underscores the relevance
of understanding human-designed structures for AI research. By learning to reason about the
creation of objects, AI could identify hierarchical structures, long-range symmetries, and functional
constraints that would be difficult to infer from vision alone.
• Application of SketchGraphs Dataset: The dataset can be used to train models for various
applications, including autocompleting partially specified geometry (conditional completion),
automatically applying natural constraints reflecting likely design intent (autoconstrain), and
inferring CAD from images.
The potential application of this work to our own project is possible. The dataset could be used to train
a machine learning model that can predict 3D geometry based on a user’s 2D sketches, thereby providing
real-time feedback and guidance during surface model design. This could improve user experience,
reduce errors, and streamline the design process.
Georgios Konstantinos Kourtis 11
2. State of the Art
Figure 2.5: CAD Defeaturing Using Machine Learning: Defeaturing example.
In the paper, "CAD Defeaturing Using Machine Learning" (Owen, Shead, and Martin 2019) a novel
machine-learning-based method to defeature CAD models for tetrahedral meshing is described. This
technique uses machine learning predictions of mesh quality for geometric features of a CAD model
before meshing, improving meshing outcomes by presenting a prioritized list of suggested geometric
operations to users. The training of machine learning models uses a combination of geometric and
topological features from the CAD model and local quality metrics for ground truth. The application of
Machine Learning in this context shows its ability to predict potential problem areas and thus improve
CAD outcomes.
The authors of the paper argue that manual defeaturing requires significant time, effort, and expertise.
A user must identify irrelevant features and carefully use advanced software tools to remove them. This
process relies heavily on the user’s understanding of the physics being simulated, the process of mesh
generation, and the expected quality of the resulting mesh.
The proposed system aims to streamline this process. It presents users with a ranked list of geometric
entities in the CAD model that are likely to result in suboptimal mesh quality. For each entity, it provides
a set of suggested modifications, ranked by their predicted ability to improve mesh quality. Users can
then preview, adjust, and implement these modifications as needed. The system uses machine learning to
predict the effect of each modification on mesh quality, enabling more efficient and effective defeaturing.
The researchers acknowledge that while their method offers a "greedy" approach to defeaturing by
suggesting solutions to each problem in isolation, it may not necessarily provide the optimal solution
for the overall model. However, they argue that it provides a principled, data-driven starting point,
particularly for users with less experience.
While previous works have applied machine learning to shape recognition and classification in CAD
models, the authors claim that their approach is novel in using machine learning to predict and improve
mesh quality outcomes.
Overall, this paper presents a novel use of machine learning to improve the process of defeaturing in
CAD models, potentially saving time and improving the quality of subsequent computational simulations.
12 Georgios Konstantinos Kourtis
ML Intergration into CAD systems
The authors’ approach also provides a way for less experienced users to begin defeaturing, guided by
predictions from trained models.
The possibility of future research extending this approach to other aspects of CAD model preparation,
such as correcting interactions between different parts of a model, has also been discussed.
Figure 2.6: Machine Learning for Object Recognition in Manufacturing Applications: Feature recognition
results example
In "Machine Learning for Object Recognition in Manufacturing Applications" (Yun et al. 2023)
the authors review Machine Learning techniques for recognizing objects, features, and constructing
process plans, providing insight into its implementation in various smart manufacturing applications.
They emphasize the potential of Machine Learning for feature recognition in manufacturing.
The goal is to enable rapid information sharing among manufacturers, suppliers, customers, and
governments. This development is in line with global trends towards advanced manufacturing concepts
like "Industry 4.0", "Monozukuri", "Factories of the Future", and "Industrial Internet".
The paper notes the potential of Machine Learning, combined with big data, to generate more profit
across various industries. Specifically in manufacturing, ML can be used for predicting tool wear, which
is difficult to do with traditional model- or physics-based predictive models. Such predictive maintenance
in Machine Learning improves machine intelligence and can potentially automate conventional decision-
making procedures in manufacturing.
The authors also discuss the traditional iterative process for production planning, which involves
designers, manufacturers, and process planners. They note that this process is time-consuming and
costly, and often relies on the experience or skill of manufacturing personnel. However, as experienced
personnel retire, there’s a need for strategies to replace this knowledge within the cyber manufacturing
framework.
The authors see great potential in the use of machine learning for automated feature recognition
Georgios Konstantinos Kourtis 13
2. State of the Art
(AFR) from the drawings, which traditionally relies heavily on human experience. Despite the challenges
in automating the process due to complexity and interaction of features, the authors believe that ML has
the potential to enhance this process significantly.
In this study, the authors review the techniques for recognizing objects for manufacturing a CAD
model using Machine Learning. They explore feature recognition techniques from the CAD model and
estimating manufacturability before computer-aided process planning (CAPP).
Therefore, the significance of this paper lies in its exploration of the potential of machine learning in
automating the process of feature recognition and manufacturability estimation in the context of cyber
manufacturing, thereby addressing the challenges of the traditional production planning process.
In the study, "Comparing CAD part models for geometrical similarity: A concept using machine
learning algorithms" (Bickel et al. 2021) a method for comparing a newly designed part with a pool of
validated models to identify the most similar one is proposed. This approach has significant potential
for reducing development costs, shortening the production start-up time, and improving product quality.
Utilizing Machine Learning algorithms, CAD part models are segmented into specific, manufacturing
relevant groups, and similarities between segmented geometries are identified. The process involves
global similarity comparison, part segmentation, and local similarity comparison. The study shows how
Machine Learning has a notable potential for efficiency in CAD workflows.
The paper titled "Explaining and Interpreting Machine Learning CAD Decisions: An IC Testing
Case Study"(Krishnamurthy et al. 2020) presents a methodology to elucidate and comprehend machine
learning decisions within the context of Computer-Aided Design (CAD) flows, focusing specifically on a
case study in VLSI testing. The proposed methodology aims to offer designers a deeper understanding of
the "black box" machine learning models/classifiers by providing human-readable explanations based on
commonly understood design rules or novel design rules.
As described in the "Survey of Machine Learning for Electronic Design Automation" (Gubbi et al.
2022) demand for semiconductor ICs has risen, and with the slowdown of Moore’s law, the focus has
turned towards machine learning to enhance EDA and CAD tools and processes. These ML-based tools
span various stages of IC design, from Synthesis and Physical Design to Static Timing Analysis (STA),
Design for Test (DFT), Power Delivery Network analysis, and Signoff. This integration offers exciting
new trends and future perspectives in the VLSI-CAD domain.
Another promising development is the application of machine learning for geometry processing.
The class "Autonomous Geometry Processing Using Machine Learning & Forge" (Jadhav et al. 2019)
addresses the challenge of extracting geometrical information from STL mesh models for manufacturing
applications. Machine learning techniques offer a solution by identifying features in mesh data and
supporting efficient geometry processing. The integration of Autodesk Forge for data translation and
viewing and the utilization of AWS cloud infrastructure showcases the potential for extensive automation
in manufacturing processes.
The merging of AI-based Computer-Aided Engineering (CAE) with automated product design
presents a novel approach to optimizing engineering workflows. The paper "AI-based Computer Aided
Engineering for automated product design - A first approach with a Multi-View based classification"
14 Georgios Konstantinos Kourtis
ML Intergration into CAD systems
(Krahe et al. 2019) discusses the development of an AI-based assistant system to facilitate the design
process. This system leverages machine learning to extract implicit knowledge from existing CAD models
and suggest useful next design steps, thereby reducing design redundancy and promoting error-free,
efficient production.
Finally, "Machining feature recognition based on deep neural networks to support tight integration
with 3D CAD systems" (Yeo et al. 2021) provides an example of integrating 3D CAD systems tightly
with deep neural networks. By using feature descriptors as inputs to neural networks, the proposed
method recognizes machining features, thereby effectively overcoming problems that can arise during
the format conversion of 3D models.
Georgios Konstantinos Kourtis 15
2. State of the Art
2.3 Surface Design
Advanced modelling is an upgrade of basic modelling that ends in surface modelling, which is
basically a digitised version of freehand drawing, or designing structures with the use of mathematical
curves, representing processes in nature. (Vukašinović and Duhovnik 2019, p. 2)
In order to comprehend the objectives and the forthcoming steps of this project, it is critical to
understand in depth the concept of Surface Design modelling, mentioned earlier. Surface design
encompasses the techniques and methodologies used to create the exterior elements, specifically the
surfaces, of a three-dimensional model or object. It is a branch of CAD design which has gained
prominence in various industries owing to its ability to generate complex and highly detailed design
elements that add aesthetic and functional value to the product.
Surface design is heavily reliant to linear elements, generally referred to as curves. They represent
an edge or a connection between two points. A surface can be formed by linear elements related to
one another in some relationship. In the Cartesian coordinate system we normally use orthogonality at
the intersections between linear elements (curves) (ibid., p. 11). The interpenetration of orthogonally
connected linear elements (curves) is used to present a surface. B-splines curves, that are very often
used in computer graphics and modellers are a powerful tool in computer geometry in their own right;
however, they lack further flexibility due to the B-splines being unable to exactly describe the curves
in the family of conic sections (i.e., parts of circles, ellipses, parabolas or hyperbolas). For this reason,
the need arose to rationalise B-splines by adding to each control point of a B-spline a new parameter wi
(the fourth coordinate), referred to as the weight. It allows an accurate determination of the effect of the
control point. A rational form of a non-uniform B-spline (NURBS) that introduces control-point weights
is defined as: (ibid., p. 20)
P(t) =
∑n
i=1 Pi ·wi ·Ni,k(t)
∑n
i=1 wi ·Ni,k(t)
(2.1)
Specifically Non-Uniform Rational B-Splines (NURBS) (Piegl 1991), enable designers to depict an
extensive range of shapes, from straightforward 2D entities to complex 3D forms with a high degree of
accuracy and precision. The design process using NURBS begins with basic shapes known as primitives,
which are then modified and combined to achieve the desired surface design.
Surface design in CAD relies on a range of commands and tools to generate and manipulate surfaces.
Some common tools include the ’Loft’, ’Boundary Surface’, ’Sweep’, and ’Revolve’ commands. Each
command brings its unique possibilities and complexities to the design process.
16 Georgios Konstantinos Kourtis
Surface Design
Figure 2.7: Visualization of the Loft command in Solidworks.
• Loft: The loft command allows the creation of a surface or a solid that transitions between multiple
cross-section profiles (Adams 2019). The complexity lies in the correct placement and alignment of
these profiles, ensuring that the lofted surface transitions smoothly between them. Poorly aligned profiles
can lead to a twisted or distorted surface. Moreover, managing the loft’s complexity increases when the
number of profiles increases or when they significantly vary in shape or size. If we wanted to simplify this
into a high-level pseudo-mathematical description, we might say that for each point Pi in the first shape,
we find the corresponding point Qi in the second shape, and then interpolate a smooth path between them,
forming a surface. The surface is defined by:
F(u,v) = (1−v)·P(u)+v·Q(u) (2.2)
Where:
• F(u,v) is the point on the lofted surface
• P(u) and Q(u) are the points on the first and second shapes, respectively
• u parameterizes the points along the shapes
• v parameterizes the loft between the shapes 0 ≤ v ≤ 1
Figure 2.8: Visualization of the Boundary Surface command in Solidworks.
Georgios Konstantinos Kourtis 17
2. State of the Art
• Boundary Surface: This command is used to create a surface within a boundary defined by multiple
curves. The key challenge here is ensuring that the boundary curves are correctly aligned and provide a
coherent definition for the surface. If the boundary curves are not suitably aligned or if they intersect, the
surface may end up being disjointed or malformed (Lombard 2016). Similarly to the ’Loft’ command,
we could try to simplify this into a high-level pseudo-mathematical description. Assuming that there
are two main boundary curves B1(u) and B2(u), and two additional edge curves E1(v) and E2(v) that
connect the ends of B1 and B2. In this case, the boundary surface can be parameterized by two variables
u and v, and is defined as follows:
F(u,v) = (1−u)·E1(v)+u·E2(v)+(1−v)·B1(u)+v·B2(u) (2.3)
Where:
• F(u,v) is the point on the boundary surface
• B1(u) and B2(u) are the main boundary curves, parameterized by u
• E1(v) and E2(v) are the edge curves, parameterized by v
• u parameterizes the blend between the edge curves (0 ≤ u ≤ 1)
• v parameterizes the blend between the boundary curves (0 ≤ v ≤ 1)
Figure 2.9: Visualization of the Sweep command in Solidworks.
• Sweep: Is an surface extrusion tool that enables the user to extrude a profile along a drawn route,
such as a circle, square, or complicated form (JavaTpoint 2023). The challenge lies in ensuring that the
profile remains correctly oriented relative to the path throughout the sweep. If the path curve has abrupt
changes in direction, the sweep can result in self-intersecting or twisted surfaces. Additionally, managing
the scale of the profile along the path can add another layer of complexity. If we wanted to simplify this
into a high-level pseudo-mathematical description, we might say that for a profile curve P(u), we extrude
it along a path curve Q(v). The resulting surface could be defined as:
18 Georgios Konstantinos Kourtis
Surface Design
F(u,v) = P(u)+v·Q(u) (2.4)
Where:
• F(u,v) is the point on the swept surface.
• P(u) is the point on the profile curve.
• Q(u) is the point on the path curve.
• u parameterizes the points along the profile curve.
• v parameterizes the sweep along the path curve, with 0 ≤ v ≤ 1 indicating the beginning and end
of the path, respectively.
Figure 2.10: Visualization of the Revolve command in Solidworks.
• Revolve: The revolve command creates a surface or a solid by rotating a profile curve around an axis
(DesignTechAcademy 2017). The main challenge here is managing the continuity and smoothness of the
surface at the seam where the start and end of the revolve meet, especially in the case of a non-circular
profile.The ’Revolve’ command in CAD takes a profile curve or shape and rotates it around an axis. If
we wanted to simplify this into a high-level pseudo-mathematical description, we might say that for a
profile curve P(u), we rotate it around an axis defined by a line L. The resulting surface could be defined
in polar coordinates as:
F(u,θ) = P(u)·R(θ) (2.5)
Where:
• F(u,θ) is the point on the revolved surface.
• P(u) is the point on the profile curve.
• R(θ) is a rotation matrix for an angle θ.
• u parameterizes the points along the profile curve.
Georgios Konstantinos Kourtis 19
2. State of the Art
• θ parameterizes the revolution around the axis, with 0 ≤ θ ≤ 2π indicating a full revolution around
the axis.
While surface design has greatly expanded the possibilities of 3D modelling, it comes with a unique
set of challenges that make it a demanding aspect of CAD work.
All these commands mentioned earlier, require an intricate understanding of geometric principles and
a high degree of spatial visualization. The designer needs to predict how the chosen profiles, paths, or
boundaries will interact to form the final surface.
Moreover, achieving high-quality surface design involves more than just correct command execution.
The designer must also understand how the parameters of these commands (such as the degree of the
surface, the number of control points, or the constraints between surfaces) influence surface quality. For
example, an increase in the number of control points may provide more flexibility to shape the surface
but may also lead to an unnecessarily complex surface that is difficult to manipulate.
Also, one significant difficulty lies in controlling the continuity and smoothness of surfaces. Creating
a smooth transition between adjoining surfaces can be a complex task, requiring an understanding of
the underpinning mathematical principles of NURBS and the toolsets available in the CAD software.
Ensuring the correct joining of surfaces is a crucial yet difficult task that requires attention to detail.
Improperly joined surfaces can lead to gaps or overlaps, which can pose significant issues during
downstream applications like simulation or manufacturing.
Finally, the accurate representation of surfaces in CAD can pose a challenge due to the inherent
approximation nature of NURBS-based surface modelling. This could potentially result in minor
discrepancies between the intended design and the final model. Addressing these discrepancies often
requires iterative refinement of the surface, further adding to the complexity of the surface design process.
20 Georgios Konstantinos Kourtis
Analysis of Selected Model: The Computer Mouse
2.4 Analysis of Selected Model: The Computer Mouse
In the realm of objects that manifest the delicate blend of aesthetic and functional design, the computer
mouse stands out. It is a ubiquitous tool that provides an optimal case study for this thesis due to its
multifaceted design that blends simple and complex surfaces. Crafting such designs necessitates the use
of advanced CAD techniques, such as loft, boundary surface, revolve, and sweep commands.
Figure 2.11: An ordinary laser computer mouse.
These techniques are very important in shaping the ergonomic and precision-oriented form of the
computer mouse. Consequently, they serve as an exploration platform for advanced modelling and
surface design techniques.
The methodology employed in this thesis incorporates a specialized software macro operating within
a CAD environment, which suggests the computer mouse as a design project. This approach integrates
with a Machine Learning model, adding a layer of automation and intelligence to the design process.
Figure 2.12: 3 standard consumer mice types. From left to right: Typical laser mouse, gaming mouse and
ergonomic mouse.
The designs we focus on in this study are predominantly standard consumer mice, covering a range
of models from typical laser mice and gaming mice to ergonomic mice. The purpose is to explore
designs that have proven to be effective and popular among users, rather than venturing into untested,
unconventional designs. The ergonomic form of these mice, driven by considerations for user comfort
and efficiency, offers a rich area for our investigation.
The typical laser mouse constitutes the most prevalent type of computer mouse, equipped with
Georgios Konstantinos Kourtis 21
2. State of the Art
universally recognized features. It generally possesses two buttons, located on the left and right for
performing primary selection and command actions, and a central scroll wheel which serves the dual
function of navigation and an additional button. The defining characteristic of the laser mouse lies in
its use of light-emitting diodes (LEDs) and an imaging array of photodiodes. These components detect
movement relative to the underlying surface, a technological leap from the mechanical mouse which
relied on internal moving parts in conjunction with its optics. This transition not only enhanced precision
but also contributed to the overall durability of the device (Elliott 2004).
The gaming mice are specifically designed for use in computer games. They typically employ a
wider array of controls and buttons and have designs that differ radically from traditional mice. Some
mice have been designed to have adjustable features such as removable and/or elongated palm rests,
horizontally adjustable thumb rests and pinky rests. Some mice may include several different rests with
their products to ensure comfort for a wider range of target consumers. Gaming mice are held by gamers
in three styles of grip (Houghton 2015):
• PalmGrip: the hand rests on the mouse, with extended fingers.
• ClawGrip: palm rests on the mouse, bent fingers.
• Finger −TipGrip: bent fingers, palm does not touch the mouse.
The ergonomic mouse, as the name suggests is intended to provide optimum comfort and avoid
injuries such as carpal tunnel syndrome, arthritis, and other repetitive strain injuries. It is designed to fit
natural hand position and movements, to reduce discomfort. When holding a typical mouse, the ulna
and radius bones on the arm are crossed. Some designs attempt to place the palm more vertically, so the
bones take more natural parallel position (Evoluent 2023). Some limit wrist movement, encouraging arm
movement instead, that may be less precise but more optimal from the health point of view. A mouse
may be angled from the thumb downward to the opposite side – this is known to reduce wrist pronation.
22 Georgios Konstantinos Kourtis
Chapter 3
Primary Objectives and Expected
Deliverables
3.1 Primary Objectives
The primary objectives of this project include:
• Developing a machine learning model capable of interpreting user input (in the form of an
uploaded image) and finding the closest match from an existing database of 20 mouse surface
designs. This model represents a crucial innovation in creating a more intuitive and responsive
design environment.
• Constructing an interactive demonstration platform that offers guidance to users as they modify the
suggested mouse design to meet their specific needs. This demo will be instrumental in showcasing
the potential of integrating ML with 3D CAD workflows.
• Enhancing design efficiency by significantly reducing the time and cost associated with traditional
surface modeling processes. By leveraging ML’s predictive and analytical power, we aim to
streamline the design process and lower the number of iterations required.
3.2 Expected Deliverables
Upon the successful completion of the project, the following deliverables are anticipated:
• A machine learning model, expertly trained on a robust dataset of user inputs and mouse designs,
that can effectively identify the closest match to a user-provided image. This model will be central
to our goal of making CAD design more interactive and user-centered.
• A working demonstration platform that seamlessly integrates with 3D CAD software, providing
ML-guided directions for users to adapt the suggested mouse surface design to their preferences.
• A comprehensive final report that documents every stage of the project, from the initial design and
development phases through to final testing and review. This report will serve as both a record of
the completed work and a blueprint for future advancements in this field.
The combination of an interactive macro and a machine learning model will guide users through the
process of adapting existing mouse models based on their specific preferences. This approach effectively
leverages ML technology to assist in CAD modeling, making the process of model adaptation more
user-friendly and accessible, particularly for non-expert users.
Georgios Konstantinos Kourtis 23
Chapter 4
Project Methodology
4.1 Selection of Methodology
Selecting an appropriate project methodology is a critical aspect of any research undertaking. The
methodology provides the project’s backbone, outlining the systematic sequence of steps to be followed
for successful completion. Given the intricacies involved in the project that have been analysed in the
previous chapters, the Agile methodology has been chosen, a methodology which offers flexibility and
adaptability, ideal for the project’s dynamic nature.
Figure 4.1: Visualization of Agile Methodology.
The Agile methodology emerged from the Agile Manifesto, a document authored by 17 software
developers in 2001(Hazzan and Dubinsky 2014). The manifesto proposed an alternative to traditional
linear product development processes, focusing instead on collaboration, customer satisfaction and
flexibility. The methodology’s foundational principles are embodied in four pillars and twelve principles
that guide Agile projects.
The four pillars prioritize individuals over processes and tools, working software over comprehensive
documentation, customer collaboration over contract negotiation, and response to change over following a
plan. These values emphasize the importance of team collaboration, customer satisfaction, and flexibility
in project execution.
The twelve principles of Agile methodology further elaborate these values, emphasizing customer sat-
isfaction, adaptability, regular delivery of value, effective communication, and continuous improvement,
among others.
The Agile methodology can be beneficial even for solo projects, as it promotes an iterative approach,
continuous improvement, and customer-centric development (Hollar 2006). Each project phase is broken
down into manageable ’sprints’ that focus on achieving specific goals. This approach facilitates constant
improvement and adaptation, making it an ideal fit for this project.
Georgios Konstantinos Kourtis 25
4. Project Methodology
4.2 Application of the selected Methodology in the Project
Figure 4.2: Visualization of the Project’s Methodology Based on Agile Methodology.
The Agile methodology will be systematically applied across different phases of the project:
Phase 1: Literature Review & Qualitative Research
Sprint 1: Conduct literature review on ML, API, Automation in CAD, Surface Design and their
interconnections. This sprint will provide a theoretical foundation for the project.
Sprint 2: Perform User observations to understand their needs and challenges in 3D CAD surface
modeling. This sprint will initiate the data collection for the machine learning dataset.
Phase 2: Problem Definition & Design
Sprint 3: Define the problem the API will solve based on the findings from the initial research. Draft
the initial design for the API and the machine learning model.
Sprint 4: Justify the choice of using a mouse as a 3D surface for the project, considering both the
theoretical and practical implications. Update the API and machine learning model design as needed.
Phase 3: Development & Iterative Improvement
Sprint 5: Begin developing the API, keeping user needs and challenges at the forefront. Continue
26 Georgios Konstantinos Kourtis
Application of the selected Methodology in the Project
data collection for the machine learning model.
Sprint 6: Continue the development, focusing on addressing the problems identified in the research.
Begin training the machine learning model with the collected data.
Sprint 7: Test and refine the API based on the results. Continue to train and refine the machine
learning model.
Phase 4: Evaluation
Sprint 8: Design a user study to evaluate the effectiveness of the API and the machine learning model.
Analyze the results and refine the API and machine learning model further, if necessary.
Phase 5: Documentation & Dissemination
Sprint 9: Document the project process, API, machine learning model, and findings. Consider where
to publish or present the work for maximum impact.
The Agile methodology’s iterative approach ensures the project remains adaptable to changing
requirements and findings, making it the optimal choice for this research.
Georgios Konstantinos Kourtis 27
Chapter 5
Qualitative Research
5.1 Introduction to Qualitative Research
In order to understand and to help users to produce a 3D CAD surface model and to develop an
effective and user-oriented ML model, it is essential to develop a research approach that can capture the
richness and depth of these challenges. As such, this project adopts a qualitative research approach.
Qualitative research focuses in understanding a research query as a humanistic or idealistic approach.
Though quantitative approach is a more reliable method as it is based upon numeric and methods that
can be made objectively and propagated by other researchers. Qualitative method is used to understand
people’s beliefs, experiences, attitudes, behavior, and interactions. It generates non-numerical data (Kalra,
Pathak, and Jena 2013). This methodology is suited the project as it will help gain a deeper understanding
of user behavior, their interaction with the CAD software, and their design goals.
Figure 5.1: Basic difference between Qualitative and Quantitative Research.
The primary functions of qualitative research in this project are fourfold:
1. User Understanding: The research approach will entail an in-depth analysis of how users interact
with the CAD program and specifically, their behavior when they intend to design a mouse.
Qualitative research is going to provide unique insights into the user behavior and engagement,
contributing to our understanding of how the user operates within the CAD environment.
2. Identifying Challenges: The qualitative research will employ interactive discussions, question-
naires, and observations to uncover the challenges users face (Hancock, Windridge, and Ockleford
2007) while interacting with the CAD program and during the mouse design process. This might
include issues such as finding a suitable model to start with or understanding how to customize a
Georgios Konstantinos Kourtis 29
5. Qualitative Research
model. Identifying these challenges is going to be important in refining the macro and ML models
to enhance their effectiveness and afterall the user experience.
3. Guiding ML Model Development: The two-step ML process—where one model identifies
whether the uploaded image represents a mouse, and the second matches the image to an existing
CAD mouse surface model—is going to be tailored based on the insights obtained from qualitative
research. This ensures the ML models are responsive to user needs and behaviors, thereby
improving the accuracy of model matching and the overall user experience.
4. Evaluating ML Suggestions: Once the ML models have been implemented and the matched
model is opened in the CAD application, qualitative research will be used to assess the effectiveness
of the model matching process and the utility of the instructions provided for model modification.
It will offer insights into whether the ML suggestions are useful, how they are being implemented
by the users, and areas for potential improvement.
In the forthcoming sections of this chapter, we will delve deeper into the specific qualitative research
methodologies chosen for this study, explaining our reasoning behind each choice. Further, we will
provide an overview of some outcomes from our interactive discussions, observations, and questionnaires,
highlighting key insights and interpretations from these findings. To allow for a comprehensive
understanding of our research, we have included all data and detailed user responses in the appendix.
30 Georgios Konstantinos Kourtis
Qualitative Research Methodology
5.2 Qualitative Research Methodology
In this project, we implement a qualitative research to delve into the complexities of user interactions
with 3D CAD software when tasked with designing a mouse. Our primary objective is to comprehend
how an integrated machine learning model can simplify and enhance this process, thus providing a
user-centric and streamlined experience.
Our methodology encompasses several crucial components:
• Observation: Our methodology initiates with an empirical observation of 10 users while they
engage with (K. M. DeWalt and B. R. DeWalt 2011) the CAD software, specifically tasked with
designing a surface. As the observation process kicks off, users will be provided with a preview
of the surface they are expected to design along with straightforward guidelines. Furthermore,
they will be given an already completed surface and the assignment of modifying it to a pre-
specified outcome. This offers us a dual perspective on how users approach both the creation and
modification of a surface. The observation extends to their choice of commands and their responses
to challenges that arise during the process. This approach is aimed at garnering valuable insights
into user behavior, strategy, and problem-solving techniques.
• Interviews and Questionnaires: After those 10 users have been observed interacting with the
CAD software and attempting to design a surface, we follow up with in-depth interviews and
questionnaires (Codó, Dans, and Wei 2008). The goal of these is to explore their intended strategies,
the specific CAD commands they were thinking of using, the difficulties they encountered, and how
they planned to resolve those issues. This will help us understand their mindset, problem-solving
approach, and expectations when designing a surface.
• Analysis: The data gathered from observations, interviews, and questionnaires is meticulously
scrutinized. We search for discernible patterns, themes, and correlations in users’ responses and
behaviors (Thorne 2000). This analysis aids in the further refinement of our machine learning
model and the design assistance tool, aiming to make them more aligned with users’ needs and
design behaviors.
• Implementation and Evaluation: Once users begin working with the ML-assisted design process,
we adopt qualitative methods to evaluate its efficacy (Patton 1990). We seek feedback on their
experiences with the model, the provided instructions, the challenges faced, and their overall
opinion on the use of an ML-assisted approach in their design process. This feedback is critically
analyzed and used to enhance and fine-tune the system to better serve its users. This component is
going to be presented after the finish of the project at the final chapters.
Briefly, each of these methods has been chosen for its unique potential to illuminate different aspects
of users’ interactions with the 3D CAD software when designing a mouse, and together they form a
comprehensive research approach that considers users’ experiences from multiple angles. In the following
sections, we will elaborate further on the rationale for choosing these specific qualitative research methods
- observation, interviews, and questionnaires - and their implementation in our study.
More specifically, we will describe the characteristics of the users who will be observed and
interviewed, such as their level of experience with CAD software, which may affect their interaction
Georgios Konstantinos Kourtis 31
5. Qualitative Research
with the tool and their ability to design a mouse. Also explaining the structure of our interviews and
questionnaires is going to be happen, sch as if they will be open-ended or structured, and the key themes
or topics they will cover.
Overall, it should be stated that the primary methodology for all qualitative research procedures
(how the experiments were held, how we selected the participants, how we collected the data etc)
was derived from the scientific foundations outlined in the Fourth chapter of the book "Human-
Computer Interaction: An Empirical Research Perspective" (MacKenzie 2013).
32 Georgios Konstantinos Kourtis
User Observation
5.3 User Observation
5.3.1 Participants
The participant group for this study was carefully curated, featuring a total of 10 individuals with
diverse experiences and varying degrees of proficiency with the CAD software (in this case, SolidWorks).
The intention behind this heterogeneity was to include a wide spectrum of user perspectives, hence
eliminating the potential for bias towards any specific user group and enabling the generalization of our
research findings.
An inclusive recruitment approach was followed, inviting participants of all genders and races,
and from diverse backgrounds. This ensured a representation of various perspectives and enabled the
consideration of different strategies adopted by individuals from different backgrounds and with diverse
thought processes.
The participants were selected based on the following criteria:
• Experience: The participant pool spanned from novices, who are still familiarizing themselves
with the basic commands of the SolidWorks software, to the experienced users who have been
using the software for several years for various projects.
• Frequency of use: The selected participants also varied based on the frequency of their interaction
with the software. This ranged from occasional users to those who are highly dependent on the
software and interact with it daily.
• Nature of use: To ensure a comprehensive analysis, participants who use the software for a range
of purposes were selected. This included those who use it for academic research, professional
work, personal projects, or simply as a hobby.
5.3.2 Observable Tasks and Procedure
The observational study adopted a systematic experimental approach. All participants were asked
to complete two tasks, each designed to simulate common scenarios in the CAD software SolidWorks
(as ibid. stated it’s called a "within-subjects assignment" because each participant is tested on the same
assignment). The experiment was conducted in a controlled environment, ensuring that the observed
results are solely based on the user interactions with the CAD software, thus eliminating potential
confounding factors.
• Task 1 - Designing a Surface: Each participant was provided with a step-by-step guide in PDF
format (see Appendix) for designing a specific surface. The objective of this task was to observe
user strategies and identifying potential emerging problems when creating a new surface design
based on given instructions.
• Task 2 - Modifying a Finished Surface: In this task, participants were given a completed surface
model along with a set of instructions to modify it in a specified manner (see Appendix). The
purpose of this task was to understand user approaches in modifying an existing surface and
identify challenges faced during this process.
Georgios Konstantinos Kourtis 33
5. Qualitative Research
Participants accessed the researcher’s computer via a remote desktop connection to perform the tasks.
A dual-monitor setup was utilized, where one monitor displayed the PDF instructions and the other
one ran the SolidWorks software. Each task was time-bound, with a maximum duration of 30 minutes,
although it was expected that participants would complete the Task 1 within 20 minutes and Task 2 within
10 minutes.
Communication during the experiment was limited to text-based messages exchanged through a
notepad application to ensure minimal disturbance. Participants were asked to document any problems
they encountered during the tasks.
All tasks were recorded to capture user interactions with the software and their problem-solving
approaches. If a participant was unable to complete a task within the stipulated 30-minute timeframe,
they were instructed to cease the task, even if not fully completed.
Figure 5.2: Snapshot of the User Observation Setup: SolidWorks program open on one monitor, with
task instructions displayed on the second monitor.
The aim of this controlled experiment was to gather qualitative data on user interactions with the CAD
software during specific tasks and to identify difficulties or challenges users may encounter. The collected
data will be instrumental in refining the API and machine learning model in our study, contributing to a
more user-centric design and functionality.
Task 1 - Designing a Surface
The ideal finished CAD model for the Task 1 can be observed below.
Figure 5.3: Task 1: Designing a Surface (Finished Model).
34 Georgios Konstantinos Kourtis
User Observation
We captured some generic data during the completion of Task 1. The summary of findings and
analysis are presented below:
• Completion Rate: Out of the 10 participants, 8 managed to complete the task within the given
timeframe, with 6 finishing within the expected 20-minute timeframe.
• Assistance Requests: Three out of ten participants experienced difficulties during the process,
specifically while designing the lofted surface, and sought clarification via text communication.
• Completion Time: The completion times varied among participants. A breakdown of the time
taken is as follows:
– 1 participant completed the task in less than 10 minutes.
– 3 participants completed the task between 10 to 15 minutes.
– 2 participants completed the task between 15 to 20 minutes.
– 2 participants took between 20 to 30 minutes to complete the task.
– 2 participants were unable to complete the task within the 30-minute timeframe.
The quickest completion time recorded was 9 minutes and 11 seconds, while the median time was
approximately 16 minutes.
• Command Time Consumption: Among the four surface commands used in the task, the loft
command proved to be the most time-consuming for participants. On the other hand, the surface
fill command was found to be the least time-consuming.
Figure 5.4: User Observation Task 1 Findings Visualisation Graphs.
Georgios Konstantinos Kourtis 35
5. Qualitative Research
Task 2 - Modifying a Finished Surface
The ideal finished CAD model for the Task 2 can be observed below, along with the given CAD
model to modify.
(a) Given Model (b) Ideal Finished Model
Figure 5.5: Task 2 - Modifying a Finished Surface.
For Task 2, the guidance provided is primarily text-based, instructing the user on how to modify an
existing surface model. The primary visual aid provided is an image showcasing the ideal end-result
of the modifications.In addition to this primary visual aid, two supplemental images are available for
reference. These images illustrate the ideal appearance of Sketch1 and Sketch2 after the necessary
adjustments have been made. These additional visual aids are hidden by default but can be accessed by
the user should they require extra guidance.
We captured some generic data during the completion of Task 2. The summary of findings and
analysis are presented below:
• Completion Rate: Out of the 10 participants, 10 managed to complete the task within the given
timeframe, with 9 finishing within the expected 10-minute timeframe.
• Assistance Requests: Two out of ten participants experienced difficulties during the process, and
ask permission to see the two supplemental images that illustrate the ideal appearance of Sketch1
and Sketch2 after the necessary adjustments.
• Completion Time: The completion times varied among participants. A breakdown of the time
taken is as follows:
– 2 participants completed the task in less than 3 minutes.
– 3 participants completed the task between 3 to 6 minutes.
– 4 participants completed the task between 6 to 10 minutes.
– 1 participant took between 10 to 20 minutes to complete the task.
– 0 participants were unable to complete the task within the 20-minute timeframe.
The quickest completion time recorded was 2 minutes and 40 seconds, while the median time was
approximately 8 minutes.
• Command Time Consumption: Among the 3 modifications made the Sketch 2 was the most time
consuming.
36 Georgios Konstantinos Kourtis
User Observation
Figure 5.6: User Observation Task 2 Findings Visualisation Graphs.
Georgios Konstantinos Kourtis 37
5. Qualitative Research
5.4 Interviews
The interview phase of our study serves as an important complement to the observations made in the
prior phase. This phase aims to delve deeper into the experiences and thoughts of the ten individuals who
participated in the user observation task.
5.4.1 Design of Interviews Questions and Their Objectives
Ten questions are designed to explore the user’s attitudes, understandings, and challenges when
dealing with surface design in SolidWorks. Three of them (Questions 3,7 and 8) have a follow-up
question. The responses will further enhance our understanding and help us formulate more effective
strategies to design both the ML model and the API that facilitates it.
The question asked are the following:
1. Can you describe shortly your overall experience with designing surfaces in SolidWorks?
Objective: To understand the participant’s experience with surface design in SolidWorks, providing
insights that may guide the design of the macro and the machine learning model.
2. What are the most common challenges you face when designing surfaces?
Objective: To identify common problems and difficulties in surface design that the model and
macro could potentially address.
3. How comfortable are you with the existing toolset for surface design? What improvements would
you suggest?
Objective: To assess the participant’s comfort level with the current tools and collect suggestions
for improvements that could inform the model and macro’s functionality.
4. Have you found any particular functionalities or features of the surface design module to be
superfluous or unnecessary?
Objective: To identify any functionalities or features perceived as unnecessary that the model and
macro should avoid incorporating.
5. Are there any functions or tools that you wish were included in the surface design module?
Objective: To uncover potential additions or changes that the model and macro could integrate to
enhance the surface design process.
6. How often do you use assistance or reference materials (such as tutorials, guides, etc.) while
working on surface design?
Objective: To understand the participant’s dependence on external resources during surface design,
informing the potential level of guidance provided by the model and macro.
7. How do you handle complex surface design tasks? Can you describe briefly your approach or
process?
Objective: To gain insights into the strategies and methods used by the participant in tackling
complex surface design tasks, guiding the approach the model and macro should take.
8. Can you recall any specific projects where designing surfaces in SolidWorks was particularly
difficult or frustrating? If so, can you describe the problem and how you resolved it?
Objective: To explore specific examples of challenges faced and solutions applied in surface design
that the model and macro can learn from.
38 Georgios Konstantinos Kourtis
Interviews
9. How does your experience with surface design in SolidWorks compare to your experience with
other CAD software, if any?
Objective: To obtain comparative feedback between SolidWorks and other CAD software, which
could provide broader insights into potential features for the model and macro.
10. Do you feel that your understanding and use of surface design tools have improved over time?
Objective: To assess the participant’s self-perceived growth and learning curve in using surface
design tools, potentially influencing the level of adaptability incorporated into the model and
macro.
5.4.2 Interviews Procedure and Findings
The interview process was structured to ensure insightful responses from the participants. All
interviews were conducted in a manner that encouraged open and detailed responses, while avoiding
unnecessary digression or over-extended discourse.
Each interview began with a set of specific questions. While participants were given the freedom to
express themselves, they were gently guided to maintain focus and relevance to the topic at hand.
Although responses of "yes" or "no" were generally discouraged, such instances served as
opportunities to prompt the participant for further explanation or clarification.
The interview process with the 10 participants revealed some insights regarding the surface design
process in SolidWorks. The common themes that emerged were:
• A level of discomfort with the existing toolset, with many participants suggesting a need for more
intuitive tools.
• The desire for more straightforward and user-friendly tools.
• A high reliance on external resources when handling complex design tasks.
• Recurring challenges encountered during certain complex surface design tasks.
Below an analysis of participant responses on a question-by-question basis is presented:
1. Can you describe shortly your overall experience with designing surfaces in SolidWorks?
A significant proportion of participants shared that they had a challenging experience with surface
design in SolidWorks. Many participants acknowledged difficulties, particularly when confronted
with more complex tasks.
2. What are the most common challenges you face when designing surfaces?
Participants primarily reported the challenge of knowing what they wanted to design but struggled
with how to initiate the design process.
3. How comfortable are you with the existing toolset for surface design? What improvements would
you suggest?
The majority of participants expressed discomfort with the current toolset, suggesting improvements
aimed at a more straightforward and intuitive design process.
Georgios Konstantinos Kourtis 39
5. Qualitative Research
4. Have you found any particular functionalities or features of the surface design module to be
superfluous or unnecessary?
Participants’ responses varied, with some finding all tools necessary while others suggested that
some features were redundant.
5. Are there any functions or tools that you wish were included in the surface design module?
Most participants expressed a desire for tools that simplify the process of surface design and a
need for more user-friendly commands.
6. How often do you use assistance or reference materials (such as tutorials, guides, etc.) while
working on surface design?
The dependency on external resources was high among participants, pointing out the need for more
integrated guidance within the software.
7. How do you handle complex surface design tasks? Can you describe briefly your approach or
process?
Participants typically resort to trial and error methods, supplemented by external resources for
handling complex tasks.
8. Can you recall any specific projects where designing surfaces in SolidWorks was particularly
difficult or frustrating? If so, can you describe the problem and how you resolved it?
Participants were able to recall specific projects where they faced challenges (such as a design of a
mold and a design of a airplane shell).
9. How does your experience with surface design in SolidWorks compare to your experience with
other CAD software, if any?
Participants generally found surface design equally challenging in SolidWorks compared to other
CAD software, suggested that the surface design in Geometric programs (like Rhino) were easier.
10. Do you feel that your understanding and use of surface design tools have improved over time?
Participants reported some improvement in their understanding and use of tools over time, but
progress was often slow and required considerable effort.
40 Georgios Konstantinos Kourtis
Interviews
In order to distill and visually represent the core takeaways from our interviews, we have created a
series of graphs, as depicted below.
Figure 5.7: Interviews Visualisation Charts.
Georgios Konstantinos Kourtis 41
5. Qualitative Research
5.5 Questionnaires
5.5.1 Design and Rationale of Questionnaires
The questionnaire it was presented to the same ten users who participated in the initial qualitative
research. The questionnaire was provided to them as a one-page PDF, and they submitted their responses
directly on the document.
The design of the questionnaire aims to gather insights into participant experiences and perceptions
regarding surface design in SolidWorks. The questionnaire is divided into two parts. The first
section comprises Likert scale questions, enabling respondents to indicate their level of agreement
or disagreement with a series of statements. The second part consists of multiple-choice questions,
designed to capture participant behavior and preferences while using the software.
Likert Scale Questions
1. The existing toolset for surface design in SolidWorks is easy to use.
Rationale: To assess the perceived usability of the SolidWorks toolset and identify potential
usability issues.
Options: 1) Strongly Disagree, 2) Disagree, 3) Neither Agree nor Disagree, 4) Agree, 5) Strongly
Agree
2. I often struggle with complex surface design tasks in SolidWorks.
Rationale: To gauge the frequency of difficulties encountered with complex designs and identify
areas requiring improvement.
Options: 1) Strongly Disagree, 2) Disagree, 3) Neither Agree nor Disagree, 4) Agree, 5) Strongly
Agree
3. I frequently use external resources (such as tutorials, guides, etc.) while working on surface
design.
Rationale: To measure the dependence on external resources, possibly indicating gaps in the
existing help materials or the toolset.
Options: 1) Strongly Disagree, 2) Disagree, 3) Neither Agree nor Disagree, 4) Agree, 5) Strongly
Agree
4. There are unnecessary features in the surface design module of SolidWorks.
Rationale: To ascertain if there are features considered redundant or not useful by users, informing
potential refinement of the toolset.
Options: 1) Strongly Disagree, 2) Disagree, 3) Neither Agree nor Disagree, 4) Agree, 5) Strongly
Agree
5. I believe that the inclusion of machine learning assistance in design would be beneficial.
Rationale: To understand user receptiveness towards the incorporation of machine learning in the
software.
Options: 1) Strongly Disagree, 2) Disagree, 3) Neither Agree nor Disagree, 4) Agree, 5) Strongly
Agree
Multiple-Choice Questions
42 Georgios Konstantinos Kourtis
Questionnaires
6. What is your most preferred source of assistance or reference while working on surface
design?
Rationale: To comprehend users’ preferred mode of support, informing the development of help
resources.
Options: a) Online tutorials, b) Guides within the software, c) Colleagues or peers, d) None, e)
Other (please specify)
7. How often do you encounter difficulties when designing surfaces in SolidWorks?
Rationale: To quantify the frequency of difficulties faced by users, assisting in the usability
assessment of the software.
Options: a) Always, b) Often, c) Sometimes, d) Rarely, e) Never
8. Which aspect of surface design do you find the most challenging?
Rationale: To identify specific areas of the design process that pose challenges, aiding in targeted
improvements.
Options: a) Initial design phase, b) Refining the design, c) Finalizing the design, d) Other (please
specify)
9. How often do you find yourself needing to modify your surface designs after they have been
completed?
Rationale: To understand the frequency of post-completion modifications, indicating initial design
accuracy and potential improvements.
Options: a) Never, b) Rarely, c) Sometimes, d) Often, e) Always
10. In general, do you prefer to start a design from scratch, or modify an existing one?
Rationale: To gain insights into user preferences regarding their design approach, shedding light
on their design workflow.
Options: a) Start from scratch, b) Modify an existing design, c) Depends on the project
Georgios Konstantinos Kourtis 43
5. Qualitative Research
5.5.2 Questionnaires Results and Interpretations
The charts displaying the results of the questionnaire are presented below:
Figure 5.8: Questionnaire Results Charts.
44 Georgios Konstantinos Kourtis
Questionnaires
Upon observing the collected data, several trends and patterns emerge:
• Question 1: Responses to this question were quite mixed, with ’Agree’ and ’Neutral’ getting 3
and 4 votes respectively. This suggests that most respondents find the SolidWorks toolset fine but
not the easiest.
• Question 2: Most respondents either ’Agreed’ or ’Strongly Agreed’ with the statement, indicating
that complex surface design tasks in SolidWorks can be challenging.
• Question 3: Here, ’Agree’ was the most common response, followed by ’Strongly Agree’ and
’Neutral’. This suggests that many respondents rely on external resources when working on surface
design, indicating a potential gap in the existing help materials or toolset.
• Question 4: ’Agree’ and ’Disagree’ were the most common responses, suggesting that opinions
are quite divided on whether there are unnecessary features in the surface design module.
• Question 5: The majority of respondents either ’Agreed’ or ’Strongly Agreed’ with the statement,
indicating a general positive attitude towards the potential of machine learning assistance in design.
• Question 6: ’Online tutorials’ and ’Colleagues or peers’ were the most commonly preferred
sources of assistance, suggesting that interactive methods of learning and assistance are highly
valued.
• Question 7: Responses were evenly distributed across ’Always’, ’Often’, ’Sometimes’, and
’Rarely’, suggesting a range of experiences among respondents with regard to the difficulty of
designing surfaces in SolidWorks.
• Question 8: Most respondents identified the ’Initial design phase’ and ’Refining the design’ as the
most challenging aspects.
• Question 9: ’Sometimes’ and ’Often’ were the most common responses, suggesting that post-
completion modifications are a fairly frequent occurrence.
• Question 10: The majority of respondents prefer to either ’Modify an existing design’ or decide
based on the project. This suggests that many respondents appreciate the flexibility to adapt
existing designs to fit their needs.
Georgios Konstantinos Kourtis 45
5. Qualitative Research
5.6 Findings Analysis
Through the analysis of observational tasks, interview responses, and questionnaires, a understanding
of user experiences with surface design in SolidWorks has been achieved. The following points summarize
the key insights drawn from integrating all these tools:
• Challenges and Design Workflow: From the observational tasks, it was noted that there was a
significant difference between Task 1 (designing a surface) and Task 2 (modifying a surface). Task
1 had a lower completion rate and longer completion times, indicating the increased complexity
and challenge in designing a new surface from scratch. This insight corroborates the interview
responses, where participants reported difficulties with initiating the design process and handling
complex tasks. These findings highlight the meaning of a strong kick-start process (at the initial
step) of the design workflow.
• User Comfort and Toolset: Interview responses pointed to a general discomfort with the existing
SolidWorks toolset for surface design. Participants expressed a desire for more intuitive and
user-friendly tools. This is further reflected in the questionnaire results, where respondents agreed
or strongly agreed with the statement that complex surface design tasks in SolidWorks can be
challenging. These findings highlight the necessity for improving the design workflow or maybe
creating a new one.
• Dependence on External Resources: Both the interviews and questionnaire responses showed a
high dependence on external resources like tutorials and assistance from colleagues. This points
to potential gaps in the existing help materials within SolidWorks and indicates that users might
benefit from more integrated guidance.
• Specific Challenges: Certain commands and operations were identified as more time-consuming
or challenging, such as the Surface Loft command in Task 1 and modifications to Sketch 2 in Task
2. This suggests that these areas could be modified to reduce the perceived complexity.
• Comparison with Other Software and Learning Curve: Participants generally found surface
design equally challenging in SolidWorks compared to other CAD software, but they reported that
geometric programs like Rhino were easier to use. This feedback suggests room for improvement
in the intuitiveness of SolidWorks surface design tools.
In conclusion, it becomes clear that there are opportunities for improvements, particularly in the
program intuitiveness, guidance, and possibly rebuilt the whole CAD design workflow. Therefore, our
future enhancements to SolidWorks should are going to be focused on those areas.
46 Georgios Konstantinos Kourtis
Chapter 6
Design and Development Guidelines
6.1 Design and Development Guidelines Introduction
Design and Development Guidelines Definition
This chapter focuses on the formulation of the Design and Development Guidelines, serving as
a roadmap for the design and development of the model. These guidelines are a combination of the
Quantitative or Qualitative Limitations, Functional or Structural Limitations, Functional Requirements,
and Characteristics of the model that is going to be designed and developed (Evgenios Skourboutis and
Fotiadis 2015). A clear, coherent set of Design and Development Guidelines will contribute significantly
to the efficiency and effectiveness of the final model (Benedikt Reimlinger and Meboldt 2020).
Figure 6.1: Design and Development Guidelines.
Quantitative or Qualitative Limitations Definition
Quantitative or Qualitative Limitations pertain to the extent or range of something (Evgenios
Georgios Konstantinos Kourtis 47
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model
ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model

More Related Content

Similar to ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model

bkremer-report-final
bkremer-report-finalbkremer-report-final
bkremer-report-finalBen Kremer
 
QBD_1464843125535 - Copy
QBD_1464843125535 - CopyQBD_1464843125535 - Copy
QBD_1464843125535 - CopyBhavesh Jangale
 
UIC Systems Engineering Report-signed
UIC Systems Engineering Report-signedUIC Systems Engineering Report-signed
UIC Systems Engineering Report-signedMichael Bailey
 
Work Measurement Application - Ghent Internship Report - Adel Belasker
Work Measurement Application - Ghent Internship Report - Adel BelaskerWork Measurement Application - Ghent Internship Report - Adel Belasker
Work Measurement Application - Ghent Internship Report - Adel BelaskerAdel Belasker
 
Thesis - Nora Szepes - Design and Implementation of an Educational Support Sy...
Thesis - Nora Szepes - Design and Implementation of an Educational Support Sy...Thesis - Nora Szepes - Design and Implementation of an Educational Support Sy...
Thesis - Nora Szepes - Design and Implementation of an Educational Support Sy...Nóra Szepes
 
Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...Lorenzo D'Eri
 
Bike sharing android application
Bike sharing android applicationBike sharing android application
Bike sharing android applicationSuraj Sawant
 
SocioTechnical-systems-sim
SocioTechnical-systems-simSocioTechnical-systems-sim
SocioTechnical-systems-simRub Afonso
 
Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Priyanka Kapoor
 
A Cloud Decision making Framework
A Cloud Decision making FrameworkA Cloud Decision making Framework
A Cloud Decision making FrameworkAndy Marshall
 
GraphIVM- Accelerating IVMthrough Non-relational Caching
GraphIVM- Accelerating IVMthrough Non-relational CachingGraphIVM- Accelerating IVMthrough Non-relational Caching
GraphIVM- Accelerating IVMthrough Non-relational CachingGaurav Saxena
 
ImplementationOFDMFPGA
ImplementationOFDMFPGAImplementationOFDMFPGA
ImplementationOFDMFPGANikita Pinto
 
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...Artur Filipowicz
 

Similar to ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model (20)

Thesis_Report
Thesis_ReportThesis_Report
Thesis_Report
 
bkremer-report-final
bkremer-report-finalbkremer-report-final
bkremer-report-final
 
Milan_thesis.pdf
Milan_thesis.pdfMilan_thesis.pdf
Milan_thesis.pdf
 
QBD_1464843125535 - Copy
QBD_1464843125535 - CopyQBD_1464843125535 - Copy
QBD_1464843125535 - Copy
 
MSc_Thesis
MSc_ThesisMSc_Thesis
MSc_Thesis
 
Report
ReportReport
Report
 
UIC Systems Engineering Report-signed
UIC Systems Engineering Report-signedUIC Systems Engineering Report-signed
UIC Systems Engineering Report-signed
 
Work Measurement Application - Ghent Internship Report - Adel Belasker
Work Measurement Application - Ghent Internship Report - Adel BelaskerWork Measurement Application - Ghent Internship Report - Adel Belasker
Work Measurement Application - Ghent Internship Report - Adel Belasker
 
Thesis - Nora Szepes - Design and Implementation of an Educational Support Sy...
Thesis - Nora Szepes - Design and Implementation of an Educational Support Sy...Thesis - Nora Szepes - Design and Implementation of an Educational Support Sy...
Thesis - Nora Szepes - Design and Implementation of an Educational Support Sy...
 
Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...
 
Bike sharing android application
Bike sharing android applicationBike sharing android application
Bike sharing android application
 
CS4099Report
CS4099ReportCS4099Report
CS4099Report
 
SocioTechnical-systems-sim
SocioTechnical-systems-simSocioTechnical-systems-sim
SocioTechnical-systems-sim
 
Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)
 
A Cloud Decision making Framework
A Cloud Decision making FrameworkA Cloud Decision making Framework
A Cloud Decision making Framework
 
GraphIVM- Accelerating IVMthrough Non-relational Caching
GraphIVM- Accelerating IVMthrough Non-relational CachingGraphIVM- Accelerating IVMthrough Non-relational Caching
GraphIVM- Accelerating IVMthrough Non-relational Caching
 
ImplementationOFDMFPGA
ImplementationOFDMFPGAImplementationOFDMFPGA
ImplementationOFDMFPGA
 
ThesisB
ThesisBThesisB
ThesisB
 
Master_Thesis
Master_ThesisMaster_Thesis
Master_Thesis
 
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
Virtual Environments as Driving Schools for Deep Learning Vision-Based Sensor...
 

Recently uploaded

ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...Call Girls in Nagpur High Profile
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 

Recently uploaded (20)

ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 

ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model

  • 1. ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model MSc Advanced Product Design Engineering & Manufacturing By GEORGIOS KONSTANTINOS KOURTIS SUPERVISOR VASILEIOS SAGIAS UNIVERSITY OF WEST ATTICA – KINGSTON UNIVERSITY LONDON DEPARTMENT OF MECHANICAL ENGINEERING SEPTEMBER 2023
  • 2.
  • 3. I hereby declare responsibly that this thesis is entirely my own work, and no part of it has been copied from printed or electronic sources, translated from foreign sources, or reproduced from the works of other researchers or students. Where I have relied on ideas or texts from others, I have made every effort to clearly specify it through the use of references, adhering to academic ethics.
  • 4.
  • 5. Abstract The design of 3D CAD surfaces, notably in mouse design, often necessitates a specialized understanding and expertise. This thesis presents an innovative approach that harnesses machine learning (ML) to facilitate 3D CAD surface modeling. The primary objective is to develop a demonstration platform that uses ML to process user input, identify the most similar pre-existing design from a database, and guide the user in modifying the chosen design to meet their specific requirements. The demonstration platform will offer step-by-step guidance, assisting users in adapting the suggested mouse surface design to match their design preferences. This ML-guided approach aims to inspire users to explore more inventive designs while saving both time and costs by streamlining the design process. The pivotal project objectives encompass the development of a machine learning model capable of interpreting user input and identifying the closest match from an existing database of designs, the construction of an interactive demo that integrates with 3D CAD software, and the preparation of a comprehensive report documenting all stages of the project. The implementation of the proposed demo will yield a more efficient and streamlined surface modeling experience for users. The machine learning model, trained on a robust dataset of user inputs and mouse designs, will facilitate the identification and modification of an existing design, effectively assisting users in achieving their design goals. In summary, this thesis seeks to synergize ML and CAD surface modeling, offering enhanced assistance to users. The anticipated outcome includes a demo and machine learning model that are poised to significantly advance the process of 3D CAD surface design, particularly for mouse design, optimizing creativity, efficiency, and user satisfaction. Georgios Konstantinos Kourtis iii
  • 6.
  • 7. Acknowledgements This thesis is the culmination of my research work in the field of ML and CAD Automation, focusing on "ML guided User Assistance for 3D CAD Surface Modeling: From Image to Customized 3D Mouse Model." Its central objective is to design a demo that offers users comprehensive guidance and assistance throughout the process of 3D CAD surface modeling. The project entails developing a machine learning model capable of analyzing user actions and providing suggestions that align with design parameters such as surface size, shape, and curvature. I have chosen to delve into this specific field due to my keen interest in exploring the intersection of ML, CAD Automation, and their potential applications. I would like to express my sincere gratitude to my friends and colleagues, George, Giannis, and Nikos, whose unwavering support and assistance have been invaluable throughout these two years. Their willingness to lend a helping hand whenever I needed it has been a testament to their exceptional character and unwavering dedication. Additionally, I extend my heartfelt appreciation to my supervisor, Prof. Vasileios Sagias, for his invaluable guidance throughout the thesis and for igniting my interest in R&D Digitalization through CAD automation. Above all, I am profoundly grateful to my family and my girlfriend, Vivi, as their unwavering support has been the cornerstone of my accomplishments. They have placed their trust in me, supported my decisions, celebrated my successes, and provided strength and encouragement during both moments of triumph and adversity. It is thanks to their unwavering belief in me that I have found the courage to pursue my dreams. Georgios Konstantinos Kourtis Denmark, September 2023 Georgios Konstantinos Kourtis v
  • 8.
  • 9. Contents Abstract iii Acknowledgements v Contents vii List of Figures ix List of Tables xi 1 Introduction 1 1.1 Problem Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Introduction and Overview of CAD, ML, and ML in CAD . . . . . . . . . . . . . 2 2 State of the Art 5 2.1 CAD Automation through API . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 ML Intergration into CAD systems . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Surface Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4 Analysis of Selected Model: The Computer Mouse . . . . . . . . . . . . . . . . . 21 3 Primary Objectives and Expected Deliverables 23 3.1 Primary Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 Expected Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4 Project Methodology 25 4.1 Selection of Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2 Application of the selected Methodology in the Project . . . . . . . . . . . . . . 26 5 Qualitative Research 29 5.1 Introduction to Qualitative Research . . . . . . . . . . . . . . . . . . . . . . . . 29 5.2 Qualitative Research Methodology . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.3 User Observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.4 Interviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.5 Questionnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.6 Findings Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 6 Design and Development Guidelines 47 6.1 Design and Development Guidelines Introduction . . . . . . . . . . . . . . . . . 47 6.2 Design and Development Guidelines Development . . . . . . . . . . . . . . . . . 49 6.3 List of Design and Development Guidelines . . . . . . . . . . . . . . . . . . . . 51 Georgios Konstantinos Kourtis vii
  • 10. Contents 7 Design and Implementation 53 7.1 Design Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 7.2 Implementation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8 Evaluation and Results 101 8.1 Evaluation Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 8.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 9 Conclusion and Future Work 103 9.1 Summary of Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 9.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A Research 105 A.1 User Observation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 A.2 User Observation Task 1 Findings Visualisation Code Snippet . . . . . . . . . . . 111 A.3 User Observation Task 2 Findings Visualisation Code Snippet . . . . . . . . . . . 112 A.4 Interviews Visualisation Charts Code Snippet . . . . . . . . . . . . . . . . . . . . 113 A.5 Questionnaires Results Visualisation Code Snippet . . . . . . . . . . . . . . . . . 114 B Implementation 117 B.1 Image Extension Changing Code Snippet . . . . . . . . . . . . . . . . . . . . . . 117 B.2 "Mouse" and "Not Mouse" Images Resizing Code Snippet . . . . . . . . . . . . . 117 B.3 Random "Mouse" and "Not Mouse" Images Preview Code Snippet . . . . . . . . 118 B.4 Training and Testing Image Splitting Code Snippet . . . . . . . . . . . . . . . . . 119 B.5 Training "Mouse" & "Not Mouse" ML Model Code Snippet . . . . . . . . . . . . 120 B.6 Image Classification with a User-Specified Image Code Snippet . . . . . . . . . . 123 B.7 Dataset Categorization for Mouse-Model Matching Code Snippet . . . . . . . . . 125 B.8 Splitting of the Mouse-Model Matching Image Dataset into Training, Validation, and Testing Sets Code Snippet . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 B.9 Training of the Mouse-Model Matching Image Dataset Code Snippet . . . . . . . 127 B.10 Mouse Model Identification using a User-Specified Image Code Snippet . . . . . 129 B.11 Resize Image Executable Script from API Code Snippet . . . . . . . . . . . . . . 132 B.12 Mouse or Not Mouse Prediction Executable Script from API Code Snippet . . . . 132 B.13 Mouse Model Classification Executable Script from API Code Snippet . . . . . . 134 B.14 Module VBA Code Snippet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 B.15 UserForm for Image Selection VBA Code Snippet . . . . . . . . . . . . . . . . . 139 B.16 UserForm for Model Modification VBA Code Snippet . . . . . . . . . . . . . . . 145 Bibliography 147 viii Georgios Konstantinos Kourtis
  • 11. List of Figures 1.1 Visualization of Machine Learning Software: Processing 3D Model Data and Leveraging Advanced Techniques for Production . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1 CAD BASED PRODUCT DESIGN A CASE STUDY: Part design process of spur gear and Assembly process flow of a wheel . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Real time object customization in CAD system: Developed GUI is activated in NX10 system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Deep CAD/CAE framework of the 3D Conceptual Wheel . . . . . . . . . . . . . . . . 9 2.4 SketchGraphs: Example sketch (left) and a portion of its geometric constraint graph (right). Constraints are denoted as edges that either act on a primitive as a whole or some subcomponent of the primitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5 CAD Defeaturing Using Machine Learning: Defeaturing example . . . . . . . . . . . . 12 2.6 Machine Learning for Object Recognition in Manufacturing Applications: Feature recognition results example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.7 Visualization of the Loft command in Solidworks . . . . . . . . . . . . . . . . . . . . . 17 2.8 Visualization of the Boundary Surface command in Solidworks . . . . . . . . . . . . . 17 2.9 Visualization of the Sweep command in Solidworks . . . . . . . . . . . . . . . . . . . 18 2.10 Visualization of the Revolve command in Solidworks . . . . . . . . . . . . . . . . . . . 19 2.11 An ordinary laser computer mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.12 3 standard consumer mice types. From left to right: Typical laser mouse, gaming mouse and ergonomic mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.1 Visualization of Agile Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2 Visualization of the Project’s Methodology Based on Agile Methodology . . . . . . . . 26 5.1 Basic difference between Qualitative and Quantitative Research . . . . . . . . . . . . . 29 5.2 Snapshot of User Observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.3 Task 1: Designing a Surface (Finished Model) . . . . . . . . . . . . . . . . . . . . . . 34 5.4 User Observation Task 1 Findings Visualisation Graphs . . . . . . . . . . . . . . . . . 35 5.5 Task 2 - Modifying a Finished Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.6 User Observation Task 2 Findings Visualisation Graphs . . . . . . . . . . . . . . . . . 37 5.7 Interviews Visualisation Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.8 Questionnaire Results Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 6.1 Design and Development Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 7.1 Design Workflow Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 7.2 A Typical Convolutional Neural Network . . . . . . . . . . . . . . . . . . . . . . . . . 56 7.3 Image Padding (Resizing to 224x224 pixel dimension) . . . . . . . . . . . . . . . . . . 59 Georgios Konstantinos Kourtis ix
  • 12. List of Figures 7.4 Preview of random dataset pictures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.5 Mouse-Not Mouse Model’s performance during training over 14 epochs . . . . . . . . . 66 7.6 Preview of the selected 20 Mouse Models to be CAD Modeled . . . . . . . . . . . . . . 68 7.7 View of the 20 CAD Mouse Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.8 Workflow for creating the 3D model of HP Envy 500 . . . . . . . . . . . . . . . . . . . 71 7.9 Mouse-Model Matching performance during training over 63 epochs . . . . . . . . . . 77 7.10 UserForm for Image Selection Layout Preview . . . . . . . . . . . . . . . . . . . . . . 84 7.11 UserForm for Modifying CAD Model Preview . . . . . . . . . . . . . . . . . . . . . . 89 7.12 Unzipping the Executables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.13 Macro Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.14 Confirmation to Generate Mouse Model . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.15 Executable Path Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 7.16 Image Selection Userform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 7.17 Comparative view of Image Selection Userform for a Mouse and Non-Mouse Image . . 97 7.18 Not Mouse Image Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.19 Mouse Image Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.20 Mouse Image Classification Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.21 CAD Model Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.22 Mouse CAD Opened . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 x Georgios Konstantinos Kourtis
  • 13. List of Tables 7.1 Class Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 A.1 User Observation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 A.2 Task 2 - Modifying a Finished Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Georgios Konstantinos Kourtis xi
  • 14.
  • 15. Chapter 1 Introduction 1.1 Problem Area The fusion of machine learning and computer-aided design (CAD) software is poised to revolutionize the manufacturing industry. The advent of these technologies has created unique opportunities for innovation, efficiency, and improvement in the product development process. The problem area this thesis focuses on is situated at the intersection of three key technologies: CAD, Application Programming Interfaces (APIs), and Machine Learning (ML). By exploring and understanding the potential synergies between these areas, this study aims to provide insights and develop solutions for automating 3D surface modeling in CAD. The intersection of machine learning and 3D CAD modeling brings forth a wealth of possibilities for numerous industries. Below is a small highlight of a few sectors where this synergy could revolutionize traditional processes. • Jewelry design, with its intricate and complex surfaces, stands to gain immensely from machine learning guidance in 3D CAD modeling. Designers, especially novices, could considerably enhance their productivity and precision, thereby translating their creative visions into tangible art more effectively (Gupta, Damani, and Narahari 2018). • In industrial design, complex geometric prototypes and products can be crafted more efficiently using machine learning. This intelligent system could expedite the design process, reduce costs, and thereby accelerate the speed to market (Li and Wang 2023). • Architects leveraging 3D CAD for designing structures with elaborate geometries could also benefit significantly. Machine learning could enable them to push the envelope of creativity and design ambition, while simultaneously curbing time and cost expenditures (Chaillou 2019). • In the realm of automotive design, vehicles’ prototypes and components often feature complex curves and surfaces. With machine learning offering modeling guidance, designers could conceive more aerodynamic and efficient designs, reducing the design timeline and costs (Shimizu et al. 2021). Georgios Konstantinos Kourtis 1
  • 16. 1. Introduction 1.2 Introduction and Overview of CAD, ML, and ML in CAD 1.2.1 APIs in CAD Application Programming Interfaces, more commonly known as APIs, play a crucial role in ensuring software interactivity. Essentially, APIs define the methods and data formats that allow different software applications to communicate with each other. When we bring this concept into the realm of Computer- Aided Design (CAD), APIs take on a transformative role. They provide programmers with the means to both automate and customize CAD software. This opens the door to more efficient workflows and a higher degree of precision and consistency in the design process (Zbiciak, Grabowik, and Janik 2015). Further, APIs are the foundational tools that facilitate the creation of applications capable of directly interacting with CAD software. This interaction is critical as it automates a significant number of tasks that would traditionally require manual input and oversight, thereby streamlining the overall design process. Beyond serving as mere facilitators of automation, APIs in CAD environments also enable a higher degree of customization. Designers and engineers can leverage APIs to tailor the CAD software to their unique needs, thereby increasing productivity and reducing the chances of error (Abidin and Zahid 2019). They can create scripts and plugins to automate repetitive tasks, integrate the CAD software with other systems, or even develop entirely new features. As such, APIs in CAD not only improve the efficiency of the design process, but also its flexibility and adaptability. 1.2.2 Machine Learning Machine Learning (ML), a branch of artificial intelligence, is a method of data analysis that automates the construction of analytical models. It involves designing and applying algorithms capable of learning from and making predictions or decisions based on data. In essence, machine learning enables computers to handle new situations through analysis, self-training, observation, and experience (Janiesch, Zschech, and Heinrich 2021). As datasets grow larger and computations become more complex, machine learning has emerged as a vital component of technological innovation across a diverse range of industries. Notably, machine learning algorithms have the capacity to improve over time. They can learn from their mistakes, adapt to new data, and gradually improve their predictions or decisions. This makes them particularly useful for tasks that involve large amounts of data or complex computations, where manual analysis would be time-consuming or impractical. Additionally, machine learning algorithms can uncover patterns and insights within the data that might be difficult or impossible for humans to detect. These capabilities make machine learning a powerful tool for a variety of applications, ranging from predictive analytics to autonomous systems. 1.2.3 Machine Learning in CAD The merger of machine learning and CAD opens up a world of remarkable possibilities. Machine learning has the potential to augment the functionality and capabilities of CAD software, leading to improvements in the speed, efficiency, and quality of the design process. For instance, machine learning algorithms can learn from existing CAD models to predict and generate new designs, automate the detection of design errors, or even optimize designs for specific criteria (Rapp et al. 2022). 2 Georgios Konstantinos Kourtis
  • 17. Introduction and Overview of CAD, ML, and ML in CAD Moreover, machine learning can facilitate the creation of more intelligent CAD systems. These systems can learn from user interactions and adapt to individual users’ preferences and habits, making the design process more intuitive and user-friendly. They can also incorporate knowledge from various sources, such as design standards or historical design data, to provide users with real-time design suggestions and feedback. Despite the promising possibilities that machine learning brings to the table, its application within CAD is still an emerging field. Many potential benefits remain untapped, and there are significant challenges to overcome, such as the complexity of CAD data and the need for large amounts of training data. Nonetheless, the potential of machine learning in CAD is immense, and its exploration is a fascinating journey that promises to reshape the landscape of design technology (Kahng 2023). Figure 1.1: Visualization of Machine Learning Software: Processing 3D Model Data and Leveraging Advanced Techniques for Production. As mentioned before, the problem area for this thesis stems from a desire to leverage these technologies —APIs, CAD, and Machine Learning— to create an innovative solution for automating 3D surface modeling. By developing an API that uses machine learning to predict and generate 3D models based on user input, a more intuitive, efficient, and user-friendly design process is going to be created. At the following chapters, a deeper analysis into the state of the art in these areas is going to be happen, in order to identify gaps where this research can contribute. Georgios Konstantinos Kourtis 3
  • 18.
  • 19. Chapter 2 State of the Art 2.1 CAD Automation through API As already mentioned in the introductory section, the vast landscape of CAD (Computer-Aided Design) APIs (Application Programming Interfaces) is becoming a powerhouse for design and manufacturing innovation. As an interface that allows various software components to communicate, CAD APIs have played a critical role in automating design tasks, integrating multiple engineering software systems, enabling generative design methodologies, and extracting advanced features from CAD models. As we delve into CAD API applications and advancements, we will spotlight five notable works that each highlight a different aspect of CAD automation, prioritizing those most relevant to our work scope and gradually shifting towards those with lesser relevance to our specific domain. These papers unfold the possibilities of CAD APIs in automating design tasks, thereby transforming the traditional design methodologies into more streamlined, efficient, and dynamic processes. They explore a broad range of topics from enhancing automation in the design process to utilizing APIs to bridge gaps between different CAD software. Each paper showcases how CAD APIs can re-engineer design workflows, driving a significant shift from manual to automated design processes, thereby setting a dynamic context for the discussions to follow. Figure 2.1: CAD BASED PRODUCT DESIGN A CASE STUDY: Part design process of spur gear and Assembly process flow of a wheel. The paper titled "CAD BASED PRODUCT DESIGN: A CASE STUDY" (Kyratsis et al. 2019) makes a contribution to the field of CAD automation by showcasing the application of the Application Programming Interface (API) of SolidWorks™. This paper underscores the crucial role of design in the product lifecycle, emphasizing the need for speed and adaptability in the design modification stage. Georgios Konstantinos Kourtis 5
  • 20. 2. State of the Art One salient feature of this study is the development of an automated design application to streamline the design process of a complex product: a bicycle. This application is built upon the premise of automating repetitive and time-consuming tasks, saving valuable time and resources while maintaining a high standard of product quality. An aspect of this case study is the use of VBA in order to facilitate the creation of a user-friendly interface, thereby enabling designers to quickly and effectively implement design changes. Such automation not only accelerates the design process but also empowers designers to easily customize various aspects of the bicycle design such as size, frame style, color, wheels, handlebar, saddle, etc. The application follows a straightforward input-output workflow. The user inputs necessary data into an easy-to-use interface divided into five tabs. On completing the input process, a command button initiates the design process, culminating in a fully assembled and parametrically designed model of a bicycle. In addition, the system produces a rendered model of the bicycle, applying the specified attributes for illustration purposes. In addition to automation, the case study highlights the flexible nature of the API, which can be used to create simple and effective tools that serve various purposes in product design and manufacturing. Thus, the paper extends the conversation around CAD automation, demonstrating the tremendous potential of APIs in optimizing design processes for a wide range of products. Furthermore, the paper also encompasses a literature survey, which discusses several tools developed with the aid of different API systems. This includes applications for automatic design and manufacturing, specialized tools for specific purposes like artificial measuring, machining simulation, robot simulation, and more. Figure 2.2: Real time object customization in CAD system: Developed GUI is activated in NX10 system. The paper "Real time object customization in CAD system" (Abidin and Zahid 2019) presents a 6 Georgios Konstantinos Kourtis
  • 21. CAD Automation through API new approach to object customization in CAD (Computer Aided Design) systems that allows real-time modification of 3D models. The traditional approach to modifying a CAD model relies heavily on manual editing. However, this proposed tool aims to simplify the process, speed it up, and reduce the likelihood of mistakes. The program is developed using Visual Basic (VB) and a custom Graphical User Interface (GUI), integrated into the NX10 CAD/CAM software interface. The research paper provides a method to translate 3D model modification instructions into programming codes using Journaling tools in the NX interface. These codes are then linked to the GUI, allowing the user to make real-time changes to the model with minimum process steps. A significant advantage of this method is the capacity to modify the 3D model in real time, which was a limitation in the traditional process, as changes could only be made after setting parameter values, thus making the modification process not instantaneous. This tool has substantial potential applications in industries like furniture design where modifications in terms of size, shape, and additional compartments are commonplace. By automating these modifications, designers can save time and reduce repetitive tasks, thereby minimizing potential errors and improving productivity. The tool is also evaluated based on its performance in reducing process steps and time spent modifying the 3D model in the CAD system. The authors, therefore, suggest that this tool could have wide-ranging impacts on various industries by allowing real-time customization and modification of designs. The paper "A basic automated CAD modelling approach for an IC engine piston" (Sirigiri and Esanakula 2022) introduces an automated Computer-Aided Design (CAD) modeling approach for creating and improving designs of Internal Combustion (IC) engine pistons. Recognizing that traditional CAD techniques are time-consuming and that even small alterations can have significant effects on the IC engine assembly, the authors propose an automation method that leverages parametric modeling, CAD software, SolidWorks, and a customized Graphical User Interface (GUI). They suggest that this approach not only reduces design and modeling time but also allows for efficient reuse of design data. The authors also discuss related concepts such as Knowledge-Based Engineering (KBE), Design Automation, the role of Application Programming Interfaces (APIs), and Visual Basic (VB) in their proposed methodology. The paper "Automated CAD Modelling of Mechanical Components" (Joshi et al. 2017) addresses the repetitive and time-consuming process of modeling similar components in the manufacturing industry. The authors propose a method to automate geometric CAD modeling, thereby enhancing productivity and reducing the chances of errors. The paper highlights the limitations of existing CAD software and traditional modeling methods, such as human errors, the high skill level required, high costs, and limited shape variation accommodation. The authors suggest automation through customizing the CAD software according to the Application Programming Interface (API) could resolve these issues, enhancing efficiency, minimizing errors, and potentially reducing costs. The paper, "Generation of rule-adhering robot programs for aluminum welding automatically from CAD" (Tran et al. 2023) presents an innovative method for the automatic generation of robot welding programs from CAD (Computer-Aided Design) data, particularly catering to the growing demand for Georgios Konstantinos Kourtis 7
  • 22. 2. State of the Art product customization. The developed programs consider specific welding conditions and requirements, thereby ensuring appropriate welding operations and maintaining structural integrity. To attain this, the paper leverages information extracted from a topological analysis of tessellated geometry local to the weld joint, in combination with available CAD API functions. The approach is implemented using Siemens NX and the Robotics Toolbox for Python and tested on different node configurations and a stiffener piece. The paper emphasizes that this system can generate programs that comply with the allowed welding operations provided a solution exists, significantly advancing the capabilities of robotic welding in manufacturing industries. 8 Georgios Konstantinos Kourtis
  • 23. ML Intergration into CAD systems 2.2 ML Intergration into CAD systems The incorporation of Machine Learning (ML) into the realm of Computer-Aided Design (CAD) has opened up an exciting frontier, accelerating innovation and pushing the boundaries of design technology. This convergence of disciplines has given birth to numerous robust and sophisticated systems, each demonstrating the profound impact of blending ML’s analytical prowess with CAD’s design intricacies. In the rapidly evolving landscape of ML, it’s a challenging task to capture the full scope of its integration into CAD. Our primary aim is to showcase ten examples of this integration, prioritizing those most relevant to our work scope. We will analyze each of these instances, gradually shifting towards those with lesser relevance to our specific domain. Each instance represents a significant contribution to the field, successfully weaving together ML and CAD into a well-defined system, generating insightful research and serve as a testament to the potential that lies at the intersection of these two dynamic fields. Figure 2.3: Deep CAD/CAE framework of the 3D Conceptual Wheel. "Integrating Deep Learning into CAD/CAE System: Generative Design and Evaluation of 3D Conceptual Wheel" (Yoo et al. 2021) illustrates how deep learning has been integrated into the CAD/CAE framework, specifically during the conceptual design phase. The framework automatically generates 3D CAD designs and evaluates their engineering performance, signifying a significant advancement in CAD/CAE system development. In essence, this research outlines a deep learning-based CAD/CAE framework that combines generative design, CAD/CAE automation, and advanced machine learning technologies. This holistic approach seeks to address the early stages of the design phase by automatically generating and evaluating 3D CAD data. The focus is on establishing viable conceptual designs early on, thereby increasing efficiency and improving outcomes. The framework introduces several key components that contribute to the overall process: Georgios Konstantinos Kourtis 9
  • 24. 2. State of the Art • 2D generative design: Leveraging deep learning, this component generates multiple potential designs based on pre-set constraints. • Dimensionality reduction: This process helps manage the complexity of the design space and efficiently represents the design candidates. • Design of experiment (DOE) in latent space: This procedure helps explore and understand the design space. • 3D CAD automation: This part automates the creation of 3D CAD models from the designs generated. • Transfer learning: The system employs transfer learning techniques to apply knowledge from one problem and apply it to another. • CAE automation: Here, the framework evaluates the generated designs from an engineering standpoint. • Visualization and analysis: The final component enables designers to visualize and analyze the conceptual designs for further refinement. One of the standout benefits of this approach is the capability to automatically generate a large number of feasible 3D wheel CAD models and provide immediate predictions for modal analysis results. This is done without necessitating an extensive 3D CAD/CAE modeling process, thereby reducing the time typically needed for these stages. The proposed framework allows designers to instantly evaluate the engineering performance of new designs, omitting the need for engineers to manually review them. By having AI generate and evaluate a large number of CAD models, the designer can focus on selecting and refining the most promising candidates for detailed designs. Figure 2.4: SketchGraphs: Example sketch (left) and a portion of its geometric constraint graph (right). Constraints are denoted as edges that either act on a primitive as a whole or some subcomponent of the primitive. "SketchGraphs: A Large-Scale Dataset for Modeling Relational Geometry in Computer-Aided Design" (Seff et al. 2020) introduces a new data set, "SketchGraphs," which comprises 15 million sketches extracted from real-world CAD models. The sketches are represented as geometric constraint graphs, 10 Georgios Konstantinos Kourtis
  • 25. ML Intergration into CAD systems thereby enabling training Machine Learning models to reason about and synthesize parametric CAD designs. This dataset facilitates exploration of program synthesis and induction, further strengthening the tie between Machine Learning and CAD. The creation of this Dataset aims to make significant strides in combining machine learning models with CAD, thereby bringing about more effective and efficient design workflows. This is crucial because this area sits at the crossroads of graphics, relational reasoning, and program synthesis, making it a challenging yet fertile ground for innovation and advancement. The paper draws parallels between the process of designing physical objects in a parametric CAD system and constraint programming. It highlights that both involve defining rich geometric structures through an implicit program. Below is a deeper look at the key points mentioned in the paper: • Modular Approach to Design: The paper emphasizes that modern physical object design mirrors modular programming, where simple subcomponents are put together to form a more complex assembly. In parametric CAD, parts start as a collection of 2D sketches composed of geometric primitives, like line segments, circles, and more. These primitives have associated parameters, and their final configuration is determined through specified constraints. • Using ML to Construct and Reason about Object Designs: Machine learning models can be trained on the SketchGraphs dataset to learn to construct and reason about object designs. Such models, when adapted to CAD, can suggest subsequent steps based on partial geometry, or offer corrections for implausible operations. They can also infer the underlying feature history when provided with visual observations of a part or sketch, allowing for direct modification in CAD software. • Understanding Human-Designed Structures for AI Research: The paper underscores the relevance of understanding human-designed structures for AI research. By learning to reason about the creation of objects, AI could identify hierarchical structures, long-range symmetries, and functional constraints that would be difficult to infer from vision alone. • Application of SketchGraphs Dataset: The dataset can be used to train models for various applications, including autocompleting partially specified geometry (conditional completion), automatically applying natural constraints reflecting likely design intent (autoconstrain), and inferring CAD from images. The potential application of this work to our own project is possible. The dataset could be used to train a machine learning model that can predict 3D geometry based on a user’s 2D sketches, thereby providing real-time feedback and guidance during surface model design. This could improve user experience, reduce errors, and streamline the design process. Georgios Konstantinos Kourtis 11
  • 26. 2. State of the Art Figure 2.5: CAD Defeaturing Using Machine Learning: Defeaturing example. In the paper, "CAD Defeaturing Using Machine Learning" (Owen, Shead, and Martin 2019) a novel machine-learning-based method to defeature CAD models for tetrahedral meshing is described. This technique uses machine learning predictions of mesh quality for geometric features of a CAD model before meshing, improving meshing outcomes by presenting a prioritized list of suggested geometric operations to users. The training of machine learning models uses a combination of geometric and topological features from the CAD model and local quality metrics for ground truth. The application of Machine Learning in this context shows its ability to predict potential problem areas and thus improve CAD outcomes. The authors of the paper argue that manual defeaturing requires significant time, effort, and expertise. A user must identify irrelevant features and carefully use advanced software tools to remove them. This process relies heavily on the user’s understanding of the physics being simulated, the process of mesh generation, and the expected quality of the resulting mesh. The proposed system aims to streamline this process. It presents users with a ranked list of geometric entities in the CAD model that are likely to result in suboptimal mesh quality. For each entity, it provides a set of suggested modifications, ranked by their predicted ability to improve mesh quality. Users can then preview, adjust, and implement these modifications as needed. The system uses machine learning to predict the effect of each modification on mesh quality, enabling more efficient and effective defeaturing. The researchers acknowledge that while their method offers a "greedy" approach to defeaturing by suggesting solutions to each problem in isolation, it may not necessarily provide the optimal solution for the overall model. However, they argue that it provides a principled, data-driven starting point, particularly for users with less experience. While previous works have applied machine learning to shape recognition and classification in CAD models, the authors claim that their approach is novel in using machine learning to predict and improve mesh quality outcomes. Overall, this paper presents a novel use of machine learning to improve the process of defeaturing in CAD models, potentially saving time and improving the quality of subsequent computational simulations. 12 Georgios Konstantinos Kourtis
  • 27. ML Intergration into CAD systems The authors’ approach also provides a way for less experienced users to begin defeaturing, guided by predictions from trained models. The possibility of future research extending this approach to other aspects of CAD model preparation, such as correcting interactions between different parts of a model, has also been discussed. Figure 2.6: Machine Learning for Object Recognition in Manufacturing Applications: Feature recognition results example In "Machine Learning for Object Recognition in Manufacturing Applications" (Yun et al. 2023) the authors review Machine Learning techniques for recognizing objects, features, and constructing process plans, providing insight into its implementation in various smart manufacturing applications. They emphasize the potential of Machine Learning for feature recognition in manufacturing. The goal is to enable rapid information sharing among manufacturers, suppliers, customers, and governments. This development is in line with global trends towards advanced manufacturing concepts like "Industry 4.0", "Monozukuri", "Factories of the Future", and "Industrial Internet". The paper notes the potential of Machine Learning, combined with big data, to generate more profit across various industries. Specifically in manufacturing, ML can be used for predicting tool wear, which is difficult to do with traditional model- or physics-based predictive models. Such predictive maintenance in Machine Learning improves machine intelligence and can potentially automate conventional decision- making procedures in manufacturing. The authors also discuss the traditional iterative process for production planning, which involves designers, manufacturers, and process planners. They note that this process is time-consuming and costly, and often relies on the experience or skill of manufacturing personnel. However, as experienced personnel retire, there’s a need for strategies to replace this knowledge within the cyber manufacturing framework. The authors see great potential in the use of machine learning for automated feature recognition Georgios Konstantinos Kourtis 13
  • 28. 2. State of the Art (AFR) from the drawings, which traditionally relies heavily on human experience. Despite the challenges in automating the process due to complexity and interaction of features, the authors believe that ML has the potential to enhance this process significantly. In this study, the authors review the techniques for recognizing objects for manufacturing a CAD model using Machine Learning. They explore feature recognition techniques from the CAD model and estimating manufacturability before computer-aided process planning (CAPP). Therefore, the significance of this paper lies in its exploration of the potential of machine learning in automating the process of feature recognition and manufacturability estimation in the context of cyber manufacturing, thereby addressing the challenges of the traditional production planning process. In the study, "Comparing CAD part models for geometrical similarity: A concept using machine learning algorithms" (Bickel et al. 2021) a method for comparing a newly designed part with a pool of validated models to identify the most similar one is proposed. This approach has significant potential for reducing development costs, shortening the production start-up time, and improving product quality. Utilizing Machine Learning algorithms, CAD part models are segmented into specific, manufacturing relevant groups, and similarities between segmented geometries are identified. The process involves global similarity comparison, part segmentation, and local similarity comparison. The study shows how Machine Learning has a notable potential for efficiency in CAD workflows. The paper titled "Explaining and Interpreting Machine Learning CAD Decisions: An IC Testing Case Study"(Krishnamurthy et al. 2020) presents a methodology to elucidate and comprehend machine learning decisions within the context of Computer-Aided Design (CAD) flows, focusing specifically on a case study in VLSI testing. The proposed methodology aims to offer designers a deeper understanding of the "black box" machine learning models/classifiers by providing human-readable explanations based on commonly understood design rules or novel design rules. As described in the "Survey of Machine Learning for Electronic Design Automation" (Gubbi et al. 2022) demand for semiconductor ICs has risen, and with the slowdown of Moore’s law, the focus has turned towards machine learning to enhance EDA and CAD tools and processes. These ML-based tools span various stages of IC design, from Synthesis and Physical Design to Static Timing Analysis (STA), Design for Test (DFT), Power Delivery Network analysis, and Signoff. This integration offers exciting new trends and future perspectives in the VLSI-CAD domain. Another promising development is the application of machine learning for geometry processing. The class "Autonomous Geometry Processing Using Machine Learning & Forge" (Jadhav et al. 2019) addresses the challenge of extracting geometrical information from STL mesh models for manufacturing applications. Machine learning techniques offer a solution by identifying features in mesh data and supporting efficient geometry processing. The integration of Autodesk Forge for data translation and viewing and the utilization of AWS cloud infrastructure showcases the potential for extensive automation in manufacturing processes. The merging of AI-based Computer-Aided Engineering (CAE) with automated product design presents a novel approach to optimizing engineering workflows. The paper "AI-based Computer Aided Engineering for automated product design - A first approach with a Multi-View based classification" 14 Georgios Konstantinos Kourtis
  • 29. ML Intergration into CAD systems (Krahe et al. 2019) discusses the development of an AI-based assistant system to facilitate the design process. This system leverages machine learning to extract implicit knowledge from existing CAD models and suggest useful next design steps, thereby reducing design redundancy and promoting error-free, efficient production. Finally, "Machining feature recognition based on deep neural networks to support tight integration with 3D CAD systems" (Yeo et al. 2021) provides an example of integrating 3D CAD systems tightly with deep neural networks. By using feature descriptors as inputs to neural networks, the proposed method recognizes machining features, thereby effectively overcoming problems that can arise during the format conversion of 3D models. Georgios Konstantinos Kourtis 15
  • 30. 2. State of the Art 2.3 Surface Design Advanced modelling is an upgrade of basic modelling that ends in surface modelling, which is basically a digitised version of freehand drawing, or designing structures with the use of mathematical curves, representing processes in nature. (Vukašinović and Duhovnik 2019, p. 2) In order to comprehend the objectives and the forthcoming steps of this project, it is critical to understand in depth the concept of Surface Design modelling, mentioned earlier. Surface design encompasses the techniques and methodologies used to create the exterior elements, specifically the surfaces, of a three-dimensional model or object. It is a branch of CAD design which has gained prominence in various industries owing to its ability to generate complex and highly detailed design elements that add aesthetic and functional value to the product. Surface design is heavily reliant to linear elements, generally referred to as curves. They represent an edge or a connection between two points. A surface can be formed by linear elements related to one another in some relationship. In the Cartesian coordinate system we normally use orthogonality at the intersections between linear elements (curves) (ibid., p. 11). The interpenetration of orthogonally connected linear elements (curves) is used to present a surface. B-splines curves, that are very often used in computer graphics and modellers are a powerful tool in computer geometry in their own right; however, they lack further flexibility due to the B-splines being unable to exactly describe the curves in the family of conic sections (i.e., parts of circles, ellipses, parabolas or hyperbolas). For this reason, the need arose to rationalise B-splines by adding to each control point of a B-spline a new parameter wi (the fourth coordinate), referred to as the weight. It allows an accurate determination of the effect of the control point. A rational form of a non-uniform B-spline (NURBS) that introduces control-point weights is defined as: (ibid., p. 20) P(t) = ∑n i=1 Pi ·wi ·Ni,k(t) ∑n i=1 wi ·Ni,k(t) (2.1) Specifically Non-Uniform Rational B-Splines (NURBS) (Piegl 1991), enable designers to depict an extensive range of shapes, from straightforward 2D entities to complex 3D forms with a high degree of accuracy and precision. The design process using NURBS begins with basic shapes known as primitives, which are then modified and combined to achieve the desired surface design. Surface design in CAD relies on a range of commands and tools to generate and manipulate surfaces. Some common tools include the ’Loft’, ’Boundary Surface’, ’Sweep’, and ’Revolve’ commands. Each command brings its unique possibilities and complexities to the design process. 16 Georgios Konstantinos Kourtis
  • 31. Surface Design Figure 2.7: Visualization of the Loft command in Solidworks. • Loft: The loft command allows the creation of a surface or a solid that transitions between multiple cross-section profiles (Adams 2019). The complexity lies in the correct placement and alignment of these profiles, ensuring that the lofted surface transitions smoothly between them. Poorly aligned profiles can lead to a twisted or distorted surface. Moreover, managing the loft’s complexity increases when the number of profiles increases or when they significantly vary in shape or size. If we wanted to simplify this into a high-level pseudo-mathematical description, we might say that for each point Pi in the first shape, we find the corresponding point Qi in the second shape, and then interpolate a smooth path between them, forming a surface. The surface is defined by: F(u,v) = (1−v)·P(u)+v·Q(u) (2.2) Where: • F(u,v) is the point on the lofted surface • P(u) and Q(u) are the points on the first and second shapes, respectively • u parameterizes the points along the shapes • v parameterizes the loft between the shapes 0 ≤ v ≤ 1 Figure 2.8: Visualization of the Boundary Surface command in Solidworks. Georgios Konstantinos Kourtis 17
  • 32. 2. State of the Art • Boundary Surface: This command is used to create a surface within a boundary defined by multiple curves. The key challenge here is ensuring that the boundary curves are correctly aligned and provide a coherent definition for the surface. If the boundary curves are not suitably aligned or if they intersect, the surface may end up being disjointed or malformed (Lombard 2016). Similarly to the ’Loft’ command, we could try to simplify this into a high-level pseudo-mathematical description. Assuming that there are two main boundary curves B1(u) and B2(u), and two additional edge curves E1(v) and E2(v) that connect the ends of B1 and B2. In this case, the boundary surface can be parameterized by two variables u and v, and is defined as follows: F(u,v) = (1−u)·E1(v)+u·E2(v)+(1−v)·B1(u)+v·B2(u) (2.3) Where: • F(u,v) is the point on the boundary surface • B1(u) and B2(u) are the main boundary curves, parameterized by u • E1(v) and E2(v) are the edge curves, parameterized by v • u parameterizes the blend between the edge curves (0 ≤ u ≤ 1) • v parameterizes the blend between the boundary curves (0 ≤ v ≤ 1) Figure 2.9: Visualization of the Sweep command in Solidworks. • Sweep: Is an surface extrusion tool that enables the user to extrude a profile along a drawn route, such as a circle, square, or complicated form (JavaTpoint 2023). The challenge lies in ensuring that the profile remains correctly oriented relative to the path throughout the sweep. If the path curve has abrupt changes in direction, the sweep can result in self-intersecting or twisted surfaces. Additionally, managing the scale of the profile along the path can add another layer of complexity. If we wanted to simplify this into a high-level pseudo-mathematical description, we might say that for a profile curve P(u), we extrude it along a path curve Q(v). The resulting surface could be defined as: 18 Georgios Konstantinos Kourtis
  • 33. Surface Design F(u,v) = P(u)+v·Q(u) (2.4) Where: • F(u,v) is the point on the swept surface. • P(u) is the point on the profile curve. • Q(u) is the point on the path curve. • u parameterizes the points along the profile curve. • v parameterizes the sweep along the path curve, with 0 ≤ v ≤ 1 indicating the beginning and end of the path, respectively. Figure 2.10: Visualization of the Revolve command in Solidworks. • Revolve: The revolve command creates a surface or a solid by rotating a profile curve around an axis (DesignTechAcademy 2017). The main challenge here is managing the continuity and smoothness of the surface at the seam where the start and end of the revolve meet, especially in the case of a non-circular profile.The ’Revolve’ command in CAD takes a profile curve or shape and rotates it around an axis. If we wanted to simplify this into a high-level pseudo-mathematical description, we might say that for a profile curve P(u), we rotate it around an axis defined by a line L. The resulting surface could be defined in polar coordinates as: F(u,θ) = P(u)·R(θ) (2.5) Where: • F(u,θ) is the point on the revolved surface. • P(u) is the point on the profile curve. • R(θ) is a rotation matrix for an angle θ. • u parameterizes the points along the profile curve. Georgios Konstantinos Kourtis 19
  • 34. 2. State of the Art • θ parameterizes the revolution around the axis, with 0 ≤ θ ≤ 2π indicating a full revolution around the axis. While surface design has greatly expanded the possibilities of 3D modelling, it comes with a unique set of challenges that make it a demanding aspect of CAD work. All these commands mentioned earlier, require an intricate understanding of geometric principles and a high degree of spatial visualization. The designer needs to predict how the chosen profiles, paths, or boundaries will interact to form the final surface. Moreover, achieving high-quality surface design involves more than just correct command execution. The designer must also understand how the parameters of these commands (such as the degree of the surface, the number of control points, or the constraints between surfaces) influence surface quality. For example, an increase in the number of control points may provide more flexibility to shape the surface but may also lead to an unnecessarily complex surface that is difficult to manipulate. Also, one significant difficulty lies in controlling the continuity and smoothness of surfaces. Creating a smooth transition between adjoining surfaces can be a complex task, requiring an understanding of the underpinning mathematical principles of NURBS and the toolsets available in the CAD software. Ensuring the correct joining of surfaces is a crucial yet difficult task that requires attention to detail. Improperly joined surfaces can lead to gaps or overlaps, which can pose significant issues during downstream applications like simulation or manufacturing. Finally, the accurate representation of surfaces in CAD can pose a challenge due to the inherent approximation nature of NURBS-based surface modelling. This could potentially result in minor discrepancies between the intended design and the final model. Addressing these discrepancies often requires iterative refinement of the surface, further adding to the complexity of the surface design process. 20 Georgios Konstantinos Kourtis
  • 35. Analysis of Selected Model: The Computer Mouse 2.4 Analysis of Selected Model: The Computer Mouse In the realm of objects that manifest the delicate blend of aesthetic and functional design, the computer mouse stands out. It is a ubiquitous tool that provides an optimal case study for this thesis due to its multifaceted design that blends simple and complex surfaces. Crafting such designs necessitates the use of advanced CAD techniques, such as loft, boundary surface, revolve, and sweep commands. Figure 2.11: An ordinary laser computer mouse. These techniques are very important in shaping the ergonomic and precision-oriented form of the computer mouse. Consequently, they serve as an exploration platform for advanced modelling and surface design techniques. The methodology employed in this thesis incorporates a specialized software macro operating within a CAD environment, which suggests the computer mouse as a design project. This approach integrates with a Machine Learning model, adding a layer of automation and intelligence to the design process. Figure 2.12: 3 standard consumer mice types. From left to right: Typical laser mouse, gaming mouse and ergonomic mouse. The designs we focus on in this study are predominantly standard consumer mice, covering a range of models from typical laser mice and gaming mice to ergonomic mice. The purpose is to explore designs that have proven to be effective and popular among users, rather than venturing into untested, unconventional designs. The ergonomic form of these mice, driven by considerations for user comfort and efficiency, offers a rich area for our investigation. The typical laser mouse constitutes the most prevalent type of computer mouse, equipped with Georgios Konstantinos Kourtis 21
  • 36. 2. State of the Art universally recognized features. It generally possesses two buttons, located on the left and right for performing primary selection and command actions, and a central scroll wheel which serves the dual function of navigation and an additional button. The defining characteristic of the laser mouse lies in its use of light-emitting diodes (LEDs) and an imaging array of photodiodes. These components detect movement relative to the underlying surface, a technological leap from the mechanical mouse which relied on internal moving parts in conjunction with its optics. This transition not only enhanced precision but also contributed to the overall durability of the device (Elliott 2004). The gaming mice are specifically designed for use in computer games. They typically employ a wider array of controls and buttons and have designs that differ radically from traditional mice. Some mice have been designed to have adjustable features such as removable and/or elongated palm rests, horizontally adjustable thumb rests and pinky rests. Some mice may include several different rests with their products to ensure comfort for a wider range of target consumers. Gaming mice are held by gamers in three styles of grip (Houghton 2015): • PalmGrip: the hand rests on the mouse, with extended fingers. • ClawGrip: palm rests on the mouse, bent fingers. • Finger −TipGrip: bent fingers, palm does not touch the mouse. The ergonomic mouse, as the name suggests is intended to provide optimum comfort and avoid injuries such as carpal tunnel syndrome, arthritis, and other repetitive strain injuries. It is designed to fit natural hand position and movements, to reduce discomfort. When holding a typical mouse, the ulna and radius bones on the arm are crossed. Some designs attempt to place the palm more vertically, so the bones take more natural parallel position (Evoluent 2023). Some limit wrist movement, encouraging arm movement instead, that may be less precise but more optimal from the health point of view. A mouse may be angled from the thumb downward to the opposite side – this is known to reduce wrist pronation. 22 Georgios Konstantinos Kourtis
  • 37. Chapter 3 Primary Objectives and Expected Deliverables 3.1 Primary Objectives The primary objectives of this project include: • Developing a machine learning model capable of interpreting user input (in the form of an uploaded image) and finding the closest match from an existing database of 20 mouse surface designs. This model represents a crucial innovation in creating a more intuitive and responsive design environment. • Constructing an interactive demonstration platform that offers guidance to users as they modify the suggested mouse design to meet their specific needs. This demo will be instrumental in showcasing the potential of integrating ML with 3D CAD workflows. • Enhancing design efficiency by significantly reducing the time and cost associated with traditional surface modeling processes. By leveraging ML’s predictive and analytical power, we aim to streamline the design process and lower the number of iterations required. 3.2 Expected Deliverables Upon the successful completion of the project, the following deliverables are anticipated: • A machine learning model, expertly trained on a robust dataset of user inputs and mouse designs, that can effectively identify the closest match to a user-provided image. This model will be central to our goal of making CAD design more interactive and user-centered. • A working demonstration platform that seamlessly integrates with 3D CAD software, providing ML-guided directions for users to adapt the suggested mouse surface design to their preferences. • A comprehensive final report that documents every stage of the project, from the initial design and development phases through to final testing and review. This report will serve as both a record of the completed work and a blueprint for future advancements in this field. The combination of an interactive macro and a machine learning model will guide users through the process of adapting existing mouse models based on their specific preferences. This approach effectively leverages ML technology to assist in CAD modeling, making the process of model adaptation more user-friendly and accessible, particularly for non-expert users. Georgios Konstantinos Kourtis 23
  • 38.
  • 39. Chapter 4 Project Methodology 4.1 Selection of Methodology Selecting an appropriate project methodology is a critical aspect of any research undertaking. The methodology provides the project’s backbone, outlining the systematic sequence of steps to be followed for successful completion. Given the intricacies involved in the project that have been analysed in the previous chapters, the Agile methodology has been chosen, a methodology which offers flexibility and adaptability, ideal for the project’s dynamic nature. Figure 4.1: Visualization of Agile Methodology. The Agile methodology emerged from the Agile Manifesto, a document authored by 17 software developers in 2001(Hazzan and Dubinsky 2014). The manifesto proposed an alternative to traditional linear product development processes, focusing instead on collaboration, customer satisfaction and flexibility. The methodology’s foundational principles are embodied in four pillars and twelve principles that guide Agile projects. The four pillars prioritize individuals over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and response to change over following a plan. These values emphasize the importance of team collaboration, customer satisfaction, and flexibility in project execution. The twelve principles of Agile methodology further elaborate these values, emphasizing customer sat- isfaction, adaptability, regular delivery of value, effective communication, and continuous improvement, among others. The Agile methodology can be beneficial even for solo projects, as it promotes an iterative approach, continuous improvement, and customer-centric development (Hollar 2006). Each project phase is broken down into manageable ’sprints’ that focus on achieving specific goals. This approach facilitates constant improvement and adaptation, making it an ideal fit for this project. Georgios Konstantinos Kourtis 25
  • 40. 4. Project Methodology 4.2 Application of the selected Methodology in the Project Figure 4.2: Visualization of the Project’s Methodology Based on Agile Methodology. The Agile methodology will be systematically applied across different phases of the project: Phase 1: Literature Review & Qualitative Research Sprint 1: Conduct literature review on ML, API, Automation in CAD, Surface Design and their interconnections. This sprint will provide a theoretical foundation for the project. Sprint 2: Perform User observations to understand their needs and challenges in 3D CAD surface modeling. This sprint will initiate the data collection for the machine learning dataset. Phase 2: Problem Definition & Design Sprint 3: Define the problem the API will solve based on the findings from the initial research. Draft the initial design for the API and the machine learning model. Sprint 4: Justify the choice of using a mouse as a 3D surface for the project, considering both the theoretical and practical implications. Update the API and machine learning model design as needed. Phase 3: Development & Iterative Improvement Sprint 5: Begin developing the API, keeping user needs and challenges at the forefront. Continue 26 Georgios Konstantinos Kourtis
  • 41. Application of the selected Methodology in the Project data collection for the machine learning model. Sprint 6: Continue the development, focusing on addressing the problems identified in the research. Begin training the machine learning model with the collected data. Sprint 7: Test and refine the API based on the results. Continue to train and refine the machine learning model. Phase 4: Evaluation Sprint 8: Design a user study to evaluate the effectiveness of the API and the machine learning model. Analyze the results and refine the API and machine learning model further, if necessary. Phase 5: Documentation & Dissemination Sprint 9: Document the project process, API, machine learning model, and findings. Consider where to publish or present the work for maximum impact. The Agile methodology’s iterative approach ensures the project remains adaptable to changing requirements and findings, making it the optimal choice for this research. Georgios Konstantinos Kourtis 27
  • 42.
  • 43. Chapter 5 Qualitative Research 5.1 Introduction to Qualitative Research In order to understand and to help users to produce a 3D CAD surface model and to develop an effective and user-oriented ML model, it is essential to develop a research approach that can capture the richness and depth of these challenges. As such, this project adopts a qualitative research approach. Qualitative research focuses in understanding a research query as a humanistic or idealistic approach. Though quantitative approach is a more reliable method as it is based upon numeric and methods that can be made objectively and propagated by other researchers. Qualitative method is used to understand people’s beliefs, experiences, attitudes, behavior, and interactions. It generates non-numerical data (Kalra, Pathak, and Jena 2013). This methodology is suited the project as it will help gain a deeper understanding of user behavior, their interaction with the CAD software, and their design goals. Figure 5.1: Basic difference between Qualitative and Quantitative Research. The primary functions of qualitative research in this project are fourfold: 1. User Understanding: The research approach will entail an in-depth analysis of how users interact with the CAD program and specifically, their behavior when they intend to design a mouse. Qualitative research is going to provide unique insights into the user behavior and engagement, contributing to our understanding of how the user operates within the CAD environment. 2. Identifying Challenges: The qualitative research will employ interactive discussions, question- naires, and observations to uncover the challenges users face (Hancock, Windridge, and Ockleford 2007) while interacting with the CAD program and during the mouse design process. This might include issues such as finding a suitable model to start with or understanding how to customize a Georgios Konstantinos Kourtis 29
  • 44. 5. Qualitative Research model. Identifying these challenges is going to be important in refining the macro and ML models to enhance their effectiveness and afterall the user experience. 3. Guiding ML Model Development: The two-step ML process—where one model identifies whether the uploaded image represents a mouse, and the second matches the image to an existing CAD mouse surface model—is going to be tailored based on the insights obtained from qualitative research. This ensures the ML models are responsive to user needs and behaviors, thereby improving the accuracy of model matching and the overall user experience. 4. Evaluating ML Suggestions: Once the ML models have been implemented and the matched model is opened in the CAD application, qualitative research will be used to assess the effectiveness of the model matching process and the utility of the instructions provided for model modification. It will offer insights into whether the ML suggestions are useful, how they are being implemented by the users, and areas for potential improvement. In the forthcoming sections of this chapter, we will delve deeper into the specific qualitative research methodologies chosen for this study, explaining our reasoning behind each choice. Further, we will provide an overview of some outcomes from our interactive discussions, observations, and questionnaires, highlighting key insights and interpretations from these findings. To allow for a comprehensive understanding of our research, we have included all data and detailed user responses in the appendix. 30 Georgios Konstantinos Kourtis
  • 45. Qualitative Research Methodology 5.2 Qualitative Research Methodology In this project, we implement a qualitative research to delve into the complexities of user interactions with 3D CAD software when tasked with designing a mouse. Our primary objective is to comprehend how an integrated machine learning model can simplify and enhance this process, thus providing a user-centric and streamlined experience. Our methodology encompasses several crucial components: • Observation: Our methodology initiates with an empirical observation of 10 users while they engage with (K. M. DeWalt and B. R. DeWalt 2011) the CAD software, specifically tasked with designing a surface. As the observation process kicks off, users will be provided with a preview of the surface they are expected to design along with straightforward guidelines. Furthermore, they will be given an already completed surface and the assignment of modifying it to a pre- specified outcome. This offers us a dual perspective on how users approach both the creation and modification of a surface. The observation extends to their choice of commands and their responses to challenges that arise during the process. This approach is aimed at garnering valuable insights into user behavior, strategy, and problem-solving techniques. • Interviews and Questionnaires: After those 10 users have been observed interacting with the CAD software and attempting to design a surface, we follow up with in-depth interviews and questionnaires (Codó, Dans, and Wei 2008). The goal of these is to explore their intended strategies, the specific CAD commands they were thinking of using, the difficulties they encountered, and how they planned to resolve those issues. This will help us understand their mindset, problem-solving approach, and expectations when designing a surface. • Analysis: The data gathered from observations, interviews, and questionnaires is meticulously scrutinized. We search for discernible patterns, themes, and correlations in users’ responses and behaviors (Thorne 2000). This analysis aids in the further refinement of our machine learning model and the design assistance tool, aiming to make them more aligned with users’ needs and design behaviors. • Implementation and Evaluation: Once users begin working with the ML-assisted design process, we adopt qualitative methods to evaluate its efficacy (Patton 1990). We seek feedback on their experiences with the model, the provided instructions, the challenges faced, and their overall opinion on the use of an ML-assisted approach in their design process. This feedback is critically analyzed and used to enhance and fine-tune the system to better serve its users. This component is going to be presented after the finish of the project at the final chapters. Briefly, each of these methods has been chosen for its unique potential to illuminate different aspects of users’ interactions with the 3D CAD software when designing a mouse, and together they form a comprehensive research approach that considers users’ experiences from multiple angles. In the following sections, we will elaborate further on the rationale for choosing these specific qualitative research methods - observation, interviews, and questionnaires - and their implementation in our study. More specifically, we will describe the characteristics of the users who will be observed and interviewed, such as their level of experience with CAD software, which may affect their interaction Georgios Konstantinos Kourtis 31
  • 46. 5. Qualitative Research with the tool and their ability to design a mouse. Also explaining the structure of our interviews and questionnaires is going to be happen, sch as if they will be open-ended or structured, and the key themes or topics they will cover. Overall, it should be stated that the primary methodology for all qualitative research procedures (how the experiments were held, how we selected the participants, how we collected the data etc) was derived from the scientific foundations outlined in the Fourth chapter of the book "Human- Computer Interaction: An Empirical Research Perspective" (MacKenzie 2013). 32 Georgios Konstantinos Kourtis
  • 47. User Observation 5.3 User Observation 5.3.1 Participants The participant group for this study was carefully curated, featuring a total of 10 individuals with diverse experiences and varying degrees of proficiency with the CAD software (in this case, SolidWorks). The intention behind this heterogeneity was to include a wide spectrum of user perspectives, hence eliminating the potential for bias towards any specific user group and enabling the generalization of our research findings. An inclusive recruitment approach was followed, inviting participants of all genders and races, and from diverse backgrounds. This ensured a representation of various perspectives and enabled the consideration of different strategies adopted by individuals from different backgrounds and with diverse thought processes. The participants were selected based on the following criteria: • Experience: The participant pool spanned from novices, who are still familiarizing themselves with the basic commands of the SolidWorks software, to the experienced users who have been using the software for several years for various projects. • Frequency of use: The selected participants also varied based on the frequency of their interaction with the software. This ranged from occasional users to those who are highly dependent on the software and interact with it daily. • Nature of use: To ensure a comprehensive analysis, participants who use the software for a range of purposes were selected. This included those who use it for academic research, professional work, personal projects, or simply as a hobby. 5.3.2 Observable Tasks and Procedure The observational study adopted a systematic experimental approach. All participants were asked to complete two tasks, each designed to simulate common scenarios in the CAD software SolidWorks (as ibid. stated it’s called a "within-subjects assignment" because each participant is tested on the same assignment). The experiment was conducted in a controlled environment, ensuring that the observed results are solely based on the user interactions with the CAD software, thus eliminating potential confounding factors. • Task 1 - Designing a Surface: Each participant was provided with a step-by-step guide in PDF format (see Appendix) for designing a specific surface. The objective of this task was to observe user strategies and identifying potential emerging problems when creating a new surface design based on given instructions. • Task 2 - Modifying a Finished Surface: In this task, participants were given a completed surface model along with a set of instructions to modify it in a specified manner (see Appendix). The purpose of this task was to understand user approaches in modifying an existing surface and identify challenges faced during this process. Georgios Konstantinos Kourtis 33
  • 48. 5. Qualitative Research Participants accessed the researcher’s computer via a remote desktop connection to perform the tasks. A dual-monitor setup was utilized, where one monitor displayed the PDF instructions and the other one ran the SolidWorks software. Each task was time-bound, with a maximum duration of 30 minutes, although it was expected that participants would complete the Task 1 within 20 minutes and Task 2 within 10 minutes. Communication during the experiment was limited to text-based messages exchanged through a notepad application to ensure minimal disturbance. Participants were asked to document any problems they encountered during the tasks. All tasks were recorded to capture user interactions with the software and their problem-solving approaches. If a participant was unable to complete a task within the stipulated 30-minute timeframe, they were instructed to cease the task, even if not fully completed. Figure 5.2: Snapshot of the User Observation Setup: SolidWorks program open on one monitor, with task instructions displayed on the second monitor. The aim of this controlled experiment was to gather qualitative data on user interactions with the CAD software during specific tasks and to identify difficulties or challenges users may encounter. The collected data will be instrumental in refining the API and machine learning model in our study, contributing to a more user-centric design and functionality. Task 1 - Designing a Surface The ideal finished CAD model for the Task 1 can be observed below. Figure 5.3: Task 1: Designing a Surface (Finished Model). 34 Georgios Konstantinos Kourtis
  • 49. User Observation We captured some generic data during the completion of Task 1. The summary of findings and analysis are presented below: • Completion Rate: Out of the 10 participants, 8 managed to complete the task within the given timeframe, with 6 finishing within the expected 20-minute timeframe. • Assistance Requests: Three out of ten participants experienced difficulties during the process, specifically while designing the lofted surface, and sought clarification via text communication. • Completion Time: The completion times varied among participants. A breakdown of the time taken is as follows: – 1 participant completed the task in less than 10 minutes. – 3 participants completed the task between 10 to 15 minutes. – 2 participants completed the task between 15 to 20 minutes. – 2 participants took between 20 to 30 minutes to complete the task. – 2 participants were unable to complete the task within the 30-minute timeframe. The quickest completion time recorded was 9 minutes and 11 seconds, while the median time was approximately 16 minutes. • Command Time Consumption: Among the four surface commands used in the task, the loft command proved to be the most time-consuming for participants. On the other hand, the surface fill command was found to be the least time-consuming. Figure 5.4: User Observation Task 1 Findings Visualisation Graphs. Georgios Konstantinos Kourtis 35
  • 50. 5. Qualitative Research Task 2 - Modifying a Finished Surface The ideal finished CAD model for the Task 2 can be observed below, along with the given CAD model to modify. (a) Given Model (b) Ideal Finished Model Figure 5.5: Task 2 - Modifying a Finished Surface. For Task 2, the guidance provided is primarily text-based, instructing the user on how to modify an existing surface model. The primary visual aid provided is an image showcasing the ideal end-result of the modifications.In addition to this primary visual aid, two supplemental images are available for reference. These images illustrate the ideal appearance of Sketch1 and Sketch2 after the necessary adjustments have been made. These additional visual aids are hidden by default but can be accessed by the user should they require extra guidance. We captured some generic data during the completion of Task 2. The summary of findings and analysis are presented below: • Completion Rate: Out of the 10 participants, 10 managed to complete the task within the given timeframe, with 9 finishing within the expected 10-minute timeframe. • Assistance Requests: Two out of ten participants experienced difficulties during the process, and ask permission to see the two supplemental images that illustrate the ideal appearance of Sketch1 and Sketch2 after the necessary adjustments. • Completion Time: The completion times varied among participants. A breakdown of the time taken is as follows: – 2 participants completed the task in less than 3 minutes. – 3 participants completed the task between 3 to 6 minutes. – 4 participants completed the task between 6 to 10 minutes. – 1 participant took between 10 to 20 minutes to complete the task. – 0 participants were unable to complete the task within the 20-minute timeframe. The quickest completion time recorded was 2 minutes and 40 seconds, while the median time was approximately 8 minutes. • Command Time Consumption: Among the 3 modifications made the Sketch 2 was the most time consuming. 36 Georgios Konstantinos Kourtis
  • 51. User Observation Figure 5.6: User Observation Task 2 Findings Visualisation Graphs. Georgios Konstantinos Kourtis 37
  • 52. 5. Qualitative Research 5.4 Interviews The interview phase of our study serves as an important complement to the observations made in the prior phase. This phase aims to delve deeper into the experiences and thoughts of the ten individuals who participated in the user observation task. 5.4.1 Design of Interviews Questions and Their Objectives Ten questions are designed to explore the user’s attitudes, understandings, and challenges when dealing with surface design in SolidWorks. Three of them (Questions 3,7 and 8) have a follow-up question. The responses will further enhance our understanding and help us formulate more effective strategies to design both the ML model and the API that facilitates it. The question asked are the following: 1. Can you describe shortly your overall experience with designing surfaces in SolidWorks? Objective: To understand the participant’s experience with surface design in SolidWorks, providing insights that may guide the design of the macro and the machine learning model. 2. What are the most common challenges you face when designing surfaces? Objective: To identify common problems and difficulties in surface design that the model and macro could potentially address. 3. How comfortable are you with the existing toolset for surface design? What improvements would you suggest? Objective: To assess the participant’s comfort level with the current tools and collect suggestions for improvements that could inform the model and macro’s functionality. 4. Have you found any particular functionalities or features of the surface design module to be superfluous or unnecessary? Objective: To identify any functionalities or features perceived as unnecessary that the model and macro should avoid incorporating. 5. Are there any functions or tools that you wish were included in the surface design module? Objective: To uncover potential additions or changes that the model and macro could integrate to enhance the surface design process. 6. How often do you use assistance or reference materials (such as tutorials, guides, etc.) while working on surface design? Objective: To understand the participant’s dependence on external resources during surface design, informing the potential level of guidance provided by the model and macro. 7. How do you handle complex surface design tasks? Can you describe briefly your approach or process? Objective: To gain insights into the strategies and methods used by the participant in tackling complex surface design tasks, guiding the approach the model and macro should take. 8. Can you recall any specific projects where designing surfaces in SolidWorks was particularly difficult or frustrating? If so, can you describe the problem and how you resolved it? Objective: To explore specific examples of challenges faced and solutions applied in surface design that the model and macro can learn from. 38 Georgios Konstantinos Kourtis
  • 53. Interviews 9. How does your experience with surface design in SolidWorks compare to your experience with other CAD software, if any? Objective: To obtain comparative feedback between SolidWorks and other CAD software, which could provide broader insights into potential features for the model and macro. 10. Do you feel that your understanding and use of surface design tools have improved over time? Objective: To assess the participant’s self-perceived growth and learning curve in using surface design tools, potentially influencing the level of adaptability incorporated into the model and macro. 5.4.2 Interviews Procedure and Findings The interview process was structured to ensure insightful responses from the participants. All interviews were conducted in a manner that encouraged open and detailed responses, while avoiding unnecessary digression or over-extended discourse. Each interview began with a set of specific questions. While participants were given the freedom to express themselves, they were gently guided to maintain focus and relevance to the topic at hand. Although responses of "yes" or "no" were generally discouraged, such instances served as opportunities to prompt the participant for further explanation or clarification. The interview process with the 10 participants revealed some insights regarding the surface design process in SolidWorks. The common themes that emerged were: • A level of discomfort with the existing toolset, with many participants suggesting a need for more intuitive tools. • The desire for more straightforward and user-friendly tools. • A high reliance on external resources when handling complex design tasks. • Recurring challenges encountered during certain complex surface design tasks. Below an analysis of participant responses on a question-by-question basis is presented: 1. Can you describe shortly your overall experience with designing surfaces in SolidWorks? A significant proportion of participants shared that they had a challenging experience with surface design in SolidWorks. Many participants acknowledged difficulties, particularly when confronted with more complex tasks. 2. What are the most common challenges you face when designing surfaces? Participants primarily reported the challenge of knowing what they wanted to design but struggled with how to initiate the design process. 3. How comfortable are you with the existing toolset for surface design? What improvements would you suggest? The majority of participants expressed discomfort with the current toolset, suggesting improvements aimed at a more straightforward and intuitive design process. Georgios Konstantinos Kourtis 39
  • 54. 5. Qualitative Research 4. Have you found any particular functionalities or features of the surface design module to be superfluous or unnecessary? Participants’ responses varied, with some finding all tools necessary while others suggested that some features were redundant. 5. Are there any functions or tools that you wish were included in the surface design module? Most participants expressed a desire for tools that simplify the process of surface design and a need for more user-friendly commands. 6. How often do you use assistance or reference materials (such as tutorials, guides, etc.) while working on surface design? The dependency on external resources was high among participants, pointing out the need for more integrated guidance within the software. 7. How do you handle complex surface design tasks? Can you describe briefly your approach or process? Participants typically resort to trial and error methods, supplemented by external resources for handling complex tasks. 8. Can you recall any specific projects where designing surfaces in SolidWorks was particularly difficult or frustrating? If so, can you describe the problem and how you resolved it? Participants were able to recall specific projects where they faced challenges (such as a design of a mold and a design of a airplane shell). 9. How does your experience with surface design in SolidWorks compare to your experience with other CAD software, if any? Participants generally found surface design equally challenging in SolidWorks compared to other CAD software, suggested that the surface design in Geometric programs (like Rhino) were easier. 10. Do you feel that your understanding and use of surface design tools have improved over time? Participants reported some improvement in their understanding and use of tools over time, but progress was often slow and required considerable effort. 40 Georgios Konstantinos Kourtis
  • 55. Interviews In order to distill and visually represent the core takeaways from our interviews, we have created a series of graphs, as depicted below. Figure 5.7: Interviews Visualisation Charts. Georgios Konstantinos Kourtis 41
  • 56. 5. Qualitative Research 5.5 Questionnaires 5.5.1 Design and Rationale of Questionnaires The questionnaire it was presented to the same ten users who participated in the initial qualitative research. The questionnaire was provided to them as a one-page PDF, and they submitted their responses directly on the document. The design of the questionnaire aims to gather insights into participant experiences and perceptions regarding surface design in SolidWorks. The questionnaire is divided into two parts. The first section comprises Likert scale questions, enabling respondents to indicate their level of agreement or disagreement with a series of statements. The second part consists of multiple-choice questions, designed to capture participant behavior and preferences while using the software. Likert Scale Questions 1. The existing toolset for surface design in SolidWorks is easy to use. Rationale: To assess the perceived usability of the SolidWorks toolset and identify potential usability issues. Options: 1) Strongly Disagree, 2) Disagree, 3) Neither Agree nor Disagree, 4) Agree, 5) Strongly Agree 2. I often struggle with complex surface design tasks in SolidWorks. Rationale: To gauge the frequency of difficulties encountered with complex designs and identify areas requiring improvement. Options: 1) Strongly Disagree, 2) Disagree, 3) Neither Agree nor Disagree, 4) Agree, 5) Strongly Agree 3. I frequently use external resources (such as tutorials, guides, etc.) while working on surface design. Rationale: To measure the dependence on external resources, possibly indicating gaps in the existing help materials or the toolset. Options: 1) Strongly Disagree, 2) Disagree, 3) Neither Agree nor Disagree, 4) Agree, 5) Strongly Agree 4. There are unnecessary features in the surface design module of SolidWorks. Rationale: To ascertain if there are features considered redundant or not useful by users, informing potential refinement of the toolset. Options: 1) Strongly Disagree, 2) Disagree, 3) Neither Agree nor Disagree, 4) Agree, 5) Strongly Agree 5. I believe that the inclusion of machine learning assistance in design would be beneficial. Rationale: To understand user receptiveness towards the incorporation of machine learning in the software. Options: 1) Strongly Disagree, 2) Disagree, 3) Neither Agree nor Disagree, 4) Agree, 5) Strongly Agree Multiple-Choice Questions 42 Georgios Konstantinos Kourtis
  • 57. Questionnaires 6. What is your most preferred source of assistance or reference while working on surface design? Rationale: To comprehend users’ preferred mode of support, informing the development of help resources. Options: a) Online tutorials, b) Guides within the software, c) Colleagues or peers, d) None, e) Other (please specify) 7. How often do you encounter difficulties when designing surfaces in SolidWorks? Rationale: To quantify the frequency of difficulties faced by users, assisting in the usability assessment of the software. Options: a) Always, b) Often, c) Sometimes, d) Rarely, e) Never 8. Which aspect of surface design do you find the most challenging? Rationale: To identify specific areas of the design process that pose challenges, aiding in targeted improvements. Options: a) Initial design phase, b) Refining the design, c) Finalizing the design, d) Other (please specify) 9. How often do you find yourself needing to modify your surface designs after they have been completed? Rationale: To understand the frequency of post-completion modifications, indicating initial design accuracy and potential improvements. Options: a) Never, b) Rarely, c) Sometimes, d) Often, e) Always 10. In general, do you prefer to start a design from scratch, or modify an existing one? Rationale: To gain insights into user preferences regarding their design approach, shedding light on their design workflow. Options: a) Start from scratch, b) Modify an existing design, c) Depends on the project Georgios Konstantinos Kourtis 43
  • 58. 5. Qualitative Research 5.5.2 Questionnaires Results and Interpretations The charts displaying the results of the questionnaire are presented below: Figure 5.8: Questionnaire Results Charts. 44 Georgios Konstantinos Kourtis
  • 59. Questionnaires Upon observing the collected data, several trends and patterns emerge: • Question 1: Responses to this question were quite mixed, with ’Agree’ and ’Neutral’ getting 3 and 4 votes respectively. This suggests that most respondents find the SolidWorks toolset fine but not the easiest. • Question 2: Most respondents either ’Agreed’ or ’Strongly Agreed’ with the statement, indicating that complex surface design tasks in SolidWorks can be challenging. • Question 3: Here, ’Agree’ was the most common response, followed by ’Strongly Agree’ and ’Neutral’. This suggests that many respondents rely on external resources when working on surface design, indicating a potential gap in the existing help materials or toolset. • Question 4: ’Agree’ and ’Disagree’ were the most common responses, suggesting that opinions are quite divided on whether there are unnecessary features in the surface design module. • Question 5: The majority of respondents either ’Agreed’ or ’Strongly Agreed’ with the statement, indicating a general positive attitude towards the potential of machine learning assistance in design. • Question 6: ’Online tutorials’ and ’Colleagues or peers’ were the most commonly preferred sources of assistance, suggesting that interactive methods of learning and assistance are highly valued. • Question 7: Responses were evenly distributed across ’Always’, ’Often’, ’Sometimes’, and ’Rarely’, suggesting a range of experiences among respondents with regard to the difficulty of designing surfaces in SolidWorks. • Question 8: Most respondents identified the ’Initial design phase’ and ’Refining the design’ as the most challenging aspects. • Question 9: ’Sometimes’ and ’Often’ were the most common responses, suggesting that post- completion modifications are a fairly frequent occurrence. • Question 10: The majority of respondents prefer to either ’Modify an existing design’ or decide based on the project. This suggests that many respondents appreciate the flexibility to adapt existing designs to fit their needs. Georgios Konstantinos Kourtis 45
  • 60. 5. Qualitative Research 5.6 Findings Analysis Through the analysis of observational tasks, interview responses, and questionnaires, a understanding of user experiences with surface design in SolidWorks has been achieved. The following points summarize the key insights drawn from integrating all these tools: • Challenges and Design Workflow: From the observational tasks, it was noted that there was a significant difference between Task 1 (designing a surface) and Task 2 (modifying a surface). Task 1 had a lower completion rate and longer completion times, indicating the increased complexity and challenge in designing a new surface from scratch. This insight corroborates the interview responses, where participants reported difficulties with initiating the design process and handling complex tasks. These findings highlight the meaning of a strong kick-start process (at the initial step) of the design workflow. • User Comfort and Toolset: Interview responses pointed to a general discomfort with the existing SolidWorks toolset for surface design. Participants expressed a desire for more intuitive and user-friendly tools. This is further reflected in the questionnaire results, where respondents agreed or strongly agreed with the statement that complex surface design tasks in SolidWorks can be challenging. These findings highlight the necessity for improving the design workflow or maybe creating a new one. • Dependence on External Resources: Both the interviews and questionnaire responses showed a high dependence on external resources like tutorials and assistance from colleagues. This points to potential gaps in the existing help materials within SolidWorks and indicates that users might benefit from more integrated guidance. • Specific Challenges: Certain commands and operations were identified as more time-consuming or challenging, such as the Surface Loft command in Task 1 and modifications to Sketch 2 in Task 2. This suggests that these areas could be modified to reduce the perceived complexity. • Comparison with Other Software and Learning Curve: Participants generally found surface design equally challenging in SolidWorks compared to other CAD software, but they reported that geometric programs like Rhino were easier to use. This feedback suggests room for improvement in the intuitiveness of SolidWorks surface design tools. In conclusion, it becomes clear that there are opportunities for improvements, particularly in the program intuitiveness, guidance, and possibly rebuilt the whole CAD design workflow. Therefore, our future enhancements to SolidWorks should are going to be focused on those areas. 46 Georgios Konstantinos Kourtis
  • 61. Chapter 6 Design and Development Guidelines 6.1 Design and Development Guidelines Introduction Design and Development Guidelines Definition This chapter focuses on the formulation of the Design and Development Guidelines, serving as a roadmap for the design and development of the model. These guidelines are a combination of the Quantitative or Qualitative Limitations, Functional or Structural Limitations, Functional Requirements, and Characteristics of the model that is going to be designed and developed (Evgenios Skourboutis and Fotiadis 2015). A clear, coherent set of Design and Development Guidelines will contribute significantly to the efficiency and effectiveness of the final model (Benedikt Reimlinger and Meboldt 2020). Figure 6.1: Design and Development Guidelines. Quantitative or Qualitative Limitations Definition Quantitative or Qualitative Limitations pertain to the extent or range of something (Evgenios Georgios Konstantinos Kourtis 47