System Configuration in Design Automation - DIVA

75
IN DEGREE PROJECT MECHANICAL ENGINEERING, SECOND CYCLE, 30 CREDITS , STOCKHOLM SWEDEN 2019 System Configuration in Design Automation SÓLRÚN TRAUSTADÓTTIR KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF INDUSTRIAL ENGINEERING AND MANAGEMENT

Transcript of System Configuration in Design Automation - DIVA

IN DEGREE PROJECT MECHANICAL ENGINEERING,SECOND CYCLE, 30 CREDITS

, STOCKHOLM SWEDEN 2019

System Configuration in Design Automation

SÓLRÚN TRAUSTADÓTTIR

KTH ROYAL INSTITUTE OF TECHNOLOGYSCHOOL OF INDUSTRIAL ENGINEERING AND MANAGEMENT

System Configuration in DesignAutomation

Author

Sólrún Traustadóttir

KTH Royal Institute of Technology

School of Industrial Engineering and Management

MG213X Degree Project in Production Engineering and Management

Stockholm

June 2019

Abstract

Some companies have managed to gain an advantage in today’s increasingly

competitive market by utilizing product configuration software. However, many

companies in the industrial manufacturing industry offer systems of configurable

products and wish to be able to configure the products both individually and

together as a system.

The project described in this thesis was carried out at Tacton Systems, a provider

of sales and product configuration software. This project aims to contribute

to the literature knowledge on system configuration by researching, through

literature study and interviews, what types of systems companies want to be

able to configure, and what relationships or interfaces are needed between the

configurable modules forming the system.

The result was that it is possible to look at each system in levels of abstraction.

When looking at whole systems, the system structures can be split into two types,

i.e., linear systems and central systems. Parameters need to be communicated

between the modules in the system. The module interfaces defined in the Tacton

model could carry enough information to establish the necessary relationships

between the modules and thus make different parameter types irrelevant.

Furthermore, this project investigates different aspects of how Computer Aided

Design (CAD) models for system configuration in SolidWorks need to be

structured to work in a robust way for design automation. Different functions

were tried on a relatively simple model as a proof of concept. The main result is

that the most robust way to do the mates between the configurable components is

to assign them to reference geometry that is built into templates.

This project focused on investigating the possibility for system configuration in

the design automation environment, but it is necessary for Tacton to look at the

future development in a holistic view.

ii

Sammanfattning

Vissa företag har lyckats skapa en fördel i dagens alltmer konkurrensutsatta

marknad genom att använda produktkonfigurationsprogram. Många företag

inom industrin tillverkar dock hela system med konfigurbara produkter och vill

därför kunna konfigurera produkterna både individuellt och tillsammans som ett

system.

Projektet som beskrivs i denna avhandling utfördes hos Tacton Systems, en

leverantör av försäljnings- och produktkonfigurationsprogram. Avhandlingen

syftar till att bidra till litteraturkunskapen om systemkonfiguration genom att

undersöka vilka typer av system företag vill kunna konfigurera, och vilka

relationer eller gränssnitt som behövs mellan de konfigurbara modulerna som

bildar systemet. För att åstadkomma detta genomfördes en studie av litteratur

och intervjuer.

Resultatet var att det är möjligt att titta på varje system i abstraktionsnivåer.

När man tittar på hela system kan systemstrukturerna delas upp i två typer;

linjära system och centrala system. Parametrar måste kommuniceras mellan

modulerna i systemet. Modulgränssnittet som definieras i Tacton-modellen

kan bära tillräckligt information för att upprätta nödvändiga relationer mellan

modulerna och därigenom göra olika parametertyper irrelevanta.

Dessutom undersökte jag i denna avhandling olika aspekter på hur CAD-modeller

för systemkonfiguration i SolidWorks behöver struktureras för att fungera på

ett robust sätt för designautomatisering. Olika metoder prövades på en relativt

enkel modell som ett bevis på konceptet. Huvudresultatet är att det mest robusta

sättet att göra relationer mellan de konfigurbara komponenterna är använda

referensgeometri som är inbyggd i mallar.

Projektet fokuserade på att undersöka möjligheten för systemkonfiguration i

Design Automation-miljön, men det är nödvändigt för Tacton att se på framtida

utveckling i en helhetssyn.

iii

Acknowledgements

I would like to thank Tacton Systems for giving me the opportunity and all the

resources and help I needed to conduct my thesis at the company. I would

especially like to thank my industry supervisor, Mathias Storm, for his support

throughout the project work. Furthermore, I would like to thank all the employees

at Tacton for warmly welcoming me during my time there, many offering great

advice and guidance.

Special thanks go to all of the interviewees that took their time to contribute to

this study.

Last but not least, I would like to thank my academic supervisor, Lars Wingård,

for his guidance while supervising this thesis project.

iv

Author

Solrun [email protected] Engineering and ManagementKTH Royal Institute of TechnologyStockholm, Sweden

Academic Supervisor

Lars WingårdKTH Royal Institute of Technology

Industrial Supervisor

Mathias StormTacton Systems AB

Contents

1 Introduction 11.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Tacton Systems and its Software Solutions . . . . . . . . . . . . . . 2

1.3 Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.5 Delimitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Methodology 72.1 Literature Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Software Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Interviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Literature Study 93.1 Product Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.3 Modularisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.4 Design Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Software Study 154.1 Tacton Design Automation . . . . . . . . . . . . . . . . . . . . . . . 15

4.2 Partners and Competitors . . . . . . . . . . . . . . . . . . . . . . . . 25

4.3 Designing in CAD for Design Automation . . . . . . . . . . . . . . . 28

4.4 Designing in CAD for System Configuration . . . . . . . . . . . . . . 29

5 Interviews 395.1 The Need for System Configuration . . . . . . . . . . . . . . . . . . 39

5.2 How to do System Configuration . . . . . . . . . . . . . . . . . . . . 40

5.3 Customers Using Layout Mode . . . . . . . . . . . . . . . . . . . . . 43

5.4 System Configuration in Tacton - A Holistic View . . . . . . . . . . 46

6 Results and Conclusions 476.1 Types of Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6.2 Relationships Between Modules Within a System . . . . . . . . . . 52

vi

6.3 Building Assemblies for System Configuration . . . . . . . . . . . . 54

7 Discussion and Future Work 57

References 59

vii

1 Introduction

This chapter provides an introduction to the area of the thesis. This chapter

also presents a background on the external project provider, Tacton Systems AB.

Furthermore, the focus and the objective of the thesis is presented, leading to

the research questions. Finally, the structure of the thesis report is presented for

guidance.

1.1 Background

Customers have for a long time enjoyed the benefits of mass production such

as low cost, high quality, and fast product delivery. However, customers are

progressively expecting companies to offer customized products while keeping

the benefits of mass production. It is challenging for companies to successfully

respond to these changes in expectations because with growing customization

comes growing complexity. The term ”mass customization” refers to combining

customization with the benefits of mass production (Tseng & Hu 2014). For

companies to aim at mass customization, they need to act fast and operate

efficiently.

Some companies have achieved a competitive advantage, offering customized

products efficiently by implementing and using product configuration systems

(PCS) (Myrodia et al. 2017, Forza & Salvador 2002). Product configuration,

also known as knowledge-based configuration, refers to combining predefined

components in different ways to enable customization of a product (Orsvärn &

Axling 1999). The product configuration process is performed in PCS software,

also referred to as configurators. Product configuration is executed by choosing

from component variants and assigning values to parameters, to determine the

specific requirements of the final product. The amount of possible solutions

for a configured product rises exponentially with the number of available

components and component variants for the product. The components that

are combined adhere to predefined constraints (Sabin & Weigel 1998) that are

specified in the PCS along with all other product knowledge, such as available

1

component variants. The constraints can be defined for various reasons such as

technical restrictions, manufacturing limitations, or economic aspects. Artificial

Intelligence (AI) has for a long time been used in product configuration for

complex products (Sabin & Weigel 1998, Haug et al. 2012). A configuration

engine evaluates the constraints and makes sure that only possible solutions can

be selected, using AI techniques.

Product configuration can be applied in various scenarios for different purposes.

It can be used in sales to generate a correct sales bill-of-materials (SBOM) and

for creating quotations instantly. It can also create different types of BOMs such

as engineering BOM (EBOM), manufacturing BOM (MBOM) and service BOM,

including different kinds of product specifications such as lead-time calculations

and production instructions. Furthermore, product configuration can be used in

DesignAutomation (DA)where the configurationmodel is connected toComputer

Aided Design (CAD) software. It can be used early in the DA process to generate

simplified CAD files that can, e.g., be used for material quotation. It can also be

used later in the process during the product configuration. Then it is possible

to see the product change in real time as the product gets configured, and CAD

models and drawings for design engineers and manufacturing are generated

automatically. In the engineer-to-order (ETO) sector, where the products are

developed or modified to each customers’ specification and much time is spent

on design-related tasks, using DA is a very efficient way to shorten lead time,

to reduce cost and to maintain or even to improve the quality (Verhagen et al.

2012).

1.2 Tacton Systems and its Software Solutions

This thesis project was carried out at Tacton Systems AB, henceforward called

Tacton. Tacton is a provider of sales and product configuration software and

services. It started in 1987 as a research project on the application of Artificial

Intelligence (AI) to solve industry challenges and was founded as a company

in 1998. Today, as a result of over 20 years of AI development, Tacton offers

a highly sophisticated configurator, serving customers across the globe (Tacton

2019). Tacton has over 250 employees, where the majority work with Tacton

2

Configure Price Quote (CPQ). Tacton offers their own configurator that manages

advanced pricemodels and a quotation tool, Tacton CPQ, that enables sales teams

to configure the product according to the customers’ needs. The configurator

engine checks and validates the entire solution after each choice, ensuring that

the solution is always absolutely correct. Tacton CPQ delivers correct product

specifications instantly down to the BOM level. Tacton also offers other software

solutions, and one of them is Tacton Design Automation (DA). Tacton DA is a

configurator software connected to a CAD system. It enables configuration of

products and an automatic generation of complete 3D models and 2D drawings

with the correct dimensions and specifications. Tacton DA can also be used

in conjunction with CPQ, as a back-end CAD server, generating the CAD files

automatically during the sales process in CPQ. Tacton DA is, like CPQ, connected

