Keywords

1 Introduction

Additive Manufacturing (AM) is a technology for fabricating functional prototypes and small batches of part. It allows to realize components characterized from a complex shape and provides important advantages related to the cost saving, compared with other manufacturing processes, and the reduction of the Time to Market [1, 2]. But AM is also a very time consuming technology. Due to the limitations of the technologies currently in use the speeds of the growing process need to be limited for maintaining a good quality of the manufactured part. Consequently AM is generally applied only to small batches of parts. In this sense is very important to provide an estimation of the build time before the part is realized, in order to evaluate the production costs. This information is essential for the sellers during the budgeting process for providing the part cost to the customer and also for planning the production. Indeed many optimization methods for AM have been suggested during the last years [3,4,5,6,7,8,9,10,11,12], whose intents are to increase the profits and also the quality of the manufactured objects. In these methods, whose final output is the optimal build direction of the interested part, the build time is generally required as input. Consequently, a reliable way for evaluating this parameter is necessary.

Two possibilities are offered by the literature to estimate the build time: by parametric-based methods [13,14,15,16,17,18,19,20,21] or by detail analysis-based methods, such as [24]. In parametric-based methods the build time is expressed as a function of the driving build-time factors. These last can be evaluated starting from the geometrical model and before defining the manufacturing process, which can be very useful for the budgeting process. The parametric-based methods are fast and easy-to-use but, on the other side, their accuracy is poor. In detail-analysis based method instead the estimation of the build time is very accurate but they commonly require a full geometrical information of the interested part, which could not be available in some situations.

In this paper the use of a parametric-based method is illustrated. Most of the driving factors of the build time are identified and analyzed. Then these factors are used as input of an artificial neural network, which allows to identify the correlation between the driving build-time factors and the build time. A similar work was proposed by the Authors in a previous activity research, but it evidenced some limitations related to the calculation of some driving factors due to new typologies of hatching that have been introduced during this recent years (Fig. 1). Moreover network learning was very slow since, not being available an accurate tool for estimating the build time, the real value of this last was required. Both limitations have been passed thanks to the use of the new methodologies which will be afterwards described.

Fig. 1.
figure 1

Most in use typologies of hatching for AM.

2 Proposed Method

In parametric-based methods the build time \( t_{f} \) is expressed as

$$ t_{f} = t_{f} \left( {T, DTF_{1} , DTF_{2} , \ldots , DTF_{n} } \right) $$
(1)

The parameter \( T \) is representative of the technology in use, while \( DTF_{i} \) identifies the i-th driving build-time factor. A very difficult step is represented by the individuation of these factors. In order to avoid cross-correlation the driving build-time factors should be independent each other. Moreover, to make the method general-purpose, they should be independent from the specific technology used for manufacturing the part.

In the proposed method the use of the following five driving build-time factors is suggested:

  • \( \frac{{V_{mat} }}{L} \) Volume of part/Layer thickness

  • \( p_{mat} \) Total length of part’s perimeter

  • \( n_{r - mat} \) Number of repositioning required for part’s hatching

  • \( \frac{{V_{sup} }}{L} \) Volume of supports/Layer thickness

  • \( n_{r - sup} \) Number of repositioning required for supports hatching

In Table 1 each factor is compared with the most widespread AM technologies to establish which parameters should be used for a specified process.

Table 1. Correlation between the driving build-time factors and typically commercial rapid prototyping technologies.

The chosen factors can be evaluated relatively easily starting from the geometrical model of the part. Moreover they are quite independent between them, as it was demonstrated in [20].

The driving build-time factors are evaluated by a method implemented into a Matlab script, which process a.stl representation of the object.

The volume of the part \( V_{mat} \) is computed using the methodology proposed by [22].

Some technologies, as evidenced in Table 1, require a deposition of the layer contour. A very accurate estimation of the total layers’ contour is provided by the formula (2) suggested by [23], in which the perimeter is calculated as the “projection” of the triangular facets of the geometrical model divided by the layer distance.

$$ p_{mat} = \frac{{\mathop \sum \nolimits_{j = 1}^{{n_{T} }} S_{j} \sqrt {1 - \left( {\varvec{z} \cdot \varvec{n}_{\varvec{j}} } \right)^{2} } }}{L} $$
(2)

Where:

  • \( n_{T} \) Number of triangular facets of geometrical model

  • \( S_{j} \) Area of j-th triangular facet

  • \( \varvec{z} \) Normal vector of building direction

  • \( \varvec{n}_{\varvec{j}} \) Normal vector of j-th triangular facet

