Nesting algorithm for optimization part placement in additive manufacturing

Significant savings in cost and time can be achieved in additive processes by manufacturing multiple parts in a single setup to obtain efficient machine volume utilization. In this paper, the authors have developed a previsional model able to evaluate the potential performance of various printing technologies for the execution of a given job. This model aims to support technicians in choosing the best solution starting from a specific machine architecture and printing volume. In particular, the model is able to evaluate, from a qualitative and quantitative point of view, the performance of each technology in a transversal manner, taking into consideration the aspects connected to printing: costs, time, and technological parameters. Within the core of the previsional model, there are multiple algorithms able to compute different key performance indicators (nine KPIs). For the computation of some of them, it was necessary to quantitatively evaluate aspects related to nesting operations or to the arrangement of several components within the printing base depending on the dimensional characteristics of the component, the printing direction, and its dimensional and geometric characteristics (rectangular or circular). Starting from this need, the developed nesting algorithm has given a specific answer.


Introduction
Additive manufacturing (AM), derived from rapid prototyping (RP), has been investigated and developed for more than three decades. It cannot only provide prototypes rapidly to support the product development, but also produce functional or end-use parts for different application areas [1][2][3][4][5].
Due to its unique processing manner, layer by layer, it owns a great advantage of manufacturing customized parts with extremely complex geometries against traditional processes. Furthermore, AM technologies can realize manufacturing a group of parts with the same or different geometries in the same build platform simultaneously without using any tools or fixtures since multiple contours of different parts can be placed within one common slice/layer to be built. Therefore, it is a real and ideal technology for the "concurrent manufacturing" [6]. Significant savings in cost and time can be achieved in rapid prototyping (RP) by manufacturing multiple parts in a single setup to achieve efficient machine volume utilization [7]. Intuitively, to improve the machine utilization, more parts should be placed as compactly as possible to harness the build volume so as to reduce the total build time and cost per machine run. It seems that this is a classical nesting or packing problem. However, due to the special constraints of AM, the placement problem is different from other classical nesting or packing problems. When placing multi-parts into a build volume, not only the compactness should be maximized to reduce the total build time and cost, but also the part's production quality should be guaranteed. In addition, the characteristics of AM processes, the features of part group, the production contexts of AM service bureaus, and the specific preferences and requirements of users should be taken into consideration when doing the multi-part placement. Hence, these factors form the customized constraints of AM to make this problem a special variant of classical nesting or packing problem. Currently, due to the insufficient maturity of manufacturing functional parts and little research attention paid on the process planning or scheduling in AM, only a few solutions were proposed in literature to deal with the part placement problem. Till now, in AM service bureaus, the problem is mainly solved manually by skilled technicians who place parts as many as possible [8].
However, doing the part placement manually in a graphic environment is time-consuming, and it becomes more complicated when placing a batch of parts with a large quantity and very complex geometries [9]. Obviously, it is very difficult or even impossible for an operator to find an optimal part placement solution manually when facing such a nesting or packing (NP)-hard problem.
In many production processes, optimization of material usage by means of nesting plays an important role. Traditionally, 2D nesting has been an aspect of sheet metal manufacturing. With the increasingly mature application of layered manufacturing, 3D nesting has become an essential part of the workflow. The reason for this is that the quality of the 3D nest not only influences the required amount of raw material and the quality of the individual products, but also has a direct impact on the throughput time of a production batch [10].
Canellidis et al. studied the platform layout optimization problem for the simultaneous fabrication of different parts, which is addressed in the batch planning of stereolithography additive manufacturing technology. The methodology proposed employs a genetic algorithm technique for the 2D nesting of parts on the platform of the stereolithography machine [11].
Zhang et al. proposed a strategy composed of two main steps, applying an "AM feature-based orientation optimization method" to optimize each part's build orientation to guarantee the production quality and applying a designed "parallel nesting" algorithm for increasing the compactness of placement by using the parts' projection profiles so as to decrease the total build time and cost [12].
Bernard et al. introduce a new nesting scheme to more exactly describe this AM industry problem and then propose a parallel nesting method for both improving machine utilization and guaranteeing production quality [13]. Angelo et al. report a collection of the most significant published methods for the estimation of the factors that most influence the build direction is presented [14].
In this paper, a new algorithm for 3D printing nesting has been presented, and it has been developed within the definition of a previsional model that aims to evaluate the performance to manufacture a particular component comparing different available 3D printing technologies.
For this reason, the main purpose of this innovative algorithm is providing to previsional model a worthy solution to compute a possible nesting configuration for a given platform. Therefore, this algorithm has been developed considering the production of medium/large lots of components in which these last have the same dimensions. In particular, it does not contemplate the possibility of engaging components of different dimensions because this is a typical issue that the technicians face during the job setup considering a particular technology and production needs in terms of queue to manage.
The presented algorithm aims to provide a possible layout available to the components on the printing surface based on the geometric characteristics without the use of iterative processes that characterize the most common nesting techniques.
Therefore, what distinguishes this algorithm is the possibility to estimate a feasible number of printable components (for a given printed bed) without having to resort to iterative processes.
The proposed methodology aims to be integrated within innovative systems that exploit the cloud manufacturing paradigm. Specifically, the algorithm was specially developed with technologies integrable within different software structures.
In fact, for system oriented to cloud manufacturing, where there are several technological resources (manufacturing resources, IT resources, etc.), for additive manufacturing service, it is extremely important to have some integrated tool/ applications that support the technicians to define a quicky quotation for a given order. In this context, the developed tool provides a great advantage because it provides, in quick times, an estimation of printable components for a given 3D printing technology. This parameter is extremely important for aspects concerning the economy of scale. Indeed, this algorithm is integrated in a previsional model that provides information about technological and economic aspects.
The algorithm was designed to be implemented within DSS-oriented software architectures or decision support systems designed for the context of additive manufacturing. Specifically, these solutions aim to assist technicians in product-process development.
In this context, the integration of the developed algorithm would allow technicians to have a function able to estimate, during the preliminary phase of product development, the number of components that can be printed in a single job and, therefore, also evaluate the connected aspects to costs.
The objective was, therefore, to obtain an effective tool able to compute a possible nesting configuration (number of components that it is possible to print with a given 3D printing technology and with a single job) to feed the previsional model in order to compute several key performance indicator (KPIs) that allow to evaluate the available technologies in terms of cost estimation and technological compatibility.