to the configurator engine, so the entire solution is validated after each choice

is made, eliminating costly design errors. Tacton DA is available for different

CAD systems, more precisely, SolidWorks, Autodesk Inventor, and PTC Creo.

Using Tacton DA to automate repetitive engineering design work can reduce the

engineering hours drastically, allowing engineers to spend their time on other

tasks, such as innovation and product development.

1.3 Problem Description

Tacton DA has had its primary focus on product configuration where complex

products can easily be customized and modeled according to the customers’

needs. It is a developed software that can create 3D models and 2D drawings

of these configurable products. However, there is a need to expand Tacton DA’s

capabilities.

Customers want to be able to build entire systems of configurable products.

A typical example are customers that offer factory layouts of machines and

conveyors. Eachmachine and conveyor needs to be individually configurable, but

they also need to match each other and fit together. In other words, eachmachine

and each conveyor should be configured individually, but they should also be able

to communicate with surrounding machines and conveyors.

3

During the literature study for this project, no common definition of a system

configuration in the context of product configuration could be found. To clarify

what is meant with system configuration in this thesis, the following definition is

used:

System configuration means to be able to combine configurable modules

together and make them communicate the relevant input and output values of

the surrounding modules, making sure that they fit together and run as a whole

system.

The systems that customers want to configure can vary significantly in complexity

and structure. They can be anything from the typical factory layout consisting

of multiple machine lines to simple cabins that all need to have the same height.

Systems do not necessarily need to be composed of many separate products that

are placed together. If one product consists of two or more configurable modules,

the product on its own can be a system.

Tacton has been able to meet the customers’ needs for building whole systems

of configurable products both in CPQ and DA. However, Tacton does not offer

a genuine system configuration as it is defined in this thesis, but instead, each

problem solution is restricted to the use of existing options. Tacton DA offers

a feature called ’Layout’. The Layout feature is only available for SolidWorks,

does not use the Tacton configurator engine to validate the compatibility between

nodes and is limited in its usage. The Layout feature and its limitations are

explained in detail in chapter 4.1.1. Although the Layout option has solved some of

the customers’ requirements for building systems, due to its limitations, it should

not be confused with system configuration as it is defined in this thesis.

By offering system configuration in Tacton DA, it will be possible to break

down large projects into smaller ones. That allows separate teams to work on

different parts of the solution simultaneously, resulting in shorter configuration

time. System configuration will result in significantly easier maintenance of

the solutions. By making system configuration in Tacton DA use the Tacton

configurator engine, the choices made will be verified by the engine so the

solutionswill always be correct. Additionally, it will allow for systemconfiguration

to be compatible with Tacton CPQ, which the Layout option is currently not.

4

Now, Tacton wants to look into the possibility to replace Layout with a system

configuration solution.

1.4 Research Questions

This thesis project aims to research if and how Tacton can create system

configuration functionality in Tacton DA to be able to meet the customers’ needs.

Various areas and aspects need to be investigated to answer how the new system

configurator should be designed. For the scope of this thesis work, three research

questions were defined:

1. What types of systems exist in the manufacturing industry?

To be able to answer that, it is necessary to understandwhat kind of products

do customers have that they would like to be able to realize and configure in

design automation.

2. What relationships or interfaces between parts, modules, and products are

needed?

3. How should CAD models be built and structured to work in a good and

robust way for system configuration?

1.5 Delimitations

The focus of the project work was on how Tacton should do system configuration

in their DA software. Therefore the project work is built on knowledge

from Tacton. Additionally, the research was limited to the SolidWorks CAD

environment but could easily be expanded to other CAD software such as

Autodesk Inventor or PTC Creo. SolidWorks offers a vast amount of features and

commands, and they can be combined in different ways to achieve different final

results. Only the aspects that the author considered relevant to CAD designs for

system configuration were investigated during the project work, but because of

the number of possible functions and aspects to consider, some options might

have been overlooked and not taken into consideration in this thesis project.

5

Furthermore, this research is limited to the features and commands available in

SolidWorks 2019.

This project only provides an investigation, and no implementation of a real

software solution was carried out during the project work.

1.6 Outline

Following this introduction is an explanation of the research methodology used

to answer the research questions during the thesis project work. Chapter 3 covers

a literature review of the main concepts and methods related to the topic of the

thesis. Chapter 4 includes a software study that can be further broken down

into an explanation of how Tacton DA works and how designers should build

their CAD models for system configuration. The relevant information gathered

during the interviews is reviewed in chapter 5 to gain deeper knowledge than

what was possible during the literature review and software study. The results and

conclusions after analyzing all the information gathered are presented in chapter

6. Finally, in chapter 7, the results are discussed along with the delimitations and

future work.

6

2 Methodology

The information collection can be divided into three main parts, i.e., a literature

study, software study, and an empirical study.

2.1 Literature Study

The literature study covers the study of available literature that is related to the

field that Tactonworks in, i.e., product configuration, that is relevant to this thesis

work.

2.2 Software Study

The software study consists of a thorough explanation of how Tactons’ DA

solution works and a state-of-the-art review of other solutions, similar to Tactons’

DA, that exist on the market today, with a particular focus on DA for system

configuration.

The software study also includes an investigation into how CAD models can be

built up to work in a robust way for system configuration. Information was

collected from CAD vendors and engineering companies. When the relevant

information had been collected and reviewed, the methods found where applied

on relatively simple CAD models as a proof of concept.

The focus of the investigation was put on the SolidWorks CAD environment. It

offers an official Web Help where it is possible to read and get instructions on

different functions that the software offers.

2.3 Interviews

The main goal of the interviews was to gain a deeper understanding of the

field of product configuration, to establish the need and requirements for

system configuration further, and to investigate the possibilities for system

configuration.

7

When companies are discussing the need for a new system, one of the first things

that should be established are the requirements of the new system (Hull et al.

2011). That way, the requirements can be used to guide and drive the development

process of the project. Hull et al. (2011) defined two domains for the requirements

layers; the problem domain and the solution domain, see figure 2.1.

Figure 2.1: The three requirements layers, split into two domains (Hull et al.2011)

Interviews were conducted with stakeholders to get their view on what they want

and expect from system configuration to be able to define the problem domain,

according to Hull et al. (2011) definition.

The interviews were conducted with various people that work with product

configuration in one way or another. That included both employees of Tacton

as well as Tactons’ customers. The list of interviewees can be found in Appendix

A.

All interviews were semi-structured, where a set of pre-defined questions were

asked, as well as opening up for new ideas and topics to be discussed. The

reason why the interview method of semi-structured interviews was chosen is

that the group of people that were interviewed had a very diverse background

and knowledge. The pre-defined questions were also changed according to who

was being interviewed in order to collect the relevant information. Additionally,

some of the pre-defined questions were very open and were only meant to guide

the interviewee to a certain path or theme and get the interviewee to speak freely

about the topic.

8

3 Literature Study

A literature review was performed to understand the problems described in

chapter 1.3 better and to acquire more knowledge about the subjects related to

the problems.

3.1 Product Configuration

Product configuration enables efficient customization of products. Product

configuration systems (PCS), also referred to as configurators, is the software

system used for product configuration. Each PCS usually has a so-called front

end where the user selects from predefined components and assigns values to

parameters, tailoring the product to the customers’ needs (Orsvärn & Axling

1999). The PCS contains all the product knowledge, such as the available

components and the predefined constraints. Product configuration utilizes AI

technologies to search for a valid configuration, making sure that the solution

is always correct and no unfeasible choices have been made (Sabin & Weigel

1998). An example of a product configuration is when a customer orders a new

customized car from a car manufacturer. The customer begins by choosing a car

model, then continues going through a list of choices, making other selections

such as the body type, color, transmission, and engine. Naturally, not all choices

fit together, e.g., if the customer selects an SUV, the engine types that the customer

can select from are not the same as if the customer would have selected a sports

car.

Product configuration can be a very useful tool that provides substantial benefits

for companies that decide to implement and use it (Myrodia et al. 2017, Forza

& Salvador 2002). Companies using a PCS can determine which product

specifications they want to automate the generation of, such as bills-of-materials,

manufacturing instructions, and drawings. Digitization and automation of sales

and engineering processes to generate the necessary product specifications results

in reduced lead-times, reduced costs, as well as increased quality (Haug et al.

2012).

9

Aiming for mass customization, the concept of offering customized products

at near mass manufacturing efficiency, is becoming increasingly important to

survive in today’s competitive market (Tseng & Hu 2014). Time, cost, and quality

are critical factors that companies need to attend to carefully. Configurators can

be the heart of a company’s mass customization strategy (Hvam 2006).

One of themost significant issues facedwithin the engineer-to-order (ETO) sector,

where the products are developed or modified to each customers’ specification, is

a long lead time (Hicks et al. 2000). That is because with increased customization

comes increased complexity, which results in increased time for all processes

that affect the lead time within the organization. The sales process is time-

consuming because of the time it takes to calculate and give quotation for a

customized product and many engineering hours are spent on design and the

creation of all relevant information such as production specifications, CADmodels

and drawings for the customized product. That is why implementing and using a

PCS in conjunction with DA is an efficient way to decrease lead times and reduce

costs (Verhagen et al. 2012). Myrodia et al. (2017) investigated the impact of PCS

and concluded that using PCS resulted in increased accuracy of cost calculations,

resulting in increased profitability.

Implementing and utilizing product configurators can also be a very efficient

way to manage the product knowledge in regards to the variety offered by the

companies (Forza & Salvador 2002). It is common and recommended that

companies that decide to implement product configurators, also modularise their

product range, if the products are not already module-based. Modularising the

product range is an efficient way of handling product complexity (Blackenfelt

2001). The concept of modularisation is explained further in chapter 3.3.

The benefits of implementing and using product configurators can be substantial.

When implementing PCS, it opens up for an opportunity to implement and use

DA simultaneously, that can be especially beneficial for ETO companies to reduce

the engineering hours spent on repetitive design tasks. Although the benefits are

apparent, far from all ETO companies use configurators. One of the reasons for

companies being hesitant to implement configurators is because of the challenges

they might face during the implementation and utilization (Forza & Salvador

10

2002).

The companies providing product configurators and academia are well aware

of the advantages of configurators as well as the challenges companies face

when implementing them. The configurators and the implementation processes

