DEGREE PROJECT IN MECHANICAL ENGINEERING, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2020

Methods to Reuse CAD Data in Tessellated Models for Efficient Visual Configurations

An Investigation for Tacton Systems AB

SAKETH RAM KUNDA

KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF INDUSTRIAL ENGINEERING AND MANAGEMENT

Methods to Reuse CAD Data in Tessellated Models for Efficient Visual Configurations – An Investigation for Tacton Systems AB

Saketh Ram Kunda

Master of Science Thesis TRITA-ITM-EX 2020:512 KTH Industrial Engineering and Management Machine Design SE-100 44 STOCKHOLM

ii

Master of Science Thesis TRITA-ITM-EX 2020:512

Methods to Reuse CAD Data in Tessellated Models for Efficient Visual Configurations – An Investigation for Tacton Systems AB

Saketh Ram Kunda Approved Examiner Supervisor 2020-09-21 Sofia Ritzén Lasse Wingård Commissioner Contact person Tacton Systems AB Marco Lang

Abstract

Data loss has always been a side effect of sharing 3D models between different CAD systems. Continuous research and new frameworks have been implemented to minimise the data loss in CAD and in other downstream applications separately like 3D visual graphics applications (eg. 3DS Max, Blender etc.). As a first step into this research area, the thesis is an explorative study on understanding the problem of CAD data loss while exchanging models between a CAD application and a visual application. The thesis is performed at Tacton systems which provides product configurations to their customers in both CAD and visual environments and hence the research is focussed on reusing the CAD data in visual applications or restoring the data after exchange. The research questions are framed to answer the reasons of data loss and address the possible implementation techniques at the company. Being a niche topic, the thesis required inputs from different perspectives and knowledge sharing from people outside the company which proves the significance of open innovation in technology-oriented companies. Ten different ideas were brainstormed and developed into concepts to solve the problem of data loss. All the concepts are analysed and evaluated to check the functionality and feasibility of implementing it within the company workflow. The evaluations resulted in different concepts that are capable of solving the research problem. They have also been verified with various people internal and external to the company. The results also highlight the strengths and weaknesses of each of these concepts giving clear instructions to the company on the next steps.

Keywords: CAD, Configuration, CAD data exchange, parametrisation, tessellations, 3D real time visualization.

iii Examensarbete TRITA-ITM-EX 2020:512

Metoder för att återanvända CAD-data i tesselerade modeller för effektiv visuell konfigurering – En utredning för Tacton Systems AB

Saketh Ram Kunda Godkänt Examinator Handledare 2020-09-21 Sofia Ritzén Lasse Wingård Uppdragsgivare Kontaktperson Tacton Systems AB Marco Lang

Sammanfattning

Dataförluster har alltid varit en följd av att dela 3D-modeller mellan olika CAD-system. I forskning har nya metoder utvecklats och implementerats för att minimera dataförlusten i CAD och andra program, som t.ex. visuella 3D-grafikapplikationer (3DS Max, Blender etc.). Denna rapport är resultatet av en studie kring CAD-dataförluster när man överför modeller mellan ett CAD-program och ett visualiseringsprogram.

Studien har utförts vid Tacton Systems AB, som tillhandahåller produktkonfigureringslösningar både i CAD-program och i visuella miljöer och därför har studien haft fokus på att återanvända eller återskapa CAD-data i visualiseringsprogramvaror. Forskningsfrågorna är inriktade på att hitta orsaker till dataförlusterna och möjliga lösningar för företaget. Eftersom detta är ett högspecialiserat ämne krävde arbetet insatser från olika perspektiv och kunskapsinhämtning från människor också utanför företaget, vilket visar på betydelsen av öppen innovation i teknikorienterade företag.

Tio olika idéer togs fram och utvecklades till koncept för att lösa problemet med dataförluster. Alla koncept har analyserats och utvärderats för att bedöma deras funktionalitet och genomförbarhet, för att implementera dem inom företagets arbetsflöde. Utvärderingarna resulterade i sex olika koncept som skulle kunna lösa problemet. Dessa koncept har diskuterats och verifierats med olika personer inom och utanför företaget. Resultatet visar styrkor och svagheter i vart och ett av dessa koncept och ger tydliga rekommendationer till företaget om nästa steg.

Nyckelord: CAD, produktkonfigurering, CAD-datautbyte, tesselering, 3D realtidvisualisering.

iv FOREWORD The work presented henceforth is a Master thesis project of the program Innovation Management and Product Development at KTH Royal Institute of Technology, Sweden. The thesis is fully performed at Tacton systems and the research performed is specific to one of the services offered by the company. The basis for the thesis idea arose from a casual discussion with the VP Product manager at the company. I would like to thank him for giving the opportunity to perform thesis in Tacton. I would like to extend my gratitude with my Master program Coordinator and my supervisor at university for showing support throughout the thesis work especially with the difficult pandemic times. A big thanks to my manager who is also my supervisor at Tacton for supporting and guiding me in all times of the thesis work. I am glad to work under him and was a invaluable experience for me and I could say that the entire project period was extremely resourceful and challenging as well as fun. Lastly, I would like to show my gratitude all my colleagues at Tacton for being a great help in my thesis and showing interest in it till the end.

Saketh Ram Kunda

Stockholm, September 2020.

v

NOMENCLATURE

Abbreviations

CPQ Customer price Quote DA Design Automation CAD Computer Aided Design CAM Computer Aided Manufacturing CAE Computer Aided Engineering STEP Standard for the exchange of Product Data IGES Initial Graphics Exchange Specification B-Rep Tri-Rep Triangular representation ETO Engineering to Order GPU Graphics Processing Unit API Application Programming Interface SDK Software Development Kit PMI Product Manufacturing Information GD&T Geometric Dimensions & Tolerances XML Extensible Markup Language STL Stereolithography OBJ OBJECT (.obj) FBX FILMBOX (.fbx)

vi

Contents CHAPTER 1 : INTRODUCTION ...... 9

1.1 BACKGROUND OF TECHNOLOGY ...... 9 1.1.1 Configurators and their necessity ...... 9 1.1.2 CAD ...... 9 1.2 ABOUT THE COMPANY ...... 10 1.3 BRIEF PROBLEM DESCRIPTION ...... 10 1.4 PURPOSE OF THE RESEARCH ...... 11 1.5 DELIMITATIONS ...... 12 CHAPTER 2 : METHODOLOGY ...... 13

2.1 DESIGN METHODOLOGY ...... 13 2.1.1 Waterfall model ...... 14 2.1.2 Agile model ...... 14 2.2 GANTT USED FOR THESIS SCHEDULING ...... 14 2.3 RESEARCH SETTING...... 15 2.4 DATA COLLECTION...... 16 2.4.1 Research phase ...... 16 2.4.2 Development phase ...... 17 2.4.3 Verification phase ...... 17 2.5 OPEN INNOVATION ...... 18 CHAPTER 3 : INFORMATION COLLECTION ...... 19

3.1 LITERATURE STUDY (WHAT WHERE AND WHY)...... 19 3.1.1 Tessellation and 3D real time visualisation ...... 21 3.1.2 Tessellation parameters and algorithm ...... 21 3.1.3 CAD File formats ...... 22 3.1.4 Parametric modelling in today's CAD systems ...... 22 3.2 EMPLOYEE/WORKFLOW CHALLENGES WITHIN TACTON ...... 23 3.2.1 Parametric split/ parameterization ...... 25 3.2.2 Docking points ...... 26 3.2.3 Visualiser studio ...... 26 3.3 INFORMATION FROM INTERVIEWS AND SURVEYS ...... 26 3.3.1 Information from developers at PiXYZ ...... 27 3.3.2 Information from developers at InstaLOD ...... 28 3.3.3 Information from developers of HOOPS exchange from technosoft 3D ...... 30 3.4 EXISTING METHODOLOGIES TO SOLVE THE PROBLEM OF DATA LOSS IN CAD EXCHANGE ...... 31 CHAPTER 4 : ANALYSIS ...... 33

4.1 WHAT WHERE AND WHY’S OF THE PROBLEM? ...... 33 4.1.1 WHY- The underlying reasons of data loss ...... 35 4.2 BRAINSTORMING IDEAS ...... 37 4.2.1 Integrated macro-parametric exchange and geometric mapping approach ...... 38 4.2.2 Evaluation of integrated macro-parametric exchange and geometric mapping approach ...... 41 4.2.3 Incremental tessellation ...... 41 4.2.4 Evaluation of incremental tessellation ...... 42 4.2.5 Forge: Using internal tessellator from a CAD system to identify a set of triangles from the B-Rep surface...... 43 4.2.6 Evaluation of using internal tessellator to identify triangles ...... 44 4.2.7 Morphing modifier : Using morphing to manipulate the model geometry to required shape and size...... 45 4.2.8 Vertex count & vertex order ...... 46 4.2.9 How morphing helps in eliminating parametrization? ...... 48 4.2.10 Concept and evaluation of morphing modifier ...... 49 4.2.11 PythonOCC as a multiplatform to generate CAD models using python programming language...... 53 4.2.12 Evaluation of PythonOCC ...... 53 4.2.13 Licensing tessellator to access the three types of data from the B-Rep domain and map it to the triangles in visualization...... 53 4.2.14 Combined PiXYZ and InstaLOD functionality and comparison ...... 53 4.2.15 Evaluation of PiXYZ and InstaLOD ...... 54 4.2.16 HOOPS exchange to solve parameterization by accessing topology data and parametric data ...... 55 4.2.17 Evaluation of HOOPS exchange ...... 56 4.2.18 EXXAR Stream as a tool to allow CAD metadata streaming into Visualiser studio ...... 56 4.2.19 Evaluation of Exxar stream ...... 56 CHAPTER 5 : RESULTS AND DISCUSSION ...... 58

5.1 RECOMMENDATIONS TO TACTON ...... 58 5.2 STRENGTHS AND WEAKNESSES OF THE RECOMMENDED CONCEPTS ...... 60 5.3 PRACTICAL IMPLICATIONS ...... 63 CHAPTER 6 : CONCLUSIONS AND FUTURE WORKS ...... 64

6.1 CONCLUSIONS ...... 64 6.2 FUTURE WORK ...... 64 References ...... 65 APPENDIX A ...... 71

vii

viii

Chapter 1 : INTRODUCTION

This chapter introduces the thesis work starting with the background technology and about the company. It is followed with a brief problem description, purpose of research and finally delimitations of the thesis.

1.1 Background of technology There has been a trend towards customization of products in the current industry. Especially in the manufacturing industry where companies seek to have mass customization and Engineer to order (ETO) to their customers. And this advances demand for time consuming design activities which are mostly repetitive and so use of design automation (DA) has become important for rationalising these repetitive tasks. Re-designing or modifying existing design of a product is usually seen in mass customisation of the product. And implementing mass customisation can be done using product configurators.

1.1.1 Configurators and their necessity Configurators basically translate the customer requirement into product information and generate a visualizable product matching the requirements. The configurators run of predefined rules and logic which are set as complete customisation of the product is not possible. Despite of offering huge value to engineering, configurators can play a huge role in the product development process by integrating sales and design engineering [62]. A manufacturing company offering products with mass customisation can use a configurator integrated with sales and engineering where its customer can configure based on the requirements and readily get the product in a form of either a CAD model or drawings. This increases the speed of the sales process hugely impacting the overall company’s value. After configuration, along with getting a visualizable model or drawings, if the configurator can also add pricings and generate a final quote for that particular configured product model, then it is called a Customer Price Quote(CPQ) which is a term used in Business to Business (B2B) industry. CPQ enables smart commerce solutions by using an advanced configurator engine which is what the company is offering in this study. It offers CPQ and smart commerce solutions to manufacturers. In other words, A customer can sit in front of a computer and readily configure a product based on his requirement and get the best quote in real time. The current research involves a visual configurator which is similar to CAD configurator except that the models generated are not CAD models or drawings but photorealistic products.

1.1.2 CAD Computer Aided Engineering (CAD) is a common term and has become a widely used technology in various industries and known for its ability to improve design, reduce development time, cut design costs and transfer critical knowledge between systems [70]. The CAD revolution has taken a turn over the years and significant developments are seen. The important aspect of CAD is communication and it makes it easy to share your vision through designs and drawings. Unlike paper representations which are ambiguous and difficult to understand unless having some expertise, CAD technology makes it easier, organised, and standardized [85]. There are many different CAD vendors currently providing various features for the users thereby increasing the usage of CAD systems in many different companies. The CAD system works on a solid modelling kernel which basically is the core of the system without which we can’t see any images on the screen. In a way, how the solid modelling kernel receives data and processes it and how it models a geometry is different and depends upon how the software is developed or programmed. And because of this reason, the communication between different CAD systems becomes a complex task and there has been a lot of research on integrating systems and transferring CAD data from

9 one system to another [42,68]. This integration gap causes a data loss while transferring CAD models between different systems. This thesis explores the problem faced in the company’s workflow which is a consequence of CAD data loss and investigates the specifics of it in the further sections.

1.2 About the company The thesis is performed in Tacton systems which has its headquarters in Stockholm. The company offers better sales for a customer by using its CPQ service. The customers of the company are mostly manufacturers and resellers all around the globe who sell their product to the user. With the help of Tacton’s service, the user can configure his requirements and therefore can get the best price in just a few seconds which in general takes weeks, sometimes months if performed by a salesperson. There are majorly 3 services provide by Tacton: • CPQ • Design automation • Visual configuration Design Automation lets you configure, design, and deliver custom products faster than ever before. It automatically creates detailed production and assembly drawings from within your CAD tool. It is useful when there is a need for redesigning on a continuous basis or also when there is a need for custom products. Using design automation, the customer could get desired geometry with all the data required for manufacturing that model by customising the value in the configurator. Visual configuration helps customers visualise the product before manufacturing to boost the sales. It uses 3D rendering technology where the products are rendered in 3D in real time creating an interactive experience on PC, mac and android platforms (Augmented reality). The users can configure the product and can see how it looks in terms of size, shape, colour and material from their tablet or mobile and the configuration happens in real time with the good quality rendering. With the help of Tacton’s service, a customer can design, configure, visualize and also quote the best price for their requirement thereby improving the sales and also the relationship with the customer.

1.3 Brief problem description Although, both design automation (DA) and visual configuration service look similar as they let the customers configure the products, but when dealing with a single project having both DA and visualization, there happens to be an overlap of both services. Both the services work on CAD models of the products and the CAD files are the common interfaces. The DA process ends with exporting a CAD file and the visual configuration service starts with importing a CAD file. The problem comes in the conversion where some of the useful metadata/information is lost. This conversion step is called tessellation and this step only retains limited metadata from the model therefore needing re-work on the CAD model even after tessellation. So, this is redundant work for the company and its customers. Since, the CAD applications are different from 3D visual applications, customers need to support the 3D artists providing information about the product. The company uses a methodology to offer visual configuration for the customers which involves a set of tedious and complex steps. This methodology will be explained in the section 3.2 under employee challenges which is the root of this research. At the moment, the company works without using the metadata from the CAD model.

So, the thesis aims to solve the problem of metadata loss while conversion of CAD file from CAD application to visual applications. The task given by the company was to find a way or investigate

10 on how they can reuse the CAD files stored with metadata in the visual asset creation process. The current technology is still not there to have a direct solution to this problem of data loss. Data loss happens to be one of the important problems with CAD user companies as it disturbs the communication channels when companies share files to their customers [6,32,42]. But unlike the data loss between one CAD system and another CAD system (like Solidworks and creo), this research is unique as it focuses on data loss from a CAD environment to a visual environment which are primarily distinct in their representation of models therefore highlighting the research gap.

1.4 Purpose of the research The initial task is broad as the main goal of this thesis is to improve the process efficiency in the visual asset creation workflow. As discussed above, there is some redundant work in the current workflow of the visual asset creation process. The research aims to eliminate this redundant work therefore saving a lot of time and money for the company. In order to make this happen, the thesis focuses on investigating ways to find a solution to the problem of data loss. The investigation involves identifying the exact problem itself and where the problem occurs and why it occurs. By analysing all this information, there will be a bigger understanding of the problem which would help in brainstorming methods to solve it.

From the company’s point of view, the research would help them in better understanding of the ins and outs of the problem. And apparently, the company identified this opportunity on reusing CAD files long time ago but couldn’t prioritize it at that moment. Because of the research being investigated from different perspectives, it would be interesting for the company to understand their workflow and missing pieces in their process in a better way. Also, this research will be helpful for them to realise the scale of opportunities it can provide if there is a solution. This thesis is the first step to analyse the problem, get a bigger picture and find any available solutions on the market or even come up with disruptive ideas, so the company can further narrow down on what to focus on to improve the process within their services. There are immense opportunities through this research as it will bring both the services (DA and Visual configuration) on the same level and also can bring out new business opportunities. Apart from making the process efficient and optimised, the company can leverage it as an competitive advantage in the market compared with their competitors.

Also, the thesis will make a huge contribution to the current research study on data translation. The topic of the thesis is still new and not much explored by many yet, making it a niche topic. The literature that exists today has researched on the topics around data translation, exchange of metadata between CAD systems, technology of tessellator and studies on 3D rendering engines and graphics etc. [6]. But there hasn’t been much research on data loss from a CAD environment to Visual environment. The thesis will contribute to the literature with a better understanding of the problem and analysing the underlying reasons along with some possible solutions. The literature study phase of the master thesis covers an overview of the current technology and existing tessellations in the market and their performance. Along with that, it will contribute to the understanding of configurators which are relatively less researched. On a whole, the thesis will help in getting an overall picture on CAD workflow, CAD file formats, tessellations, configurators and how they are all linked with each other. Hence there 2 research questions that the thesis will answer: 1. What are the underlying reasons for CAD data loss between different systems and how to restore that data. 2. How can Tacton make their visual asset creation workflow more efficient by eliminating the step of parametrization.

11

1.5 Delimitations The scope of the thesis lies within the field of identifying the problem, analysing the causes of the problem and the exact step in the process where the data loss is happening. Finally, providing with some insights on how to avoid data loss from CAD files. Some limitations of the thesis are: • The thesis will not be providing a fully developed solution to the problem. The solution in these cases will be software programs which have to be developed by programmers. • The research area being very niche, there isn’t enough scientific literature found to backup the statements to understand the problem. • In case of the information collected from the people or employees working in different organizations within the same field, the number of people who were approached by this problem is not many when compared to general studies of this sort. This is because of the topic being very niche, not many have been experienced with the topic to share their knowledge. • The readers require a basic understanding of Computer aided design systems (CAD) and 3D modelling to clearly grasp the valuable insights from this research topic. • Important company and customer related data has been modified in the report for confidentiality purposes.