AMSA methodology
The previsional model and the nesting algorithm have been implemented as part of a research project Additive Manufacturing Spare parts market Application (AMSA). This project has developed a tool, called AMSA, having as main goal the definition of a common platform to supply different kinds of services: product development oriented to the additive manufacturing (DFAM, design for additive manufacturing), production of prototype or small series with additive manufacturing, and reverse engineering activities to obtain CAD models starting from a physical object. The definition of different kinds of services allows to satisfy several client needs such as necessity to define an innovative product characterized by high performance in terms of stiffness/weight ratio, possibility to manufacture small series, such as in the motorsport field, and possibility to define CAD models for the obsolete parts for which the geometrical information are missed. AMSA platform relies on the reconfigurable supply chain that is dynamic, and it depends on the particular client needs. For example, when the client requires the manufacture of a small series of a particular component, AMSA allows the technicians to choose the best solutions in terms of price and distance. Therefore, the suppliers that contribute to the definition of the dynamic supply chain have an important role. The AMSA platform, for these reasons, represents an important tool able to link the suppliers to the customers in the best manner in order to obtain services characterized by a high performance level.
In fact, it provides support to the AMSA operator in appropriately evaluating supplier selection logics based on the characteristics of the geometry to be built. Therefore, a methodology has been developed that is able to extrapolate and to cross a series of information able to provide, for each component to be produced through additive manufacturing, a series of key information: • The most suitable technology • The suggested machine • The production time • The production cost Considering the large number of variables to be managed, it was decided to propose a methodology based on the selection of a series of KPIs. The purpose of the latter is to provide a compatibility index of each machine (no technology) with respect to the component requirements to be produced.
The KPIs have percentage values from 0 to 100% and different calculation methods depending on the considered case. Once the KPIs have been calculated, the platform has a list of solutions ordered according to a compatibility KPI obtained as an average (appropriately weighted) of the other available KPIs.