are therefore continuously being improved, and more and more companies

are acquiring PCS, gaining a competitive advantage by taking advantage of AI

technology and digitizing their sales and engineering processes.

3.2 System Configuration

Although a substantial amount of research exists on the subject, barely any

information can be found on the matter of system level configuration in the

context of product configuration. In fact, no definition of a system configuration

in this context could be found. Therefore, a definition was provided in chapter 1.3

in the introductory part of this thesis, to be used in this work.

Kristianto et al. (2015) wrote about the need to think about configuration

on the system level, and not only on the product level. Their proposal was

directed towards ETO companies that develop large complex products where

the configuration cannot be completed fully from the beginning. Uncertainty

can remain for various reasons such as incomplete product parameters, more

engineering work being required or multiple teams or even companies delivering

components for the product. One example of such a large complex product is a

ship, where the production takes a long time, and components are ordered from

various suppliers, and different teams work on different parts of the product.

What Kristianto et al. (2015) suggested was to use a system level configuration

to include the main building blocks and the interfaces containing the important

parameters and constraints. That way, it is possible to provide individual building

blocks to the complete design (Kristianto et al. 2015).

Kristianto et al. (2015) made a significant contribution to the research on system

configuration, but understandably did not cover all aspects of it. Other research

on the topic mainly consists of short chapters included in more extensive papers,

only scratching the surface of the subject. More research is needed on the topic of

11

system level configuration to understand what the market needs and how system

level configuration should be performed. This master thesis contributes to that

research, with a focus on a system-level configuration for DA.

3.3 Modularisation

Modularisation is the concept of combining various building blocks with well-

defined interfaces in different ways to satisfy varying requirements (Blackenfelt

2001). Modularisation is closely related to product configuration. To be able to

offer product configuration, it is necessary to have predefined components and

component variants. Modularisation is exactly about that. In a modular product,

the parts composing the product have been divided into so-calledmodules. When

configuring the product, it is possible to choose between anywhere from none to

multiple module variants for each module of the product.

Increased product variety often results in increased gross revenue. However,

it also results in increased overall cost (Blackenfelt 2001). That is why one

of the main challenges with handling the product variety using modularisation

is to choose the right level of variety. Some of the key activities involved in

modularisation is understanding what the customers want and being able to

translate the customers’ needs into technical solutions. Companies need to

analyze what the right level of variety is, to be able to offer what the customers

want, without the product becoming too costly.

When implementing PCS, all components and component variants must be

predefined to be able to offer product configuration. Therefore, it is recommended

that the companies that implement product configurators begin by modularising

their product range. The PCS will then manage the validity of the offered

structures. The PCS also handles the translation of customer needs into

the physical components that the final product consists of (Kristianto et al.

2015).

12

3.4 Design Automation

Design Automation (DA) refers to automating the design process by creating

general models that represent an entire class of objects (Amadori et al. 2012). The

main goalwithDA is to automate repetitive engineeringmodeling tasks (Verhagen

et al. 2012, Cederfeldt & Elgh 2005). By combining DA with the concept of

product configuration, it is possible to create configurationmodels that include all

necessary knowledge and to control both CADmodels and CAD drawings through

it. The way Tacton performs DA is explained in detail in chapter 4.1.

3.4.1 SolidWorks Application Programming Interface

Application Programming Interfaces (API) are used to enable communication

between software programs. The API contains the communication methods

between components, i.e., a set of functions and procedures, that enable

information to be accessed by an external program. That way, it is possible to

perform actions in the software without using the user interface of the software.

The structure and contents of each API can vary greatly.

The SolidWorks API enables developers to create code and automate designing

processes in SolidWorks. It is not uncommon that SolidWorks users create

macros, using the API, to automatically perform common tasks. Similarly,

Tacton DA is able to exchange information with SolidWorks through the API and

drive changes in SolidWorks. Although API’s provide building blocks, making it

easier for developers to create programs, the developers are also limited to the

capabilities of each API.

13

4 Software Study

This chapter provides information about Tactons’ solutions that were studied

using material and tutorials available to Tacton employees. An investigation was

also performed on similar solutions to Tacton DA, and they were reviewed to

understand what products are available for customers.

Another investigation was conducted into how designers should build their CAD

models to make them work in a good and robust way when used in system

configuration. This involved information gathering as well as applying the

methods on a relatively simple CAD model as a proof of concept.

4.1 Tacton Design Automation

This chapter provides guidance through one of Tactons tutorials, “Simple

Conveyor”, to provide the reader with a comprehensive demonstration of how

Tacton DA works and how solutions are modeled in Tacton DA.

Tacton DA is available as an add-in for SolidWorks, Autodesk Inventor and PTC

Creo. The modeling of the solution is performed in the Tacton DA Studio. The

modeled solution is saved in a .tcx file. Each .tcx model is connected to a CAD file,

which is the so-called “Master Model” for the solution.

Figure 4.1: The SolidWorks Master Model

15

In this demonstration, the Master Model is a SolidWorks Assembly of a simple

conveyor, see figure 4.1. Tacton DA edits the Master Model by driving parametric

changes, by selecting from configurations or by replacing subcomponents or sub-

assemblies. For the Master Model to update successfully during modifications, it

must be a robust parametric model with a robust design intent.

When starting a new Tacton model, the first step is to create the component

design tree. The component design tree in Tacton DA often looks similar to

the SolidWorks design tree. One component is needed in the Tacton DA design

tree for every SolidWorks component that will be configured. The Tacton DA

components are thenmapped to the corresponding SolidWorks components. The

Tacton DA design tree can be seen to the left in figure 4.2.

Figure 4.2: The Tacton DA Studio

Only one beam and one support (for the four visible in the SolidWorks Master

Model) is needed in the TactonDA design tree because whenmultiple instances of

the same SolidWorks file is in an assembly, they act together so when parametric

changes are made to one component, the other instances also receive the same

modification. Only one roller is needed in the Tacton DA design tree because the

SolidWorks Master Model only used one roller that was patterned to make more

instances. However, since the suppression state of the two middle supports that

are suppressed in the SolidWorksMasterModel should be controlled, it is possible

16

to create a collection in the Tacton model, where they are grouped to make their

visibility state react in the same way.

Each Tacton DA component is associated with attributes, as can be seen in

the lower right part of figure 4.2. The attributes are then mapped to the

SolidWorks parameters that should be driven by Tacton DA. When attributes

have been mapped, the icon next to the attribute name changes to indicate the

mapping. An example in the conveyor tutorial is the roller_quantity attribute of

the conveyor that is connected to the quantity in the roller pattern. Similarly,

the roller_distance is mapped to the distance between instances in the pattern,

and finally, the roller_start_distance is mapped to the dimension in the mate

between the rollers and the beam, see figure 4.3. As seen in the figure, the

dimensions that the attributes are connected to all have a logical name such

as “Distance@Roller_Position” which is considered as good practice and makes

the modeling of the solution much easier than if the parameters are not named

logically, e.g., “Distance37”.

Figure 4.3: Mapping attributes

17

To be able to control the suppression state of the middle supports it is necessary

to associate it with the predefined ”qty” attribute as seen in figure 4.4.

Figure 4.4: Control Suppression State on Middle Support

Each attribute has a domain that specifies what values or range of values the

attribute can take. The configurator engine will then make sure to only consider

values in line with the specified domain for each attribute. It is possible to specify

a new custom domain or use one of the available pre-specified domains such as

“int” which allows all integers or “boolean”which allows the values 0 or 1. In figure

4.4 and 4.2 it is possible to see the domains specified for each attribute.

It is possible to create variant tables such as the one seen in figure 4.5 that

contain lists of variants from which the configurator can select. The configurator

must then choose one variant from the list, and that variant will occupy that

position in the design tree. When selecting from SolidWorks configurations or

when replacing SolidWorks components the variant tables must be used. In

this conveyor tutorial, a variant table is created for different types of rollers.

Each variant is connected to a SolidWorks model of the corresponding roller

type. When the user specifies the type of rollers, the roller component from the

SolidWorks Master Model gets replaced by the one from the variant table. The

symbol in front of the component name is different when a component is replaced,

see the different symbols on figure 4.4 and 4.5.

18

Figure 4.5: Variant Table

The variant table can be used and connected to the components in the design

tree. That is done for the rollers in the conveyor tutorial, as shown in figure 4.6.

Then the features of the variants from the variant table get added automatically

as attributes for the component in the design tree.

Figure 4.6: Variant Table Connected to Component

Not all combinations or parametric values make sense in the configured solution.

Constraints are used to define the relationships and dependencies between

attributes. Constraints can also be used to define the values of the attributes

further. The constraints used in the conveyor tutorial are shown in figure 4.7. The

first constraint in this tutorial defines the height of the conveyor. Then the roller

19

constraints make sure there is no space between the rollers, define the number

of rollers, and make sure they are located correctly. Finally, the last constraint

makes sure that if the conveyor is equal to or exceeds 1500mm in length, extra

support will be added in the middle of the conveyor.

Figure 4.7: Constraints

Finally, fields need to be created for the user interface. For each attribute, it is

possible to create a user interface field, but fields are normally only created for the

attributes that the user wants to be able to control by making choices or assigning

values. In the conveyor tutorial, three fields are created, as shown in figure 4.8,

each connected to an attribute.

Figure 4.8: Defining the User Interface

20

Before creating the fields, steps and groups must be created. One step is visible to

the user at a time. If the model contains two or more steps, the user will begin

by configuring the fields in the first step, and then move to the next step and

so on until the user has gone through all the steps in the model. Each step is

configurable, but when moving on to the next step, the selections made in the

previous step gets locked and cannot be changed. It could be explained as one-

way communication. Step 1 talks to step 2, but step 2 does not report back to

step 1. There is no way for the user to know how the values he/she commits in

step 1 will affect the possible choices in step 2. If the user decides in step 2 that

he/she wants to change the committed values from step 1, he/she needs to go

back to step 1, change the committed values, and when moving on to step 2, the

values he/she had already committed there might be changed. That is because

the changes the user made to the committed values in step 1 affects the possible

solutions in step 2 and the configurator engine will always search for a possible

solution in the following steps, but not in the preceding ones.

It is possible to select from various types when specifying the fields for the user

interface. They can, e.g., be a drop-down list, radio buttons, image list, slider, or