12

Chapter 2 : METHODOLOGY

The chapter discusses the methodology that is followed throughout the thesis to reach the current results. The frameworks used in the following study also gives additional information on how such projects can be executed. The section also touches on how open innovation was helpful in understanding and solving the problem.

2.1 Design methodology Because of the past experience in the company, the author had a little idea of the culture, the communication channels, and the processes used within the company. It made a little easier for the author to design the full process of the thesis. For this particular project, the author believes that there isn’t a standard methodology to follow. The thesis requires extensive research and interviews to find out the background of the CAD and graphics technology. Also, the timeframe of the project is limited and there are deadlines to meet as a part of the coursework. It slightly falls under waterfall methodology as the process needs to be structured and organised. It is also relevant because of a lot of documentation to be done in the beginning of the project helping to formulate the research question [52]. But, the waterfall is too rigid for the content of the thesis. Although the outline of the thesis project requires a good understanding of the needs and requirements of the company, and have a structured process, the scope of the thesis requires flexibility. This is where the Agile method comes in.

Figure 1Representation of Hybrid methodology followed in the thesis

The primary goal of this project is to make the Visual Asset Creation process more efficient and productive. However, the project has many dimensions to explore into as discussed in previous sections. Since, there isn’t much research on this topic, because of its niche nature, the outcome becomes more uncertain and unpredictable. Additionally, the thesis allows knowledge from different perspectives in all directions to solve the research problem. Since the content is not clear and unpredictable, agile is suitable for this project type [53]. Keeping all this in mind, the project requires a framework which is structured and clear and allows flexibility and experimentations. So, the author uses HYBRID methodology which is best framework that could fit in this type of study. It has benefits of both the waterfall and agile models and suits a thesis project more than anything as shown in above Figure 1.

13

2.1.1 Waterfall model The waterfall model is applied in the initial phase where the focus is on understanding and collecting literature supporting the problem. The phases in the model are planning, market and literature study, field Interviews, analysis of the data collected from interviews and literature and finally framing the research question.

The main idea of the waterfall model is to get enough information about the problem from different sources like literature, employee interviews, external companies etc. Once, there is an understanding of the problem, it is easier to see the big picture easing the brainstorming phase.This is used for the beginning of the project because these are the starting requirements in order to solve the problem. The type of problem being very unique and narrow, it is very important to understand every aspect affecting the problem and hence it is a linear path starting from planning to framing the question. Throughout the phase, there are many dimensions identified to achieve the goal of the company which is to make their visual asset creation workflow more efficient. Using literature study and interviews with employees, the problem is identified and the research question is framed. All the information gathered in this phase will help in the next phase either with brainstorming new ideas or implementing existing research.

2.1.2 Agile model The second phase of the thesis project is performed using an Agile method. It is because this phase is about coming up with new ideas, developing those ideas and validating them back. This is a very iterative step and takes a huge part of project timeline. Using the gathered information in the initial phase of the project, there were some ideas that popped up while doing the literature study. Those are noted and developed using agile framework in an iterative way. The verification part of the agile framework is performed as weekly status meetings with the project manager discussing the progress of that week and deciding if there is a need for further evaluation or not. These review meetings are helpful and reflective as they brought in a bigger picture and new findings which were interesting.

The phase wasn’t exactly iterative as there were slight changes made to the methodology. The plan was to stick to an idea, develop and validate, verify and move on to the next one. But, in this case, the validations are performed with the employees of the company, and sometimes with external sources having relevant knowledge. Because of the pandemic, there was a communication lag in the iterations. The time for waiting for validation is not wasted and was used in developing the next ideas which were in the list. So, few ideas were run parallelly without putting it on hold to save time and resources. In order to have more control, the number of different ideas that can be developed are controlled to maximum of 3. The major difficulty with parallel ideas is tracking the developments which led to missing some important information while sharing. In order to overcome this trouble, Power Notes is used to keep notes of the developments. Power notes is an online free tool used to gather, organise research and track your developments on a particular topic [63].The major advantage of being agile is its quick and adaptable nature to the situations that changed in due time.

2.2 GANTT used for thesis scheduling For general planning and coordination purposes, a GANTT chart is used which helps track the progress of the project and to breakdown all the activities. As the project is performed by a single person, it is customised to the desired needs. After discussions with the supervisors both at the university and the company, the author noted down all the activities required for the full project

14 and matched them with the deadlines to be met. The author decided to use a GANTT schedule since visualization of and modifications to week-based activities are made visible and relatively easy to create and manage [43] as shown in Table.1

Therefore, project coordination tools such as to-do lists, schedules, etc. are vital for a goal-oriented project. However, since innovation projects characteristically entail a fuzzy front end, tools that aid in negating the uncertainty are needed [81]. More specifically, the use of WBS (Work Breakdown Structure) is implemented to concretize tasks and demystifying the work ahead[8]. By using the WBS, the author essentially was able to break down an activity into inter-dependent sequential activities and steps which aid in understanding the activities’ relations and chronology. This then acts as a foundation for which to base the schedule and time plan on since the work will be broken down into approachable and simpler tasks. The full timeframe of the project is estimated around 20 to 22 weeks. The GANTT is divided into 3 phases: explorative, analytical and report and presentation phase. Right from the beginning there was a buffer week added in case of any health or emergency issues so that the project will still stay on track. But, because of the pandemic, the timeline has been stretched further than expected. In terms of the design process, the waterfall model was in action until week 8 and then the agile methodology has been applied. Table 1.GANTT chart to visualize the thesis schedule

2.3 Research setting Research setting plays an important part of innovation [82]. The full thesis is planned to be done in two company locations. The company is headquartered in Stockholm but there was no employee from visual configuration service located in Stockholm. The visual configuration office is in Karlsruhe, Germany and was recently inaugurated. The idea was to relocate to Germany office for the full thesis but because of lack of resources available, it was not possible. The initial phase of

15 data collection, interviewing employees and understanding the problem was done in Germany and it took around 2 months. The idea was to return to Stockholm and analyse the information and brainstorm. As the communication would trouble the process of development and validations, the stay is prolonged, and it made the iterations a lot easier.

The office there has around 20 employees focussed on different tasks. The authors major discussions were done with 3D Artists as they are most familiar with the problem and doing the redundant work. The first phase involved understanding and learning new tools like 3DS max and Visualiser studio. So, it was beneficial to have support in the workplace to clarify quick doubts and explain the working rather than doing it over the distance. But because of the pandemic, the communications became remote and there was a huge difference in the response time of one iteration which ranged from 1 day to 1 month. There were ideas that couldn't move forward as they got delayed but were done slowly at the end of the project. The report part of the project is planned to be done in Stockholm.

2.4 Data collection The section describes how the data collection is done throughout the thesis. In the present thesis, the sources of data are collected in different ways. There are qualitative methods used like interviews, discussions etc. and quantitative methods like a survey. On an overview, the author used papers, journals, interviews, discussions with companies, and discussions in forums, communities of practice to gather all the information required for the thesis. All these sources of information played a crucial role in understanding the research problem and the underlying reasons to it along with the possible solutions to eliminate the research problem.The sources of information and methodologies of collecting it is discussed below based on the phase it is used for. There are 3 phases of collecting data for the thesis:

2.4.1 Research phase The research phase includes all the activities of gathering information to understand the problem. The activities involved in the waterfall model come under this phase of data collection. In the very beginning of the thesis, the author’s supervisor who is a senior product manager having the most knowledge about the problem has given an introduction of the company and a full description of what the company is working on and how the visual configuration service works. Additionally, with a brief of what the company is expecting, after which the thesis task became a little clearer. Before digging into the problem, there was a lot of background information that needed to be learnt to understand the working which is considered as preliminary literature study. The author did background study on the technology and the keywords that are needed to understand and research on the problem. After learning about the background, the author conducted semi- structured interviews with 5 employees involved in the visual configuration workflow along with the supervisor and 1 employee who is a senior software developer in Design automation service. The interview guide had open-ended questions to understand their insights around the problem and collect different perspectives based on their role at the company.

The preliminary literature study was helpful to be relate to the answers from the interviews in the research phase as it gave background knowledge on few technical concepts and terminology. Along with the interviews, the literature study was carried out on the research problem. The search became easier from the insights from the interviews. Interviews were analysed parallelly and based on the interviews, it was decided if the interviewees were to be included to support further research of my thesis. The author has accessed few of the research journals, scientific papers on the particular research area, along with performing market study to look for any available solutions.

16

As a result of market study, the author found few other organisations either offering similar services or involved in the same field of business. The author made contact with these company’s and scheduled meetings with the people who have the domain knowledge. These were also semi- structured interactions with the purpose of understanding their insights on the problem and also to gather information if they offer any solutions for this problem.

In addition to interviewing people in other organisations, the most interesting and useful information the author found was through forums and groups. Every CAD software and 3D graphics software has its forums and discussion panel where random questions of their product can be asked. The forums are a vast community with deepened knowledge in CAD. But also, it must be understood that there are only a handful of people who have knowledge in both CAD and visual graphics. The forums not only have users of the software but also have experienced developers working in that company offering that software. The responses to the questions posted on understanding the thesis problem were helpful in directing the author where to look at. The author has registered with these forums and been actively looking for similar posts and directly reached out to those people and gathered data. Overall, the author used papers, journals, interviews, discussions with companies, and discussions in forums to gather all the information in the research phase to understand the problem, finding where and why is the problem occurring.

2.4.2 Development phase The development phase starts right after gathering data on the problem, analysing it and identifying the causes of the problem and the exact position of its occurrence. Once this information was known, the next step according to the plan was to start brainstorming and develop ideas. Both the development phase and the verification phase were a part of the agile design process used in this thesis. Using the same sources from which the information is gathered, the author tried to gather ideas for a solution. Within Tacton, the author narrowed down to discussions with a 3D artist who plays an important role in the workflow of the visual configuration facing the problem. It used to be very active communication between the author and the artist, and the idea generation happened to be very productive. Additionally, as a part of literature study, there were papers on similar problems dealing with data loss and useful information from them were discussed with the artist and the supervisor. The author thereby continued developing the idea based on these discussions with the artist and the supervisor. Also, the people from other companies are welcoming enough in supporting the thesis, so the author had discussions with them on different ideas and possibilities on solving the problem. Also, the author has discussions in forums as comments to my post on solving the problem. The discussions helped the author to get more deeper and in finding a few more papers with important information and at times leads to particular technology which was useful in solving this problem. And then, these findings will again be discussed with the supervisor and the artist which continues as a loop iteratively until it hits an end.

2.4.3 Verification phase The verification phase started as soon as an idea was being developed continuously. After having enough information and mutual discussion with the supervisor on the idea could work and probably feasible, the author goes ahead with evaluating that idea. In this thesis topic, the evaluations are either done on a software which could give some results to verify or it can be discussing it with knowledgeable people around the world. With the help of forums, the author had direct access to highly skilled people in particular domains. The difficulty with this type of execution was that it is hard to find definitive answers at times, the users in the forum are not sure. So, it happens to be little tedious as the same idea has to be evaluated with different people in different forums. The author took the opinions of people from other companies that the author was in contact with. This was a very slow phase and not sure if there will be any critical answer.

17

Meanwhile, parallel ideas were developed at times without even getting a closure on the previous idea. It was done to save time and be productive and make use of the author’s time in Germany. There was a lot of knowledge transfer between the author and the artist. As a by-product, the developed ideas were mostly been evaluated on software packages like 3DS max and Maya. The author had to take the artist's help in evaluating since it requires a very deep knowledge of the software in order make a test. It was also helpful as the author was learning the software parallelly testing the idea. There were few ideas where the author had to email to the authors of the papers but didn't get any responses. On a whole, there were very different and radical ideas that were evaluated and few ideas were promising but no further information was available as the authors didn’t respond. Also, the evaluations with companies were also done in this phase. There were few companies which only give evaluations for commercial projects and not student projects, so it was a little hard to get a hold of them. But, the author could get some useful information with a lot of follow up emails and support requests of their services.

The above three phases are a part of data collection throughout the thesis. All the different sources like scientific papers, journals, interviews etc. played an important role in this research study. Moreover, the research study being a more product oriented, the data collection was open ended in nature and majorly focussed on rising a discussion to bring more perspectives on the research problem. So, the source who gave insights on the understanding the problem was also reached back to gather information of available methods to solve the research problem. An example of the communication would be stated as: The artist explained the problem in the visual asset creation work to the author and this information is processed and analysed along with literature study on similar areas. The author then reached back to the artist with an interesting idea and experimented along with the artist if it works. The author had to develop this idea with open discussions with the artists even on a coffee break and came up with a working concept that works. Additionally, the knowledge from the author helped in triggering the artist in exploring more deeper into different ideas. Once the concept has taken shape and mature, the author presented it to the supervisor at the company in the weekly status meetings deciding on next steps. The author believes that this type of communication and data collection is only confined to this type of product-oriented study where the author does not have any previous expertise in the research area. This promoted a mutual growth for both the author and the source.

2.5 Open innovation Knowledge is a very important resource for any company and knowledge management has been a booming research topic for a company’s success [41]. Understanding how knowledge is created, shared and used within an organisation is very important for the organization. The thesis touches this aspect of open innovation emphasizing the importance of knowledge sharing for a collaborative success. The data collection, brainstorming and verification phases of the thesis have some elements of open innovation, as they involve the data coming from external companies. Like discussed in above sections, the discussions in the forums, meetings with external people from different companies helped with both understanding the problem and solving them therefore promoting innovation. The data from within the company and its employees weren’t enough to do this master thesis as it is very limited. Open innovation promotes sourcing valuable information, ideas, innovation, and solutions from outside the walls of the organisation which could help to look in different perspectives that the company couldn’t look at within their own ecosystem. This gives an opportunity to find more solutions, more options to choose from and explore different fields. In this case, there were a lot of people from outside the company who were important sources to this thesis and collaborated with the author in exploring this segment of research. Because of which, it added perspective to the thesis and an opportunity to gather variety of ideas and evaluate them.

18

Chapter 3 : INFORMATION COLLECTION

This chapter consists of the information collected throughout the thesis to get the underlying reasons of the research problem as well collecting data on possible solutions in the market. It starts with literature highlighting different technical concepts followed by employee challenges within the company which is core purpose of the thesis. This chapter also highlights data from existing software products which might have importance in this research.

3.1 Literature study (WHAT WHERE AND WHY) CAD has become very prominent and has been used in a wide variety of industries [15]. There are different CAD vendors in the market offering different functions, features, kernels, file formats etc. The kernels are the mathematical equations which translate into shapes which we can see on the screen and are called the heart of the CAD system.

Figure 2. Different forms representing a Cylinder

There are different kernels in the market. For example, a cylinder created in Solidworks looks the same as a cylinder created in PTC Creo, but how they are built is different because they have different kernels and logics used by the developers. In the above Figure.2, a simple cylinder can be represented in 3 different ways, in a NURBS surface, a periodic surface and a pair of ruled surfaces having common edges. So, it gets more difficult to calculate and store complex shapes. And the way this logic is developed is different for different Kernel modellers [76]. Few CAD systems run on the same kernels modellers for their complex modelling operations. Major kernels like , ACIS, CGM , Granite are offered by different vendors like Dassault systems, PTC, siemens etc. Parasolid is a strong kernel used in Solidworks, Siemens NX and a few others developed by Siemens PLM. Also, ACIS developed by Dassault systems and Granite from PTC [77]. The geometric representation is one way of classifying the different CAD packages and also geometric kernels. The invention of boundary representation kernels like Parasolid, ACIS has made it easier to do solid modelling. The two important representation types in this research topic are boundary representation and triangular representation. Boundary representation also called a B-Rep represents a model in the form of limits [21]. Whereas the triangle representation as the name ssuggests represents the geometry in the form of polygons or triangles in this case. The B- Rep geometry is conceptualised as a quilt of surface patches which are joined at the edges and vertices forming a solid shape [7]. More complex shapes can be built with sequences of operations

19 like addition or subtraction of solids bounded by many faces. The Figure.3 below shows the description of a B-Rep and a Tri-Rep.

Figure 3.Representation of a sphere in B-Rep and Tri-Rep

B-Rep includes all native formats of the CAD like CATIA PART, NX prt, Creo’s prt and asm, and also the geometry kernel formats like Parasolid, ACIS etc. [77]. One of the major advantage of using B-Rep is in its sharing purposes as they can be converted to other B-Rep formats easily and also they carry a lot of CAD data like structural information, mass properties etc. While Vis-Rep or Tri-Rep is used for the entertainment and arts sector like animation, gaming, virtual reality, augmented reality etc. and is only used for visualization purpose and it doesn’t contain any true CAD data, but only approximations. The surfaces of a model can be processed in two methods, either by mathematical definitions of surfaces or by an approximated model of the geometry for visualization [64].

Data loss is a significant problem in the CAD sharing world which is mostly called CAD interoperability [6]. It can happen in two ways which are horizontal data exchange: in between CAD systems and vertical data exchange: between CAD systems and downstream applications like CAE, CAM, 3D visual graphics systems. In case of horizontal data exchange, where the model is transferred from one CAD system to another, there is significant metadata or information loss of the model as the modelling operations are not translated. Important information other than the geometry crucial for describing a CAD model also called as design intent is also lost while translation. These are implemented by designers such as geometric relations, symmetry, dimensions etc. And have huge engineering significance. And there are some developments in standardizing this CAD data exchange which are popularly called as neutral file formats like IGES and STEP to enable geometric data exchange between CAD systems [55]. These neutral formats are currently widely used for data exchange and are very popular in the industry. It is also observed that the design intent is not translated even in current exchange solutions available using neutral formats [19]. There was also a study performed as an assignment in the course of CAD and IT tools MF2028 at KTH royal institute of technology which proved that there is a significant amount of information loss while exchanging CAD native formats between different CAD systems. The chosen combination for the study was between Solidworks 2018 and Siemens NX12. It was understood that the main obstacle was the absence of exact semantics of mathematical operations in the other CAD systems causing the data loss problems. Nevertheless, there wass continuous research on improving CAD interoperability by analysing the design history and reverse engineering the parameters used in the modelling operations [75].

20