Key performance indicators
Key performance indicators represent a synthetic method to collect information and correlate it with each other. The developed previsional model allows to filter the technologies according to the appropriate performance indexes (KPIs) reported below [21,22] The indexes listed above, as it can be seen from the synthetic description, analyze different technological aspects related both to the technical characteristics of the machines but also to the qualitative aspects of the components that must be realized.
The objective of this previsional model is to assist AMSA technicians in choosing, among accredited suppliers to the platform, the most advantageous solutions considering the aspects that distinguish the production of a particular component.
The main KPIs are certainly CST, TMP, and CBA; however, even the geometric KPIs could be useful to allow the AMSA operator to make the necessary evaluation. For a detailed description of KPI, see Appendix 1.

Nesting algorithm
Within the previsional model definition, aimed at evaluating the performance of printer technologies, based on the characteristics of the component to be manufactured, it was necessary to develop an algorithm for the management of the aspects connected to the nesting of the components on the printer plan produced by additive manufacturing.
In particular, this need emerges in the calculation of the following indices: 1. CST: production cost 2. TMP: production time 3. ING: overall dimensions of the component in the machine 4. CBA: technology compatibility with the component to produce

Consideration on INPUT parameters for index calculation
In the listed indices the variable "m" appears, which represents the number of components that can be positioned on the printer plan. This variable represents, precisely, the nesting activity and requires the development of an appropriate algorithm that mainly defines the following data: • Printer plan type: rectangular or circular • Printer plan dimensions • Component plan dimensions This allows the component number calculation that can be positioned on the printer surface (Fig. 1).
The rectangular and circular case studies concern the printing plans that can be found in the main commercial 3D printing systems; therefore, the cases analyzed may well be representative of the possible solutions that the algorithm must be able to manage.
Therefore, based on the previously mentioned need, to quantify the number of components that can potentially be positioned on a printer plan, taking into account the component dimensions, an algorithm has been developed that has been implemented in the previsional model which in turn has been integrated into the AMSA platform. The algorithm has a top-down structure as it is not an iterative algorithm but is based on the use of parameterized geometric data, with the aim of providing an estimate quickly and sufficiently reliable. Therefore, there are no iterations on the parameters as the definition of the latter is made upstream of the algorithm. Furthermore, the algorithm does not deal with managing the qualitative aspects of the printed components.
In fact, the technicians, to use the application, will insert some input parameters such as distance between the parts and distance from the edges of the printing surface. This technological information are available to technicians because they are linked to the production context know-how.

Nesting algorithm definition
The Nesting algorithm can be briefly summarized with the following diagram (Fig. 2).
Obviously, the scheme shown represents a simplification but allows to effectively understand the layout of the same and what are the inputs in detail.
In particular, it appears evident that the nesting algorithm can be considered as composed of sub-algorithms that allow, in turn, to compute the number of components in the following cases: rectangular and circular printer plans.
The input data shown in the diagram are detailed below: • x = X dimension of the printer plane. • y = Y dimension of the printer plane. • gapB = offset with respect to the printer plane border. • gapX = X distance among the components. • gapY = Y distance among the components. • xc = X dimension of the component bounding box.
• yc = Y dimensions of the component bounding box.
As can be seen from the input data, there are information about: • Printer plane dimensions • Component dimensions • Positioning distances Below will be described in more detail the two sub-algorithms that make up the general nesting algorithm.