the user needs to type values manually. It is also possible to control other aspects

of a field such as its visibility or default value.

To use the model, and access the user interface just created in the Tacton DA

Studio, the Runtime is started. The Runtime runs inside SolidWorks and can be

seen in figure 4.9. The figure also shows different types of fields, the Roller Type

option has a drop-down list, the length has a slider, and the value for the height

should be typed in the field.

Figure 4.9: The User Interface

21

The CAD Master Model updates simultaneously as the user assigns values and

makes choices in the user interface. An example of the configured conveyor and

the corresponding updated Master Model in the SolidWorks graphics window is

shown in figure 4.10. The conveyor tutorial is only a one-step model, but if it

containedmore steps, it would be possible tomove between steps using the arrows

in the top right corner on the user interface.

Figure 4.10: The User Interface after Assigning Values

The configurator engine validates every choice that the usermakes, preventing the

user from making any combination of choices that conflicts with any constraint,

attribute domain, or other data specified in the model. The fields in the user

interface will show green, orange, or red color to indicate whether a choice is

possible or not. Two new constraints were added to the conveyor tutorial to

demonstrate how the conflict resolution works. One completely banning the 100

mm roller and the other only allowing the 80 mm if the conveyor exceeds 1000

mm in length. As seen in figure 4.11, the 100mmoption is red, and not possible to

choose. The length of the conveyor is set at 500mm, so the smaller rollers are the

only green options. However, it is possible to choose the orange option for 80mm

rollers, but then the user receives a message in a pop-up window saying that there

is a conflicting parameter. The configurator engine will automatically propose a

new value for the conflicting parameter. In this case, the length of the conveyor

needs to be changed to solve the conflict, and the user can either choose to accept

or decline that proposed value.

22

Figure 4.11: Conflict Resolution

However, because the Tacton configurator engine is a solver, i.e., the engine will

always give the user a valid solution, all fields have an automatically assigned value

for each parameter. The conflict resolution only checks on values assigned by

the user. That means that during configuration, while the user assigns values,

the configurator engine will be modifying the automatically assigned values, if

possible, to meet the users’ requirements.

Today, ifmultiple values need to be changed for an orange option towork, the user

receives a list of these in a pop-up window and only needs to press once to accept

or decline the proposed new values. Sometimes there is more than one possible

solution to resolve a problem, but the configurator engine will always only suggest

one feasible solution. If the user is not happy with the values suggested by the

configurator engine, he/she will need to decline the proposed values and commit

newvaluesmanually. The user can set different search criteria for the configurator

engine, e.g., for it to search for the cheapest solution or smallest solution.

4.1.1 Layout Option in Design Automation

Tacton DA has managed to meet some of the customers’ demand for more

advanced possibilities by offering a Layout option. The Layout option, as it is

today, allows configuring two or more configurable components together, i.e.,

placing two or more configurable SolidWorks parts or assemblies in the same

top assembly document. During the configuration, the configurable components

communicate with each other through global parameters. The global parameters

are specified in fields in the Layout Mapping Editor, see figure 4.12.

23

Figure 4.12: Global Parameter

These global parameters contain the values of the configured components and

work as an interface between them, allowing the components to communicate.

When a component with a global parameter is used in an assembly containing

another component with the same global parameter, they share a value. There

is no need for a predefined CAD top assembly controlled by a large and complex

Tacton configurator model that can configure everything when using the Layout

option. Instead, it is possible to create an assembly and insert only the desired

configurable components and configure them together in the Layout mode.

Because of the communication through the global parameters, it is possible to

update several components with separate .tcx files simultaneously, so it is not

necessary to open each configurable component to modify values and make them

match, but instead, they can be modified in the top assembly.

When configuring a component in a Layout, the new value of a global parameter

is sent to all other components, on all levels, that include a global parameter with

the same name. If wanted, it is possible to control which components receive

which information in the top assembly through the global parameters, using what

is called “targeted global parameters”. Defining which components the global

parameters target is defined in the Layout Mapping Editor, see figure 4.12.

24

Breaking the large configurator model down into many smaller configurator

models using the Layout option results in various other benefits. The performance

of the model is improved by reducing the size and complexity of it, and

maintenance becomes easier. Since each configurable component can be run

individually, it is possible for different teams to work on different parts of the

product concurrently.

However, as explained in chapter 1.3, various problems remain unsolved. The

limitations of the Layout functionality has been investigated further during

interviews with Tacton employees and customers using Layout. The results from

these interviews are explained in chapter 5.

4.2 Partners and Competitors

Tacton mainly sells Tacton DA licenses through partners around the globe. One

partner has expanded the capabilities of Tacton DA by building their own solution

on top of it. Naturally, Tacton also has competitors that offer design automation

systems. This chapter will cover what design automation solutions exist on the

market other than Tacton DA, with a particular focus on options similar to that

Tacton would want to offer with system configuration.

4.2.1 Lino GmbH

Lino GmbH is a partner of Tacton and resells and implements sales configuration,

product configuration, and design automation software in Germany, Austria,

and Switzerland. Lino describe themselves as more focused on the engineering

and manufacturing side and less in the sales and business side. They focus

on customers that offer machinery and plant equipment. Lino has developed

some tools of their own, building on software from Tacton, where they believe

something is missing in Tactons’ solutions. Therefore, integrations are critical to

Lino, and they have come very far in their development of integrations between

their software and Tactons’.

One of the products that Lino has developed is “Lino 3D Layout” that is built on

25

top of Tacton DA. That product is focused on factory layout planning. It runs

inside CAD and shows a library of all available machines, conveyors, and other

products, see right side of figure 4.13. The user drags a product from the library

and drops it into the graphics window in SolidWorks. The user can click on

the product to start configuring it. When the user drags the next product from

the library, red spheres will appear to indicate where it is possible to connect

the products, see figure 4.13. These red spheres are snapping points where the

products get automatically mated. When products have been mated using these

snapping points, they become a chain and inherit global parameters from each

other, so if a parameter is changed in one product, it will change in the other as

well. It is possible to manipulate the chain and either break chain connections or

link non-connected components/chains. Lino also offers a tool tomove and rotate

chains relative to one another.

Figure 4.13: Linos 3D Layout

Instead of using the detailed engineering assembly for each product while doing

the floor planning, Lino uses simplified sales components. Even though a

simplified component is used, the BOM delivered is correct in regard to the

detailed engineering assembly. It is possible to replace the simplified component

with the detailed assembly if the user wishes to, but then the assembly runs

26

significantly slower.

Lino also offers what they call ”System Configuration” where Lino 3D Layout is

synchronized with TCsite. TCsite is an older version of the CPQ solution from

Tacton that Tacton has stopped selling and has replaced with Tacton CPQ. With

Linos ”System Configuration” it is possible to send the configured layout to TCsite

and receive an instant quotation. It is also possible to modify the configuration in

TCsite and push the updated configured solution to DA.

4.2.2 Others

Naturally, Tacton has more competitors that offer DA solutions. However, when

the market was analyzed with a special emphasis on searching for something

similar to what Tacton wants to offer with its system configuration, not much was

found.

Driveworks has for many years been one of Tactons’ main competitors when

it comes to DA in SolidWorks, and they recently started offering CPQ software

as well. When looking into their product offering for something similar to the

system configuration Tacton would like to offer, the closest product found was

what they call ”Layout mode” in their DriveWorks Solo product. An assembly file

in SolidWorks needs to be open to activate the Layout Mode. The user needs to

browse for a product to insert into the assembly, configure the product, and click

”Preview” to send it into the assembly. The product will then appear somewhere

in the assembly. The Layout mode uses magnetic mates to simplify the mating

process, but it does not send any attributes between products. For example,

when inserting a conveyor into a conveyor line, the user needs to manually select

the correct length, width, and other attributes that need to match between the

conveyors. The Layout Mode in DriveWorks Solo is a way to combine multiple

DriveWorks projects but does not offermany other additional functions of interest

for this project.

Multiple other companies and their product offerings were investigated, but none

offer anything new or something interesting that has not been mentioned in this

thesis already.

27

The CAD vendors themselves offer some functionalities that can be used to

automate design up to a certain degree. They have continued developing design

automation tools, but none that can be compared to the capabilities of Tacton

or other commercial vendors of DA tools, especially when it comes to layouts or

systems.

4.2.3 Summary of Competitors

To summarize, Lino has built on top of Tactons’ solutions to expand the

capabilities even further. However, in regards to the system configuration that

Tacton wants to offer, no other commercial company offers anything similar to

those capabilities, or even the capabilities of the Layoutmode that exists in Tacton

DA today.

4.3 Designing in CAD for Design Automation

The way that 3D CAD models are structured affects how they can be configured

and how they will act if they are used in larger assembly models. The structure

of 3D CAD models is therefore extremely important when it comes to DA and

requires the engineers to adopt certain modeling techniques to be able to create

robust models that will function well in the DA environment.

When designing for DA it is critical to have a strong design intent. To do so,

the designer must think about the possible changes that will be made to the

model in the future, and how the model should behave when these changes are

applied.

Johan Ernfors (2009) created guidelines for how to create 3D CAD models, so

they work well during configuration in DA and Andréasson & Lord (2013) added

guidelines for the creation of 2D drawings. These instructions have proven to be

successful and are still being updated and used at Tacton today.

When creating a 3D CADmodel that will be used in DA the goal is to minimize the

work needed during the design and maintenance of the model while still being

able to configure it automatically using DA so that it updates successfully.

28

Some information such as parameters, constraints, and relationships can be

controlled either in the 3D CAD software or the configurator model. It is

important to avoid managing the same parameters in two different systems.

That is why, when using a configurator model, the only information that the

CAD software should include is the one needed to create the correct geometry

and all other information should be included in the configurator model (Ernfors

2009).

Modern CAD software uses parametric modeling and feature-based modeling to

be able to design with a strong design intent. During modeling, a sequence of

features is created that either add or removematerial to form the finished product.

Usually, the features are created from 2D sketch geometry.

An example of a parameter type is a dimension. Dimensions are used to control

the size and position of a sketch geometry and can also be used to relate and

constrain existing geometry. Another aspect of parametric modeling involves

creating relations between sketch entities in order to constrain geometries.

Examples of dimensions to control are the length of a line or the diameter of a

circle with a numerical value. Examples of constraints can be to make two circles