The problem of information loss has been in the industry for a very long time and a lot of research was done on reducing the information loss while exchanging CAD models between different providers or vendors. In comparison to the thesis, the problem is similar to what the research says on data loss. The major difference is that the investigation of data loss is between a CAD system and a 3D visual graphics system. And this area is not explored much and there is a research gap to fill and visualization in industrial applications has gained a lot of importance for better communication and simulation purposes [72]. The key elements of good graphical visualization are interactability, realism, flexibility, performance and ease of use and there is a constant drive to improve these elements. Out of many problems that occur while conversion from a CAD system to graphics system like loss of data, lack of realism, performance etc. Few studies have tried to solve the problems up to an extent but there is no technology yet that completely vanishes the problem[67]. One such invention is ENVIRON which is an application developed to improve the conversion process from CAD to VR applications [67]. The geometry after conversion is of low precision and there can be cracks, distorted normals at times when there is a poor conversion called a tessellation process [5].

3.1.1 Tessellation and 3D real time visualisation Tessellation in general refers to geometric patterns made up of one or more shapes which covers a surface completely without any gaps or overlaps [73]. In context of computer graphics and 3D modelling, tessellation is a method to represent a 3D geometry as a collection of triangles or other polygons. Unlike B-Rep where the geometry is represented in solid, the geometry is represented with triangles after tessellation as shown in the Figure 3(b). All the gaming and animation industry represent the character models and virtual worlds in triangles or polygons. It is often called mesh representation, polygon representation based on the application. Since the company offers real time rendering for its customers, the polygons explored in this research are triangles which are also called by the name facets. Triangles are the simplistic form of a polygon shape because of which, even complex models are rendered in real time by the GPU (Graphics Processing Unit). The triangles topology consists of 3 vertices, 3 edges and a normal. The more the triangles used to represent the surface, the more realistic the rendering and of course more computation is required. The conventional way of using a CAD model in an AR or VR system is to tessellate the original model and render it by dispatching it to the GPU [38]. This tessellation results in an approximated geometric shape of the original model whose accuracy can be determined with the tolerance values and in turn the number of triangles. The bigger the number of triangles, the harder it gets for real time rendering in graphics. Many different approaches have been proposed to solve the problem of geometry simplification and conversion by using Openflight API which uses a reduction algorithm by maintaining the level of detail [79]. However, Openflight showed value for VR related applications specifically, but the company currently uses only AR to visualise the products in real time which currently uses OpenGL API for rendering [34].

3.1.2 Tessellation parameters and algorithm As described above, the tessellation is a method which converts a solid geometry into an object constructed with traingles, and it can also be called as triangulation. The tessellation algorithms existing today are of wide variety and differ in factors like robustness, quality, speed etc. Few of the tessellation algorithms which focus on parametric surfaces are studied in this research in order to analyse the research problem [44,46,64,74,28]. Irrespective of difference in algorithms and performance, all these algorithms generate approximated geometries whose accuracy is usually defined by three input parameters [60]: 1. The maximum distance between the tessellation and the original geometry also known as chord error. This parameter ensures the tessellations look as close as to the original geometry.

21

2. The maximum allowed angle between the normals of adjacent triangles. This parameter helps with precision at rounded edges and curved surfaces. 3. The maximum length of the triangle edge which regulates the triangle count. (This usually is not changed)

A very well-known example of tessellation is in rapid prototyping which uses STL format consisting of geometry represented with triangles [14]. STL often known as Stereolithography is also called as Standard tessellation Language. It is the simplest form of tessellation algorithm which can be seen in Parametric CAD systems especially as an export option. The tessellation process is imprecise and currently not direct, and the process strongly depends on the translated CAD file format [67].

3.1.3 CAD File formats File formats are crucial as they are the carriers of information between the systems. The term file formats in context of 3D models can be classified into 4 types: Native formats, Neutral formats, geometric modelling kernel formats and tessellated formats. An overview of the different CAD file formats and their capacities of carrying information gives a bigger picture of the CAD format types and modes of data translation [83]. Few examples of Native formats are .sldprt (Solidworks), .ipt (), .prt (PTC Creo) etc. and these are proprietary formats specific to CAD systems with the most information any format could provide. Neutral formats are developed to create a standard exchange format popularly named as IGES and STEP formats. These contain basic geometry information and topology information, however, are less accurate than geometry kernel formats like Parasolid (.x_t), Acis (.sat) etc. Native formats are built upon geometric modelling kernel formats. The last and also the interesting formats is the tessellated formats also called as 3D formats which carry information of triangulated geometry like .STL, .FBX etc. There are a variety of 3D file formats capable of viewing 3D data and their underlying technology has been researched to understand the information loss while conversion of 3D formats between different systems [50]. However, in the context of data exchange, a CAD ladder helps in representing and optimising the data flow between CAD systems [78].

3.1.4 Parametric modelling in today's CAD systems The geometric modelling in CAD has evolved drastically over the years. Geometric modelling can be classified into 3 types : Solid modelling, surface modelling and parametric modelling where solid and surface modelling are considered as non-parametric modelling methods [66]. There was a huge limitation in the architecture design industry of not being able to modify 3D models once created making the job of designers more difficult. New developments to the existing modelling methods were made in the 1970's inventing the concept of parametric modelling [51].Parametric modelling is a modelling method with the ability to change the shape of the model with the change in the dimensional value also called as a parameter value [27]. Unlike traditional methods where the models can only be redesigned from scratch in case of modifications, parametric modelling allows for modifications dynamically by controlling the parameters representing the form of the surface. These parameters control the characteristics of the model like degrees of freedom, motion limitations, and allowable shape changes [16]. In simple language, a sphere of radius r can be parametrically represented by:

22

S(u,v) = r (cos u sin v i + sin u sin v j + cos v k) where u and v are angles ranging from 0 to 360 degrees and r is the parameter to determine the radius of the sphere.

These parametric functions or equations are built into the modelling kernel which reacts to the input parameter given by the user and dynamically changes the size of the geometry. Parameter modellers not only give accurate mathematical geometry models but also offer dynamic design modifications and interactive visualization of the edit which is helpful for design reviews [35].This functionality is only offered in CAD systems but not in 3D Visual graphics system. Hence the research focuses on translating the parametric data to retain the same functionality in tessellated models. The current method used by the company to have a parametric functionality is mentioned in the next section 3.2.

3.2 Employee/workflow challenges within Tacton

The visualisation department of the company is located in Karlsruhe in Germany and all the R&D and sales are operated from there. It is important to understand the workflow of the visual asset creation process to locate the issue happening and analysing the reason behind it. The Figure.4 below depicts the workflow of the Visual Asset Creation process.

Figure 4. Visual configuration workflow in Tacton

Currently, the process starts with getting a STEP file from the customers. The STEP file includes the geometry of the model, material information and some colours from the CAD environment. The file is then given to the 3D artist who takes care of repairing the geometry, adding material, colour, lighting etc. to the model. The 3D artist is responsible for the prepare, regenerate, enrich and generate phases of the visual asset creation from Figure. above. And also, the 3D artist has to

23 understand the model and interpret different parts of the model (assembly) and needs to have a full picture of assembly and what parts need to be configured for the customer. The artist first tessellates the model using Autodesk Showcase and then tries to look for defects and repairs them. And then, the model gets ready for configuration in Visualiser studio (software developed by the company). Similar to how the parametric modellers in CAD systems modify the solid parts by changing the parameter, the visualization service offers the customers to choose the desired shape of the model by configuring it. As explained in the Figure.5 below, how a customer can configure a truck based on his requirements and the service updates the model and renders it in real time just like updating the solid model by changing the parameter in a CAD system. The configurator runs on logic and when a particular field is changed, the engine performs the operation and updates the model.

Figure 5. Truck configured with different tank values with significant change in the rendering

The Figure.5 shows the working of a visual configurator offered by Tacton systems. The length of the fuel tank is updated in real time when the volume parameter is changed from 40 gallons to 117 gallons. Similar to the fuel tanks, there are many other features that can be configured like, chassis, cabin style, use case, colour etc. according to the customers requirements. The configurations and the logics are performed in the visualiser studio software. Before which, the models go through the visual asset creation process which includes pre-steps or requirements for configurability and also improving the quality of the output model. The major research problem is in the pre-steps taken for configurability which is explained below.

24

3.2.1 Parametric split/ parameterization After the CAD file(assembly) is tessellated into a triangular model in Autodesk showcase, the file is exported into a FBX format owned by Autodesk, which is an universal exchange format for tessellated geometries used in 3D animation software’s [4]. The models are represented in triangles in .FBX format which is similar to STL, OBJ, Collada, 3DS etc. They store information of the models geometry, appearance, lighting and shadows etc. [12] This FBX file which includes the CAD geometry provided by customers in triangles is then imported into 3DS Max which is a 3D modelling and rendering software for visualization and animations [3]. The artist uses 3DS max as a tool to prepare and generate rich quality models of the products with photo realistic looks. The software has many functionalities and is very widely used within the industry. It offers different functionality to 3D model, animate, render etc, but in this workflow, the artist uses it majorly to repair the CAD tessellated geometries as the information is lost in the model and needs to be manually added. The artist follows the steps shown in Figure.4 of the visual Asset creation process and repairs the geometry, heals cracks, UV maps, lighting, colours, textures, shadows etc. improving the quality and look of the final model. As a part of the regenerate step in the Figure.4, the artist has to perform operations as a pre-steps or pre-requirements for configuration. This step is termed as parametrization or parametric split operation where the artist splits a part or component of the full model into 3 sections of which one section (middle section) will be subjected to operations like scaling, rotating, position in order to get configurations. The concept is very simple to understand but the process is complex and tiring to perform at times. For better understanding and visual purposes, the step will be explained with an example.

Consider a part of an assembly that has two configurations as shown in the below Figure.6. Both the configurations are differentiated by the length ‘L’ which extends linearly. The tessellated geometries in most cases only undergo transformation of 3 types to locate the model: Translation, rotation and scaling [65]. Unlike the parametric modellers in a CAD environment where individual features like extrusion, cuts, etc. can be edited by changing parameters, the part in 3DS max or any other 3D graphics application will be a single frozen geometry made up of triangles and can be edited on feature basis because of loss of data while tessellation. So, in the Figure.6, if the rectangular segment of the part is linearly scaled from L1 to L2, the model's shape changes as the scale operation will also make the holes and cuts to distort into a different shape which is not the desired geometry.

Figure 6. Representation of the Parametric Split process

So, in order to have the similar geometry with modified shape/ size , the artist splits the component in 3 sections. The first and the end portions will remain the same but the middle part or the uniform

25 section will be subjected to scaling in the Visualiser studio by the developers. Before sending it to the visualiser studio, the artist has to assemble back these individually bisected portions by giving them nodes or also called as docking points.

3.2.2 Docking points Docking points are like navigators for the components of the model and act as an interface between these components just like a mate function in the CAD systems. The Docking points can be positioned anywhere on the component based on some constraints like centre, vertices, edges etc. and can be duplicated and moved onto other interacting parts. So, from the Figure. 6 above, the split section 1 and section 2 have distinct docking points assigned on them and each docking point has an ID like D1 and D2 which is stored in the system. Once each component has a distinct docking point assigned, the model can be assembled by transforming these docking points position and rotation to align with the docking points of the other components. The artist aligns all the bisected sections of the part in 3DS Max and exports the final assembly as an FBX file. This file now consists of the extra added information with material, colour, lighting, environment and bisected components with docking points. It is to be understood that not all parts are required to be bisected. Only the components which need to be modified for the second configuration have to be bisected and assign docking points as a pre-step for configuring in visualiser studio. The pre- step is referred to as parameterization or parametric split in the company and the name comes from the parametric modelling in the CAD system where individual components can be edited and updated.

3.2.3 Visualiser studio Once the preparation and parameterization is done in 3DS max, it is exported into an FBX format. The visualiser studio has a vis-logic which runs on java script and is connected with the CPQ service offered by the company. Since the CPQ is a different domain, it will not be included in this research. The visualiser studio has an editor function where visual assets created in the previous step by the artist can be added and updated in real time. These visual assets are mapped to the attributes of the product created by the modeller in the company based on customer requirements. This developer writes the logic for a particular configuration and runs it to test if it works. Multiple lines of code and calling different functions like importing skybox(environment), stretch function which stretches the polygons, calling the docking points and aligning them based on desired configuration etc. are performed by the visual logic team. The company uses OpenGL to render the 3D models [45]. It is becoming more popular in all gaming and animation industries to use OpenGL because of its functionality to provide accelerated graphics and high speed rendering of large datasets.

3.3 Information from interviews and surveys

Various interviews have been taken with different people within and outside the company to get different perspectives on the problem of data loss. The product manager for the visual configuration service who is also my supervisor has given the insights and details of the problem which were already discussed in the previous section 3.2. As of his understanding in the beginning of the research, there is no perfect solution for the problem of reusing information from the CAD model in the visual asset creation workflow. There are other players in the industry mostly US based but having different approaches to deliver similar functionality. Competitors who offer similar service and follow a similar workflow of using 3D graphics applications also face the same

26 problems. CDS is one company that offers visual product configuration for the customers to speed up the sales process and best quotes in real time [9]. From the interview with a consultant at CDS, it was understood that the company uses a different approach for visualizing the products. Unlike the regular and professional approach of using the 3D graphics program, CDS models in CAD environment and also visualises in the same environment provided by the CAD systems. Because it is integrated there is no parametric information lost. But of course, the visualisation is not as photorealistic as done by 3D graphics program which is a consequence of their approach. It is a very different line of approach and doesn’t fall under this study.

Parallelly looking for solutions on market, interviews were conducted to understand the reasons of the problem. It is important to look into CAD file formats and their capacities to carry such complex parametric information to understand the reasons behind data loss as said by the Co- founder of Transmagic. In the current process used by Tacton, there are multiple file formats which are involved and converted. The beginning of the process starts with receiving a CAD file in STEP format to the company. STEP has various protocols or versions and has been used as a standard exchange format in the industry since the 90's. The STEP 203 and STEP 214 are the common and most widely used in the current companies within 3D CAD. Both these formats are not capable of handling parametric information of the parts and only carry geometric data [18]. With the development of the recent STEP AP 242, there was a better interoperability between the systems. AP 242 format has the capability to understand the parametric design elements along with the geometry data [2]. Also, it has developed to carry both B-Rep and tessellated data at the same time making it a very huge step in the industry. Files like JT which are proprietary have such capabilities to carry both the representation types as said by the developer at Tacton. The STEP242 can carry the parametric information for example like the features of shell, loft, etc. which are lost in the previous STEP protocols [58]. The STEP 242 isn’t used by all the companies, especially the customers of Tacton at the moment making it difficult to implement.

3.3.1 Information from developers at PiXYZ Moving forward in the process, the next step is the tessellation. This step is found to be crucial and also the location of the problem of information loss occurs from the discussion with PiXYZ which is a company that develops a tessellator. Although some of the information which got lost in the STEP conversion, the tessellation step into triangles loses even more important data from the CAD model. From the first interaction with PiXYZ, there was an interesting synergy found between the companies especially when mentioned about storing the B-Rep data and the tessellated data under the same hood in PiXYZ studio. Further discussions involved a demo of their software and its functionality. The following shows the conversion with a support agent from PiXYZ discussing the software and research.

If Pixyz tessellator can retain or store parametric data from the CAD native file or kernel to a triangular mesh model?

Support Agent : Yes, it does keep B-Rep data under the Part component in PiXYZ Studio, there are two kinds of Shapes : B-RepShape (parametric shape) and TessellatedShape (Mesh). When tessellating, the B-RepShape is kept on the Part component, with the newly created TessellatedShape. This enables the user to re-tessellate his parts at any time for instance.

I do believe that we can control what data needs to remain in the exchange format but I am not 100 percent sure. I was hoping you have any insights compared with other tessellator’s in the market.

Support agent: Everything is PiXYZ is made by PiXYZ, even the tessellator, so nothing would 27 prevent us from adding a parametric export format for instance. I think this is actually on our roadmap.

Is it possible to store and use the assembly relationships data like what type of mates etc. in the mesh file? So the mesh file format we use is .FBX

Support agent: We try to keep as much information as we can when importing in PiXYZ. This is why we have implemented an agnostic system using what we call "prototypes", which can handle assembly relationships and instances of any kind

The tessellation process involves conversion of B-Rep entities like edges, faces into patches and polygons. During this conversion, the algorithm only stores required information for the triangular representation of the model and dumps excess CAD metadata. The support agent demonstrated the workflow within PiXYZ and concluded that the current software doesn't offer any functionality to modify the design of a part within the PiXYZ studio. So any change in design needs to be performed from the customers CAD system and needs to be re-imported into PiXYZ studio. Adding to it, he mentioned that the new import process would require a re-tessellation and repositioning that part into the assembly manually. In other words, the assembly relationships are not restored and the agnostic system is to extract the hierarchy tree on a part level of the full assembly. Lastly, he mentioned that the associativity between the triangles in the tessellated model and faces in the B-Rep model is stored internally within the tessellator algorithm but cannot be accessed by the user or even exported out of the PiXYZ studio. It is important to understand the topology associativity between two different representations in order to analyse the problem. While tessellation, the algorithm remembers the information of the generated triangle’s parent surface in B-Rep. In other words, the tessellator stores the information of which triangles generated from tessellating which face in B-Rep and each face has an ID in B-Rep therefore forming a mapping or link between the Mesh(polygon) and B-Rep representation as explained in the Figure.7 below. This mapping information is saved within the system but cannot be accessed by the user or transferred into another system, not with the current software.

Figure 7. Mapping between B-Rep and mesh model

3.3.2 Information from developers at InstaLOD InstaLOD is another company which develops its own tessellator and has only a forum channel to communicate, cancelling out an interview format to analyse the data. The communication with this

28 developer was more of a discussion and evaluation of their product which possibly can solve the data loss problem. Few comments from the developer are shown below.

“InstaLOD can import CAD files including their metadata without issues. Our CAD Live Link technology enables users to selectively change the tessellation per part without losing information, even after the initial import of the file. After the tessellation is complete, the metadata is still retained and stored in the individual mesh.”

While importing a CAD model, the metadata from the CAD model is retained in the mesh model and the product offers a CAD live link which connects the tessellated geometry to the B-Rep model [36]. The CAD live link allows readjusting the tessellation settings after the initial tessellation. Since all these features are a part of their application, the only possible way to access the CAD information is by using their software. But the metadata InstaLOD mentions is mostly the attribute and property data, material data, colour and texture data etc. Upon further discussion on his previous comments, there were few more interesting inputs from the developer which gives a clear understanding of their products functionality.

“Changes to the underlying surface parameters are best done in a CAD application and not possible within InstaLOD.The mesh or the specific object is always re-tessellated from scratch. Changes to single surface patches are not mapped back in.”

