Skip to main content
Log in

Nesting algorithm for optimization part placement in additive manufacturing

  • ORIGINAL ARTICLE
  • Published:
The International Journal of Advanced Manufacturing Technology Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21

Similar content being viewed by others

Data availability

Not applicable.

Code availability

Appendix 2 reports the complete algorithm in Java.

References

  1. Zhang Y, Gupta RK, Bernard A (2016) Two-dimensional placement optimization for multi-parts production in additive manufacturing. Robot Comput Integr Manuf 38:102–117

    Article  Google Scholar 

  2. Bartolo P, Kruth JP, Silva J, Levy G, Malshe A, Rajurkar K, Leu M (2012) Biomedical production of implants by additive electro-chemical and physical processes. CIRP Ann Manuf Technol 61(2):635–655

    Article  Google Scholar 

  3. Kruth JP, Leu MC, Nakagawa T (1998) Progress in additive manufacturing and rapid prototyping. CIRP Ann Manuf Technol 47(2):525–540

    Article  Google Scholar 

  4. Levy GN, Schindel R, Kruth JP (2003) Rapid manufacturing and rapid tooling with layer manufacturing (LM) technologies, state of the art and future perspectives. CIRP Ann Manuf Technol 52(2):589–609

    Article  Google Scholar 

  5. Wohlers T (2013) Wohlers report 2013, Wohlers association, USA

  6. Zhang Y, Bernard A (2014) Grouping parts for multiple parts production in additive manufacturing. Procedia CIRP 17:308–313

    Article  Google Scholar 

  7. Gogate AS, Pande SS (2008) Intelligent layout planning for rapid prototyping. Int J Prod Res 46(20):5607–5631

    Article  Google Scholar 

  8. Dickinson JK (1999) Packing subsets of arbitrary three-dimensional objects. University of Western Ontario, London, Ontario, Canada: Doctoral dissertation, Ph. D. Thesis, Faculty of Graduate Studies

  9. Zhang X, Zhou B, Zeng Y, Gu P (2002) Model layout optimization for solid ground curing rapid prototyping processes. Robot Comput Integr Manuf 18(1):41–51

    Article  Google Scholar 

  10. Luttersa E, ten Dama D, Fanekera T (2012) 3D nesting of complex shapes. 45th CIRP Conference on Manufacturing Systems 2012. Procedia CIRP 3:26–31

    Article  Google Scholar 

  11. Canellidis V, Giannatsis J, Dedoussis V (2013) Efficient parts nesting schemes for improving stereolithography utilization. Comput Aided Des 45:875–886

    Article  Google Scholar 

  12. Zhang Y, Kumar R, Bernard GA (2016) Two-dimensional placement optimization for multi-parts production in additive manufacturing. Robot Comput Integr Manuf 38:102–117

    Article  Google Scholar 

  13. Zhang Y, Bernard A, Harik R, Fadel G. A new method for single-layer-part nesting in additive manufacturing. Rapid Prototyp J 24(5):840–854

  14. Angelo L, Stefano P, Guardiani E (2020) Search for the optimal build direction in additive manufacturing technologies: a review. J Manuf Mater Process 4:71. https://doi.org/10.3390/jmmp4030071

    Article  Google Scholar 

  15. Kucukkoc I (2019) MILP models to minimise makespan in additive manufacturing machine scheduling problems. Comput Oper Res 105:58–67. https://doi.org/10.1016/j.cor.2019.01.006

    Article  MathSciNet  MATH  Google Scholar 

  16. Araújo JP, Panesar A, Özcan E, Atkin J, Baumers M, Ashcroft I (2019) An experimental analysis of deepest bottom-left-fill packing methods for additive manufacturing. Int J Prod Res 1–17. https://doi.org/10.1080/00207543.2019.1686187

  17. Kim H-J (2018) Bounds for parallel machine scheduling with predefined parts of jobs and setup time. Ann Oper Res 261(1):401–412. https://doi.org/10.1007/s10479-017-2615-z

    Article  MathSciNet  MATH  Google Scholar 

  18. Chergui A, Hadj-Hamou K, Vignat F (2018) Production scheduling and nesting in additive manufacturing. Comput Ind Eng 126:292–301. https://doi.org/10.1016/j.cie.2018.09.048

    Article  Google Scholar 

  19. Dvorak F, Micali M, Mathieug M (2018) Planning and scheduling in additive manufacturing. Intel Artif 21(62):40–52. https://doi.org/10.4114/intartif.vol21iss62pp40-52

    Article  Google Scholar 

  20. Zhang J, Yao X, Li Y (2019) Improved evolutionary algorithm for parallel batch processing machine scheduling in additive manufacturing. Int J Prod Res 1–20. https://doi.org/10.1080/00207543.2019.1617447

  21. Oha Y, Witherellc P, Luc Y, Sprockc T (2020) Nesting and scheduling problems for additive manufacturing: a taxonomy and review. Addit Manuf 36:101492

    Google Scholar 

  22. Del Prete A, Primo T (2021) Innovative methodology for the identification of the most suitable additive technology based on product characteristics. Metals 11:409. https://doi.org/10.3390/met11030409

    Article  Google Scholar 

  23. https://grabcad.com/

  24. HyperWorks (2020) User’s Manual, Altair Corporation