concentric, two lines parallel, of equal length or parallel with a certain distance

between them. By using dimensions and constraints, it is possible to make 2D

geometry fully defined.

Parametric changes can be driven from Tacton DA to a SolidWorks model, as was

explained in chapter 4.1.

4.4 Designing in CAD for System Configuration

When it comes to designing in CAD not only for DA, but for system configuration

in DA, new problems come to light. This chapter covers a few useful functions

that SolidWorks offers, some of the problems that might be encountered, as well

as solutions to them.

29

4.4.1 Reference Geometry

It is possible to use reference geometry such as planes, points, axes, or coordinate

systems to create features while designing in SolidWorks (SOLIDWORKS 2016).

It becomes easier to maintain and use models in DA if the designer uses reference

geometry to define the model, and as a result, the robustness of 3D models

also increases. The main reason for that is because whenever a designer creates

geometry, it will receive a unique SolidWorks internal ID code. Mates are assigned

to the specific geometry ID’s, and if the internal ID of a geometric entity has

changed for any reason, SolidWorks will lose the mate reference, resulting in a

mate error. Since the model geometry is constantly being changed in DA, the 3D

model will become more robust and less likely to lose references if a reference

geometry is used instead of edges, faces, and points on the model itself. However,

even if a reference geometry is used, if a component gets replaced by another one,

the mate will break unless the reference geometry that the mate was assigned to

has the same internal SolidWorks ID in both of the components that are being

replaced by one another. Thus, an evenmore robust way is to insert the necessary

reference geometry into templates in SolidWorks.

4.4.2 Templates

SolidWorks offers three default templates that create different types of files:

Part, Assembly, and Drawing. It is possible to create new customized templates

(SOLIDWORKS 2019a) based on one of the default templates, including more

information such as reference geometry if needed.

By building the reference geometry into the templates, all files will have the same

internal ID for the reference geometry that is built into them. It is possible to

create themates between the reference geometries that are built into the template.

Thematewill never break because the internal ID’s that define themate are always

the same, no matter though components are modified or even replaced.

If a reference geometry is deleted and re-added into the template-based file, the ID

will change and everything referencing it will fail. Even if a geometry identical to

another one is created, it will have a different internal ID. Therefore, the template

30

reference geometry should never be deleted.

SolidWorks, like other modern CAD software, has three standard reference

planes for 3D models: Top, Front, and Right. Different kinds of reference

geometry can be built into templates, such as planes, points, axes, and coordinate

systems. It depends on what the intended use is, what type of geometry is

best suited. It is worth noting that a lot of different reference geometry can

be set up into the SolidWorks templates, and not all must be used or visible in

every model. It is possible to organize the reference geometry into folders and

either hide it or show, as the user wishes. One of the interviewees during this

thesis work, Eric Schwieterman, a lead engineer at SMC Corporation of America,

has built coordinate systems into templates at SMC. The reason why they use

coordinate systems is that when two coordinate systems are mated together, the

corresponding components become fully defined (Schwieterman 2019). Hence,

by using coordinate systems as reference geometry, it is possible to determine

what the orientation of the component will be when mated.

When defining the reference geometry in a template, it needs to be constrained in

someway. If coordinate system is to be used as reference geometry, Schwieterman

(2019) recommends creating a 3D sketch with point(s) in it and to attach the

coordinate system to it, to give the designer the most freedom. By doing so, it is

possible to control the location and manipulate the orientation of the coordinate

system as needed through the Coordinate System Properties in SolidWorks.

4.4.3 Consistency in Design

It is not enough for companies to set up suitable reference geometry within their

templates, they also need to have a standardized way of working to make good

use of the templates. Companies need to establish the work procedures that the

engineers should follow when creating CAD models. That includes both defining

a standardized way of working during design and establishing a consistent way

of using the reference geometry within templates. That way, the mates between

components will never break due to lost references, and the models will function

in a robust manner and as intended during DA. Each company needs to create

31

guidelines for the engineers to follow in order to achieve uniformity, where

everyone works the same way.

4.4.4 Mating in SolidWorks

As explained in the previous chapter, it is recommended to use reference geometry

during the conventional mating process. This chapter covers other functions

that SolidWorks offers to automate and simplify the mating process significantly

compared to the conventional mating process.

SmartMates

One of the functionality is ”SmartMates” where different types of automaticmates

can be created (SOLIDWORKS 2018a). To use SmartMates, one component is

dragged onto another component, and SolidWorks will automatically create a

mate between them. Which type of mate SolidWorks creates is dependant on the

geometry on the two components being mated together. Therefore, SolidWorks

will identify the geometry that is used to drag the component as well as the

geometry that the component is dropped onto.

Additionally, it is possible to set up mating references so SolidWorks will know

how the component should be mated. When a component with mating references

is dragged into an assembly, SolidWorks will search for other reference mates

with the same name and type. That way, it is possible to automatically create the

desired mates for a component when inserting it into an assembly. Adding mate

references is convenient for components that are often used and typically mated

the same way every time.

Magnetic Mates

When using Magnetic Mates, the designer defines connecting points on the

components (SOLIDWORKS 2019b). The predefined connection points appear

as pink points. The designer can then drag components over each other, and a

pink connection line will indicate the two connection points which a mate will be

formed between when the designer drops the component into the assembly, see

32

figure 4.14.

Figure 4.14: Magnetic Mate

Althoughmagnetic mates are a really fast and simple way to insert components in

their correct place in an assembly, the functionality is not flawless. When a chain

has been formed with magnetic mates, it moves together. The designer can still

break themagneticmates andmove the individual components unless specifically

locking the magnetic mates, not allowing them to break.

Perhaps the biggest disadvantage with magnetic mates is that there is no way to

define the direction of components to control that they can only be fitted together

in a viable orientation in regards to other components that are already placed

in the assembly. For example, it is possible to place two conveyors back-to-

back together, although they only have one viable orientation in regards to each

other.

Ground Plane

It is possible to define ground planes in assemblies. However, only one ground

plane can be activated in each assembly at a time. The ground plane can be defined

as one of the three standard reference planes or any other plane already in the

assembly. When components are inserted into an assembly with a ground plane,

the ground face will snap onto the active ground plane. The ground face of the

33

component will automatically be the lowest face on the Y-axis unless the user

specifies another face especially.

When doing a factory layout, it is possible to insert a model of the floor layout into

the assembly and define the top of that model as the ground plane. That way, the

user can arrange all the products so that they fit on the factory floor.

SolidWorks recommends using Ground Planes in combination with Magnetic

Mates when doing factory layout. SolidWorks also recommends using SpeedPak

(SOLIDWORKS2017a), i.e., a simplified configuration of an assemblywhen doing

factory layout.

4.4.5 Large assemblies

When it comes to system configuration, when multiple large assemblies might

be placed in the same assembly file and configured together, it is inevitable to

consider the performance in SolidWorks. The normal state for an assembly is

the Resolved state where all of the model data is accessible and fully loaded in

memory. This can result in a long loading time and overall slow performance

in SolidWorks. In the past few years, SolidWorks has introduced new functions

aiming at improving the performance of large assemblies, and today, a number of

techniques exist to handle large assembly models.

Today, SolidWorks offers three additional ”modes” to the normal Resolved

mode, i.e., Lightweight, Large Assembly Mode and Large Design Review Mode.

This chapter covers what these different modes, and other functions offered by

SolidWorks, include and their relevance to improving performance in DA.

Lightweight Mode

It is possible to open an assembly with it sub-assemblies and parts in Lightweight

mode to increase the performance of the assembly. When using lightweight

mode, only a subset of the components’ data is loaded, resulting in faster loading

time (SOLIDWORKS 2017b). If the user wants to load more data than what is

accessible in the lightweight mode, it is necessary to fully resolve the component.

Since the user does not have access to all the features at all times, which is

34

necessary in DA when changes are being made to details in the model, this mode

will not be considered as useful for DA.

Large Assembly Mode

When an assembly is opened in Large Assembly Mode, various system settings

are applied that increase the assembly’s performance (SOLIDWORKS 2019c).

Additionally, all of its sub-assemblies and parts are opened in Lightweight mode,

which makes this option unsuitable for DA.

Large Design Review

Large Design Review enables users to open very large assemblies fast to view and

investigate the model rapidly. The feature manager is available to the user when

using the Large Design Review mode. When using this mode, it is, e.g., possible

to measure distances, cut cross sections and hide and show components. The

capability to edit the assembly while in Large Design Review was introduced in

SolidWorks 2019 (SOLIDWORKS 2019d). Mates are accessible and can be edited,

deleted, or created. Reference geometry and sketches are accessible and can be

shown or hidden and used as references when adding mates. In the edit mode,

it is possible to change configurations of components, delete them or insert new

components. Additionally to being able to mate newly inserted components, it

is possible to use magnetic mates to snap components into position in the Large

Design Review. When the user has made all necessary changes, it is possible to

save the assembly so that the next time it is opened, no matter in which mode,

the changes have been saved. It might be possible to use Large Design Review

for DA, however, it is going to need further investigation to really understand its

feasibility.

Defeature Tool

SolidWorks offers a Defeature tool to remove unnecessary detail and simplify

large assemblies (SOLIDWORKS 2018b). When using the Defeature tool, the

user manually selects which details should be simplified. The details that are

simplified are replaced with simplified solids that the user specifies. The user can

35

also select which details should not be simplified at all. When the simplification

is done, the simplified defeatured model can be saved with a link to the original

assembly.

When it comes to DA, it is obvious that parametric changes will not be driven

on details on components that have been simplified using the Defeature tool.

However, there are some possibilities to use the Defeature tool in DA.

One possibility is to simplify only the complex parts of the model that will never

be modified in any way. An example can be for a machine that uses a motor

that always has the same dimensions, and the motor could be replaced with a

simplified solid.

Another possibility is to utilize the connection between the simplified model and

the fully resolved one. It is possible to create additional code that enables the

simplified model to be open in the graphics window in SolidWorks, and when

the Tacton configuration is started, although it is driving changes to the fully

resolved model, it is possible to make it rebuild the simplified model and publish

the changes in the SolidWorks graphics window.

SpeedPak

SolidWorks offers a SpeedPak option that generates a simplified configuration

of an assembly (SOLIDWORKS 2019e). The simplified configuration retains