Direct functionality to restore the parametric data into the tessellated geometry that can be used in the visualiser studio is not possible with InstaLOD which also means changes to the underlying surface parameters cannot be done within InstaLOD application.The CAD live link which the software provides is only able to re-tessellate the full assembly from scratch even when the changes are made to the specific part or feature of the assembly and not the full assembly in B-Rep domain. Every new parametric change in B-Rep model has to be a new import into the tessellator as the CAD live link is off once the import process is finished. The tessellation settings which were claimed to readjust are settings to control the quality of mesh, resolution of the mesh etc. but not the shape of the models.

“Constraints are not imported with the surface data, changes to objects individually will not have any influence to adjacent objects”

The constraints mentioned are referred to the assembly relationship data between the parts of the assembly in B-Rep and this data cannot be retained after tessellation. So, when a particular part of a tessellated model is subjected to scaling or transforming the position, the adjacent parts are not affected by this action since the parts doesn’t contain any mate relationships from the B-Rep.

“InstaLOD does not offer mesh editing capabilities, therefore, users do not have control over individual vertices, polygons, or edges. This can be done externally in modeling applications.”

Access to the submesh level of the part like the patch and triangles etc. is not offered in InstaLOD and no mesh editing operations can be performed denying the preserving topology data from B- Rep. Just like in PiXYZ, the internal algorithm might save logs of this information of associativity but cannot be accessed.

The discussion couldn’t give any specifics on the general cause but more focussed on their product. The topology information can be useful to edit the submesh level of the tessellated geometry which makes parametric split easier as said by the 3D artist of Tacton. So access to this information and extracting it is of a major importance in the study. Further evaluation of these two tessellator will be discussed in the analysis chapter. However, additional requests with PiXYZ and InstaLOD

29 were concerned regarding controlling vertex count and vertex order of a tessellated model. This is related to one of the concept solutions and will be discussed in the next chapter.

3.3.3 Information from developers of HOOPS exchange from technosoft 3D Technosoft3D offers toolkits to develop 3D applications for better product development process. HOOPS exchange is a CAD data translation toolkit with Software development kit (SDK’s) and integrations with major CAD players in the market. The restoration of the parametric information is a complex problem and no direct solution is available said by the developer consultant at technosoft 3D [80]. The first interaction with HOOPS exchange gave some interesting insights and are stated below.

“If an application can read the parametric data and has a math kernel like Parasolid, ACIS, or OpenCascade you can retesselate yourself. CAD file translation SDKs have ways to link the tessellated data to the parametric data. These SDKs have hierarchical organization of topology. Most CAD systems have an API that allows you to connect directly to them. If a parameter changes it can trigger a workflow that updates that surface. This would require building plugins to the CAD System ( Solidworks or other) and 3DS.”

"You can get a hierarchy tree with faces, edges, etc. This data can be restored from a CAD model into a mesh model. HOOPS Exchange can extract and link this data and store it. Getting it in a format that can be used in 3DS or maya would be a bit tough.”

Extracting information from one system to another is possible in more than one way. Unlike using exchange formats, information can be transferred using API supported by the software’s. HOOPS provides an API which can be integrated into its own software’s to reach promising results which is also called as in memory transfer. Supporting this, a software developer in Tacton DA stated

“Although complicated, there is always a way to extract information from the system if we know what to extract.”

HOOPS exchange offers API to make the in memory transfer possible between the systems from the CAD system to visualiser studio. But it requires development of plugins and a clear goal of what data needs to be transferred. Topology information may not be stored while tessellation but it is possible to extract and link it to the triangles generated. The developer mentions a way of using parasolid file format to modify designs within HOOPS and tessellating only the modified region explained in a tutorial [17]. The only way of implementing parametric changes in the tessellated geometry is by building a parametric modeller within the company’s software which can read all the parametric information from the CAD files. Adding to it, the current visual graphics software packages don't have the functionality and the requirement to read the parametric information from the CAD environment because of very minimal use cases in the industry. The only way to directly restore the parametric information is by developing a tiny parametric modeller integrated within the visual graphics software. In simple example terms, it is developing mini Solidworks inside 3DS max.

30

3.4 Existing methodologies to solve the problem of data loss in CAD exchange

CAD data is a broad term and after interviewing people, it is now narrowed to few types of CAD data that is required to either simplify or completely solve the problem. The major data types are : • Parametric information of the B-Rep CAD model • Topological information of the B-Rep CAD model • Assembly relationships information of the CAD model

Within these three types of CAD data, the research is focussed around data translations and ways of extracting and integrating with the visual graphics packages. There are two types of standard exchange between CAD systems, one is with a static interface using neutral formats like STEP and IGES for sharing and the other is implementing a dynamic interface of API. A new approach to exchange parametric information aligned with capturing the design intent is invented [13].This approach is called a Macro-parametric approach which translates data in macro files which is capable of capturing user modelling commands and design history. Management of large amounts of dynamic data and Web-enabled applications can be done using XML technology to represent Macro-parametric exchange [87]. Standard macro commands being open and explicit, it is suitable for network environments. The macro-parametric approach is limited to part models and not assemblies and the approach is confined between one CAD system to another CAD system only. Parametric dependencies formed while modelling complex assemblies within a modern parametric CAD system is a vast information and difficult to manage. A CAD system-independent graphical language is of two forms, one to store parametric data and one to export them is introduced to visualise and document parametric information [48] It is also confirmed by one of the software developers at Tacton that extracting the parametric information and all other topological information from the CAD systems using API is possible but transferring the information into a visual graphics package like 3DS max is complicated. An efficient framework is developed to extract and visualise 3D CAD models which could be used in AR/VR applications [29]. This framework uses intermediate software to retouch neutral formats of CAD models to save time. This method is not effective to visualize in real time if the CAD model is revised or modified as the software needs to retouch after every new modification to the design and the number of modifications corresponds to the number of configurations needed.

When a design is modified, the CAD model needs to be exported and re-tessellated and imported back into the visualiser studio. This procedure will work but the complexity depends on the number of variants or configurations required for the product. It is not optimal to repeat the same steps of adding attributes like material, colour, lights etc. for each and every different configuration according to the 3D artist. An incremental approach of tessellating trimmed parametric surfaces by building a database of the surface mesh topology is proposed [54]. It enables re-tessellations locally where the design modifications are made instead of re-tessellating the full geometry. A different method of updating the mesh in real time with the change in design parameter is solved by using pythonOCC software [57]. Each time a parameter is changed, the event manager requests the mesh to be updated. The limitation of this software is that the model is fully developed in the software and not an imported CAD model and also the model is not locally updated but re- tessellated fully from scratch. In order to restore the CAD data, it requires a step of mapping the tessellated geometry to the CAD geometry. A reverse approach has been proposed to convert a mesh geometry into a parametric surface in B-Rep [33].This is a workflow used for converting a lump of triangular geometry into a CAD environment for dynamic design changes as usually the converted geometry is a frozen one and cannot undergo any changes. Although, this methodology has some significant limitations on polygon count and the resulting model is not accurate geometry as it is not mathematically modelled like in usual CAD models.

31

It is not helpful if the extracted information cannot be linked to the tessellated geometry. A methodology of mapping of Product Manufacturing Information (PMI) and Geometry, Dimensions and Tolerances (GD&T) information from STEP242 file to tessellated geometries in this case STL format is proposed [28]. The applicability of this method is explained with a case study of a car brake system. This approach includes interpreting STEP242 files along with the feature recognition approach. The 3D annotations are mapped by subdividing the mesh model into features using the geometry information from the STEP file. The CAD internal representation of GD&T information is different compared to the 3D annotations represented in this approach and so it is the limiting factor at this stage. Topology information helps to edit the submesh level of the geometry depending on which part that needs to be configured. Once the CAD file is tessellated and imported into a visual graphics software, all the topology information is lost [71]. Only part level hierarchy is achieved but not submesh level like patches, triangles edges etc. as confirmed by people at Transmagic, PiXYZ, InstaLOD, HOOPS and a few other visual packages like 3DS max. The Figure.8 shows how the design tree looks after an FBX file is imported into 3DS max. Although PiXYZ and HOOPS claimed to store this topology information in their package. PiXYZ couldn't export into a usable format for Tacton visualiser studio while HOOPS advised an in- memory transfer using an API that has to be developed by developers at Tacton using the SDK provided by HOOPS. A different approach of coding and compressing the topological structure of the 3D CAD model is proposed [49]. Using euler operations, a model is transformed into a tessellated geometry and both the transformation process and subdivide model is coded and compressed to produce a compressed model. The algorithm is capable of handling non simple topological structures like cavities, strut edges etc. giving flexibility to complex geometries.

Figure 8. Hierarchy tree of a CAD model limited to part level once tessellated and exported into FBX

32

Chapter 4 : ANALYSIS

The chapter analyses all the data collected from different sources to derive an outline for the research problem. It gathers all the facts and formulate a reasoning to the problem which is followed by brainstorming different ideas. Each idea is developed and evaluated in this chapter and presented in sections 4.2.

4.1 WHAT WHERE AND WHY’s of the problem? From the previous sections, it is understood that the task is to reuse important information from the CAD domain into 3D graphics domain in order to eliminate the redundant work and save time and money for the company. This being the broad picture, WHAT is the problem in the workflow are described as: • Parametrization or parametric split • Docking points The work performed by 3D artists to get the model ready for configuration is very tedious. It is also proved from the survey that the customers are not willing to use visualiser studios on their own because of the complexity it involved APPENDIX. The desired functionality by the company is to configure models without the need for parametric split and assigning docking points. In order to achieve this, the tessellated geometry should have information which can be used to drive the shape of the geometry. And so, there comes the problem of CAD interoperability which has been a consistent problem in the CAD environment. A different and unique element in this thesis is investigating CAD data loss while translating into a 3D visual graphics environment which is not much explored. In relevance to the functionality offered by the company which is generating configurable models in real time, the core concept behind it is parametric modelling. With its invention, modifying, automating design etc. has become so efficient as the geometry is modelled and bounded by different surfaces with unique equations having variables. With the change in the values of the variables so called parameters, the entire surface is modified resulting in change of geometry. It has become so easy compared to the previous days where the model needs to be built from scratch even for a tiny modification of design. From the use case of the company, the parametric information and the topology of the CAD model is the most important that needs to be restored in the tessellated models. Along with it, the assembly relationships information is also useful as it can eliminate the process of assigning docking points. And it is observed that this information is lost in the conversion process.

The conversion process currently employed in the company is a two-step process. The first part involves the customers sending out the CAD model exported into a STEP file. In which case, some of the information is already lost in this translation as the STEP format does not store parametric information as stated by the Co-founder of Transmagic and also tested during the research. It is observed that the step file has only geometric information and topology information but not parametric. Upon interpreting the STEP file, it is understood that STEP conversion freezes the geometry at a particular point of time and stores the geometry data in the form of coordinates of the vertices in 3D space along with the direction vectors. All the 3 versions of the STEP format stores material, colour information (original colours are lost) along with geometry information but not textures [19]. The interesting aspect to be noted while testing is that although the data stored remains the same but the order of storing this data is changed for the same file saved two times. So it became even harder to compare two files when there is a change of geometry. Winmerge is used to compare the lines of data opened as a text file. It helps in highlighting the similarities between 2 or 3 files in yellow and differences in red. The topology and the geometry of a tessellated and B-Rep model is shown in the Figure.9 (a)&(b) respectively. The conversion is done using STEP 242 as it allows both B-Rep and tessellated representations of the geometries both

33 individually and collectively. Using Winmerge, a comparison is done between STEP file with only tessellated geometry and STEP file with tessellated along with B-Rep geometry as shown in the Figure.10 below.

Figure 9.(a)Representation of STEP242 tessellated geometry in text

Figure 9.(b)Representation of STEP242 B-Rep geometry in text.

Figure 10. Comparison between tessellated (Vs) tessellated + B-Rep

34

The above Figure.10 showed some comparison between the topologies of a B-Rep and tessellated models. Because of additional B-Rep data along with tessellated data, there is some order followed. The coordinate list gives the coordinates of the faces and the triangulated faces gives the coordinates of the triangles formed on that face. Align with tessellated data, the B-Rep topology data is also stored for the same face giving some order to understand. Nonetheless, there is no parametric data or the assembly relationship data found in all three types of STEP files [75]. So, there is data loss in the first step of conversion even before tessellation. Considering this, a test is performed on tessellating a direct native file in Showcase to find any results. The tessellation engine offered by Autodesk or any other vendor performs tessellation based on the internal algorithm, and the results differ based on the tessellation settings like maximum chordal difference, resolution etc. The algorithm randomly generates triangles and duplicates them to produce the closest approximation of the geometry. Showcase doesn’t offer any kind of log to track the tessellation, hence there is no mapping between the tessellated geometry and the B-Rep CAD geometry. There is no parametric data, assembly relationship data stored after the tessellation. It was experimented by exploiting it in different file formats like FBX, OBJ, Collada and none of them showed a sign of this data. The topology information also got lost and only part level topology data exists. As in, the assembly design tree is visible after tessellation but can only see different parts of the assembly how they are ordered layer by layer as shown in the Figure.8. Concluding, both the steps are not perfect but even with all the CAD in the native file, the tessellation process creates loss of data and this is where the problem is occurring. To be more specific from the interviews with developers of PiXYZ and HOOPS, the tessellator engine can be designed to track the triangles to their parent B-Rep surfaces by segregating the triangles generated on each surfaces or faces each having a unique ID in B-Rep. The major problem here is exporting this data into another system. Since, the products are designed in such a way that all this information will be processed back-end and cannot be accessed by the users. They also stated that such a functionality is not seen even in their future roadmap as there is no use case for most of the companies yet.

4.1.1 WHY- The underlying reasons of data loss It is known that CAD data exchange loss has always been an issue and there has been continuous research and different frameworks have been proposed to overcome this issue for collaborative engineering. As discussed in the earlier sections on background of CAD, they are all different packages offering similar functionalities. A 3D CAD model is created by the underlying mathematical kernel and each of them interpret geometries in different ways causing the communication gap between different CAD vendors. When it comes to usual data exchange using STEP or IGES, there is only geometric data and topology data transferred but not other forms of data and is because of the inability to transfer the modelling operations from the source system to the target system [6]. Upon data exchange with neutral formats the modelling history is lost and the design intent cannot be recovered. The target system which is usually developed by a different CAD vendor with different functionalities should be able to understand the design intent performed in the source system. Only then the modelling data and history can be recovered thereby allowing flow of CAD model data. And this type of integration has boundaries as it's a matter of business strategies and competencies. Although there are different researches going on reducing the CAD data loss (parametric) while exchange and new methods have been implemented which are able to solve it upto an extent [75]. Inspite of having different methods for translating CAD models, the best methods depend on specific application and requirement and there is no standard method that gives 100 percent results [19,75]. It is also to be kept in mind that each CAD vendor specialises in different industries, like a CAD vendor focuses on automotive and the product features are more inclined for making the automotive design easier. But another CAD vendor who focuses on avionics can have a different set of features provided for the design ease. As the CAD

35 systems add features to solve complex industry-specific problems, the CAD interoperability can be even more complicated.

Above stated reasons for the cause of interoperability is within the CAD environment. In relevance to this research, the complexity is even higher as the research is focussed on data exchange from a CAD environment and a 3D visual graphics environment. Both these designing software’s have their uniqueness in different industries. CAD designs are used in more engineering segments and suitable for modelling precision designs, drawings for digital product development and manufacturing requirements. While 3D modelling using graphical software’s like 3DS max or Maya, blender etc. are more suited for artistic and animation purposes. CAD models are mostly solid models and have a defined volume whereas the geometries modelled in 3D graphics software’s are usually skins of the geometry and don't include any volume. In this package, an artist can control a set of vertices using the modelling tools based on his desire. There are not many similarities between CAD and 3D graphics systems as they are defined for different purposes and there is not much blend of modelling workflow within their software’s. The tool sets provided by both the software’s are very different and because of all this, finding a seamless data flow between the software’s is very unusual and complex [47]. It can be understood that the 3D graphics software cannot understand the language of parametric data or other types of data other than geometry. Because of the inability to interpret the CAD metadata, the 3D program dumps all the irrelevant information while tessellation and only stores required data to have lightweight file formats for efficient rendering.

The process of tessellations generates thousands of random polygons without any relation with each other. Unlike CAD entities, the polygons or triangles in this case don't have any unique ID to identify them [71]. The topology of the tessellated model is represented like the one in Figure.9(a). The topology of the tessellated model shows the connectivity between facets, edges and vertices. A facet(triangle) is referenced by three edges and an edge is referenced by two vertices. The topology relationship can be even more than just for an individual facet. A facet can be referenced by adjacent facets and an edge can be referenced by two facets sharing it as a common edge and similarly, a vertex can be referenced by three facets having common vertex. But the triangular facets do not have any adjacency information of its neighbouring triangles and this type of information cannot be stored in any existing 3D modelling formats like FBX, OBJ etc. as said by the product manager of visualization. In other words, the triangles are incapable of handling such detailed data as they only store important data like material on that facet and the colour information, lighting and shading on that facet etc. It is because the basic purpose of using these triangles is for visualization in a fast paced environment and the technology is moving forward to generate as many lighter models as possible to speed up real time rendering in cloud environments for AR and VR applications. Since there is no major use case or market in this functionality, the CAD and 3D graphic companies don’t provide any features or developments in relevance to this. This is the same reason for assembly relationship data that is not even preserved in STEP conversion. The tessellator itself is an important factor for the data loss. In case of cheap tessellations which are not robust similar to the ones offered in CAD systems (exporting to STL), the output quality is poor and needs to have a manual retouch for repairing the geometries. This manual retouch heals the geometry and there are different methods existing to clean the geometry to get best output quality after tessellation [59].

In relevance to three types of data, the CAD vendors usually store them in their proprietary formats which are usually not open. This is quite understandable if thought in terms of business perspective and no vendor would like to give away their data for a user using a different CAD system. Moreover, the parametric, topology and assembly relationship data are classified as one of the top- level metadata for any CAD model and are the foundation for a Boundary representation. So, it makes sense to all the problems behind not having a seamless data exchange between the systems.

36