Download references

Funding

This research was funded by the Ministry of Economic Development, Bando Horizon 2020-PON 2014/2020.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Teresa Primo.

Ethics 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.

Conflict of interest

The authors declare no competing interests.

Additional information

Publisher's note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix 1

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

1.1 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={\theta }_{mat}\bullet \left({\alpha }_{appr}\bullet \frac{1}{\sqrt{1+{\tau }_{apprw\left[g\right]}}}+{\alpha }_{mt}\bullet \frac{1}{\sqrt{1+{\tau }_{AMmt\left[g\right]}}}+{\alpha }_{fr}\bullet (2-{f}_{r})\right)$$
(1)
  • \({\theta }_{mat}\): is the compatibility between the material and machine.

  • \({\alpha }_{appr}\): is the metal powder supply coefficient.

  • \({\tau }_{{appr}_{w[g]}}\): is the supply time for metallic powders [days].

  • \({\alpha }_{mt}\): is the material change coefficient.

  • \({\tau }_{{AM}_{mt[g]}}\): is the material change time [days].

  • \({\alpha }_{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.

1.2 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:

$$\begin{aligned}{{C}}{{S}}{{T}} =& {{{\theta}}}_{{{m}}{{a}}{{t}}}\cdot {{{\theta}}}_{{{i}}{{n}}{{g}}}\cdot \Bigg\{{\left[\left({{n}}\cdot {{{\delta}}}_{{{d}}}\right)\cdot \left(\frac{{{{V}}}_{{{d}}}}{{{{\varepsilon}}}_{{{{w}}}_{{{d}}}}}+\frac{{{{S}}}_{{{d}}}\cdot {{{\gamma}}}_{{{r}}{{t}}}\cdot {\boldsymbol{\varphi }}_{{{w}}}}{{{{\varepsilon}}}_{{{{w}}}_{{{r}}}}}\right)\right]\cdot {{C}}}_{{{w}}}\\&+{\left[{{n}}\cdot {{{\delta}}}_{{{t}}}\cdot {{{V}}}_{{{b}}{{o}}{{u}}{{n}}{{d}}{{t}}}\cdot {\boldsymbol{\varphi }}_{{{t}}}\right]\cdot {{C}}}_{{{t}}} +{\left[{{n}}\cdot {{{\mu}}}_{{{g}}}\cdot {{{S}}}_{{{b}}{{o}}{{u}}{{n}}{{d}}}\cdot \left(1+{\boldsymbol{\varphi }}_{{{g}}}\right)cdot {{{\delta}}}_{{{g}}}\right]\cdot {{C}}}_{{{g}}}\Bigg\} \\&cdot {{{f}}}_{{{r}}}+\Bigg\{{{{K}}}_{{{d}}}cdot \left({{{c}}}_{{{{d}}}_{{{o}}{{p}}}}\cdot \left({{{\tau}}}_{{{{d}}}_{{{o}}{{r}}}}+{{{\tau}}}_{{{{d}}}_{{{s}}{{l}}}}+{{{\tau}}}_{{{{d}}}_{{{p}}{{s}}}}+{{{\tau}}}_{{{{d}}}_{{{c}}{{m}}}}\right)\right) +{{{K}}}_{{{A}}{{M}}}\\&\cdot \Bigg[\left({{{c}}}_{{{{A}}{{M}}}_{{{e}}{{q}}}}+{{{c}}}_{{{{A}}{{M}}}_{{{m}}{{h}}}}+{{{c}}}_{{{A}}{{M}}{{e}}{{n}}}+{{{c}}}_{{{A}}{{M}}{{o}}{{p}}}\right)\cdot \Bigg({{c{\tau}}}_{{{A}}{{M}}{{m}}{{t}}}+\left({{{\tau}}}_{{{A}}{{M}}{{s}}{{t}}{{a}}{{r}}{{t}}}+{{{\tau}}}_{{{A}}{{M}}{{r}}{{i}}{{s}}{{c}}}\right)\\&\cdot \left[\frac{{{n}}}{{{m}}}\right] +\frac{{{{V}}}_{{{d}}}}{{{{P}}}_{{{A}}{{M}}}}\cdot {{n}}+{{{\tau}}}_{{{A}}{{M}}{{c}}{{c}}}\cdot \left(\left[\frac{{{n}}}{{{m}}}\right]-1\right)+\left({{{\tau}}}_{{{A}}{{M}}{{r}}{{a}}{{f}}{{f}}{{r}}}+{{{\tau}}}_{{{A}}{{M}}{{c}}{{l}}{{e}}{{a}}{{n}}}\right)\cdot \left[\frac{{{n}}}{{{m}}}\right]\Bigg)\Bigg]\Bigg\}\end{aligned}$$
(2)
  • \({\theta }_{mat}\): is the compatibility between material and machine.

  • \({\theta }_{ing}\): is the compatibility between component and the machine working volume.

  • \({\delta }_{d}\): is the material density indicated by the customer (kg/m3).

  • \({V}_{d}\): is the volume of the component to be produced (m3).

  • \({S}_{d}\): is the total area of the component (m2).

  • \({\gamma }_{rt}\): is the average machining allowance thickness identified by technology (m).

  • \({\varphi }_{w}\): is the ratio between the surface subject to machining allowance and the total surface area of the component (%).

  • \({\varepsilon }_{{w}_{r}}\): is the powder management efficiency in the production of machining allowance (%).

  • \({\varepsilon }_{{w}_{d}}\): is the powder management efficiency in the production of the component (%).

  • \({C}_{w}\): is the unit cost of metal powders (€/kg).

  • \({\delta }_{t}\): is the material density chosen for the supports (kg/m3).

  • \({V}_{{bound}_{t}}\): is the parallelepiped volume of the containment of support structures (m3).

  • \({\varphi }_{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).

  • \({\delta }_{g}\): is the material density of the anchor plate (kg/m3).

  • \({\mu }_{g}\): is the thickness of the anchor plate (kg/m3).

  • \({S}_{bound}\): is the surface of the component’s bounding box (kg/m3).

  • \({\varphi }_{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.

  • \({\tau }_{{d}_{or}}\): is the operator time to identify component orientation (h).

  • \({\tau }_{{d}_{sl}}\): is the operator time to identify the optimal slicing strategy (h).

  • \({\tau }_{{d}_{ps}}\): is the operator time to identify process parameters (h).

  • \({\tau }_{{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.

  • \({\tau }_{{AM}_{mt}}\): is the material change time (h).

  • \({\tau }_{{AM}_{start}}\): is the machine start-up time (h).

  • \({\tau }_{{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.

  • \(\lceil\frac{n}{m}\rceil\): is the number of jobs required by a machine with a maximum capacity of m components to make n components.

  • \({\tau }_{{AM}_{cc}}\): is the cycle change time (h).

  • \({P}_{AM}\): is the machine productivity (m3/h).

  • \({\tau }_{{AM}_{raffr}}\): is the chamber cooling time (h).

  • \({\tau }_{{AM}_{clean}}\): is the excess powders removal time (h).

1.3 Production time index (TMP)

It provides an estimate of component delivery time. The aspects considered by the KPI are:

  • Powder supply time

  • Material change time in the machine

  • Time for process design

  • Accessory times for heating and cooling of the machine

  • Production time

  • Machine cleaning time

The following is the complete formulation of the TMP index with the relative control variables:

$$\begin{aligned}TMP=&{{{\theta}}}_{{{m}}{{a}}{{t}}}\cdot {{{\theta}}}_{{{i}}{{n}}{{g}}}\cdot \Bigg\{{{{\tau}}}_{{{{a}}{{p}}{{p}}{{r}}}_{{{w}}[\mathbf{h}]}}+\left({{{\tau}}}_{{{{d}}}_{{{o}}{{r}}}}+{{{\tau}}}_{{{{d}}}_{{{s}}{{l}}}}+{{{\tau}}}_{{{{d}}}_{{{p}}{{s}}}}+{{{\tau}}}_{{{{d}}}_{{{c}}{{m}}}}\right)\\&+\left[{{{\tau}}}_{{{{A}}{{M}}}_{{{m}}{{t}}}}+\left({{{\tau}}}_{{{{A}}{{M}}}_{{{s}}{{t}}{{a}}{{r}}{{t}}}}+{{{\tau}}}_{{{{A}}{{M}}}_{{{r}}{{i}}{{s}}{{c}}}}\right)\cdot \left(\frac{{{n}}}{{{m}}}\right)\right]+\Bigg[\frac{{{{V}}}_{{{d}}}}{{{{P}}}_{{{A}}{{M}}}}\cdot {{n}}\\&+{{{\tau}}}_{{{{A}}{{M}}}_{{{c}}{{c}}}}\cdot \left(\left(\frac{{{n}}}{{{m}}}\right)-1\right)\Bigg]+\left[\left({{{\tau}}}_{{{{A}}{{M}}}_{{{r}}{{a}}{{f}}{{f}}{{r}}}}+{{{\tau}}}_{{{{A}}{{M}}}_{{{c}}{{l}}{{e}}{{a}}{{n}}}}\right)\cdot \left(\frac{{{n}}}{{{m}}}\right)\right]\Bigg\}\end{aligned}$$
(3)
  • \({\theta }_{mat}\): is the compatibility between material and machine.

  • \({\theta }_{ing}\): is the compatibility between component and the machine working volume.

  • \({\tau }_{{appr}_{w[h]}}\): is the powder supply time (h).

  • \({\tau }_{{d}_{or}}\): is the operator time to identify component orientation (h).

  • \({\tau }_{{d}_{sl}}\): is the operator time to identify the optimal slicing strategy (h).

  • \({\tau }_{{d}_{ps}}\): is the operator time to identify process parameters (h).

  • \({\tau }_{{d}_{cm}}\): is the operator time to set the tool path (h).

  • \({\tau }_{{AM}_{mt}}\): is the material change time (h).

  • \({\tau }_{{AM}_{start}}\): is the machine start-up time (h).

  • \({\tau }_{{AM}_{risc}}\): is the machine preheating time (h).

  • \(m\): is the maximum component number that can be produced within a job.

  • \({\tau }_{{AM}_{raffr}}\): is the room cooling time (h).

  • \({\tau }_{{AM}_{clean}}\): is the excess powder removal time (h).

  • \({\tau }_{{AM}_{cc}}\): is the cycle change time (h).

  • \(n\): is the number of components of the lot.

  • \({P}_{AM}\): is the machine productivity (m3/h).

  • \({V}_{d}\): is the total volume to be melted (m3).

1.4 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={\theta }_{ing}\cdot \left\{\frac{\left[\left(\frac{\left[\left({x}_{AM}-{X}_{d}\right)\right]}{{x}_{AM}}+\frac{\left({Y}_{AM}-{Y}_{d}\right)}{{y}_{AM}}+\frac{\left({z}_{AM}-{z}_{d}\right)}{{z}_{AM}}\right)/3\right]+\left[\frac{n}{m}-({n}_{cycle}-1)\right]}{2}\right\}$$
(4)
  • \({\theta }_{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.

  • ncycle is the job numbers.

  • \(m\): is the maximum number of components that can be produced within a job.

1.5 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:

$${\varvec{P}}{\varvec{R}}{\varvec{E}}={{\varvec{\theta}}}_{{\varvec{p}}{\varvec{r}}{\varvec{e}}}\cdot \frac{\left({{\varvec{\zeta}}}_{{\varvec{d}}}-{{\varvec{\zeta}}}_{{\varvec{A}}{\varvec{M}}}\right)}{{{\varvec{\zeta}}}_{{\varvec{d}}}}$$
(5)
  • \({\theta }_{pre}\): is the product—machine coefficient, \({\theta }_{pre}=0\to {\zeta }_{d}<{\zeta }_{AM} {\theta }_{pre}=1\to {\zeta }_{d}>{\zeta }_{AM}\).

  • \({\zeta }_{d}\): is the reference precision of the component.

  • \({\zeta }_{AM}\): is the machine precision.

1.6 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:

$${\varvec{R}}{\varvec{I}}{\varvec{S}}={{\varvec{\theta}}}_{{\varvec{r}}{\varvec{i}}{\varvec{s}}}\cdot \frac{\left({{\varvec{\xi}}}_{{\varvec{d}}}-{{\varvec{\xi}}}_{{\varvec{A}}{\varvec{M}}}\right)}{{{\varvec{\xi}}}_{{\varvec{d}}}}$$
(6)
  • \({\theta }_{ris}\): is the product—machine coefficient, \({\theta }_{ris}=0\to {\zeta }_{d}<{\zeta }_{AM} {\theta }_{ris}=1\to {\zeta }_{d}>{\zeta }_{AM}\).

  • \({\zeta }_{d}\): is the reference resolution of the component.

  • \({\zeta }_{AM}\): is the machine resolution.

1.7 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:

$${\varvec{S}}{\varvec{T}}{\varvec{Q}}=\frac{{{\varvec{S}}}_{{\varvec{d}}}}{\left(\frac{{{\varvec{S}}}_{{\varvec{t}}}}{{\uppsi }^{2}}+{{\varvec{S}}}_{{\varvec{d}}}\right)}$$
(7)
  • \({S}_{d}\): is the total component surface.

  • \({S}_{t}\): is the total undercut surface.

  • \(\psi\): is the support management coefficient.

1.8 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:

$${\varvec{R}}{\varvec{G}}{\varvec{S}}={{\varvec{\theta}}}_{{\varvec{r}}{\varvec{g}}{\varvec{s}}}\cdot \frac{\left({\mathsf{\chi }}_{{\varvec{d}}}-{\mathsf{\chi }}_{{\varvec{A}}{\varvec{M}}}\right)}{{\mathsf{\chi }}_{{\varvec{d}}}}$$
(8)
  • \({{\varvec{\theta}}}_{{\varvec{r}}{\varvec{g}}{\varvec{s}}}\): is the product—machine coefficient, \({\theta }_{rgs}=0\to {{\varvec{\chi}}}_{{\varvec{d}}}<{{\varvec{\chi}}}_{{\varvec{A}}{\varvec{M}}}{\theta }_{rgs}=1\to {{\varvec{\chi}}}_{{\varvec{d}}}>{{\varvec{\chi}}}_{{\varvec{A}}{\varvec{M}}}\).

  • \({\chi }_{d}\): is the component reference roughness.

  • \({\chi }_{AM}\): is the roughness obtainable with the machine.

1.9 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:

$$\begin{aligned}{\varvec{C}}{\varvec{B}}{\varvec{A}}=&{\theta }_{mat}\cdot {\theta }_{ing}\cdot \Bigg\{{\boldsymbol{\alpha }}_{{\varvec{g}}{\varvec{m}}{\varvec{t}}}\cdot \left(\frac{{\varvec{P}}{\varvec{R}}{\varvec{E}}+{\varvec{R}}{\varvec{I}}{\varvec{S}}+{\varvec{R}}{\varvec{G}}{\varvec{S}}+{\varvec{S}}{\varvec{T}}{\varvec{Q}}}{4}\right)\\&+{\boldsymbol{\alpha }}_{{\varvec{c}}{\varvec{s}}{\varvec{t}}}\cdot \left(\frac{1-{\varvec{C}}{\varvec{S}}{\varvec{T}}}{{{\varvec{C}}{\varvec{S}}{\varvec{T}}}_{{\varvec{m}}{\varvec{a}}{\varvec{x}}}\cdot \left(1+{\boldsymbol{\alpha }}_{{\varvec{c}}{\varvec{s}}{\varvec{t}}}\right)}\right)\\&+{\boldsymbol{\alpha }}_{{\varvec{t}}{\varvec{m}}{\varvec{p}}}\cdot \left(\frac{1-{\varvec{T}}{\varvec{M}}{\varvec{P}}}{{{\varvec{T}}{\varvec{M}}{\varvec{P}}}_{{\varvec{m}}{\varvec{a}}{\varvec{x}}}\cdot \left(1+{\boldsymbol{\alpha }}_{{\varvec{t}}{\varvec{m}}{\varvec{p}}}\right)}\right)\Bigg\}\end{aligned}$$
(9)

The KPI is equal to zero when \({{\varvec{\theta}}}_{{\varvec{m}}{\varvec{a}}{\varvec{t}}}\boldsymbol{ }\mathrm{or}\boldsymbol{ }{{\varvec{\theta}}}_{{\varvec{i}}{\varvec{n}}{\varvec{g}}}\) 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:

  • \({\theta }_{mat}\): \({\theta }_{mat}=\) 0 incompatible material \({\theta }_{mat}=\) 1 compatible material.

  • \({\theta }_{ing}\): is the compatibility between the component and the machine working volume.

  • \({\alpha }_{gmt}\): is the weight associated with geometric KPIs.

  • \({\alpha }_{cst}\): is the weight associated with cost KPIs.

  • \({\alpha }_{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.

  • CST is the production cost.

  • TMP is the production time.

  • \({CST}_{max}\): is the maximum CST value calculated among all available machines.

  • \({TMP}_{max}\): is the maximum TMP value calculated among all available machines.

Appendix 2

The following is the complete algorithm in Java:

figure a

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Calabrese, M., Primo, T., Del Prete, A. et al. Nesting algorithm for optimization part placement in additive manufacturing. Int J Adv Manuf Technol 119, 4613–4634 (2022). https://doi.org/10.1007/s00170-021-08130-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00170-021-08130-y

Keywords

Navigation