its references, so it is possible to substitute the simplified configuration for the

original complex one without losing references. The user needs to select what

features such as faces, reference geometry, and sketches should be selectable in the

SpeedPak configuration. All other details will only be loaded as a subset, similar

to in Lightweight mode, and will not be selectable and thus cannot be modified

or used for mating. Therefore, it is not considered feasible to use a SpeedPak

configuration in DA.

Save an Assembly as a Part

It is possible to save an assembly file as a part file to simplify the design and

improve the performance. By doing so, SolidWorks generates multiple solid or

surface bodies that are accessible in the feature tree of the part file. Although the

36

bodies are accessible in the feature tree, there is no feature history available for

the bodies and thus, not possible to drive parametric changes the way it is done in

DA.

4.4.6 Multiple instances of a component

A very likely scenario when doing system configuration is that more than one

instance of a component will be placed in the assembly. For example, when

doing a factory layout, it is very likely that more than one instance of a straight

conveyor will be used in the floor plan. One of the difficulties which imposes is

that SolidWorks treats the different instances as the same object until the different

instances are saved under different names. In an assembly with two instances

of a straight conveyor, if one were configured to have a length of 2 meters, the

other would automatically update with the same value if it is not saved under a

new name before starting the configuration. Normally during the configuration

process in DA, the files are not saved until after the user has committed all values

and is done making all changes to the model. When the configuration is done, the

files are exported and saved.

One possibility is to save the different instances with different names before

starting the configuration. This could be automated using the SolidWorks API in

multiple ways, and SolidWorks offers functionalities that can come in handy. An

example is the ”Pack and Go” option that SolidWorks offers. Pack and Go collects

all related files for the component into a folder or a zip file which might be useful

when automating the generation and saving the different instances. However,

the user often follows specific rules regarding where and how to save the model

files. It might become difficult to automate the saving process, e.g., for files with

unknown final saving destination or name.

Another possibility is to make the extra instances virtual and then independent.

The virtual model will not be saved until the assembly it is in gets saved. Until

then, the virtual models are only stored internally in the assembly file itself, and

when the assembly is closed, so are the virtual models. The user must therefore

be careful when using virtual models not to loose any work. It is possible to make

37

an instance independent from other instances of the same component as well as

it is possible to rename the virtual models in the feature tree, creating the desired

distinction between the instances. This method supports the way configurations

are done today very well, i.e., by saving everything at the end of the configuration,

when the files are exported and saved.

38

5 Interviews

Interviews were conducted to gain a deeper understanding of the field of product

configuration, to establish the needs and requirements for system configuration

further and to investigate the possibilities for system configuration, with a special

focus on the possibilities in DA.

The information from the interviews that is presented in this chapter can be

split into a discussion about the need for system configuration, how interviewees

envision system configuration, the use of the Layout option offered today in

Tacton DA and finally a holistic view of the future for system configuration at

Tacton.

5.1 The Need for System Configuration

FifteenTacton employeeswere interviewed, all ofwhich agreed that there is a need

for Tacton to enhance the support for customers that want to configure systems

of products. However, it varied significantly between employees how urgent they

saw the need for it. The employees had different opinions and views on system

configuration in general and especially on how Tacton should approach it.

Two customers using the Tacton DA Layout option and one customer that has

built their own ”system configuration” on top of an old sales product TCsite that

Tacton offered were also interviewed to get the customers’ point of view.

Even though Tacton does not offer system configuration as it is defined in this

thesis, they have been able to solve various system configuration problems for

their customers with their existing software solutions. Some of the Tacton

employees had worked on customer projects that involved system configuration.

They could provide information about the existing problem solutions and the

different aspects that worked well or could be improved upon, in order to better

fulfill the customers’ needs.

When askedwhat problems the employees hoped for systemconfiguration to solve

one answer was prominent. That was to be able to break very large solutions down

39

into smaller ones. Whenmodeling solutions for customers using the software that

Tacton offers today, themodeler has the whole solution in front of him-/herself at

all times. There is an “include” option available where the modeler can include a

.tcx file inside another .tcx file. Intuitively this means to include a configurable

module inside another configurable module. This option does not function as

dynamically as system configuration should be able to do. When solutions get

very large, they can get very complex and difficult to maintain or make changes

to. Being able to break very large solutions down into smaller ones has various

benefits. Among those benefits are:

• Easier maintenance

• Different teams working on different parts of the solution concurrently

• Better performance and faster configuration time

5.2 How to do System Configuration

During the interviews, different functions were discussed to understand their

relevance in system configuration. The different types of system structures and

necessary communication between the modules forming the system were also

discussed with the interviewees.

5.2.1 Functions in System Configuration

The interviewees’ opinion on how system configuration should be performed and

which functionalities they want it to include varied significantly. It is necessary to

go through some of the main functionalities that exist in Tacton’s solutions today

to evaluate their usefulness and relevance for system configuration.

Steps

As explained in chapter 4.1, it is possible to break solutions down into multiple

steps. Some employees like to break the models down into multiple steps, while

others try as much as they can to keep their modeled solutions in only one step.

40

The advantages of using steps are that the user does not have to look at all the

options at the same time resulting in easier navigation through the user interface.

It can be very appropriate to use steps in some cases to improve the performance

of the configurator model by excluding all options that are not appropriate for

the product being configured. An example can be when configuring a bike, the

first step could be to select what kind of bike it is, e.g., if it is a mountain bike or

a racer. By making that choice in the first step, all the inappropriate selections

for that product type get excluded. However, the obvious disadvantage of using

steps is that after a selection has been made in one step and the user moves to

the next one, the committed values in the previous step get locked and cannot be

changed.

Conflict resolution

The conflict resolution, i.e., the configuration choices being colored green, orange,

and red according to their feasibility, is very popular amongst all interviewees and

works very well.

As was explained in chapter 4.1, if an orange option is selected today, the user

receives a pop-up window saying that it is only possible to make this selection if

a value of something previously configured is changed. The configurator engine

will automatically propose a new value for the conflicting parameter.

Whatmight be one of the biggest problemswith including conflict resolutionwhen

doing system configuration is how everything is connected, which might trigger a

chain reaction of required changes to be able to change one value.

Interfaces

Tacton does not offer any way to specify the interfaces between configurable

modules in any of its solutions. The onlyway tomakemodules communicate today

is by manually writing constraints, except for the global parameters available in

the Layout option in Tacton DA.

The parameters that Tacton has used so far in their product configuration are

simply referred to as parameters. They could be explained as local parameters that

only apply to the configurable module that the modeler is working with. The only

41

way to establish relationships between these parameters is to write constraints

manually.

When Tacton started offering the Layout option in Tacton DA, they introduced

global parameters that share valueswith all other global parameters with the same

name in the sameSolidWorks assembly file. They also included the option tomake

the global parameter targeted, so themodeler can choosewhich other configurable

models that include a global parameter with the same name in the assembly will

share values. Using global parameters automates the way configurable modules

can communicate parameters and establish relationships between them up to a

certain degree.

It could very well be that other types of relationships might be applicable for

system configuration to automate the communication of parameters between

configurable models, and the Product Manager in DA had already detected two

other types of relationships, namely, chain and pair, that could be useful.

• Chain relationship: Often, one solution includes more than one system. An

example could be in a factory layout. There might be two parallel factory

lines running beside each other, containing the same configurable conveyors

andmachines, but requiring different parameter values, e.g., if the height of

the lines should not be the same. In a case like this, it might be convenient

to offer a chain relationship that only shares values with other parameters

in that same chain but not to other chains running in the same solution.

• Pair relationship: The pair relationship would only affect two configurable

models enabling one configurable model to only share value with the

adjacent module without affecting other parameters in the system.

The same final result could be achieved by using targeted global parameters in

Tacton DA. However, by introducing the chain and pair relationships, it would be

possible to simplify the process of sending parameter values between models in

the chain and pair scenarios.

42

5.2.2 System structures and communications

To be able to develop a tool for system configuration, it is very important to

understand the different system structures that the customers would like to

configure. That includes how the configurable modules are positioned and the

nature of the communication needed between themodules. Because of the diverse

background of the interviewees, the discussion was always different and dozens

of different system structures were looked into and reviewed.

The customers have systems spanning almost all of the industrial manufacturing

industry so it would be a tedious and uninteresting work to enumerate the

different products reviewed, how they connect to form a system and which

parameters need to be communicated in the systems. Throughout the interviews,

the discussion evolved from only discussing the different products forming a

system, to discussing how it is possible to group them logically. Almost all

the interviewees had input into forming the types of system structures that are

presented in chapter 6.1. However, it is worth noting that an employee at Tacton

with the job title ”Director Alliances in North America” had already put a lot of

thought into system configuration before our interview and had already grouped

the types of systems similarly to my conclusions that are presented in detail in

chapter 6.1.

5.3 Customers Using Layout Mode

As explained in chapter 4.1.1, Tacton DA offers a layout mode that uses global

parameters to enable the communication between configurable modules. When

using the layout mode, the new value of a global parameter is sent to all other

modules in the same assembly document, that includes a global parameter with

the same name, but only during the step in which they are activated. Because

the Layout feature is not compatible with the Tacton configurator engine, the

communication is limited.

Interviewswere conductedwith two companies that are currently using theLayout

mode to gain a better insight into the use of the Layout option as it is today.

43

Both customers demonstrated a configuration to show how they use the layout

mode and later answered questions and discussed what works well and what they

would like to be improved. In both customers cases, they use a SolidWorksmaster

model for the system, since the structure of the system does not change so much

between configurations. For more flexible solutions, where the system structure

is never the same, the customers can drag-and-drop the configurable models into

an assembly file instead of using a master model. An example of a system with

varying structure is a factory layout, where the solutions can be very different from

another.

Customer 1

This customer builds all the necessary logic in the .tcx file connected to themaster

model and therefore performs the whole configuration using that .tcx file. Steps

are used to break the configuration model down and control the visibility of the

fields between steps based on the user’s selections in the previous steps. This

model is not very flexible but very robust.

Customer 2

This customer only includes the global parameters and the necessary logic for the

conflict resolution to work in the .tcx file connected to themastermodel. They use

this top-level configuration model to configure the most important parameters

that have the greatest effects on the final solution. That way they can visualize