Nesting algorithm definition for CIRCULAR printing plan
This section reported the description of the computation algorithm of the component number in the case of a circular printing plan. Figure 3 shows the summary workflow. The circular printing plan is obviously identified by a radius (Fig. 4), and, for this reason, when the data of the printing plan are inserted, in the case of a circular plan, the following condition will be obtained: X = Y = r * 2 (r = radius). Figure 5 also shows the previously indicated offset "gapB" (Fig. 3) and the difference "r-gapB" which represents the radius for the calculation of the useful surface for the components positioning.
In the positioning calculation, the algorithm assumes that the first component is positioned in the center of the printing plane as shown in Fig. 5.
Further, the algorithm considers that the bounding box dimensions are parallel to the axes. Considering the printing plane symmetry (being circular) the same result is obtained for the following scenarios: • xc parallels to the x axis and yc parallels to the y axis. • xc parallels to the y axis and yc parallels to the x axis.
Therefore, the positioning shown in Fig. 5 is considered as default. Starting from this assumption, the algorithm calculates a potential number of components that can be inserted to cover the entire printing plan, from the dimensions in plan of the component and from the printing plan dimensions considering a determinate extrusion direction. In particular, the technicians, for a given component, can choose a particular extrusion direction, and the algorithm considers the other directions to define the dimensions in plan.
Therefore, the following functions are present: These functions allow you to calculate the maximum number of components in the X and Y directions (Fig. 6).
With the calculation of the components in the two directions, the algorithm, in the preliminary phase, computes the scenario shown in Fig. 7. The figure shows how there are components, according to this computation, which are obviously not in the print domain as the plan is circular. Another aspect that is highlighted in this case is how, in the first phase, the calculation concerns only a quarter of the printing plan. This facilitates the algorithm in terms of calculation times.
In order to understand what the components are actually contained within the printing plan, in the algorithm, a set of parametric equations have been integrated in order to monitor each vertex of the rectangles that identify the plan surface of the component overall volume and to identify if a component is within the printing area or not.
Below are the formulations of these equations: from the center lower than the difference between the radius and the offset "gapB"; rather, the following conditions are valid simultaneously: where D1i represents the distance of vertex 1 belonging to component i. After checking how many components with respect to the conditions listed above, the result obtained is reported in Fig. 9.
After the components have actually been computed within the printing plan for the quarter surface, the components for the entire surface are then evaluated as shown in Fig. 10. In particular, these components are highlighted in yellow to indicate the rows belonging to the x and y axes, and the components replicated in the respective quadrants are indicated in orange.
This calculation has been further refined if there is a single row of components in the x direction of the printing plane. It is necessary to consider this scenario in order to make the algorithm more robust. In fact, if it is considered the scenario of Fig. 11, the solution described above considers the insertion of only 5 components.
However, this solution does not appear to be robust as, as can be seen in Fig. 11, if components 2 and 4 were properly translated, it would be possible to insert further components. Figure 12 shows the A and B dimensions defined as: • A: distance between point P2 * (projection in the vertical direction of point P2 on the circumference identified by R* = (R-gapB)) and point P2, rather In order to insert an additional component, distance A must be greater than B, rather If this condition is verified, the algorithm requires the insertion of 2 components instead of 1 as shown in Fig. 12.

Nesting algorithm definition for RECTANGULAR printing plan
This section reported the description of the computation algorithm of the component number in the case of a rectangular printing plan. Figure 13 shows the summary workflow. The algorithm is more efficient in the potential component number definition for the rectangular printing plan. Figure 14 shows the offset "gapB," previously indicated as in the case of the circular printing plan, and the axes origin necessary for the number of component calculation.
It is assumed that the bounding box dimensions are parallel to the axes. The scenarios that can be presented are the following: • xc parallels to the x axis and yc parallels to the y axis. The choice of the scenario to be considered in the component number definition is defined by the algorithm based on the potential number of allocable components. In particular, it is considered as a reference condition that between the two, it is possible to insert a greater number of components.
Starting from this assumption, the algorithm calculates the maximum number of components that can be inserted, to cover the entire printing plan, for both scenarios, from the dimensions in plan of the component overall volume and from the printing plan dimensions, using the following functions: These functions allow to calculate the maximum number of components in the x and y directions for the two orientations suggested above (1 and 2).
The possible cases are reported in Table 1.
The component number will therefore be equal to The number of components is calculated for both scenarios and is equal to The positioning of the single overall volumes in plan is governed by the following parametric equations:  The equations refer to the vertices shown in Fig. 15.
In particular, the equations listed above describe the coordinates of all 4 vertices for each rectangle positioned on the printing plane. Figure 16 shows the component positioning phase on the rectangular printing plane considering the mutual distances between the components themselves in the x and y direction.
Nesting management in the case of the rectangular printing plan entails the need to consider two specific cases within the algorithm.
The first case, reported in Fig. 17, foresees, as orientation, the following scenario (scenario 1): In this case, it could be verified that the insertion of a further row of components in the Y direction is not physically possible. However, this scenario does not allow a priori to exclude the possibility of inserting additional components by rotating them. It is possible to rotate the components and insert additional files. The condition for this event to occur is described below.
First of all, the number of possible rows, with components rotated with respect to the general orientation, defined according to the following formula, is calculated: Figure 18 shows the completion of the nesting phase with all the possible components that can be inserted on the printing table according to the defined parameters.
The second case, shown in Fig. 19, provides, as a guideline, the following scenario (scenario 2): xc in the Y direction yc in the X direction In this case, it could be verified that the insertion of a further row of components in the X direction is not physically possible. However, this scenario does not allow a priori to exclude the possibility of inserting further components by rotating them. It is possible to rotate the components and insert additional files. The condition for this condition to occur is described below.
First of all, the number of possible files with components rotated with respect to the general orientation, defined according to the following formula, is calculated: Figure 20 shows the completion of the nesting phase with all the possible components that can be inserted on the printing table according to the defined parameters.