Furthermore, the research involves data translation between two different forms of representations systems which makes it even more complex to have zero data loss. It has been said by many developers and technology enthusiasts that there might never be a future with no data loss while exchange unless there is a solid reason for a very specific cause. This problem can be related to a similar scenario which was resolved for downstream applications. The term CAD/ CAM has come into light to solving the data reuse in manufacturing and analysis applications. All the CAM packages have to read the CAD file and understand the geometry and all the parameters through an in-memory transfer using a toolkit. And on occasions when the engineering design is not optimal to manufacture for any reason, there is a need for design modification in CAM. So, the CAM package has a very basic CAD modeller embedded in it for editing purposes like changing holes, changing dimensions etc. Similarly, with the CAE or FEM analysis packages. This is a very similar functionality to what is required in this research study but the difference here is that the downstream application is a Tacton Visualiser studio or 3DS max for real time visualization purposes. So, it is possible, but it doesn’t happen unless there is a strategic and commercial reason behind.

There is also an associativity between a B-Rep and a polygon. For example, even in a CAD application when a face is selected, what happens in backend is most probably a geometrical intersection of a ray with the polygon representation in internal CAD visualisation module to find a triangle and then going back to the CAD module to find which B-REP face the intersected triangle is associated with. The system then highlights the entire CAD B-REP face that is seen on the screen. So there’s two way associativity. Such associativity can be implemented widely at all the levels but often there can be good reasons not to. A reason could be the arrangement of a complex scene for CAD design and editing purposes is often pathologically bad for real-time visualisation purposes which needs high computational speed for rendering. So, there can be associativity with their own internal visualization, but when the model is exported from that system, it takes extra effort to maintain such associativity when it may not be of much use as there is only a niche market. Furthermore, the strategic and business reason also apply as the software vendors would like the customer to stay in the same ecosystem. All the above stated reasons and analysis answers the research question 1 to find the underlying reasons behind data loss.

4.2 Brainstorming ideas

Although the major task is to eliminate the steps of parametrization and docking points in the workflow of visual configuration, the investigation has been focussed on understanding the CAD data exchange and the possible methods on restoring this data. There are two different approaches considered to solve this research problem depending on what is to be achieved. The first approach is to eliminate the use of parametrization and docking points by restoring the lost data in the geometry and trigger the model configurations directly in the visualiser studio. The second approach is to simplify the process of parametrization by automating a few steps in the workflow. Having these two approaches as aim, different ideas are classified as shown in the Figure.11 below. The figure shows different ideas considered for solving the task given by the company and classifies it based on the approach to either eliminate or to simplify the parametrization problem. The ideas are discussed and evaluated in below sections.

37

Figure 11. Idea tree to solve the research problem

4.2.1 Integrated macro-parametric exchange and geometric mapping approach The first approach talks about restoring the CAD data and eliminating the steps of parameterization and docking points in 3DS max and to make the workflow as direct as possible. From the research done, it is observed that there is no direct file format or method to have a seamless data exchange between CAD and 3D visual graphics environment. So, one possible way restoring data can be done in two steps which are extracting the important CAD data( parametric, topology, assembly relationship information) from the B-Rep geometry separately and the second step is mapping this data onto the Tri-Rep (or tessellated) geometry and to define a relationship between two environments. A possible and efficient way of extracting information in the form of Macro files has been proposed [87]. This framework uses XML scripts technology to represent the macro- parametric exchange between the systems. The CAD models are exchanged as a set of modelling commands in the form of macro files. The macro exchange is capable of transferring the design intent and semantics of the CAD model like the constraints, parameters, features etc. from the set modelling commands extracted. The framework is shown in the Figure12. below. Once the required data is extracted using macro files, a mapping is to be established between the extracted data from B-Rep and the triangles of the Visual graphics environment. A novel method is proposed for automatic mapping of PMI and GD&T information from STEP to STL file format [28,87]. The method involves interpreting STEP 242 files and also a novel feature recognition approach and generates a combined data model with GD&T information on tessellated geometries. The application is tested on an industrial car brake system and studied its usefulness in maintaining consistency of product data throughout the product life cycle. An overview of this method is shown in the Figure.12 below. So the idea is to combine the two methods of extracting CAD metadata in macro files and map this data from B-Rep onto tessellated geometries. Once a mapping is

38 established, the parametric data is retained along with the design history, feature tree, intent, assembly relationship constraints. This data can be used in the Visualiser studio when generating different variants and configuring them. Implementing this idea would act like a bridge between CAD and Visualization without directly getting into CAD and only using its parametric and assembly relationship capabilities.

Figure 12. Framework for Integrated macro file exchange and geometric mapping.

In the first step, the CAD model is transferred into a sequence of commands which are expressed using XML technology which is a different knowledge base with different schema. The XML schema describes the structure of the XML document and there are other schemas like EXPRESS , DND etc. But this particular method uses XML because of its potential for economy of scale. Firstly, the standard modelling commands are classified into 4 groups by analysing all the commercial CAD software’s user commands. The groups are SKETCH, SURFACE, SOLID and CONSTRAINT. Within these, the modelling commands are classified into 4 levels where the actual modelling commands are performed like protrusion, cut etc. Further down , it comprises the parameters of each command. This way using XML schema and classifying all the modelling commands, a design tree structure can be generated. This structure compiles all the modelling data extending from what type of command to parameter of each command. Once this data is converted into macro files, it is transferred into the target CAD system where this information of modelling commands helps in building the geometry. In simple words, the macro parametric approach is basically a history based parametric exchange method. The standard modelling commands defined in this approach act as a neutral format between the 2 CAD systems. Translating these standard modelling commands into commands of the target CAD system enables the macro file regeneration of the parametric geometry in the target CAD system. The XML schema helps in understanding the semantics of the extracted information by constructing a vocabulary to these standard modelling commands. After extracting these data from the CAD system into macro files, the information must be mapped to the tessellated geometry which is the second step.

The framework for mapping data onto triangular surface models mentioned in the case study of the car brake system is an implementation of mapping STEP 242 GD&T data onto tessellated geometry in STL format. The whole workflow of mapping can be explained in 3 steps as below:

• Interpreting the STEP file which includes all the geometric information and all the other types of information which is not required. Only relevant information is processed like the topology of the geometry which consists of all the entities like coordinates, lines, faces etc. and their connection is stored. In simple words, all the information important to represent a geometric feature is extracted and stored. It could be a planar feature or a cylindrical

39

feature and depending on the feature types, different information has to be stored. For example, along with vertex, edge, face, shell information for representing a cube, it also needs axis and diameter information to represent a cylinder. The whole topology chain can be understood from the Figure13(a) below. Along with this topology and geometry data, the tolerance and additional PMI data is also extracted in similar fashion from the STEP files. The tolerances and datum are applied to features and these are available in STEP file and are extracted.

Figure 13(a). Topology chain for a compound geometry Figure 13(b). Feature Recognition algorithm

• The second step is to identify the features (geometric features) in the tessellated geometry which is usually not available especially in STL. The tessellation process makes the full assembly or part file frozen. The access to the geometry is only till part level and not further into submesh level of facets (or triangles) and its edges and vertices. So a novel feature recognition approach is used to identify the similar features which are tessellated using the STEP topology information that is initially extracted. This is done by subdividing the mesh into different basic features like planar, cylindrical, conical, spherical and toroidal surfaces. A feature in this context is anything that represents a functional surface or group of functional surfaces in a tessellated geometry. The feature recognition algorithm is different for different features and it has to be built for the necessity as shown in Figure.13(b) above. This way the relevant triangles are selected in the sub mesh step by step for every feature i imported from the STEP file thereby subdividing the full mesh geometry into simple features.

• The next step is to assign the data on to these features. This can be performed by referencing the feature ID information of the geometry. Since the feature recognition is done using the STEP file geometry information, the determined STL features correspond to the reference IDs of the associated STEP feature. Once a mapping is established, the data can be mapped to the features in STL based on the data that exists on the same exact feature in STEP using the IDs as a reference. The final result is a combined model of a tessellated geometry with PMI and GD&T information mapped to the features.

So, by combining these two individual methods of extracting and mapping, a new approach to solve the parameterization problem can be achieved. Because once the triangle or group of

40 triangles are associated with a parametric data, the configurations and generating variants become easy without splitting in 3DS Max.

4.2.2 Evaluation of integrated macro-parametric exchange and geometric mapping approach Both the individual frameworks have been developed for a specific setup and have to be aligned with the research study. The macro parametric exchange mentions parametric exchange between CAD systems, since, only the CAD system can understand a modelling command and further build a geometry out of it. This is a major limitation to directly implement into this research area since the exchange is between B-Rep and Tri-Rep. And currently, there is no confirmation that macro files can be understood by the visual graphic systems like Autodesk 3DS Max or Maya. The visual graphics systems cannot rebuild the geometry using the extracted modelling commands, so the data should not be transferred into those systems. But the idea is to extract the parametric data from a CAD system represented in macro files and to send this data into Tactons Visualiser studio which also holds the raw tessellated geometry. So now, there are two inputs into Visualiser studio, a tessellated file and a macro file with parametric data. The next step should be to make a correlation between these two files using the principles explained in the GD&T mapping framework.

The macro files should be interpreted and define a neutral entity to map with the triangles. The macro files contain information of features of the geometry having respective identifiers to each of them. In other words, the full geometry can be represented with surface elements and these surfaces are derived from basic features like planar feature, cylindrical feature, conical etc. For example, consider a cube with a hole in the centre. This geometry can be represented with 6 planar features (cube faces) and 1 cylindrical feature(hole) and each of them has an identifier in the macro files just as shown in STEP files. Using this information, the tessellated geometry can be subdivided into tessellated features using the feature recognition algorithm proposed. Once this is achieved, there is an associativity already formed between the macro files and tessellated geometry in the feature level. All the triangles on that determined feature from the algorithm have an association with the same feature from the CAD model and since the CAD features have IDs, these triangles can be traced back. This can be used as a mapping table to enable configurations. Further evaluations need to be performed to look at these algorithms individually and develop a program to segregate the features in the macro files. Furthermore, the biggest problem is deriving how these triangles should act whenever there is a parametric change. Also, it becomes complicated with freeform surfaces which cannot be represented in basic features.

4.2.3 Incremental tessellation Another interesting methodology is implementing Incremental tessellation [54]. Unlike the other frameworks which align easily with the current visual configuration workflow, this method proposes a different approach offering similar functionality for visual configuration. Current workflow in Tacton involves conversion of a B-Rep geometry into tessellated geometry and implementing parameterization and docking points in order to enable product configurations. This workflow is sequential, and the geometry and assets are developed step by step for configuration as shown in Figure.4. Whereas incremental tessellation proposes a dynamic approach to visual configuration by tessellating trimmed parametric surfaces using a database of current tessellation information of the geometry. This is the only method found throughout the thesis proving the implementation of re-tessellation at only locally modified regions of the full geometry. In this method, every time there is a change in the design of the geometry (in CAD), the database is accessed and modified, updating the current tessellated geometry to a new incremental tessellation. In other words, for every design modification, there is corresponding tessellation and so it is called

41 incremental tessellation. It is not similar to re-tessellation from scratch as only newly added surfaces or trimmed surfaces (like cut-outs, holes etc.) are tessellated keeping the rest of the geometry untouched. The paper focuses on how to use the current tessellation information for subsequent modifications and this can derive multiple variants for complex products in much less time as only slight changes in tessellations are made in the database.

There are 4 major steps involved in this method which are: 1. Construction of a database for new surfaces 2. Modification of existing surfaces 3. Avoiding cracks between surfaces and 4. Domain triangle classifications

The database compiles all the topology information of the geometry and has a record of each face of the model. The first step involves formulating the data structure required for incremental tessellation and the second step mentions how the trimlines are inserted or deleted in the parametric domain. It is performed by locating the new nodes added or deleted by running an algorithm. Once the new nodes are located, the trimlines can be determined and respective addition or removal operations can be performed based on the design modification as shown in Figure.14(a). This will generate new geometries with either new facets added or removed from the previous surfaces. Because of change in topology, there might be cracks and gaps and so a healing algorithm is done to close the cracks. After healing cracks, new tessellation geometry is ready, but the database needs to be re-classify the facets as to be useful for subsequent tessellations. It is because of the trimline operations (insertion and removal) which cause few facets no longer a part of the same surface. This is done in the fourth step domain triangle classification using a scanline algorithm whether the centroids of the facets are inside or outside the polygonal region formed by the trimline as shown in Figure.14(b) The computational time is a greatest challenge for this approach but few enhancements were mentioned on locally defining regions for node determination algorithms instead of the full geometry.

Figure 14 (a). Trimline operations Figure 14 (b). Domain triangle classification

4.2.4 Evaluation of incremental tessellation In relevance to the Company problem, incremental tessellation solves the problem of parametrization and docking points. It could be considered as the best approach for geometries which are subjected to continuous design modifications generating valid triangulation for complex CAD models for downstream application. The significance of the approach resides in the speed of tessellation directly proportional to the number of design modifications. Since, the article showed the implementation of this approach with the Unigraphics (NX) CAD system, it has proved to be a working approach with promising results in terms of functionality. Although the challenges or limitations of this approach in implementing it for the company is the computational time for

42 rendering of the models. As the company has a CPQ platform, it is used majorly for sales more than engineering. An engineer from the customer can possibly wait for a few seconds for the model to upload and render, while a user(or a buyer) of the product who wants to buy the product using the CPQ platform wants a real time render without any buffer. This is a major value for the company and comprising the speed of render for eliminating parameterization needs to be evaluated more deeply. The other major challenge is that the current article has been implemented on the Unigraphics system only and there can be future challenges with using other CAD vendors like Dassault or Autodesk.

A simple method to overcome the challenge of computational time is by classification of parts of the assembly for configuration. By identifying the parts which are subjected to modifications and constructing a database of tessellation information only for those handful of parts can be more effective. This way, the data structure can be minimised, and the speed of tessellation and rendering can be increased. This approach doesn’t affect the way the models are rendered. An easier and futuristic step could be to use this methodology to generate pre-determined variants of the model. Since the process of tessellation is automated, there is no need for splitting and docking making the work simpler. By already having pre-defined variants already tessellated ready to upload and render. Based on the customer selection, the visual logic can configure the pre- determined variant just by changing the docking identifier in the line of code. This can be an evaluation and speeding the workflow by using incremental tessellation. The integration with Visualiser studio will be the next step of development in this approach completely minimising the use of Showcase and 3DS Max. To do so, the visualiser studio should be developed to handle models with unexpected outcomes and ways to fix them like cracks, shading, materials etc. One of the major ways for losing information is the FBX file format acting as import and export channels which is not capable of storing high level CAD metadata. So, minimising 3rd party interventions can make the workflow more direct without losing data and it is one of the company’s goals as said by the product manager of visualization.

4.2.5 Autodesk Forge: Using internal tessellator from a CAD system to identify a set of triangles from the B-Rep surface. Every CAD vendor allowing an export format like STL files for rapid prototyping and additive manufacturing has an internal tessellator which generates facets from the model geometry. With invention of new file formats which are capable of handling more tessellated data along with B- Rep data like STEP 242 and JT formats, the usability of tessellated data and its associativity with B-Rep has opened more opportunities and better understanding. This idea comes under the second approach from the Figure. Where the requirement of using additional software’s can be avoided like Autodesk Showcase and 3DS Max. The idea of using an internal tessellator comes from the fact that the conversion process is done under the hood of a CAD system. In other words, the facets that are generated may have a correspondence to the original B-Rep model and an extraction of facet data using an API can be possible according to an employee from Autodesk [69]. A model from Autodesk Inventor can be subjected to tessellation internally and the generated facets can be identified for a given chordal height tolerance [30]. The method of Getting existing facets has access to the existing facet data held by the internal scene and the algorithm will return the result with facets that exist at the scene. This method is only a subset of the facet data as there are alot of other API’s available for a Surface body object [31]. The idea is to develop a custom plugin similar to getting existing facets methods for a given B-Rep topology entity like faces, edges etc. So this method will be able to return the facets existing on a given face or edge or vertex according to the requirement. This data would be acting as an identifier for the facets when the model is imported into the visualiser studio for product configurations. Once the facets are identified across

43 the systems, the only thing required is the information on how the facets should transform to generate different variants of the product. And this information can be accessed from the customer's side in a more structured way.

Further extension of this idea results in integrating Autodesk Forge into the Tacton workflow offering universal functionalities like importing native files from the customers side (given highly secured), generating facets and identifying them using API as discussed in the previous paragraph [24]. This will terminate the involvement of 3rd party applications making the workflow more direct and simpler. With integrating Forge, use of Showcase and 3DS max can be removed in the future. This way, it will solve the problems with standardization as the customers of Tacton are distributed across different CAD vendors and the internal tessellator in each of these vendors varies greatly in terms of speed, accuracy, quality etc. Moreover, 43 percent of the Visualisation customers are willing to share native files and 62.5 percent of them are willing given security guarantees according to the survey results in Appendex A. Forge also offers a viewer for visualization of models which can be evaluated in the future to use it as a delivery channel for the product.

4.2.6 Evaluation of using internal tessellator to identify triangles The idea is to make use of CAD internal tessellations to preserve the associativity between the triangles and the B-Rep surface, gaining control of the required triangles for the product configurations. This overall idea majorly involves 4 steps:

1. Using CAD internal facet generator 2. Writing an plugin to extract facet data associated with B-Rep entities 3. Identify configurable (having variants) parts of the assembly model from customer 4. Configuring the model in visualiser studio using (2) and (3). The approach is a good idea of solving the data loss problem in a unique way and technically possible according to one of the developers and also the product manager given few conditions. The major conditions or challenges with this approach is poor performance of the Internal facet generator. It is known that STL files generated from CAD systems are the poor form of tessellated data only translating geometric data. The invention of STEP 242 and its capacity to carry tessellated data is an advantage but it has to be clearly evaluated in terms of performance compared with the 3rd party tessellations. The internal tessellator cannot compete with 3rd party tessellator like Showcase, PiXYZ, InstaLOD which offer rich tessellations. This is a major step back in this approach. Also, writing an API to get existing facets is proven fact but for a given chordal height tolerance [30]. Further development of this API has to be done closely with Autodesk in order to achieve such functionality. However, the identification of configurable parts from the customers end will not be any problem unless the customer company couldn't support in structuring their product configuration requirements. If all the above three steps are successful, the final step of configuring the model in the visualiser studio wouldn’t be a problem as once there is control over triangles, they can be toggled by the visual logic based on the requirement. An evaluation of speed, quality is performed between a random geometry tessellated by Creo stored as STEP 242 and Autodesk Showcase (official tessellator used). A simple sphere is chosen as a geometry as it has more curvature and easier to identify differences. The resulting tessellations were shown to the 3D artist without any pre-knowledge of the process. The tessellated data from STEP242 file format has given a good tessellation quality with the default settings of tessellations. The quality of tessellation by Creo is of course not comparable with the high resolutions settings of Showcase. But the Creo’s internal tessellator showed reasonably good tessellations agreed by the 3rd artist and the product manager. Although, the tessellation result from showcase has produced more poly count compared to Creo’s but the quality couldn't be distinguished as shown in Figure.15 below.