the approximate final look very quickly. When the engineers have finished going

through this top-level configuration with all the global parameters, they export

the files with the configured global parameter values and open each configurable

component and assigns values to it. The reason for not including everything in

the top-level assembly is that they have run into stability problems when the top-

level assembly is too large. Additionally, the user interface becomes very crowded

if it includes all the fields for all components. It is not an option for them to use

steps that would lock down values because the components in their system are

so dependent on each other. When the engineers start to configure individual

components, they need to be careful not to change values of global parameters

because changing values on this level will not transfer any changed values to other

44

components.

The use cases for the customers were very different from one another and

what works for one does not work for the other. The system complexity and

amount of fields that need configuration are higher for customer 2, resulting

in a more complex solution. Both customers agree on the need for breaking

down the solution. Customer 1 accomplishes this by using steps while customer

2 needed to work around the options available today by creating a top-level

configuration model with the global parameters but keeping all other parameters

at the component level.

By using a master model in SolidWorks for the system level configuration, the

solution has limited flexibility. Imagine offering a complex factory layout where

each user will need a different setup of machines. To create a master model for

that would be tedious work, and the performance of the SolidWorks model would

very likely be slow. A more flexible way of doing configuration would be only to

insert the configurable components wanted for each solution, into the SolidWorks

assembly containing the system. Each case is different, and each customers’ case

has to be studied to understand what solution is suitable for the configuration

model.

Both customers agreed on the benefits of the configurable components being able

to communicate dynamically and to be able to send values both from the top-level

model to the component models and vice versa.

If Tacton starts offering system configuration that can use the configurator engine

to allow these dynamic communications, it will open up for the possibility for

the top-level assembly not needing to include any logic to activate the conflict

resolution. Instead the top-level could be used as a ”shelf” for the preferred fields

(with their corresponding parameters) that are pulled from the component level,

so when a user assigns values at the top-level, the configurator engine could read

the logic from the component levels to use the conflict resolution.

45

5.4 System Configuration in Tacton - A Holistic View

This thesis project has so far investigated the possibilities for system configuration

in Tacton DA specifically. However, the interviews revealed a clear need for

system configuration in other settings, such as in Tacton CPQ. Therefore, it is

important for Tacton to look at the big picture before starting to offer system

configuration in any of their solutions.

There are some differences between discussing system configuration in the

setting of DA and in other settings. For example, in CPQ, the actual placement

of the modules does not matter whereas in DA it is necessary to know the

placement and how modules are attached to one another, to set up the modules

in the CAD environment. There are not only technical differences between

configuration in the different settings. Tacton CPQ is Tactons’ main product.

Tacton sells significantly more licenses for their CPQ software than the DA

software. Therefore, the importance of developing new functionalities that meet

the customers’ requirement even better in CPQ is more than in DA. Because of

these differences, it is important for Tacton to have a holistic view on their product

offerings, especially when it comes to offering the same or similar functionalities

in many of their solutions, such as system configuration that is wanted by

customers both in DA and CPQ. For Tacton to make their software solutions

work as a stand-alone solution, as well as dynamically together, it is crucial that

information can easily be transferred between the software solutions. Having the

software solutions compatible with one another, the customer could comfortably

export and import information between software solutions, enabling different

teams such as sales and engineers to work collaboratively.

Towards the end of this project, Tacton decided that in the future, all modeling

activities should be performedwithin their CPQAdmin environment. Thatmeans

that the modeling for DA will be performed in the same environment as the sales

modeling. This is a very positive step towards making the different products

compatible with each other and simplify the transfer of information between

different software solutions that Tacton offers. It is worth noting that the CPQ

Admin environment is recently released, so the way modeling is performed, and

which information is included might change in the near future.

46

6 Results and Conclusions

This chapter contains the main results of the thesis project and provides answers

to the research questions defined in chapter 1.4.

6.1 Types of Systems

Tactons’ customers aremainly companies in themanufacturing industry that offer

complex products or systems. The products and systems that these companies

manufacture and sell are very diverse.

By combining the information gathered during the interviewswith other research,

it is possible to group the types of systems in the manufacturing industry into two

main groups: (1) Linear systems and (2) Central systems.

Figure 6.1: Linear System

Figure 6.2: Central System

47

6.1.1 Linear systems

In a linear system, the configurable modules form a chain similar to that shown in

Figure 6.1. Eachmodule communicates the relevant input and output parameters

to the modules that lie next to it. The connections between the modules can be

with or without direction.

What characterizes a linear systemwith a direction is that it usually has tomanage

a certain throughput, i.e., to produce or process a specific amount of products

or material in a specific time frame. An example is a factory line consisting of

machines and conveyors where a product goes into the system at one end and

comes out of the system at the other end. The machines and conveyors transfer

the product through the system in a one-way direction.

Another example of a linear system, but without a direction, is multiple electrical

enclosures lying together where dimensional values such as height and depth

need to be transferred between the modules but the parameters have no specific

direction.

6.1.2 Central systems

The central system consists of one module that can be considered as the central

module and other modules that will either be attached to the central module or

determined by it in another way, see Figure 6.2. The central module is often larger

or is considered ofmore importance than othermodules in the same system.

Singular, complex products often form a central system, e.g., airplanes or boats.

In a boat, for example, the hull could be looked at as the central module that other

modules such as the engine, generators, and other parts will be attached to.

Another example of a central system can be a robotic cell. The robot itself can

be considered the central module, although it is usually only physically attached

to the platform it stands on and nothing else. However, there are other modules

that form the system of a robotic cell such as the fence and control box that is

determined by the robot, even though they do not touch it physically.

It varies greatly between each case with central systems how difficult it is to define

48

which module should be considered the central module. The central systems

can become very complex in structure and often consist of systems on more than

one level; in other words, systems within systems, that are explained in chapter

6.1.3.

Each of the modules that are attached to or determined by the central module

do not necessarily have to be a single independent module, but it can be a group

of modules that communicate certain input and/or output to the central module.

Looking at the boat example again, a boat manufacturer might buy mechanical

parts of the boat from different vendors. The vendors might provide multiple

configurable components, such as the engine, shafts, and gearbox, to the boat

manufacturer. In that case, the boat manufacturer can look at the components

provided by the vendor as a black box, only providing input and output values

to their system. This does not only apply to central systems but can easily be

translated to linear systems as well.

6.1.3 Complex system structures

The complexity of systems can vary greatly, and each company’s case is different

from the other. It is dangerous to generalize and state that only two types of

systems, linear and central, exist, but by dividing the system structures into these

two groups, it is possible to explain all imaginable cases of system structures,

on a high level. However, when digging deeper into the system structure, each

case can get very complex. Each system can be a part of a larger system, have

systems within themselves or simply be a complex version of a linear or central

system.

Systems within systems

Each system can be either independent or a part of a more complex structure.

If a system is a part of a more complex structure, it can contain a system within

it or be a part of another system, i.e., a system within a system. For example, a

linear system can contain a central system within itself. E.g., a factory line can be

the traditional linear system, but one (or more) of the modules within the system

49

could be a very complexmachinemade ofmore than one configurable component,

forming a central system within the linear system.

The abstraction can be looked at in levels, see Figure 6.3. The top level, level 1,

is the highest level of abstraction and as one moves down a branch in the tree,

specific sub-systems and modules are brought to focus - the fewer the levels, the

simpler the system structure.

Figure 6.3: System tree structure

Branched linear systems

Figure 6.1 illustrates a linear system. However, far from all linear systems are

that simple that they only form one straight line. Imagine a ventilation system for

a building, composed of various modules that together form a linear system with

branches that spread throughout the whole building. Another example is a more

complex factory layout where there are multiple entrances or exits to the factory

line, and not all products or materials are handled in the same way. Figure 6.4

illustrates a branched linear system.

50

Figure 6.4: Branched Linear System

Complex central systems

Central systems can easily become very complex. As complexity increases, it

can become more difficult to determine the central module. For example, if the

boat example is scaled up to the size of a cruise ship. Cruise ships are extremely

large and complex products, composed ofmultiple sub-systems such as the engine

room, cabins, and suites, forming a multiple-level system.

51

6.2 Relationships Between Modules Within a System

Now that different types of system structures have been established, it is possible

to further extend the definition to the necessary relationships between the

modules within the system.

6.2.1 Parameters

The information needed to allow different modules in the system to work

collectively, e.g., the relevant input and output values of adjacent modules, are

represented by parameters.

Tacton has been handling parameters since they started offering product

configurators. So far, the only possible way to make parameters communicate

is to write constraints manually. The only exception is the global parameters

available in the Layout option in TactonDA. In chapter 5.2.1 the option of different

relationships were discussed.

However, if Tacton starts offering system configuration, it is my conclusion that

for system configuration to work as dynamically and as efficiently as possible,

it will be necessary to define the interfaces, including all the information that

needs to be carried between the modules, to allow for communication in a more

automated way.

Interfaces instead of different parameter types

When Tacton thinks about system configuration, it is inevitable to think about

it in a bigger context than only for their DA product. There is also a clear need

for system configuration for their sales tool. For Tacton to take a holistic view

on this problem, it is necessary to aim for the system configuration in Tactons’

sales tool to be compatible with the system configuration in DA. To make system

configuration in the different settings compatible, and in general, to benefit the

most from using system configuration, it might be necessary to define the system

on a high level, including all the configurable modules and their interfaces. If the

interfaces and their relevant input and output parameters to adjacent modules

52

can be defined in such a way that enough information is conveyed to establish

the relationship between the modules, the different types of relationships might

become irrelevant.

As mentioned earlier in this thesis, Tacton has now taken the decision that

all modeling activities, both for sales and DA, are to be performed in the

same environment. This environment is relatively new, so the way modeling

is performed and which information can be included can change in the near

future. Furthermore, it is yet to be determined how system configuration can be

performed in that environment. To determine that, it is necessary to look at the

holistic picture of how Tacton could support the customer process in the future in

the best way.

It is not possible to state with absolute certainty that the interfaces will be able

to carry the necessary information to make different relationship types irrelevant

until it has been determined what information is defined by the user, how it is

defined and when in the process. Moreover, when that has been determined, it

will be possible to evaluate if and how that information can be transferred and

used in the DA setting specifically.

53

6.3 Building Assemblies for System Configuration

Chapter 4.4 discussed various different functions and ways to build stable