Results and discussion
The implementation of the nesting algorithm has been structured in two different steps:  NumberRWX = int( (x−(gapB * 2)) (xc+gapX) ) NumberRWY = int( (x−(gapB * 2)) (xc+gapY) ) NumberRWX = int( (x−(gapB * 2)) (yc+gapX) ) NumberRWY = int( (x−(gapB * 2)) (xc+gapY) ) xc parallel to the x axis and yc parallel to the y axis xc parallel to the y axis and yc parallel to the x axis • Step 1, algorithm implementation using the TCL language (tool command language) • Step 2, porting of the algorithm to the Java language (Appendix 2) The choice to use the TCL language was made due to the availability of a development environment, which provides tools able to plot the results giving, therefore, the possibility to graphically verify the quality of the solution (Fig. 21). The figure also shows an example of application of the algorithm on a real mechanical component characterized by dimensions in plan equal to 100 × 200 mm (https:// grabc ad. com/) [23].
In Fig. 21d it is highlighted the output of the algorithm for the considered real component.
This development environment is a CAE tool, Altair® HyperMesh®, which allows to literally design the component layout on the printing plan through appropriate APIs available. The language with which it is possible to interact with the APIs present is TCL [24].
In step 2, after the development and testing of the algorithm, thanks also to the visualization of the results in the HyperMesh® environment, they were ported to Java. This choice was dictated by the implementation requirements for its integration into the AMSA platform.
The developed algorithm aims to address the problems associated with nesting operations for 3D printing technologies. Several nesting algorithms are present in the literature, many of which are based on optimization algorithms that often require different iterations to obtain the final configuration.
The present algorithm, although it is not based on optimization algorithms, turns out to be a technologically solution as it allows to provide an estimate of the components that can be positioned on the printing plan (circular or rectangular) which is for the purposes of estimating the production costs.  The main advantage, compared to the more expensive optimization algorithms, lies in the fact that, based on geometric considerations, it is able to provide an estimate in a very short time and, therefore, the technician has an available immediate tool for estimating the components that can be placed on any printing plan with the only condition of having the dimensions of the printing plan itself and of the component for a given orientation.
The analyzed case studies within the paper refer to the bounding box of the possible components to be printed and not to the actual geometries. It is important to highlight that the bounding box plays an important role in defining the number of components that can be printed on a given printer plane.
Through the bounding box, the maximum dimensions in plan of a given component and the maximum height defined at a given inclination are defined. The technology was also developed for powder bed 3D printing systems, such as SLM, and, specifically, the definition of the reference bounding boxes for testing the algorithm was conducted in collaboration with printing centers. The latter, possessing the technologies at home, have transferred their needs and the most relevant technological information to the authors for the development of a method that allows to obtain, in a very short time, a hypothesis of components distribution on the printer plane. The algorithm was not designed to be integrated into commercial 3D printing systems, as its goal is to be implemented in the future, in solutions that are placed downstream of the production system and that want to assist the decisionmaking process in the preliminary product development phases.
It is important to highlight that, as for the classic nesting techniques based on iterative processes, in the case study, in the first analysis, the qualitative aspects were not considered, as the tool was designed to assist technicians in the cost estimation and not in the product-process development phase. However, the authors are conducting additional studies aimed at improving the algorithm by introducing additional technological parameters typical of the most common additive manufacturing processes, specifically SLM. The innovation introduced by this algorithm is to provide a solution which, although based on mathematical and geometric rules, can be integrated into solutions based on cloud manufacturing. In fact, this solution was developed specifically for an application of the cloud manufacturing paradigm, and, compared to classic nesting systems, it is expressly designed for 3D printing.

Conclusions
The technical specification definition for the previsional model implementation has led the need to develop a nesting algorithm for the computation of the printable component number on a given printing plan. This variable is necessary for some KPI calculation that allows to evaluate in advance the qualitative aspects of the components obtained for each printing technology. This tool allows AMSA technicians to choose the best performing technologies to request a quotation for a particular component. The objective has not been to provide a tool properly dedicated to the proper nesting of the components on the printing plane (this is a typical issue that the technicians face during the job setup considering a particular technology and production needs in terms of queue to manage), but the objective was to estimate the component number for a consequent estimate of the costs for a given machine park. The algorithm was not designed to be integrated into commercial 3D printing systems, as its goal is to be implemented in the future, in solutions that are placed downstream of the production system and that want to assist the decision-making process in the preliminary product development phases.
Currently, the algorithm has been developed to work in the XY plane taking into account the needs expressed by industrial partners that collaborate in the research activities. Indeed, the industrial partners work with different 3D printing technologies such as SLM and DMD, and they have a consolidate know-how about the additive manufacturing processes. However, among future developments, the integration of the Z axis within the algorithm is expected.
The objective was, therefore, to obtain an immediate tool at the service of the calculation algorithms of the cost estimate and of the technological compatibility of the available machines for a given component.
This algorithm represents a flexible solution that it is possible to implement within other previsional model or framework to evaluate the 3D printer performance considering as AM becomes increasingly widespread and taking into account to have a useful tool to quickly evaluate a potential number of a particular component to print with a determinate machine and for a given extrusion direction. The developed algorithm is a utility that can be integrated into any platform. In fact, it was created to be integrated into solutions that exploit the cloud manufacturing paradigm and therefore was not designed to be integrated within real CAD systems but rather for web-based platforms that also act as decision support systems (DSS). The software was developed using various technologies, one of which listed in the article is Java which stands out for its extreme flexibility and integrability with any system.

Appendix 1
To better understand the details, the complete formulation of the indexes listed above is shown below.

Material index (MAT)
This index evaluates the effects of compatibility between the material requested by the customer and the analyzed AM machine. The following is the complete formulation of the MAT index with the relative control variables: • mat : is the compatibility between the material and machine. • appr : is the metal powder supply coefficient.
: is the supply time for metallic powders [days].
• mt : is the material change coefficient. • AM mt [g] : is the material change time [days].
• fr : is the material processability risk coefficient. • f r : is the risk factor of material processability, which represents a factor for increasing the mass of material required by the process, and it is requested to the supplier.

Production cost index (CST)
The objective of this KPI is to provide an indicative quotation of the product according to the indicated technology. The aspects considered by the KPI are costs due to the: • Material • Use of the machine • Operator • Geometry complexity Below, we describe the complete formulation of the CST index with the list of related control variables: • mat : is the compatibility between material and machine. • ing : is the compatibility between component and the machine working volume. • d : is the material density indicated by the customer (kg/ m 3 ). • V d : is the volume of the component to be produced (m 3 ). • S d : is the total area of the component (m 2 ). • rt : is the average machining allowance thickness identified by technology (m).
• w : is the ratio between the surface subject to machining allowance and the total surface area of the component (%). • w r : is the powder management efficiency in the production of machining allowance (%). • w d : is the powder management efficiency in the production of the component (%). (2) • C w : is the unit cost of metal powders (€/kg). • t : is the material density chosen for the supports (kg/m 3 ). • V bound t : is the parallelepiped volume of the containment of support structures (m 3 ).
• t : is the technological coefficient for the mass of material for the supports (%). • C t : is the unit cost of the material required for the supports (€/kg). • g : is the material density of the anchor plate (kg/m 3 ). • g : is the thickness of the anchor plate (kg/m 3 ). • S bound : is the surface of the component's bounding box (kg/m 3 ).
• g : is the increase coefficient of the bounding box surface (%). • f r : is the material risk coefficient. • C g : is the unit cost of the anchor plates (€/kg). • K d : is the complexity coefficient for process design. • K AM : is the complexity coefficient for additive production. • c d op : is the operator hourly cost for process design. • d or : is the operator time to identify component orientation (h).
• d sl : is the operator time to identify the optimal slicing strategy (h). • d ps : is the operator time to identify process parameters (h). • d cm : is the operator time to set the tool path (h). • c AM eq : is the hourly cost for additive production due to amortization. • c AM mh : is the hourly cost for additive production due to maintenance. • c AM en : is the hourly cost for additive production due to energy consumption. • c AM op : is the hourly cost for additive production due to the operator. • AM mt : is the material change time (h). • AM start : is the machine start-up time (h). • AM risc : is the machine preheating time (h).
• n : is the components of the lot number. • m : is the maximum number of components that can be produced within a job. • ⌈ n m ⌉ : is the number of jobs required by a machine with a maximum capacity of m components to make n components. • AM cc : is the cycle change time (h). • P AM : is the machine productivity (m 3 /h). • AM raffr : is the chamber cooling time (h). • AM clean : is the excess powders removal time (h).

Production time index (TMP)
It provides an estimate of component delivery time. The aspects considered by the KPI are: The following is the complete formulation of the TMP index with the relative control variables: • mat : is the compatibility between material and machine.
• n : is the number of components of the lot. • P AM : is the machine productivity (m 3 /h). • V d : is the total volume to be melted (m 3 ).

Overall dimensions of the component in the machine (ING)
It evaluates the compatibility between the dimensions of the component(s) to be produced with respect to the AM machine. The aspects considered by the KPI are: • Compatibility between the component overall dimensions and the machine working volume • Convenience of work volume saturation in the case of powder bed processes The following is the complete formulation of the ING index with the relative control variables: • ing : is the compatibility between component and the machine working volume. • x AM . • y AM : is the machine working volume. • z AM. • z d . • y d : is the volume of the parallelepiped containing the component. • z d . • n : is the number of components of the lot. • n cycle is the job numbers. • m : is the maximum number of components that can be produced within a job.

Technology precision (PRE)
It evaluates the compatibility between the precision required by the component and the precision guaranteed by the machine. The aspects considered by the KPI are: • Reference precision of the component • Accuracy guaranteed by the machine The following is the complete formulation of the PRE index with the relative control variables: is the reference precision of the component. • AM : is the machine precision.

Technology resolution (RIS)
It evaluates the compatibility between the smallest feature of the component and the machine's capabilities in making it. The aspects considered by the KPI are: • The smallest feature dimension in the component • Machine resolution The following is the complete formulation of the RIS index with the relative control variables: is the reference resolution of the component. • AM : is the machine resolution.

Undercut management (STQ)
It evaluates the compatibility between the undercut surfaces and the capacity of the considered AM machine. The aspects considered by the KPI are: • Surface of the undercut areas • Total component surface The following is the complete formulation of the SQT index with the relative control variables: • S d : is the total component surface. • S t : is the total undercut surface.
• : is the support management coefficient.

Technology roughness (RGS)
It evaluates the compatibility between the roughness required by the component and the roughness obtainable by the AM machine. The aspects considered by the KPI are: • Component reference roughness • Roughness guaranteed by the machine The following is the complete formulation of the RGS index with the relative control variables: • rgs: is the product-machine coefficient, is the component reference roughness.
• AM : is the roughness obtainable with the machine.

Compatibility index (CBA)
The compatibility coefficient is represented by the appropriately weighted sum of a series of contributions given by specific KPIs. This last can be analyzed separately by the AMSA technician in the analysis of the estimate quotation, but the values will flow into the CBA calculation which will be used to order the list of suppliers to be evaluated.
The following is the complete formulation of the CBA index with the relative control variables: The KPI is equal to zero when mat or ing is null, which are conditions corresponding, respectively, to an incompatibility in terms of material (the material is not supported by the machine) or overall dimensions (the component is too large compared to the machine's working volume).
If PRE, RIS, RGS, or STQ is equal to zero, CBA does not become null because the component is actually feasible; it requires only additional treatments or workings that cannot be ignored if the customer's request is to be satisfied: • mat : mat = 0 incompatible material mat = 1 compatible material. • ing : is the compatibility between the component and the machine working volume. • gmt : is the weight associated with geometric KPIs. • cst : is the weight associated with cost KPIs. • tmp : is the weight associated with time KPIs. • PRE is the technology precision. • RIS is the technology resolution. • RGS is the technology roughness. • STQ is the undercuts management.

Declarations
Ethics approval Not applicable.

Consent to participate Not applicable.
Consent for publication All authors have agreed to authorship, read, and approved the manuscript and have given consent for submission and subsequent publication of the manuscript. The authors guarantee that the contribution to the work has not been previously published elsewhere.