44

Figure 15.Comparison of spheres tessellated in Showcase(pink) Vs Creo(blue)

Figure 16. Comparison of fuel tank tessellated in Showcase(green) Vs Creo(pink)

The comparisons are done in 3DS max which has the capability to import both files. A second more complex geometry of a fuel tank is subjected to the same test and has shown good rich tessellation results with no change in default settings. The resolution can be even made better if the chordal distance can be toggled. Overall, the tessellation speed did not differ a lot because of the geometry. The quality couldn't be differentiated but Showcase generated more triangles than Creo which is unnecessary for the geometry. In other words, Creo’s algorithm is smart to decide the best representation of the geometry in the best possible way. Even more accurate comparisons need to be performed in the future if this approach is desirable. Adding to it, the API testing needs to be done closely with Autodesk as mentioned in order to evaluate the possibilities.

4.2.7 Morphing modifier : Using morphing to manipulate the model geometry to required shape and size. The term morphing is used in the animation and gaming industry and is considered as a special effect that changes one image to another with a seamless transition. The best example can be given is use of morphing in facial expressions of an animation character. The effect used to make the animation character talk while animating the lips is basically morphing. All the visual graphics packages like 3DS Max, Maya, Blender etc. offer morphing features in their product as it is one of core functions in the animation industry. All these packages have a variety of modifiers to modify the mesh or tessellated model and morphing modifier is one of them. In simpler terms, morphing can be stated as a transition between two different states (or shapes). Morphing modifier

45 basically involves two models, a base morph and a target morph. A target morph is the final state of the model, the base morph could transition into. Similarly, a base morph is the least or minimum state of the model which will change into a target morph. It is best understood with representation of a pipe mesh with two different shapes as shown in Figure.17.

Figure 17.Pipe mesh morphed between two states.

In the above Figure.17, the transition from the least state base morph( quarter bent blue pipe) into the final state target morph(half bent or semi bent blue pipe) is shown and this transition happens with the change in the morph percentage value. As the percentage value changes from to 0 to 100, the model transitions from base morph to morph target. The green colour in the above Figure.17 shows the different states while transitioning from a straight pipe to semi-bent pipe. The core mechanism of morphing is basically stretching of polygons of the model as mentioned by 3D artist. The morphing functionality is possible with two main requirements: • Both models should have same vertex count [25] • Both models should have same vertex order

4.2.8 Vertex count & vertex order Vertex counts as the name says stores the no. of the vertices required to represent the model in polygons. In this case, the polygon is a triangle which is formed by a minimum of 3 vertices. Subsequently, it is possible to get 2 triangles with 4 vertices if the triangles share an edge and because of vertices evenly shared within the mesh , the triangles count can be more than vertex count. The vertex count is more important for memory and performance issues as the GPU needs to store all this data costing memory and slowing performance [86]. So, just by transforming the vertices to different positions can result in a different shape keeping the same vertex count. By morphing, it means that without any new addition of vertices, the triangles connected to those vertices(transformed to new positions) are stretched to achieve the desired shape. This is the reason why morphing requires the same vertex count for the 2 shapes. The software won’t allow morphing modifiers if the polycount of the 2 shapes are different.

Vertex order is defined by the ordering of all the vertices of the mesh model starting from the first vertex to the last vertex. It can be considered as a chain of vertices by which a mesh is constructed or understood by the computer as every vertex has a label or number [1]. A simple cuboid geometry is represented with different vertex order as shown in Figure.18. Comparing the two models from

46 the Figure.19, it can be understood that the vertex numbers are not the same at a given position on the two models. The vertex number 5 doesn't have the same coordinates on the right model as of the left model. A different vertex number 1 is present on the coordinate point in the right model even though both the models have the same geometry and same vertex count. This vertex order changes when the model is edited and there is no standard order for it. The vertex order changes randomly and it's hard to track in case of complex geometries which usually have thousands of vertices. Vertex ordering is a major requirement and also a limitation for morphing because if a vertex of the morph target is not in same position as of the base morph, then the morphing modifier which transforms the position of the vertex causes a distortion of the geometry as shown in Figure.19 as that particular vertex is located at a completely different place on the model.

Figure 18.Same geometry with different vertex order

Figure 19. Morphing with Different vertex order causes distorted broken geometry

The major reason for change in vertex order is because of manipulation of geometric entities like triangles, edges, vertices etc. Any change in geometry done on sub mesh level results in change in changing vertex order like deletion, collapsing, extrusion etc. and these operations are done based on the model’s tessellation output in cases like cracks etc. However, the vertex order doesn’t change when deforming or displacing the geometry as there is editing done on sub mesh level. The black regions on the above Figure.19 is because of the flipped normals caused while translation of the vertices to new positions. The normals of a triangle are responsible for shading and lighting on the model and usually directed away from the triangle for light whereas the normals inwards cause the black colour. So, for morphing to be applied and successful, the two conditions of same vertex count and vertex order must be satisfied.

47

4.2.9 How morphing helps in eliminating parametrization? The idea is to toggle the shape of the geometry to achieve various variants of the product. The current projects involved in visualization only deal with linear change of the part geometry which is only in one direction (be it length, height etc.). It is best understood with an example from the Figure.20 below. The customer's product is a caster assembly and they use Tacton’s visualisation for visualising and configuring their product over the web for their customers. Consider two variants of the product which differs in height of the caster wheel. In other words, height is the parameter which will be chosen by the customer buying the product. Based on the customer requirement chosen, the visualiser studio runs the logic and uploads the corresponding variant on the web in real time for the customer to visualise. Since it is a unidirectional change(height), a morphing modifier can be applied to the base morph which is Variant 1 and projected to the morph target which is Variant 2 as shown in the Figure.20.Here, the part named as chamfer 3 is the morph target and the morph modifier is applied on base morph which is chamfer 2. By toggling the percentage morph target value from 0 to 100, the height of the base morph changes. So, the percentage value of chamfer 3 determines the shape of chamfer 2. When the chamfer 3 percentage value is 0, the shape of chamfer 2 is the same as its original and when the percentage value is set to 100, the chamfer 2 changes its shape to chamfer 3 as shown in the Figure.20. To conclude, a morphing modifier can be applied to a part to change its shape. When considering product configurations with changes in more than one part of the assembly, a unique morphing modifier can be applied one each part to achieve different shapes. The base morph is usually the base product a customer can see.

Figure 20. Changing height of the part with change in morph target percentage

48

This way morphing can be used to generate desired configurations without parametrically splitting the model. It can be used in more complex configurations with multiple variants differing in height as a parameter. In such cases, the percentage value can be equally divided in steps for example, consider the same caster assembly and there are 5 variants of different heights. In that case, the percentage value can be increased in steps to get all the 5 variants. With every increase in morph target value by 20, there is a new variant for the part and in this way, when the value is 100, the customers can get all the 5 variants. In other words, morphing can be a powerful tool to generate multiple variants of the model with ease. As long as there is a minimum model(base morph) and a maximum model (morph target) , morphing can be applied to generate intermediate models between the minimum and maximum. The minimum model and the maximum models can be generated from the CAD system by tessellating and exporting the model 2 times. Because CAD is a parametric domain, you can change the parameter of a particular dimension and the part is modified to a new shape. This is done to all the necessary parts of the assembly which requires a variant and then the resulting geometry is tessellated the second time which is now the maximum model also called morph target. With these two minimum and maximum models, multiple variants can be derived by applying morphing modifiers to the parts and further assembling these variants results in a desired product configuration ready for visualization. Having all the desired variants of the part, the visualiser studio runs the logic and assembles the corresponding part variants based on the option or specification chosen by the end customer on his computer just like shown in the Figure.5 in section 3.2.

4.2.10 Concept and evaluation of morphing modifier Morphing can be considered as the most simplest alternative to the problem of data loss. As shown in the above Figure. Tree, it comes under the second approach and the only approach to simplify the current workflow rather than proposing a differently uncertain one. Mostly importantly, it can be effective immediately with correct execution. It neither needs any integration with the CAD system nor developing frameworks to extract and map data between systems. The concept being a very simple and known concept for the 3D artists, it makes it even more easier to implement on existing projects and evaluate deeper. Irrespective of how simpler the concept looks giving impressive results, there are greater challenges for this approach as well. First and foremost, the two conditions need to be satisfied inorder to apply morphing to models and this is the hardest part of the concept. Having the same vertex count and vertex order happened to be a bigger problem than the data loss itself. It's because of having no standard results to conclude upon the reason for having different vertex count and order. Multiple models have been evaluated to check if morphing works and gradually it turned out evaluating the vertex count and vertex order between the minimum and maximum models. It is confirmed and verified with different models having different complex shapes, that the concept of morphing is working and able to produce intermediate models as variants for the products. The failed evaluations were only models having different vertex counts or different vertex order.

Further evaluations were carried on understanding the reasons for different vertex count and order for the minimum and maximum models. When a face is elongated in a linear direction in B-Rep and tessellated, then theoretically, the polygons are just elongated but no new edges or vertices are added keeping same vertex count as shown in Figure.22 below. In other words, when the maximum model is designed by increasing the parameter values of the features (extrusions, revolve etc.) to their maximum, then there should be no change in vertex count or vertex order after tessellation. So, both the minimum model (with minimum parameter) and maximum model (with maximum parameter) are exported into Showcase and tessellated individually as shown in Figure.21. The two models are imported together into 3DS Max and the vertex count is checked which is shown in the top left of the Figure.20 above. In this caster assembly model, the vertex count, polycount

49 are the same. So the morphing is applied to the minimum model and the maximum model is made the target morph resulting in transition of shape shown in Figure.20 above.

The same experiment was performed with a few more random models downloaded from Grabcad. Few models resulted in no change in vertex count with the change in the parameter in B-Rep while few models resulted in differences in vertex count. It is understood that because of improper designing methodology of a geometry in CAD, the tessellation process is not similar between the minimum and maximum models. This creates some extra edges and vertices in one of the models even using the same tessellation settings (resolution etc.) in Showcase.

Figure 21. Maximum and minimum models differing with parameter H modelled in Solidworks

Figure 22.A cuboid stretched to a different shape still maintaining same vertex count and order

The vertex order is not disturbed usually until an editing on sub mesh level is performed and there is no way to check the vertex ordering in 3DS Max. Autodesk Maya offered a possible way to check the vertex order and also a method to reorder vertices. But it is observed that models with the same vertex count are also having the same vertex order. After experimenting the vertex count with different models, it can be concluded that there is no significant reason behind different vertex count. Although poor modelling techniques is a reason, it is just a small part of the problem. A

50 strong reason couldn’t be found for a different vertex count generation from CAD model. There were also strange anomalies like there was a CAD geometry whose minimum model turned out having more vertices than the maximum model (almost more than 2000 vertices) even with the same resolution settings. There was no explanation found to this although it is theoretically not possible. Repeated experiments were done with a lot of time spent on understanding and both me and the artist were not able to conclude or at least derive predictions from the result of a particular model. The occurrence of the same vertex count happened to be more random which is a bigger problem. And because of which, different methodologies to equalise vertex count after the tessellation has been an interest. It is possible to achieve a target polycount using the feature ZRemesher offered in the Zbrush software package [20]. It offers Half, Same and Double options for the use of the target polycount of the mesh model. Autodesk 3DS max offers a modifier in recent versions to reduce polygons called as PrOptimizer modifier [40]. It is an optimization tool to reduce the number of vertices without comprising the object appearance. All the previously failed models are re-tessellated to have the same vertex count using the ProOptimizer tool within 3DS Max.

With the new ProOptimizer tool, the minimum and maximum models are having the same vertex count and the morphing modifier is highlighted indicating that it can be applied on the minimum model. It didn't yield expected results after applying morphing because the vertex order got completely changed. Since the ProOptimizer is a polygon reduction tool, it edits on the sub mesh level of the geometry completely changing the vertex order. Maya has a functionality for reordering vertices but was initially evaluated only with a simple geometry like a cuboid with basic topology. It was able to reorder the vertices for the cuboid, however, it inverted the normals causing shading discrepancies as shown in Figure 23. below. But, the real projects deal with complex topologies and Maya couldn't reorder the vertices resulting in a messy and distorted geometry after morphing just like in Figure.19 above. Although there are other different techniques to reorder the vertices, there is no standard efficient way found yet [11,84]. Morphix is a script written for 3DS Max to reorder the vertices with the same vertex count and topology. It was evaluated along with the artist but the install didn't work as it is outdated. All the different ideas to reordering the vertices are not promising as the results are random and unpredictable just like in the case of vertex count. Although, there was an interesting but very tedious way to solve the vertex ordering which needs careful evaluation. It is a simple idea of extracting the attributes like vertex numbers as .ASE files and import to notepad to reorder the vertices between the two models manually. It surely is difficult but there was discussion in a forum that it would work. A form of comparing algorithm and command lines to reorder the vertex numbers has to be developed to evaluate its effectiveness on complex models.

Figure 23. Reordering vertex order in Autodesk Maya

51

But even by achieving to reorder vertex order, the morphing concept has also become complicated to work. Lots of conditions for morphing to work and the fixes for them making the whole process a lot more confusing and ineffective. Firstly, the two models should have the same vertex count and vertex order. If they don't have the same vertex count, a polygon reduction operation has to be performed on one of the models to match the same vertex count and by doing so, the vertex order is changed. And a script has to be run to compare and reorder the vertices on the model after which, morphing modifier can finally be applied. It might not take much time in real, but in the worst cases, this long process has to be done to all the parts of the assembly, diluting its efficiency.

While researching the methods to have the same vertex count and vertex order, an alternative method has come across which offers the same functionality of morphing irrespective of vertex count. Two models having different topology, shape and vertices can be morphed into one another using the “Conform” feature offered in 3DS Max by making an exact clone of the base morph and manipulate it manually into a morph target [25]. In this workflow, the base morph is cloned or copied and editable poly operations are performed on the cloned model to achieve the morph target [10]. In a way, it is eyeballing the cloned base morph on to the morph target and applying the morphing modifier. Although it works and offers morphing irrespective of model topology and shape, this method is not authentic. It is because of involving manual manipulations of the cloned mode (like stretching, translating the triangles etc.) to make it look like the morph target resulting in a change in final geometry(that customers see on their system) as shown in Figure.24(b) below. However, there are other challenges with this method which is that the conform feature works perfectly only for flat surfaces and regions with fillets or rounds are not perfectly morphed [26]. Morphing using Conform was tested with a curved topology geometries which showed poor results as shown in Figure.24(c) below. Along with resulting an approximated eyeballed geometry, it also shows poor morphing on geometries with round edges.

Figure 24. (a)Cloned base morph(green) and morph target(blue);(b)Eyeballing the base morph on morph target ;(c) result of broken geometry(green) after morphing to 100 percent. 52

4.2.11 PythonOCC as a multiplatform to generate CAD models using python programming language. PythonOCC is a software package which runs on windows, linux and mac capable of generating CAD models with coding [57]. In this environment, it is possible to model, generate meshes and also render within the application. The parametric application framework of PythonOCC is able to re-tessellate the mesh and update the geometry with change in the parameter value [56]. The parameter value is just programmed as a number in the event manager and is made to run. The event manager then requests the mesh to update for the new change in geometry. It uses a simple rendering program which offers basic visualization. But the idea is to use the python programming language and to develop a similar algorithm like it which is a way to solve the problem of parameterization. This idea is independent and it doesn't require any data exchange or mapping to triangles. Since the model geometry is represented in the form of code, the application has full control over the geometry and mesh and maintains an association between them.

4.2.12 Evaluation of PythonOCC Although the functionality seems exactly the same as parametrization, this method is not useful for the research. Majorly because of two reasons, the first one being that this functionality is only offered for the CAD models which are modelled within PythonOCC. Secondly, when a parameter is changed, the resulting geometry is a re-tessellation of the geometry from scratch as verified with the author and founder of PythonOCC. This means that the resulting model is not updated at the modified regions but the triangles are fully rebuilt from scratch. This would remove all the visual assets previously applied on the geometry and is not a desired approach as discussed in the above sections of incremental tessellation method. Moreover, the software is not recent and has not been updated since 2015. Considering all this, this method is eliminated from the interest after discussing with the product manager.

4.2.13 Licensing tessellator to access the three types of data from the B-Rep domain and map it to the triangles in visualization. There are businesses offering rich quality tessellations to the customers ,of course along with other functionalities. Most of these companies are not popularly heard unless the business is related to Visualization and each of them are more popular as a local brand. Apart from Autodesk Showcase, this study has involved two more tessellator companies namely PiXYZ based in France and InstaLod based in Germany contributing to the research study mentioned in the above section 3.3.1. It is understood that the CAD data loss occurs in the step of tessellation from B-Rep to triangular representation and this is a major step in the entire workflow since the company is highly dependent on a particular software Showcase which is a straightforward tessellation. The idea of licensing a tessellator is to get access to that information which is lost from the B-Rep model and is most important for visual configuration. The 3 types of data as stated are mainly parametric, topology and assembly relationship data which was explained in above sections.

4.2.14 Combined PiXYZ and InstaLOD functionality and comparison From the Interviews with PiXYZ and InstaLOD, it is understood that the information from the CAD model exists when the tessellation happens in their software’s and that information is preserved but couldn’t be exported into another system. The tessellator uses CAD native files having all the information of the model and tessellates into a Vis-rep model. Both the software’s

53 have a functionality to switch between B-Rep and polygon representation domains. The tessellator algorithm developed by PiXYZ keeps a track on all the operations performed on the CAD model and the final tessellated model has a link or mapping with the original CAD model because of the integrations of PiXYZ with the CAD software’s. The algorithms are developed in a way that the facets or the polygons remember their parent surfaces and every entity in CAD like faces, edges, and vertices has an unique ID. As a result there is information of polygons belonging to their respective faces and this information is called topological data which is stored but cannot be exported out of the PiXYZ software. Although there isn’t a specific conversation regarding the topology with InstaLOD, it is a similar case here as understood from the tutorials of InstaLOD. Upon licensing their software, Tacton can directly import the CAD native assembly files into the PiXYZ or InstaLOD studio and perform tessellation with desired mesh resolution settings. This tessellation would preserve the metadata of the B-Rep model to some extent like materials, textures etc. with rich tessellation. As there are no mesh editing operations performed within, the parametric functionality of generating multiple variants from the same initial import is not possible. Also there is no assembly relationship data retained after tessellation. However, the topology of the model is accessible upto an extent. Every part is denoted by a B-Repshape number in PiXYZ and upon picking a particular B-Rep shape, there is a corresponding tessellated shape which can be seen but this information is not very useful for the study. So, the possible way to use the two software’s is at the end of the pipeline where different tessellations can be pre-performed for each variant of the configuration. But unlike Showcase, it is much faster because both B-Rep and tessellated assembly files are stored separately. If only a particular part is modified, only this part can be tessellated from scratch and repositioned in the assembly manually and needs to repair cracks, add materials, textures, colours for each part again. This way each file has to be exported as FBX to import to visualiser studio for further steps.