Another parameter which significantly affects the build time is related to the number of repositioning of the deposition tool. During each repositioning an acceleration and a jerk phase are required, causing an increasing of the build time [24]. The number of repositioning is strictly related with the typology of hatching used. In Fig. 1 some of the most common hatching structures are reported.

For the structures 1, 2 and 3, in order to evaluate the number of repositioning \( n_{r - mat } \), an extension of the methodology already in use for the rectangular hatching is proposed [21].

$$ n_{r - mat } = \mathop \sum \limits_{k = 1}^{2} \left( {\frac{{\mathop \sum \nolimits_{j = 1}^{{n_{T} }} S_{j} \sqrt {1 - \left( {\varvec{z} \cdot \varvec{n}_{\varvec{j}} } \right)^{2} } }}{{H_{mat} L}}\left| {\varvec{\tau}_{{\varvec{k},\varvec{c}}} \cdot \varvec{n}_{{\varvec{j},\varvec{xy}}} } \right|} \right) $$

Where:

  • \( H_{mat} \) Hatching distance

  • \( \varvec{\tau}_{{\varvec{k},\varvec{c}}} \) Normal vector referred to hatching direction

  • \( \varvec{n}_{{\varvec{j},\varvec{xy}}} \) Projection onto the stratification plane of the normal vector of j-th triangular facet

The phase \( \varvec{\theta} \) of the vector \( \varvec{\tau}_{{\varvec{k},\varvec{c}}} \) assumes different values depending on hatching typology, in accordance with Table 2.

Table 2. Relationship between k, phase \( \theta \) and hatching typology.

For the structures 4 and 5 instead, the number of repositioning is not proportional to the external perimeter \( p_{mat} \) but rather to the hatching area \( A_{i} \) of the i-th layer. In that case the expressions reported in Fig. 2 are used for evaluating \( n_{r - mat } \):

Fig. 2.
figure 2

Formulation of for wiggle and honeycomb hatching.

A formulation for determining the same parameters with reference to the supports should now be provided. But no information about the support structures is contained into the geometrical model and, moreover, these last are strictly dependent on user choices and technology in use. So a strategy, based on voxelization, has been implemented into a Matlab script for determining the geometrical information referred to the supports [24]. The total volume of supports \( V_{sup} \) is provided by the sum of the volume of the voxel elements:

$$ V_{sup} = \mathop \sum \limits_{i = 1}^{{N_{v} }} V_{v,i} $$

Where:

  • \( N_{v} \) Number of voxel elements

  • \( V_{v,i} \) Volume of the i-th voxel element

While the total number of repositioning \( n_{r - sup } \) required for the supports is obtained considering the total perimeter \( p_{sup} \) of the supporting structure.

$$ p_{sup} = N_{v} \left( {4\frac{{d^{2} }}{L}} \right) $$

Where:

  • \( d \) Grid dimension of voxel element

Then the same methodology proposed for the material can be used, depending on the kind of hatching chosen.

Now a relationship between the proposed driving build-time factors and the build time needs to be founded. Generally speaking, the function (1) is very complex and unknown. So an Artificial Neural Network (ANN) is used to meet the request. Those mathematical instruments represent a powerful solution for generating a complete representation of a domain not entirely known.

A neural network, being able to reproduce non-linear functions, provides the possibility of considering all the complex dependencies which elapse between the driving build-time factors, offering, for example, the opportunity to predict the effects of the acceleration and jerk phases. Moreover a neural network is characterized by an adaptive capability; if the estimation provided by the network for a prototype results to be unsatisfactory, this last can be added to the set of samples used for training the network. In this way the accuracy of results increases over time.

For our purpose, a typical back-propagation artificial network with two hidden layer (Fig. 3) has been used. The parameter \( T \), which identifies the AM technology in use, is provided in input to the network in addition to the driving build-time factors. That parameter should work as a logical value and it is chosen between the positive integer numbers depending on the technology in use (\( T_{FDM} = 1, T_{SLA} = 2, \ldots , T_{SLM} = 8). \) In order to train the network, the real build time of the test samples is required. In [21] the learning process was very slow because, not being disposable a reliable way for evaluating this quantity, each test case required to be physically realized. Therefore, in order to maintain the method economically and temporally sustainable, few samples could be provided for network learning. For example no other build direction except the optimal one was used and this represented a significant limitation of the network’s ability to generalize the results.

Fig. 3.
figure 3

Configuration of the artificial neural network.