assemblies for system configuration in SolidWorks. This chapter, however,

summarizes the functions andways that are considered the best andmost suitable

for system configuration, although othermethods thatwere covered in chapter 4.4

might also be applicable. During the evaluation of the best andmost suitable ways

for building CAD assemblies for system configuration, themethodswere tested on

a simple model as a proof of context. Additionally, interviewees were consulted

with as well as Tacton employees working in the DA team.

When it comes to mating the configurable modules that form the system together

in SolidWorks, it is very important that the mates are stable and never break

during configuration or even if a model gets replaced by another one. That is why

the most stable way to set up mates for system configuration is to use reference

geometry that is built into the templates that a company uses. The company also

needs to establish the work procedures for engineers during design, and so the

engineers use the reference geometry in the templates in a standardizedway. That

way, it is ensured that the reference geometry that is used for mating will always

have the same internal SolidWorks ID’s and the mates will never break due to lost

references.

When it comes to system configuration, Schwieterman’s (2019) way of building

coordinate systems in templates is recommended. Themain reason for that being

recommended instead of other possible mating methods is that the coordinate

systems have a certain orientation, so the direction of the component when it is

mated is controlled by the orientation of the coordinate system. The locations

and the orientation of the coordinate systems are controlled during design, and

the components get fully mated by only mating two coordinate systems together.

Additionally, it is possible to use SmartMates in SolidWorks to set up mating

references so it will automatically recognize how the components should bemated

when they are inserted into the assembly. That is a smart and simple way to do

the mating and at the same time, control the direction of the components that are

mated together.

54

Figure 6.5: Mate coordinate systems together

During system configuration, multiple large components might be placed and

configured together in an assembly. The performance of large CAD models are

generally a very common problem, so the performance of multiple CAD models

in the same SolidWorks assembly, as in system configuration, is of great concern.

This thesis covered commonly used methods and functionalities that SolidWorks

offers to increase performance. Two possible methods were found that could

work, i.e., to use the Large Design Review mode that SolidWorks offers or to

combine using the Defeature tool to simplify models and writing additional code

as was explained in chapter 4.4.5. However, as this thesis only touches on this

topic, a more thorough investigation is needed to get results of what the best

55

solution to this problem is.

Another issue that needs to be solved is how to handle multiple instances of

the same model within SolidWorks. If more than one instance of the same

model is inserted in an assembly, SolidWorks will treat them the same way,

meaning that if one model is configured using Tacton DA, the other instance of

the model will automatically update exactly the same. To solve that problem, it

is possible to make the extra instances virtual and independent. By doing so, the

virtual instances are stored internally in the assembly file and can be configured

independently and then saved in the end when the configuration process is done.

This solution supports the way how the configuration process is done today, by

saving everything after the configuration is done when the files are exported and

saved.

56

7 Discussion and Future Work

This project investigated the foundation of system configuration in general,

i.e., the different types of system structures and the relationships between the

configurable modules within the system.

There aremany undetermined aspects when it comes to system configuration, and

it is necessary for Tacton to look at the future development in a holistic view. This

thesis project focused on investigating the possibility of system configuration in

the DA environment. However, the study revealed a need for it in other solutions

as well, such as in Tactons’ sales product, CPQ. Future work needs to be done

to decide how system configuration should be done in CPQ. When it has been

determined what information is defined by the user, how it is defined and when

in the process, it is possible to answer some of the unanswered questions such as

if the interfaces between the modules can carry information that makes different

types of parameters irrelevant. And then, if that information can be transferred

and re-used in the DA setting.

Furthermore, in this project, procedureswere established for how3DCADmodels

should be built and structured to work in a good and robust way for system

configuration. This research was limited to the SolidWorks CAD environment

but could easily be expanded to other CAD software such as Autodesk Inventor

or PTC Creo in the future. SolidWorks, like other CAD vendors, is continuously

expanding its capabilities and releasing new functions. Because of that, it will

be necessary to review what capabilities SolidWorks has introduced in its latest

releases at the time system configuration will be developed in Tacton DA.

57

References

Amadori, K., Tarkian, M., Ölvander, J. & Krus, P. (2012), ‘Flexible and robust cad

models for design automation’, Advanced Engineering Informatics 26(2), 180

– 195. Knowledge based engineering to support complex product design.

Blackenfelt, M. (2001), ‘Managing complexity by product modularisation’,

Doctoral Thesis, Department of Machine Design, The Royal Institute of

Technology .

Cederfeldt, M. & Elgh, F. (2005), ‘Design automation in smes - current state,

potential, need and requirements’, ICED 05 15th International conference on

engineering design .

Ernfors, J. (2009), ‘Riktlinjer för att konfigurera parametriskt definierade digitala

artikel- och produktmodeller’, Master’s Thesis, Department of Production

Engineering, The Royal Institute of Technology .

Forza, C. & Salvador, F. (2002), ‘Managing for variety in the order acquisition

and fulfilment process: The contribution of product configuration systems’,

International Journal of Production Economics 76(1), 87 – 98.

Haug, A., Hvam, L. &Mortensen, N. (2012), ‘Definition and evaluation of product

configurator development strategies’, Computers in Industry 63(5), 471–481.

Hicks, C., McGovern, T. & Earl, C. (2000), ‘Supply chainmanagement: A strategic

issue in engineer to order manufacturing’, International Journal of Production

Economics 65(2), 179 – 190.

Hull, E., Jackson, K. & Dick, J. (2011), Requirements engineering, Springer

Publishing Company, New York.

Hvam, L. (2006), ‘Mass customisation in the electronics industry: based on

modular products and product configuration’, Int. J. Mass Custom. 1(4), 410–

426.

Kristianto, Y., Helo, P. & Jiao, R. J. (2015), ‘A system level product configurator

for engineer-to-order supply chains’, Computers in Industry 72, 82 – 91.

59

Myrodia, A., Kristjansdottir, K. & Hvam, L.

(2017), ‘Impact of product configuration systems on product profitability and

costing accuracy’, Computers in Industry 88, 12 – 18.

Orsvärn, K. & Axling, T. (1999), ‘The Tacton View of Configuration Tasks and

Engines’, Workshop on Configuration, Sixteenth National Conference on

Artificial Intelligence pp. 127–130.

Sabin, D.&Weigel, R. (1998), ‘Product configuration frameworks - a survey’, IEEE

Intelligent Systems and their Applications 13(4), 42–49.

Schwieterman, E. (2019), ‘Automating solidworks assemblies using reference

geometry and api’. [Accessed on 27 March 2019].

URL: https://solidworksworld.lanyonevents.com/2019/connect/

sessionDetail.ww?SESSION_ID=12972

SOLIDWORKS (2016), ‘Reference geometry’. [Accessed on 10 April 2019].

URL: http://help.solidworks.com/2016/english/solidworks/sldworks/

c_reference_geometry_overview.htm

SOLIDWORKS (2017a), ‘Speedpak’. [Accessed on 18 April 2019].

URL: http://help.solidworks.com/2017/english/solidworks/sldworks/

c_speedpak_oh.htm

SOLIDWORKS (2017b), ‘Lightweight components’. [Accessed on 18 April 2019].

URL: http://help.solidworks.com/2017/english/SolidWorks/sldworks/

c_lightweight_components_swassy.htm

SOLIDWORKS (2018a), ‘Smartmates’. [Accessed on 15 April 2019].

URL: https://help.solidworks.com/2018/English/SolidWorks/sldworks/c_

SmartMates_Overview_SWassy.htm?id=e433356359924f1b904819945333abab#Pg0

SOLIDWORKS (2018b), ‘Using the defeature tool’. [Accessed on 19 April 2019].

URL: http://help.solidworks.com/2018/english/SolidWorks/sldworks/

t_defeature-using_the_defeature_tool.htm

SOLIDWORKS (2019a), ‘Default templates options’. [Accessed on 10 April 2019].

URL: https://help.solidworks.com/2019/English/SolidWorks/sldworks/

HIDD_OPTIONS_TEMPLATE_DEFAULTS.htm

60

SOLIDWORKS (2019b), ‘Magnetic mates’. [Accessed on 15 April 2019].

URL: http://help.solidworks.com/2019/english/SolidWorks/sldworks/

c_magnetic_mates_intro.htm

SOLIDWORKS (2019c), ‘Large assembly mode’. [Accessed on 18 April 2019].

URL: https://help.solidworks.com/2019/english/SolidWorks/sldworks/

r_Large_Assembly_Mode_SWassy.htm

SOLIDWORKS (2019d), ‘Improved large assembly performance’. [Accessed on 18

April 2019].

URL: https://www.solidworks.com/feature/improved-large-

assembly-performance

SOLIDWORKS (2019e), ‘Speedpak’. [Accessed on 19 April 2019].

URL: http://help.solidworks.com/2019/English/SolidWorks/sldworks/

c_SpeedPak_OH.htm

Tacton (2019), ‘About tacton’. [Accessed on 31 January 2019].

URL: https://www.tacton.com/about-tacton/

Tseng, M. M. & Hu, S. J. (2014), ‘Mass customization’, CIRP Encyclopedia of

Production Engineering pp. 836–843.

Verhagen, W. J., Bermell-Garcia, P., van Dijk, R. E. & Curran, R. (2012), ‘A

critical review of knowledge-based engineering: An identification of research

challenges’, Advanced Engineering Informatics 26(1), 5 – 15.

61

Appendix A: Interviewees

Job Title at Tacton Systems AB ↓ DateSenior Sales Executive 2019-02-06

Partner Sales Engineer 2019-02-06

Customer Success Manager 2019-02-07

VP Channel Sales and Design Automation 2019-02-07

Business Consultant 2019-02-08

Senior Sales Executive 2019-02-11

Solution Architect 2019-02-11

Customer Success Manager 2019-02-15

Principal Application Consultant 2019-02-19

Director Alliances Americas 2019-03-07

Product Marketing Manager 2019-03-15

Business Consultant 2019-03-19

Senior Product Manager 2019-05-06

Software Developer 2019-05-06

VP Product Management 2019-05-17

Job Title at Customer Company ↓ DateProduct Configuration Engineer 2019-02-21

Design Automation 2019-02-27

Lead Engineer 2019-03-07

63

TRITA ITM-EX 2019:157

www.kth.se