4.2.15 Evaluation of PiXYZ and InstaLOD The information stored in both these company’s products is the topological information from the original CAD model. Both PiXYZ and InstaLOD’s software’s have unique functionalities and limitations with Tacton and have good tessellation results. Limitations like the information cannot be exported into Tactons visualiser studio by any file formats available in the market and also neither one has the direct functionality to restore the parametric data into the tessellated geometry that can be used in the visualiser studio. Summing up, PiXYZ and InstaLOD can store the topological data but cannot use it in the visualiser studio. And the parametric functionality they have is just re-tessellation of the full model from scratch but not updating the geometry in real time. Also, Both the software’s cannot restore the assembly constraint relationships like mate functions in CAD systems. Restoring this data can skip the step of docking points and the parts can automatically update their position in the final assembly. Furthermore, the suggested way of using pre-tessellated variants of the assembly in which the part variants are configured by visualiser studio based on the users selection is not an optimal way. In projects having some 5 parts which can be configured and each part having at least 3 variants results in a minimum of 15 different part variants which should be pre-tessellated and assigned docking points. The tessellation of parts is not a problem and can be done within minutes as it only depends on the algorithm, model topology and number of parts. The tough work is adding assets to each of the variants repeatedly which is also not motivating for the employees. This workflow can be complicated for even bigger projects.

However, there is a way to automise some of the steps within this workflow. Both PiXYZ and InstaLOD offer a way to automise the post steps after re-importing a model with modified geometry. PiXYZ studio comes with a python API with scripting editor to automate repetitive data [61]. InstaLOD calls it Scene rules for automation of steps [37]. Although they are called differently, both function or offer similar functionality which is to create some rules or a procedure

54 for every new import that it should follow through every step before appearing on the screen. In other words, after the re import of modified geometry, the engine runs through rules saved by the user previously for example, step 1 is to tessellate after the import with mesh resolution of 0.1 and step 2 to assign materials and step 3 to add texture, step 4 to move the model to (x,y,z) and so on. Each step can be customised to do a particular task of adding assets on the re imported model and all these steps are saved. So, the next time the same part is modified and imported, all the given steps are run and assets are applied before it appears on the screen. The task that the engine should perform on the model can also be customised and developed with plugins offered by the software. This way, all the repetitive steps can be automated and different variants of configuration can be generated in less time. Deeper evaluation needs to be done to measure computational speed and its effectiveness with Visualiser studio.

4.2.16 HOOPS exchange to solve parameterization by accessing topology data and parametric data Similar to PiXYZ and InstaLOD, HOOPS doesn't have a direct solution to restore the parametric information into the tessellated geometry. But it stores the topology information from the native files but not the assembly constraint relationships [80]. The API from HOOPS has functionality which can extract all the topological information, product structure with the assemblies, sub assemblies, entity ID’s and other common information. Because of the integration with Siemens, HOOPS has the ability to push files into the Parasolid kernel and make design modifications and tessellate the geometries without compromising on previously added assets. Unlike re-tessellating a full assembly model from scratch, it allows updating the tessellated geometry only in the modified areas of the full assembly and this design modification is done in a B-Rep modelling environment. All of this workflow is explained in the Youtube tutorial mentioned in the above section talking about HOOPS interview data. The concept of this approach is enabling HOOPS exchange to extract all the geometric data from the CAD file and push it to a Parasolid modelling kernel into a different application(visualiser studio in our case) preserving the highest quality of metadata. When a particular part component is modified and re-tessellated, the tessellation step itself will be given a persistent ID which consists of data structure of that modified component. So, whenever a component is modified( added solid or cut), a new modified component is generated by updating this persistent ID onto the modified component only instead of the full assembly. Similarly, adding any new assets to the modified geometry will be repetitive, so the particular tasks can be assigned persistent IDs and automatically performed in the updated model.

The workflow that best suits the research to eliminate the parametrization problem can be of two types. One way can be to push the CAD model into the parasolid format mentioned above and automise the asset addition onto the models and updating the modified files in real time. So, the Customer native file will be imported in HOOPS and extracts the metadata and geometry data and pushes into parasolid format(if it’s not) and sent to the visualiser studio or 3DS Max for asset creations. It gives best results if the CAD files are from Solidworks, NX as they have a Parasolid modelling kernel. But there is a necessity to develop integrations between these applications. But in general, any modelling operations can be given a persistent ID on a part level, face level, edge and vertex level. Another way to solve the research problem is by restoring the topology data by writing API and having an in memory transfer to visualiser studio and mapping these Topology B-Rep entities with IDs with the triangles. The mapping table needs to be developed and accessing the submesh of the model is possible. This control over the submesh is useful to control which triangles near to be subjected to stretch or collapse to derive a new variant of the model.

55

4.2.17 Evaluation of HOOPS exchange The first way of pushing the models into parasolid is an applicable use case. It has been observed that the model is updated only in the local regions and not the full geometry. The second way of extracting topology data is interesting and promising according to the developers at HOOPS and also the API documentation sent upon requesting a free trial of their SDK. Unfortunately, in order to precisely evaluate if its possible, a simple integration has to be established which involves writing a plugin for in memory transfer of data. This takes time and resource allocation in the company and currently a difficult time of the year to prioritize. But from the documentation of the SDK features which basically clearly documents what type of data can be extracted from the CAD model, it confirms the API for extracting topology data to get access to the submesh level of the tessellated geometry. With this, the model tree can be retained and entities like patches, polygons or triangles, edges of triangles, vertices of triangle can be accessed by the artist and also the visual logic team. This information can help in making product configurations as the studio has control over the triangles and knows which set of triangles needs to be transformed for the corresponding modification of the component in B-Rep.

4.2.18 EXXAR Stream as a tool to allow CAD metadata streaming into Visualiser studio Exxar Stream offered by Exxar technologies enables 3D CAD data streaming from CAD environment to visualization environment without any data conversions to file formats [23]. It provides direct streaming from CAD application into visual application in 1:1 scale shortening time spent on conversion processes, time delay in design reviews etc. It offers all major 3D CAD applications with highest metadata transfer through cloud with large data handling capacity. The idea is to use Exxar client stream as a platform to upload the direct native files from the customers which then processes that data and stores it in an advanced representation B-Rep. The required metadata that is useful which is the 3 types: parametric, topology and assembly relationship data can be either sent through the cloud or can be downloaded into the visualiser studio to work on later steps. Because of their integrations with major CAD applications, the data flow is smooth and any design modification in the CAD application will update the tessellation data which is pushed into the visualiser studio.

4.2.19 Evaluation of Exxar stream Although their product offers CAD to VR data streams through the cloud, the type of data that can be accessed within Exxar has to be evaluated. There is an associativity between B-Rep and visualization which preserves some parametric changes but the limitation is that the re-tessellation of the model is from scratch. So, the geometry when modified in CAD and updated in Exxar, the full geometry is going re-tessellate which is not very valuable for Tacton. Hence, it can be confirmed that the parametric data is not extracted and cannot be accessed. The topology and the assembly relationship data findings are interesting compared with the other market evaluations. Exxar can access the submesh level of the tessellated model with retaining the associativity from B-Rep. It is not sure that the mapping can be tracked till the vertex entities but it is confirmed that the surface or feature level topology data can be extracted along with the corresponding mapping in the B-Rep. This extracted information (topology and assembly relationships) can be transferred into visualiser studio via cloud integrations without any loss. But since, the visualiser studio is an offline application currently, this data has to be written in file format and can be downloaded into the visualiser studio. The challenge here is choosing a file format and how the data needs to be encoded for visualiser studio to use it. Once the data is downloaded into visualiser studio and active, further steps of materials, textures and configuration logic can be performed.

56

The visualiser studio has plans to go cloud in future and in that case, the rendering and real time visualization happens on the web and not on the client's side. In that case, the metadata from Exxar has to be streamed in runtime parallelly when the customer is configuring the product from their computer. When it comes to having metadata streamed in runtime while configuring, the challenge is the speed of the rendering and there will be a default time to upload data packets and visualize the model in may be 10s which is still a important value factor for a user in front of a screen configuring. So, in this case, if the visualiser studio becomes online and when the operations happen in run time, this approach of streaming using Exxar might have to be re-evaluated again. They confirmed that they are looking for enabling tessellations at locally modified regions other than full from scratch in the near future.

57

Chapter 5 : RESULTS AND DISCUSSION

This chapter provides the results of the research with recommendations to the company after thoroughly analysing and evaluating different ideas and concepts. It provides an overview of possible methods to solve the problem of parameterization along discussing their strengths and weaknesses.

5.1 Recommendations to Tacton After rigorous analysis and evaluations of different varieties of ideas, there are few unique and feasible approaches to solve the problem of parametrization. As mentioned in the section 4.2 ,the 1st approach is to eliminate the use of parametric split in 3DS Max out of which there are 6 unique approaches which are capable of solving the problem. However, the 2nd approach which supports the use of parametric split by reducing the difficulty has produced an interesting idea which can simplify the full workflow. The recommended ideas which are capable of solving the problem and are ready go for deeper evaluations by the company are listed below:

• Incremental tessellation approach • Integrated Macro file exchange & mapping • HOOPS exchange as a platform to retain topology data • Exxar technologies data streaming • Integrating with Autodesk Forge • Morphing modifier only with same vertex count

Each of these ideas are unique in their own way and some of them also include implemented case studies in a very similar context like the approaches of incremental tessellation and Integrated Macro-file exchange & mapping. Both these two approaches have been scientifically developed and been applied on real case scenarios to test the value of the approach. However, few of other ideas include software packages which can offer the functionality Tacton requires like HOOPS Exchange, Exxar technologies and Autodesk Forge. Lastly, there is a completely different method of offering the same functionality by using a morphing modifier in 3DS Max to the models. Since, very different perspectives are ideated and analysed, each idea has different levels of evaluation based on their approach to eliminate the parametrization or ease it. It is important to remember that the research is not confined to produce solutions to any particular approach or perspective. Because of which, the evaluations or metrics are not the same for every approach and the overview of all unfiltered ideas with their respective metrics are shown in Table 2. However, all these six different ideas align with the research problem and show promising integrations with Tacton Visualiser studio resulting in desired functionality for the company which is to enable configurations in tessellated environments without using parametric split.

58

Table 2. Overview of unfiltered ideas with respective metrics

S.no Idea/concept Parametric Topology Assembly Desired Data Data relationship functionality. Data

Approach 1

1 Incremental - - - Yes. Using a tessellation database of current tessellation information.

2 Integrating - Yes. Getting Unknown Yes. Writing plugins autodesk Forge facet data to Forge

3 Python OCC - - - No. Tessellation from scratch

4 Integrated Yes. Macro Yes. Unknown Yes. extract data and macro-file parametric data mapping map to triangles. mapping exchange with triangles.

5 HOOPS Some extent Yes. - Yes. 2 ways: use exchange Submesh topology data; or level. push into parasolid format

6 License PiXYZ - Exist, but not - No. Tessellation accessible from scratch

7 License - Not - No. Tessellation InstaLOD accessible from scratch

8 Exxar Stream - Yes. Access - Yes. Download data to mesh into Visualiser surface level studio

Approach 2

9 Morphing with - - - Yes. Apply modifier vertex count on base morph to regulate to target morph.

10 Morphing with - - - No. Eyeballing is Conform done. feature

Table 2. also shows the eliminated ideas from the analysis chapter and the reason for their elimination is strictly based on either having undesired functionality for the company or having

59 the functionality in an undesired way like re-tessellation from scratch. Because of the solo reason that re-tessellation from scratch cannot be implemented in the workflow as it results in adding assets like materials, textures etc. repeatedly for all the modified re-tessellated models which is not optimal. In other words, it is of lower value compared to the currently used workflow with showcase and 3DS Max. However, PiXYZ and InstaLOD offered an automation of these asset additions as discussed in the section about scene rules. This would only help in getting the tessellations faster as assets like materials and texture added in InstaLOD or PiXYZ are only available in their system. Once exported, the materials need to be reassigned. The Scene rules work if these software’s are at the end of the pipeline before rendering, but it is not the situation in this case. Also the idea of morphing with Conform enables morphing with different topologies but has resulted in defects with rounded edges. Furthermore, the final geometry is eyeballed manually and hence it is not an accurate model which will result in unsatisfied customers. Eliminated ideas from the recommendations are listed below: • Python OCC • License PiXYZ • License InstaLOD • Morphing with conform feature

5.2 Strengths and weaknesses of the recommended concepts This section discusses the strengths and weaknesses for each of the six selected concepts. This could be considered as validations to why these respective ideas are suited for the Tacton.

Incremental tessellation:

Strengths: • This approach is implemented in the pipeline before the Tacton Visualiser studio. The recommended approach is capable of generating locally modified tessellated geometries by 4 steps as discussed in the section 4.2.3 above. • It is the only approach found which does not re- tessellate from scratch for every modification by maintaining a database of tessellation information of the geometry. • The computational speed is inversely proportional to the number of design modifications which makes it a perfect approach to implement for projects of complex models with a lot of configurations. • The database has to be maintained offline which is not different from what Tacton is currently doing which is beneficial as they already have competencies in it. • Also, a major advantage comes with elimination of both Showcase and 3DS Max making the workflow more direct. The algorithm also involves healing of cracks and gaps after tessellation.

Weakness: • The major weakness for this approach is its large database which is heavy and the chance of compromising on computational speed is high which Tacton doesn't want to compromise on. • However, it can be improved by limiting the database to only parameterizable parts or parts which are subjected to configurable variants. • Adding to it, the approach is only implemented in one CAD system with NX and it requires further developments for all the popular CAD vendors which is a drawback. • No assembly relationship data is also a limitation.

60

Integrated Macro-parametric exchange & geometric mapping:

Strengths: • This is a combination of two approaches individually tested with different applications and verified. • This approach is determined to extract the data from CAD systems by using Macro files and map these data onto the triangular model. • The only approach to extract parametric data along with modelling history is the greatest strength of this approach. • It offers full control of the triangles once a mapping is established simplifying the future steps in Tacton Visualiser studio. • It eliminates use of 3DS Max and trimming the workflow. • The mapping happens on feature level like planar, conical features etc. giving control over the sub mesh level of the triangles.

Weakness: • It requires resources to develop an interface between the extracted data and enabling mapping to the triangles and hence it takes time and money. • Furthermore, the concept of mapping is implemented to only limited feature types like planar, cylindrical, conical, spherical and toroidal which can be a drawback for freeform and complex shapes. • Further evaluations are necessary to make a right integration between these algorithms. • The assembly relationship data is a high-level metadata and there is no information on how to extract it or use it. But few scholars mention that it is possible to extract along with parametric data.

Integrating with Autodesk forge:

Strengths: • Autodesk provides API to get facet information or topology information which is traced back to the B-Rep face internally. • The tessellation happens in a parametric space inside a CAD application is the main advantage of this approach. • Forge being recent and a multiplatform, there is good scope for Tacton to integrate with Forge because of their cloud services which aligns with Tactons vision to offer cloud services.

Weakness: • The big or the only limitation of this idea is the quality of the tessellation from using CAD internal tessellations. • Furthermore, this integration is unidentified with other CAD vendors because not all customers use the same CAD systems. • No assembly relationship data is preserved.

HOOPS Exchange:

Strengths: • This software offers API to extract all the topology information from the Native CAD file upto a submesh level of the tessellated geometry and also parametric data up to an extent. • Full access to the topology provides full control over each triangle for Tacton.

61

• It also offers another way of solving this by pushing the CAD file into Parasolid file and retaining the modifications made in the client application (Visualiser studio) onto the modified design of the geometry.

Weakness: • It doesn’t offer any assembly relationship data to control the positions of the parts within an assembly. • The current evaluation was only possible to look at the API features but couldn’t be tested since it requires development of a simple API. • So, it must be evaluated by a developer Tacton together with the consultant from Technosoft 3D Offering HOOPS exchange.

Exxar Technologies:

Strengths: • Exxar stream offers access to the surface level of the tessellated geometry by writing plugins to extract that information. • This gives access to control at least group of triangles on a surface if not for an individual triangle. Since this topology data also includes the corresponding B-Rep entity, it is possible to retain the associativity between B-Rep and Tessellated geometry. • They also claim about the assembly relationships, but this is not guaranteed.

Weakness: • Parametric data cannot be used as the tessellations with the modifying parameter they claim to have results in re- tessellation from scratch which is not desired. • Also, the major drawback for this approach is that it will no longer be useful if Tacton Visualiser studio goes cloud because streaming data packets directly into customers' computers would slow down the rendering step and delay real time visualization. The person sitting in front of the screen must wait to see.

Morphing Modifier with same vertex count:

Strengths: • This is the simplest idea to simplify the parametrization problem and its greatest strength is it can be applied immediately to the future projects in Tacton. • It has been evaluated with many different models and deeply studied along with the 3D artist. • This idea doesn't need major restructuring in the workflow except for the new document from the costumers of what parts of the assembly needs to have variants for configuration. • A small intermediate step can be integrated which verifies if the maximum and minimum models are of the same vertex count or not which determines the approach to solve parametrization.

Weakness: • It doesn’t work without the same vertex count and same vertex order between the base morph and morph target. • Controlling the vertex count between the two models using the ProOptimizer tool in 3DS Max disturbs the vertex order of the model. • No promising method found to change the vertex order.

62

Irrespective of these different ways of involving the workflow, all these ideas can solve the problem of parametrization. Various other evaluations must be done deeply by Tacton like Financial and strategic in the future.

5.3 Practical implications