In the proposed method, by the use of a detail-analysis based method [24], now an extremely accurate evaluation of the build time, based on the use of GCode, is applied for evaluating very precisely the real build time. The use of this methodology requires that some specific information concerning the manufacturing process should be provided, for example the magnitude of accelerations and jerks, or the infill percentage of part and support. The necessity to know this information represents a limit of the method itself in comparison with the proposed one, but the use of it allows us to obtain very quickly an evaluation of the build time. In this way many test cases, using different orientations or shapes, can be used as reference for the learning process, increasing the method accuracy. In Fig. 4, the workflow followed for obtaining the real build time of the samples used for network learning is illustrated.

Fig. 4.
figure 4

Workflow for obtaining the build time using the proposed detail-analysis based method.

3 The Results

In order to train the ANN, seventy-seven test cases, which are characterized from different shape, dimension, geometrical and topological complexity, have been used taking as reference the FDM technology. Some of these test cases have been evaluated more than once by changing building direction and/or scaling its geometry. Therefore the ANN was trained by using ninety training instances.

A first experiment (A) was conducted for identifying the best number of nodes to use for the two hidden layers of ANN. As evidenced by [25], an optimal number of nodes can be founded only trough an empirical investigation and it is affected by the complexity of the problem. If the number of nodes is too low, the accuracy of the neural network will low too. Otherwise if the number of nodes is increased beyond a threshold level, then the method will lost its capability to generalize the results.

Six different ANN configurations were trained, using, respectively, 25, 50, 65, 75, 85 and 100 nodes. Then the samples reported in Fig. 5 were submitted to the ANNs to verify their capability to evaluate the build time. These samples belong to the seventy-seven models used for training ANNs, but they were rotated and/or scaled and then submitted to neural network. The estimation error, shown in Fig. 6, evidence that the optimal case is provided when 75 nodes are used for each hidden layer. In that configuration the area of the polygonal figure that corresponds to 75 nodes is minimum.

Fig. 5.
figure 5

Validation samples used for experiment (A).

Fig. 6.
figure 6

Relationship between number of nodes and percentage error in build time estimation of experiment (A) for the eight proposed samples.

In order to analyze the behavior of the ANN in regard to new geometrical models, not used in the training phase, another experiment (B) was conducted. Six samples, reported in Fig. 7, were analyzed and their build time estimated. The results, reported in Table 3, evidenced a very satisficing estimation of the build time when 100 nodes are used.

Fig. 7.
figure 7

Validation samples used for experiment (B).

Table 3. Results of experiment (B).

The difference between the behavior of the neural network towards already-trained samples, in which only the building direction or the size have been modified, and new samples has been attributed to a mathematical instability of ANN. When too many neural connections are present into the hidden layers, small variations of the driving build-time factors cause a significant change of the build time. In the case of experiment (A) many of the driving build-time factors does not vary a lot when the build direction changes. For example one the most significant driving factors, such as the volume, is not affected by build direction. This does not occur in the experiment (B) when new geometrical models are analyzed. In that experiment an increasing number of neurons seems to improve the accuracy of the network. This is demonstrated by the fact that, when 75 nodes are used, the average error for the build time estimation is equal to 43% of the real build time, while for the case of 100 nodes the average error is only 6%.

4 Conclusions

In this paper a parametric-based approach for evaluating the build time for AM technologies has been presented. A parametric estimation of this quantity could be very useful for a fast and privacy-aimed evaluation of the costs required for manufacturing an object. Respect to the published methods by Authors, in this paper the following new elements are introduced:

  • Among eight original driving build-time factors, only the five with a low correlation each other have been considered. A new parameter \( T \) has been introduced in formula (1) which considers the AM technology in use.

  • A new formulation of the driving build-time factors is proposed in order to take into account the different typologies of hatching for AM.

  • A fast analytical procedure was used for determination of the real build time.

In order to approximate the build time, the very complex and non-linear function of the previously defined driving build-time factors, an ANN with two hidden layers is used.

With a first experimentation the optimal number of neurons for the two hidden layers was defined. The net training was performed with ninety test cases opportunely chosen.

The obtained results show a good performance with a mean error of 6% in the build time estimation for objects for which the ANN has never been trained.

In a further work may be interesting to use an ANN with more neural connections which may lead to an even better estimation of the build time. Furthermore the availability of a reliable detailed-analysis based method for evaluate the build time could be exploit for improving even more the quality of the test cases. For example, as suggested by the results of experiment (A), a better specialization of the ANN for different build directions of a same object is required.