Considering the different recommendations, there are implications for each of them and are presented in this section. As mentioned in the previous sections, the scope of the thesis study is to give full outline of the problem and exploring different directions as in methods to solve. The thesis successfully explores different directions and presents the underlying reasons of data loss between different systems. The mentioned technical or strategic reasons in this study might help in digging deeper to identify any find any futuristic possibility of having seamless data exchange. The scale of study is both wide and deep which gives the industrial practitioners in visual configuration market get a better picture of data loss between a CAD system and a 3d graphics system. And this study is also a first one exploring restoring data for tessellated geometries to enable visual configurations based on the authors research so far. The thesis study also highlights that even though, there might be a technology that is invented for seamless data transition, there is always a question if the vendors want to provide it compromising the business and strategic reasons.

The thesis study along with the reasons provides some interesting methods of solving the problem in this specific case. Out of the 10 concepts that were suggested, majority of them deal with writing plugins and extracting data using the API and this requires resource allocation in Tacton. Specifically, the concepts of Integration with Forge, HOOPS exchange, EXXAR Stream surely requires allocation of developers to look at the API and evaluate further to verify the complete working functionality for the problem and performance of the integration. The papers suggesting the concept of Incremental tessellation and Macro file exchange & Mapping will require deeper look at the paper and the algorithms mentioned in each of those papers. The Incremental Tessellation algorithm is easy to understand but complex to execute it. The author believes that implementing these two papers can be full time project itself with probably additional skillsets in case. Tacton could start with testing these algorithms with simple geometries like a prototype to verify the performance and effectiveness of these algorithms particularly for Tacton’s case. The easiest and most straightforward idea among all the approaches is the morphing concept. The significance of this idea is the fact that it can be applied right away in the current workflow which speeds up the process by atleast twice. However, this concept also exhibits strict limitation of requiring same vertex count and same vertex order. One suggestion could be to explore a little into methods to equalize the vertex order. All these 6 concepts require extra evaluations to confirm its usability in Tacton;s workflow with criteria’s like performance, cost, value etc. From the personal point, the author believes in going forward with majorly two concepts not just because they have more alignment but also because they are the most deeply evaluated among all. Those two are:

• HOOPS exchange • Morphing modifier

A quick tip is to have a intermediate software to verify the vertex count from the customer model and based on if the vertex count is same or not, the approach can be chosen to add visual assets.

63

Chapter 6 : CONCLUSIONS AND FUTURE WORKS

This chapter presents the final conclusions of the thesis work from the analysis and results chapter. It provides final insights of the whole thesis along with future works that company has to consider furthering this research.

6.1 Conclusions The research highlights a variety of technical concepts which are responsible for the problem of data loss. The thesis identified the problem inside the workflow of the company and located the exact step where the problem is seen. Using scientific research and open innovation concepts, the underlying reasons for the problem of loss of CAD metadata during exchange is addressed in this thesis work. From the full research, the problem identified as CAD data loss between CAD application and a 3D visual graphics application is occurring in the conversion step also called as the tessellation step which converts the representation of the model geometry from B-Rep (Boundary representation) to Tri-Rep (Triangular representation). The core technical reasons for the data loss problem are in the difference in the representation of the geometries as the triangles are just polygons randomly generated and are incapable of storing the high-level metadata in them. However, the triangles do have an associativity between them, and the original B-Rep face and this information is stored in the backend of the application and is not accessible other than the CAD vendors. It is interesting to know that the underlying reasons for the occurrence of the problem is purely because of strategic and business aspects of the CAD vendors in the industry who want their customers to stay in their own ecosystem, hence not providing a seamless data exchange between different systems.

The work is not just limited to identifying the problem and understanding the reasons behind it, but also adds value by brainstorming different ideas that could possibly solve the problem for the company. There are 10 different unique ideas that are evaluated out of which 6 ideas are recommended that showed promising results in solving the problem within the company workflow. The results of these 6 different ideas are presented along with their strengths and weaknesses justifying each idea and listing down further evaluations.

6.2 Future work This thesis is considered as the starting step to understand the overall picture of the problem from different perspectives. The scope is restricted to providing the location and the underlying reasons of the problem to get the full picture of data loss between systems. The current work also provides 1st level evaluations to the company also called as recommendations by analysing different ideas and concepts. The first level evaluations confirm the functionality and feasibility of the respective idea. However, deeper evaluations were made for few ideas and few others required external resources to evaluate some other criterias. This thesis work provides an overview and directs into few solutions which require deeper collaborations and resources. The next steps for the company is to look into how to develop these concepts and come with a product or a framework. It can start with comparing all the 6 ideas and making contact to the sales teams for ideas related to software products which are existing in the company. The two scientific papers didn't explicitly mention the algorithms, but the authors can be contacted to gain more knowledge on how to develop these concepts.

64

References

[1] Archive.zbrushcentral.com. 2020. Vertex Order. [online] Available at: [Accessed 11 August 2020].

[2] Asd-ssg.org. 2014. [online] Available at: [Accessed 11 August 2020].

[3] Autodesk.com. 2020. 3DS Max | 3D Modelling, Animation & Rendering Software | Autodesk. [online] Available at: [Accessed 11 August 2020].

[4] Autodesk.com. 2020. FBX | Adaptable File Formats For 3D Animation Software | Autodesk. [online] Available at: [Accessed 11 August 2020].

[5] Berta, J., 1999. Integrating vr and cad. IEEE Computer Graphics and Applications, 19(5), pp.14-19.

[6] Bianconi, F., Conti, P. and Di Angelo, L., 2006, July. Interoperability among CAD/CAM/CAE systems: a review of current research trends. In Geometric Modeling and Imaging--New Trends (GMAI'06) (pp. 82-89). IEEE.

[7] Braid, I.C., 1975. The synthesis of solids bounded by many faces. Communications of the ACM, 18(4), pp.209-216.

[8] Burghate, Mukul. "Work Breakdown Structure: Simplifying Project Management." International Journal of Commerce and Management 3.2 (2018)

[9] CDS Visual. 2020. Augmented Reality App Development, 3D CPQ, Visual Configuration, And 3D Catalog Solutions. [online] Available at: [Accessed 11 August 2020].

[10] Celik, M., 2017. Morpher Transform Animation Trick In 3DS Max. [online] Youtube. Available at: [Accessed 11 August 2020].

[11] CGTalk. 2003. Help! Reordering Vertices. [online] Available at: [Accessed 11 August 2020].

[12] Chakravorty, D., 2019. The Most Common 3D File Formats. [online] All3DP. Available at:

[13] Choi, G.H., Mun, D. and Han, S., 2002. Exchange of CAD part models based on the macro-parametric approach. International Journal of CAD/CAM, 2(1), pp.13-21.

65

[14] Ciobota, N.D., 2012. Standard Tessellation language in rapid prototyping technology. Materials and Mechanics, 2, pp.81-85.

[15] Claus, R. and Weitzer, I., 2002. CAD Services: An industry standard interface for mechanical CAD interoperability.

[16] D. Hem, M. P. Baker, Computer graphics: C version, Frentice Hall, Upper Saddle River, NJ, (1997, p. 587.

[17] Data reuse. 2020. [online] Available at: [Accessed 20 August 2020].

[18] Datakit.com. 2020. STEP AP203 And AP214 Protocols. [online] Available at: [Accessed 11 August 2020].

[19] Dimitrov, L. and Valchkova, F., 2011. Problems with 3D data exchange between CAD systems using neutral formats. Proceedings in Manufacturing Systems, 6(3).

[20] Docs.pixologic.com. 2020. Zremesher | Zbrush Docs. [online] Available at: [Accessed 11 August 2020].

[21] En.wikipedia.org. 2020. Boundary Representation. [online] Available at: [Accessed 11 August 2020].

[22] En.wikipedia.org. 2020. Opengl. [online] Available at: [Accessed 11 August 2020].

[23] Exxar. 2020. Exxar Stream CAD To VR In Real Time. [online] Available at: [Accessed 20 August 2020].

[24] Forge.autodesk.com. 2020. Apis | Autodesk Forge. [online] Available at: [Accessed 11 August 2020].

[25] Forums.autodesk.com. 2020. Morphing Shapes -Can It Be Done With Different Number Of Vertices?. [online] Available at: [Accessed 11 August 2020].

[26] Forums.autodesk.com. 2020. Re: Can We Control Poly Count Of A Model While Tessellating. [online] Available at: [Accessed 11 August 2020].

[27] Fu, F., 2020. Parametric Modelling - An Overview | Sciencedirect Topics. [online] Sciencedirect.com. Available at: [Accessed 20 August 2020].

66

[28] Hallmann, M., Goetz, S. and Schleich, B., 2019. Mapping of GD&T information and PMI between 3D product models in the STEP and STL format. Computer-Aided Design, 115, pp.293-306.

[29] Han, Y.S., Lee, J., Lee, J., Lee, W. and Lee, K., 2019. 3D CAD data extraction and conversion for application of augmented/virtual reality to the construction of ships and offshore structures. International Journal of Computer Integrated Manufacturing, 32(7), pp.658-668.

[30] Help.autodesk.com. 2020. Help. [online] Available at: [Accessed 11 August 2020].

[31] Help.autodesk.com. 2020. Help. [online] Available at: [Accessed 11 August 2020].

[32] Hoffmann, C.M., 2005. Constraint-based computer-aided design.

[33] Honeypoint3D.com. 2016. Converting Mesh To Parametric CAD | Honeypoint3D. [online] Available at: [Accessed 11 August 2020].

[34] Inc, T., 2020. Opengl Overview. [online] Opengl.org. Available at: [Accessed 20 August 2020].

[35] Inozemtsev, A.N., Troitsky, D.I. and Bannatyne, M.M., 2000, July. Parametric modelling: concept and implementation. In 2000 IEEE Conference on Information Visualization. An International Conference on Computer Visualization and Graphics (pp. 504-509). IEEE.

[36] InstaLOD. 2020. Preserving CAD Model Meta Data After Tessellation. [online] Available at: [Accessed 11 August 2020].

[37] InstaLOD. 2020. Using Scene Rules For Full Automation. [online] Available at: [Accessed 20 August 2020].

[38] Jezernik, A. and Hren, G., 2003. A solution to integrate computer-aided design (CAD) and virtual reality (VR) databases in design and manufacturing processes. The International Journal of Advanced Manufacturing Technology, 22(11-12), pp.768-774.

[39] Knowledge.autodesk.com. 2020. Modify Or Transfer Vertex Orders | Maya 2018 | Autodesk Knowledge Network. [online] Available at: [Accessed 11 August 2020].

[40] Knowledge.autodesk.com. 2020. Prooptimizer Modifier | 3DS Max 2020 | Autodesk Knowledge Network. [online] Available at: [Accessed 20 March 2020].

67

[41] Koskinen, K.U. and Pihlanto, P., 2008. Why Knowledge Management in Project-Based Companies?. In Knowledge Management in Project-Based Companies (pp. 1-6). Palgrave Macmillan, London. [42] Kroszynski, U., Palstroem, B., Trostmann, E., & Schlechtendahl, E. G. (1989). Geometric data transfer between CAD systems: solid models. I E E E Computer Graphics and Applications, 9(5), 57-71.

[43] Kumar, Pankaja Pradeep. "Effective use of GANTT chart for managing large scale projects." Cost engineering 47.7 (2005): 14.

[44] Lane, J. and Carpenter, L., 1979. A generalized scan line algorithm for the computer display of parametrically defined surfaces. Computer Graphics and Image Processing, 11(3), pp.290-297.

[45] Learnopengl.com. 2020. Learnopengl - Opengl. [online] Available at: [Accessed 11 August 2020].

[46] Lee, D.T. and Lin, A.K., 1986. Generalized Delaunay triangulation for planar graphs. Discrete & Computational Geometry, 1(3), pp.201-217.

[47] Luc Sanders, A., 2019. Understanding The Differences Between Autocad And Other 3D Programs. [online] Lifewire. Available at: [Accessed 11 August 2020].

[48] Marchenko, M., Behrens, B.A., Wrobel, G., Scheffler, R. and Pleßow, M., 2011. A new method of visualization and documentation of parametric information of 3D CAD models. Computer-Aided Design and Applications, 8(3), pp.435-448.

[49] Masuda, H. and Ohbuchi, R., 2000. Coding topological structure of 3D CAD models. Computer-aided design, 32(5-6), pp.367-375.

[50] McHenry, K. and Bajcsy, P., 2008. An overview of 3D data content, file formats and viewers. National Center for Supercomputing Applications, 1205, p.22.

[51] Monedero, J., 2000. Parametric design: a review and some experiences. Automation in Construction, 9(4), pp.369-377.

[52] Nabil Mohammed Ali Munassar and A. Govardhan, “A Comparison Between Five Models Of Software Engineering”, IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, , pp. 94 – 101, September 2010

[53] Nerur, S., Mahapatra, R. and Mangalaraj, G., 2005. Challenges of migrating to agile methodologies. Communications of the ACM, 48(5), pp.72-78

[54] Ng, W.M.M. and Tan, S.T., 2000. Incremental tessellation of trimmed parametric surfaces. Computer- Aided Design, 32(4), pp.279-294.

[55] Owen, J. and Bloor, M.S., 1987. Neutral formats for product data exchange: the current situation. Computer-Aided Design, 19(8), pp.436-443.

[56] Paviot, T., 2010. Pythonocc Parametric Modeling And Meshing. [online] Youtube. Available at: [Accessed 11 August 2020].

[57] Paviot, T., 2014. Features Overview | Pythonocc - 3D CAD For Python. [online] Pythonocc.org. Available at: [Accessed 11 August 2020].

68

[58] Pdteurope.com. 2014. [online] Available at: [Accessed 11 August 2020].

[59] Pezzoli, D., 2016. Topological analysis, healing and defeaturing of tessellated models.

[60] PiXYZ STUDIO 2019.1 Documentation. 2020. About Tessellation. [online] Available at: [Accessed 20 August 2020].

[61] PiXYZ STUDIO 2019.1 Documentation. 2020. Scripting With The Python API. [online] Available at: [Accessed 20 August 2020].

[62] Poot, L.P., Wehlin, C., Tarkian, M. and Ölvander, J., 2020, May. INTEGRATING SALES AND DESIGN: APPLYING CAD CONFIGURATORS IN THE PRODUCT DEVELOPMENT PROCESS. In Proceedings of the Design Society: DESIGN Conference (Vol. 1, pp. 345-354). Cambridge University Press.

[63] Powernotes.com. 2020. Powernotes. [online] Available at: [Accessed 20 August 2020].

[64] Quilot, L., Feki, A., Phung, T.A. and Roudil, D., Dassault Systemes SE, 2018. Tessellation of a parameterized 3D modeled object. U.S. Patent 9,875,577.

[65] Raghavachary, S., 2005. Rendering For Beginners. [online] Google Books. Pg 171 Available at: [Accessed 11 August 2020].

[66] Ramilo, Runddy. (2009). Non-Parametric and Parametric-Based Computer-Aided Geometric Modeling: An Overview

[67] Raposo, A., Corseuil, E.T., Wagner, G.N., dos Santos, I.H. and Gattass, M., 2006, June. Towards the use of cad models in VR applications. In Proceedings of the 2006 ACM international conference on Virtual reality continuum and its applications (pp. 67-74).

[68] Rappoport, A., 2003, June. An architecture for universal CAD data exchange. In Proceedings of the eighth ACM symposium on and applications (pp. 266- 269).

[69] Re: Loss Of Topology And Parametric Data While Exchange From B-Rep To Visrep. [online] Forums.autodesk.com. Available at: [Accessed 11 August 2020].

[70] Robertson, D. and Allen, T.J., 1993. CAD system use and engineering performance. IEEE Transactions on Engineering Management, 40(3), pp.274-282.

69

[71] Rock, S.J. and Wozny, M.J., 1992. Generating Topological Informa* ion from a" Bucket of Facets". In 1992 International Solid Freeform Fabrication Symposium.

[72] Rohrer, M.W., 2000, December. Seeing is believing: the importance of visualization in manufacturing simulation. In 2000 Winter Simulation Conference Proceedings (Cat. No. 00CH37165) (Vol. 2, pp. 1211-1216). IEEE.

[73] Seymour, D. and Britton, J., 1989. Introduction to Tessellations. Dale Seymour Publications, PO Box 10888, Palo Alto, CA 94303-0879. [74] Sheng, X. and Hirsch, B.E., 1992. Triangulation of trimmed surfaces in parametric space. Computer- Aided Design, 24(8), pp.437-444.

[75] Spitz, S. and Rappoport, A., 2004, June. Integrated feature-based and geometric CAD data exchange. In Proceedings of the ninth ACM symposium on Solid modeling and applications (pp. 183-190).

[76] Stevenson, J., 2013. The Kernel: Why CAD Systems Don’T Play Well With Others. [online] GrabCAD Blog. Available at: [Accessed 9 August 2020].

[77] Strong, B., 2017. B-Rep Vs Visrep Models - Transmagic. [online] TransMagic. Available at: [Accessed 11 August 2020].

[78] Strong, B., 2020. The CAD Format Ladder Part 1 - Transmagic. [online] TransMagic. Available at: [Accessed 20 August 2020].

[79] Tang, Y. and Gu, H., 2010, June. CAD model's Simplification and Conversion for Virtual Reality. In 2010 Third International Conference on Information and Computing (Vol. 4, pp. 265-268). IEEE.

[80] Techsoft3D.com. 2020. HOOPS Platforms | Develop Advanced 3D Platforms | Tech Soft 3D. [online] Available at: [Accessed 11 August 2020].

[81] Thomas, Durand, The ‘Fuzzy Front End’ of Innovation,In: Bringing Technology and Innovation into the Boardroom; Herstatt Cornelius; Verworn Birgit; pp.347-372; . Palgrave Macmillan, London; (2004)

[82] Toker, U. and Gray, D.O., 2008. Innovation spaces: Workspace planning and innovation in US university research centers. Research policy, 37(2), pp.309-329.

[83] TransMagic. 2020. CAD Formats - Transmagic. [online] Available at: [Accessed 20 August 2020].

[84] van Herk, M., 2007. Morphix | Scriptspot. [online] Scriptspot.com. Available at: [Accessed 11 August 2020].

[85] Veisz, D., Namouz, E.Z., Joshi, S. and Summers, J.D., 2012. Computer-aided design versus sketching: An exploratory case study. AI EDAM, 26(3), pp.317-335.

[86] Wiki.polycount.com. 2019. Polygon Count - Polycount. [online] Available at: [Accessed 11 August 2020].

70

[87] Yang, J., Han, S., Cho, J., Kim, B. and Lee, H.Y., 2004. An XML-based macro data representation for a parametric CAD model exchange. Computer-Aided Design and Applications, 1(1-4), pp.153-162.

APPENDIX A

SURVEY ANALYSIS

71

72

TRITA ITM-EX 2020:512

www.kth.se