1 Introduction

Satisfying dimensional and geometric precision is a significant engineering objective of workpieces machining. Due to the imperfection of fixture locators and machining-induced variations, quality features deviate from designed target values with fluctuation. In addition, the variations are not only related to the current machining process, but also affected by the upstream errors when corresponding features are adopted as locating datums in current stage [1]. Consequently, the research of variation expression, propagation and accumulation in multi-stage machining processes is important to control the process capability, improve product quality, reduce manufacturing costs and cut down ramp-up time.

The theory of stream of variation (SoV) is one of the most important methods in researching variation propagation rule in manufacturing system, which integrates the product and process knowledge and reveals the mapping relationship between key control characteristics (KCC) and key product characteristics (KPC) [1]. Since Hu [2] firstly proposed this theory in automobile assembly, the SoV model for multi-stage assembly processes (MAPs) has received extensive attention [3,4,5]. Meanwhile, in multi-stage machining processes (MMPs), variation modelling by the SoV theory has been the hotspot in recent two decades. Djurdjanovic and Ni [6] adopted Taylor series expansion to obtain a linear state space model. Huang and Shi [7] proposed an implicit nonlinear model to express variation propagation and accumulation for MMPs. Zhou et al. [8] explored the vector representation of variations and deduced detailed mathematical expressions of datum-induced error and fixture error. The model in terms of differential motion vector (DMV) was a pioneering modelling approach for variation analysis of MMPs. Subsequently, this model was expanded in machining-induced variations [9,10,11,12], fixture layouts [13, 14], machine tool variations [15, 16], application objects [17, 18], measurement variations [19,20,21,22], and geometric dimensioning and tolerancing (GD&T) integration [23, 24]. Yang et al. [25] summarized the three most commonly used variation propagation models. Detailed descriptions of existing research work on variation propagation modelling and applications were provided in a monograph [1] and a survey [26]. Altogether, the main trend of SoV model researching presents the following rules: from assembling process to machining process, from fuzzy system description to explicit representation of variation sources, the objective products extended from box parts to complex parts such as revolving parts.

Although the variation modelling of MMPs has been greatly developed in the past 20 years, there are still some limitations that confine the application scope in the industrial. The universality and accuracy of SoV models require more in-depth research. These two major limitations are detailed as follows:

  • Taking automobile engine manufacturing as an example, typical workpieces in different types of shapes and their variation propagation research methods are shown in Table 1. Box-type parts and revolving-type parts have different machining methods, locating schemes, and dominant errors [18]. More complicated, engine block has six independent locating cast datum plane features for rough machining process, which cannot be handled by simple 3-2-1 locating scheme [14]. Therefore, in the context of product diversification, variation modelling and quality control for general shape workpieces are receiving growing attention. Throughout the existing SoV models, expressing variations with DMVs and propagating through homogeneous transformation matrices (HTMs) is a relatively generic method. It has been possible to model the variation propagation of box-type parts or revolving-type parts separately. However, due to the differences shown in Table 1, the selection of a specific model for each particular workpiece and each particular machining stage is still a prerequisite in SoV model application, which is extremely inconvenient in industrial applications. Consequently, building a unified model for workpieces in different kinds of shapes to facilitate the variation modelling is worth researching.

    Table 1 Typical workpieces and related variation researches
  • The accuracy of SoV models is another issue. Traditional variation propagation models mainly focus on the modelling of fixture errors and datum-induced errors. Other factors such as cutting-tool wear are commonly omitted as noises. Abellan-Nebot et al. [9] extended the machining-induced factors, but due to the necessity of increasing a large number of coordinate systems, the model is relatively complex, which will also result in the omitting of error terms in each extended coordinate system. Therefore, a model that concisely contains all key elements of manufacturing system and clearly identifies main error sources is conducive to the accuracy and simplicity study of variation propagation.

Three-dimensional tolerance analysis can describe small variations of features in tolerance domain and their transfer relations in the dimensional chain. It is commonly applied in assembly process [27]. Chen et al. [28] summarized four widely used methods for three-dimensional tolerance analysis including three-dimensional direct linearization method (3D-DLM), tolerance-map (T-Map), matrix model, and Jacobian–Torsor model. Among them, the Jacobian–Torsor model [29] has clear structure, concise algorithm, rich engineering semantics. It combines the advantage of small displacement torsor (SDT) model which is suitable for variation representation and Jacobian matrix which performs well in variation propagation. Therefore, the application of three-dimensional tolerance analysis, especially the Jacobian–Torsor method is a commendable approach to construct the variation propagation model for machining process [30, 31]. However, there are very few related studies, all of which are limited to single stage [32] or specific workpieces in box-type shape machined by simple 3-2-1 locating scheme [32, 33], further expansions which adapted to the needs of multi-stage and general shape workpieces are necessary.

In this paper, considering these limitations in a comprehensive way, a new variation propagation model in multi-stage machining processes for general shape workpieces is established based on a modified three-dimensional tolerance analysis method. The connection of all key elements in manufacturing system such as workpiece, fixture, cutting tool, and machine tool is defined as an assembly chain, which intuitively identifies the main error sources. The equivalent conversion of the connection between workpiece and fixture realizes the modelling of general shape workpiece regardless of its machining method and locating scheme. Jacobian–Torsor model is adopted to express and propagate the variations in the defined assembly chain. Benefitting from these methods, this paper expands the universality of variation propagation model for general shape workpieces, innovatively demonstrates the stream of variation from assembly perspective and considers more error sources to enhance the prediction accuracy. The rest of this paper is organized as follows: The error and coordinate system representations are proposed in Sect. 2. Section 3 constructs the novel model. Section 4 provides the case study to verify the applicability and accuracy of this method. Finally, we conclude this paper in the last section.

2 Workpiece Random Variation Representation

Under the rigid workpiece assumption, five key elements in manufacturing system are taken into account to describe the variation propagation model: machine tool, cutting tool, fixture locators, workpiece datum features and machining features.

2.1 Coordinate Systems Definition

For the sake of convenience, this paper defines five coordinate systems involved in the derivation (The notion with left superscript “0” means the nominal condition):

  1. 1.

    GCS (Global Coordinate System) is the reference of coordinate systems.

  2. 2.

    RCS (Reference Coordinate System) is associated with an individual workpiece and represents its position and orientation. It is also named PCS (Part Coordinate System).

  3. 3.

    FCS (Fixture Coordinate System) defines the actual fixture setup. It is determined by the actual position of each locator.

  4. 4.

    °FCS (Nominal Fixture Coordinate System) defines the ideal fixture setup. It is determined by the nominal position of each locator.

  5. 5.

    LCS (Local Coordinate System) is associated with one specific feature on workpiece, and it represents machining feature’s position and orientation.

2.2 Error Source and Error Definition

In traditional SoV model, the interrelation between the coordinate systems in Sect. 2.1 can generate four types of errors. Figure 1 indicates the relations among these coordinate systems and corresponding errors: Datum error comes from previous stages and it is the deviation of FCS w.r.t. RCS. Fixture error caused by the imperfection of locators is represented by the deviation of FCS w.r.t. °FCS. Machining error is defined as the deviation of the cutting-tool from its nominal path w.r.t. °FCS, i.e., the deviation of LCS w.r.t. °FCS. The deviation of LCS w.r.t. RCS is the overall feature error, which represents the overall position and orientation variations of a workpiece feature. Detailed mathematical expressions of various error in the traditional SoV model is given in the Ref. [8].

Fig. 1
figure 1

Error source in traditional SoV model

Meanwhile, in MMPs, the error sources and propagation can also be clearly demonstrated through the installation process of various elements in manufacturing system from the perspective of the assembly. As shown in Fig. 2, a representative vertical milling setup process can be divided into three steps.

Fig. 2
figure 2

Installation and error introduction process in assembly perspective

  • Setup operation 1 Install the cutting tool on the machine tool spindle: besides the error introduced by the coordinating of the spindle and the cutting tool holder, the wear of the cutting tool in previous use will also introduce cutting tool error.

  • Setup operation 2 Install the fixture on the worktable: for the fixture itself, there are errors in the locators due to manufacturing accuracy, wear, deformation and other factors in previous use. In addition, the coordinating of fixture and worktable will bring errors as well.

  • Setup operation 3 Install the workpiece on the fixture: using some specific features of the workpiece as datums for locating, the errors of datum features are propagated to the machining feature as datum-induced error.

Finally, the errors are accumulated and can be displayed on the machining feature. The overall variation is the deviation of the actual path by the cutting tool compared with its ideal condition w.r.t. RCS, as shown in Fig. 3.

Fig. 3
figure 3

The overall variation of machining process

According to the installation and error introduction process in manufacturing system, the error contribution in traditional SoV model is reorganized by the pattern of assembly. The overall variation of the machining feature in MMPs is composed of four parts: machine tool—worktable error, cutting tool—spindle error, fixture-induced error, and datum-induced error. Compared to the traditional SoV model that only consider the latter two types of error, this reorganization can consider more factors by a concise expression. Similarly, the turning process of revolving parts can be reconstructed in the same way.

2.3 Variation and Propagation Representation

The SDT model defines the dimensional and geometrical variations between ideal feature Ni and actual feature Ai, denoted as T [34]. It consists of a rotation deviation vector \({\varvec{\uprho}}_{A,N} = \left[ {\alpha ,\beta ,\gamma } \right]^{T}\) which represents the rotation around the x, y and z axes and a translation deviation vector \({\varvec{\upvarepsilon}}_{A,N} = \left[ {u,v,w} \right]^{T}\) which represents the translation from the x, y and z axes relative to the coordinate origin. The SDT of a general feature is defined as:

$${\mathbf{T}} = \left[ {\begin{array}{*{20}c} {{\varvec{\uprho}}_{A,N} } & {{\varvec{\upvarepsilon}}_{A,N} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} \alpha \\ \beta \\ \gamma \\ \end{array} } & {\begin{array}{*{20}c} u \\ v \\ w \\ \end{array} } \\ \end{array} } \right]$$
(1)

The SDT model had been defined in the literature for different types of features [35]. Two of the most commonly used are shown in Table 2. For instance, considering the normal vector of the planar feature is in z direction, the plane presents rotation variations around x and y axes and translation variations on z axis. Other variations (rotations around the z axis and translation in x and y axes) keep the surface invariant and thus, these deviations are considered as U and they can be set as zero to simplify the calculation process.

Table 2 SDTs according to the type of surface features

Variation representation by SDT model is intuitionistic, but this model is inconvenient for transfer. Therefore, the Jacobian matrix is introduced to variation propagation. The Jacobian matrix for the ith feature functional elements (FEs) can be expressed as:

$$\left[ {\mathbf{J}} \right]_{{FE_{i} }} = \left[ {\begin{array}{*{20}c} {\left[ {{\mathbf{R}}_{0}^{i} } \right]_{3 \times 3} } & {\left[ {{\mathbf{W}}_{i}^{n} } \right]_{3 \times 3} \cdot \left[ {{\mathbf{R}}_{0}^{i} } \right]_{3 \times 3} } \\ {\left[ {\mathbf{0}} \right]_{3 \times 3} } & {\left[ {{\mathbf{R}}_{0}^{i} } \right]_{3 \times 3} } \\ \end{array} } \right]_{6 \times 6}$$
(2)

where \({\mathbf{R}}_{0}^{i}\) represents the rotation matrix of the ith feature w.r.t. GCS; \({\mathbf{W}}_{i}^{n}\) is a skew-symmetric matrix associated with a vector \({\mathbf{d}}_{i}^{n}\), defined as Eq. (3)

$$\left[ {{\mathbf{W}}_{i}^{n} } \right]_{3 \times 3} = \left[ {\begin{array}{*{20}c} 0 & {dz_{i}^{n} } & { - \,dy_{i}^{n} } \\ { - \,dz_{i}^{n} } & 0 & {dx_{i}^{n} } \\ {dy_{i}^{n} } & { - \,dx_{i}^{n} } & 0 \\ \end{array} } \right]$$
(3)

where \({\mathbf{d}}_{i}^{n} = \left[ {dx_{i}^{n} ,dy_{i}^{n} ,dz_{i}^{n} } \right]^{T}\) is the translation vector defining the position change of machining surface (nth feature) relative to ith feature in the direction of three coordinate axes, which can be obtained by \(dx_{i}^{n} = dx_{n} - dx_{i}\), \(dy_{i}^{n} = dy_{n} - dy_{i}\), \(dz_{i}^{n} = dz_{n} - dz_{i}\).

3 The New Variation Propagation Model in Machining Processes

3.1 The Construction of Variation Propagation Chain

There are two types of tolerances in three-dimensional tolerance analysis, i.e., functional requirement (FR) and functional element (FE). FR is the design target value, which is the objective of tolerance analysis, and it is usually a closed loop. FE is tolerance of a feature that participates in tolerance transmission and it can be divided into internal functional element (IFE) and contact functional element (CEF).

FR and FEs need to be firstly identified according to the error sources and error propagation when applying the three-dimensional tolerance analysis method to variation propagation in MMPs. As this method only considers the tolerances and their coordinating in the same direction with the FR, the series connection relationships of the manufacturing system components along z-direction are shown in Fig. 4a. The deviation of the actual path by the cutting-tool compared with its ideal condition w.r.t. RCS is FR, and the remaining error factors which make up the total variation are FEs. The error propagation chain constructed is IFE1CFE1IFE2CFE2IFE3CFE3IFE4FRIFE5CFE4IFE6.

Fig. 4
figure 4

Assembly connection and variation propagation chain

However, in engineering practice, the errors included in the connection between fixture and workpiece are not confined to z-axis direction. Taking simple 3-2-1 locating scheme as an example, the normal vector of secondary and tertiary datum plane are oriented to the x-axis and y-axis respectively. Correspondingly, the direction of fixture errors in locators are not consistent with FR’s direction as well [8]. These two major error factors have a great influence on FR, so the connection relationship between the fixture and the workpiece in Fig. 4a needs to be further expanded.

For general shape workpieces, it is necessary to constrain six degrees of freedom during proper machining condition. Adding the connections orient to x-axis and y-axis, the variation propagation chain of IFE3-CFE3-IFE4 is augmented to a partial parallel connection as shown in Fig. 4b. \(P_{1}{-}P_{6}\) represent six fixture locators, \(L_{1}{-}L_{6}\) represent six contacting datums of the workpiece. Parallel functional element (PFE) represents a type of FE that forms a parallel connection in assemblies, which also participates in variation propagation and has a significant effect to FR. Through the PFE, the connection between the workpiece and the fixture is equivalent to a connection between two groups of points that can limit the six degrees of freedom of the workpiece, which can realize the modelling for general shape workpiece regardless of its machining method and locating scheme.

In order to solve this model, this paper converts the mixed structure which is partial parallel and global series into a pure series structure. As shown on Fig. 5, the connection between two dotted coordinate systems contains the fixture error and the datum-induced error in all directions. The new concept of virtual contact functional element (VCFE) is proposed to indicate the CFE between virtual coordinate systems. Section 3.2 will provide the conversion method and calculate the torsor of VCFE.

Fig. 5
figure 5

The conversion of variation propagation chain

3.2 The Solution of VCFE Torsor

Without loss of generality, part of a general shape workpiece connecting with one fixture locator is shown in Fig. 6. The solution of VCFE torsor can be divided into four steps.

Fig. 6
figure 6

Contact condition of a general shape workpiece with one fixture locator

3.2.1 Constraint Construction

In proper operating condition, the contact point on the workpiece and the corresponding locator of fixture should be guaranteed touching and these two points should be in the same tangent plane. Therefore, the constraint equation for ith locator is:

$${\mathbf{n}}_{i}^{{{\prime }T}} \cdot {\varvec{\upvarepsilon}}_{i}^{{\prime }} = {\mathbf{n}}_{i}^{{{\prime }T}} \cdot {\mathbf{t}}_{i}^{{\prime }}$$
(4)

where \({\mathbf{n}}_{i}^{{{\prime }T}}\) represents the outgoing normal vector of ith contact point of the workpiece, \({\mathbf{t}}_{i}^{\prime }\) is the position of ith contact point in RCS. \({\varvec{\upvarepsilon}}_{i}^{\prime }\) is the position of ith fixture locator in RCS, but the position can only be delivered in °FCS directly. Denoting \({\mathbf{t}}_{i}\) as the position of ith fixture locator in °FCS, \({\mathbf{R}}_{RCS}\) and \({\mathbf{t}}_{RCS}\) as the rotational matrix and translational vector from RCS to °FCS, \({\varvec{\upvarepsilon}}_{i}^{\prime }\) can be written as \({\varvec{\upvarepsilon}}_{i}^{\prime } = {\mathbf{R}}_{RCS}^{T} \cdot ({\mathbf{t}}_{i} - {\mathbf{t}}_{RCS} )\).

Rewriting Eq. (4), the ith contact point meets the following condition:

$${\mathbf{f}}_{i} = {\mathbf{n}}_{i}^{{{\prime }T}} \cdot {\varvec{\upvarepsilon}}_{i}^{{\prime }} - {\mathbf{n}}_{i}^{{{\prime }T}} \cdot {\mathbf{t}}_{i}^{{\prime }} = {\mathbf{n}}_{i}^{{{\prime }T}} \cdot {\mathbf{R}}_{RCS}^{T} \cdot ({\mathbf{t}}_{i} - {\mathbf{t}}_{RCS} ) - {\mathbf{n}}_{i}^{{{\prime }T}} \cdot {\mathbf{t}}_{i}^{{\prime }} = {\mathbf{0}}$$
(5)

To ensure that the six degrees of freedom of the workpiece are fully constrained, i can be from 1 to 6. Combining all contact points together, the constraint equation for whole fixture-workpiece connection system can be obtained as:

$${\varvec{\Phi}} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\mathbf{f}}_{1} } \\ {{\mathbf{f}}_{2} } \\ {{\mathbf{f}}_{3} } \\ \end{array} } \\ {{\mathbf{f}}_{4} } \\ {{\mathbf{f}}_{5} } \\ {{\mathbf{f}}_{6} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\mathbf{n}}_{1}^{{{\prime }T}} \cdot {\mathbf{R}}_{RCS}^{T} \cdot ({\mathbf{t}}_{1} - {\mathbf{t}}_{RCS} ) - {\mathbf{n}}_{1}^{{{\prime }T}} \cdot {\mathbf{t}}_{1}^{{\prime }} } \\ {{\mathbf{n}}_{2}^{{{\prime }T}} \cdot {\mathbf{R}}_{RCS}^{T} \cdot ({\mathbf{t}}_{2} - {\mathbf{t}}_{RCS} ) - {\mathbf{n}}_{2}^{{{\prime }T}} \cdot {\mathbf{t}}_{2}^{{\prime }} } \\ {{\mathbf{n}}_{3}^{{{\prime }T}} \cdot {\mathbf{R}}_{RCS}^{T} \cdot ({\mathbf{t}}_{3} - {\mathbf{t}}_{RCS} ) - {\mathbf{n}}_{3}^{{{\prime }T}} \cdot {\mathbf{t}}_{3}^{{\prime }} } \\ \end{array} } \\ {{\mathbf{n}}_{4}^{{{\prime }T}} \cdot {\mathbf{R}}_{RCS}^{T} \cdot ({\mathbf{t}}_{4} - {\mathbf{t}}_{RCS} ) - {\mathbf{n}}_{4}^{{{\prime }T}} \cdot {\mathbf{t}}_{4}^{{\prime }} } \\ {{\mathbf{n}}_{5}^{{{\prime }T}} \cdot {\mathbf{R}}_{RCS}^{T} \cdot ({\mathbf{t}}_{5} - {\mathbf{t}}_{RCS} ) - {\mathbf{n}}_{5}^{{{\prime }T}} \cdot {\mathbf{t}}_{5}^{{\prime }} } \\ {{\mathbf{n}}_{6}^{{{\prime }T}} \cdot {\mathbf{R}}_{RCS}^{T} \cdot ({\mathbf{t}}_{6} - {\mathbf{t}}_{RCS} ) - {\mathbf{n}}_{6}^{{{\prime }T}} \cdot {\mathbf{t}}_{6}^{{\prime }} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\mathbf{0}} \\ {\mathbf{0}} \\ {\mathbf{0}} \\ \end{array} } \\ {\mathbf{0}} \\ {\mathbf{0}} \\ {\mathbf{0}} \\ \end{array} } \right]$$
(6)

Defining \({\mathbf{N}}^{{\prime }} = \left[ {\begin{array}{*{20}c} {{\mathbf{n}}_{1}^{{{\prime }T}} } & {} & {\mathbf{0}} \\ {} & \ddots & {} \\ {\mathbf{0}} & {} & {{\mathbf{n}}_{6}^{{{\prime }T}} } \\ \end{array} } \right]\), \({\mathbf{P}}^{{\prime }} = \left[ {\begin{array}{*{20}c} {{\mathbf{t}}_{1}^{{{\prime }T}} } & {{\mathbf{t}}_{2}^{{{\prime }T}} } & \ldots & {{\mathbf{t}}_{6}^{{{\prime }T}} } \\ \end{array} } \right]^{T}\) as the orientation and position collection of contact points under RCS which contains the information of datum features, \({\mathbf{L}} = \left[ {{\mathbf{t}}_{1}^{T} \, {\mathbf{t}}_{2}^{T} \, \cdot \cdot \cdot \, {\mathbf{t}}_{6}^{T} } \right]^{T}\) as the position collection of fixture locators in °FCS which contains the information of fixture. \({\mathbf{x}} = \left[ {{\mathbf{t}}_{RCS}^{T} \, {\varvec{\uptheta}}_{RCS}^{T} } \right]^{T}\) contains the position and orientation information of the transformation from RCS to °FCS, \({\varvec{\uptheta}}_{RCS}\) is three Euler angles of \({\mathbf{R}}_{RCS}\). Equation (6) can be expressed as:

$${\varvec{\Phi}}({\mathbf{N^{\prime}}}, \, {\mathbf{P^{\prime}}}, \, {\mathbf{L}}, \, {\mathbf{x}}) = {\mathbf{0}}$$
(7)

3.2.2 Error Factors Extraction

Taking into account the deviation in the process, the deviation in datum (\(\delta {\mathbf{N^{\prime}}}\) and \(\delta {\mathbf{P^{\prime}}}\)) and the error in fixture locators (\(\delta {\mathbf{L}}\)) cause the deviation of x jointly. The deviation of x (\(\delta {\mathbf{x}}\)) is the torsor of VCFE (denoted as \({\mathbf{T}}_{VCFE}\)). Taking differential operation to Eq. (7):

$$\frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{x}}}}\delta {\mathbf{x}} = - \frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{N^{\prime}}}}}\delta {\mathbf{N^{\prime}}} - \frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{P^{\prime}}}}}\delta {\mathbf{P^{\prime}}} - \frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{L}}}}\delta {\mathbf{L}}$$
(8)

\(\frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{N^{\prime}}}}}\) is always equal to zero because the outgoing normal vector is perpendicular to the tangent plane. \(- \frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{P^{\prime}}}}}\) is equal to \({\mathbf{N^{\prime}}}\) according to geometry. \(\delta {\mathbf{L}}\) represents the fixture error and it is commonly expressed by \({\mathbf{U}} = \left[ {{\mathbf{u}}_{1}^{T} \, {\mathbf{u}}_{2}^{T} \, \cdot \cdot \cdot \, {\mathbf{u}}_{6}^{T} } \right]^{T}\).

To establish the state space equation, the Eq. (8) can be rewritten as Eq. (9) after extracting the collection of datum error torsors \({\mathbf{T}}_{C}\):

$${\mathbf{C}} \cdot {\mathbf{T}}_{VCFE} = {\mathbf{A}} \cdot {\mathbf{T}}_{C} + {\mathbf{B}} \cdot {\mathbf{U}}$$
(9)

where A, B and C are coefficient matrices, \({\mathbf{A}} \cdot {\mathbf{T}}_{C} = - \frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{P^{\prime}}}}}\delta {\mathbf{P^{\prime}}}\), \({\mathbf{B}} \cdot {\mathbf{U}} = - \frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{L}}}}\delta {\mathbf{L}}\), \({\mathbf{C}} = \frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{x}}}}\), collective torsors \({\mathbf{T}}_{C} = \left[ {{\mathbf{T^{\prime}}}_{1} \, ^{T} \, {\mathbf{T^{\prime}}}_{2} \, ^{T} \, \cdot \cdot \cdot \, {\mathbf{T^{\prime}}}_{6} \, ^{T} } \right]^{T}\), \({\mathbf{T^{\prime}}}_{i}\) is the datum error torsor of ith contact point.

3.2.3 The Expression of Coefficient Matrices

  1. (a)

    Calculation of coefficient matrix A

\(\delta {\mathbf{t}}_{i}^{\prime } = {\mathbf{t}}_{i}^{\prime } - {}^{0}{\mathbf{t}}_{i}^{\prime }\) contains the information about the position error of the ith contact point under RCS. \(\delta {\mathbf{P^{\prime}}} = \left[ {\begin{array}{*{20}c} {\delta {\mathbf{t}}_{1}^{{{\prime }T}} } & {\delta {\mathbf{t}}_{2}^{{{\prime }T}} } & \ldots & {\delta {\mathbf{t}}_{6}^{{{\prime }T}} } \\ \end{array} } \right]^{T}\) corresponds to the collective vector of \(\delta {\mathbf{t}}_{i}^{\prime }\). To obtain coefficient matrix A, the linear equation \({\mathbf{N^{\prime}}} \cdot \delta {\mathbf{P^{\prime}}} = {\mathbf{\rm A}} \cdot {\mathbf{T}}_{C}\) from (8) and (9) can be used, which establishes the relation between \(\delta {\mathbf{t}}_{i}^{\prime }\) and \({\mathbf{T^{\prime}}}_{i}\).

Defining \({\mathbf{t}}_{i}^{\prime \prime }\) as the position of ith contact point under LCS, the value of \({\mathbf{t}}_{i}^{\prime }\) can be determined using homogeneous transformation matrices from RCS to LCS as:

$$\left[ {\begin{array}{*{20}c} {{\mathbf{t}}_{i}^{\prime } } \\ 1 \\ \end{array} } \right] = ({}^{0}{\mathbf{H}}_{i}^{\prime } ) \cdot {\mathbf{H}}({\mathbf{T^{\prime}}}_{i} ) \cdot \left[ {\begin{array}{*{20}c} {{\mathbf{t}}_{i}^{\prime \prime } } \\ 1 \\ \end{array} } \right]$$
(10)
$$\left[ {\begin{array}{*{20}c} {{}^{0}{\mathbf{t}}_{i}^{\prime } } \\ 1 \\ \end{array} } \right] = ({}^{0}{\mathbf{H}}_{i}^{\prime } ) \cdot \left[ {\begin{array}{*{20}c} {{}^{0}{\mathbf{t}}_{i}^{\prime \prime } } \\ 1 \\ \end{array} } \right]$$
(11)

From small deviation assumption, the contact position expressed in LCS can be thought as unchanged (i.e., \({\mathbf{t}}_{i}^{\prime \prime } = {}^{0}{\mathbf{t}}_{i}^{\prime \prime }\)). Rewriting (11) and substituting it to (10):

$$\left[ {\begin{array}{*{20}c} {{\mathbf{t}}_{i}^{\prime } } \\ 1 \\ \end{array} } \right] = ({}^{0}{\mathbf{H}}_{i}^{\prime } ) \cdot {\mathbf{H}}({\mathbf{T^{\prime}}}_{i} ) \cdot ({}^{0}{\mathbf{H}}_{i}^{\prime } )^{ - 1} \cdot \left[ {\begin{array}{*{20}c} {{}^{0}{\mathbf{t}}_{i}^{\prime } } \\ 1 \\ \end{array} } \right]$$
(12)

The relation between \(\delta {\mathbf{t}}_{i}^{\prime }\) and \({\mathbf{T^{\prime}}}_{i}\) can be obtained as Eq. (13). Therefore, according to the linear equation \({\mathbf{N^{\prime}}} \cdot \delta {\mathbf{P^{\prime}}} = {\mathbf{A}} \cdot {\mathbf{T}}_{C}\) and Eq. (13), general expression of coefficient matrix A can be solved as follows.

$$\left[ {\begin{array}{*{20}c} {\delta {\mathbf{t}}_{i}^{\prime } } \\ 1 \\ \end{array} } \right] = ({}^{0}{\mathbf{H}}_{i}^{\prime } ) \cdot \left[ {{\mathbf{H}}({\mathbf{T^{\prime}}}_{i} ) - {\mathbf{I}}_{4 \times 4} } \right] \cdot ({}^{0}{\mathbf{H}}_{i}^{\prime } )^{ - 1} \cdot \left[ {\begin{array}{*{20}c} {{}^{0}{\mathbf{t}}_{i}^{\prime } } \\ 1 \\ \end{array} } \right]$$
(13)

Defining the following matrix operators to extract specific parts from the matrix:

$${\varvec{\upsigma}}_{ 1} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 1\\ 0\\ 0\\ \end{array} } & {\begin{array}{*{20}c} 0\\ 1\\ 0\\ \end{array} } & {\begin{array}{*{20}c} 0\\ 0\\ 1\\ \end{array} } & {\begin{array}{*{20}c} 0\\ 0\\ 0\\ \end{array} } \\ \end{array} } \right],\quad {\varvec{\upsigma}}_{ 2} = \left[ {\begin{array}{*{20}c} 0& 0& 0& 0\\ 0& 0& { - 1} & 0\\ 0& 1& 0& 0\\ 0& 0& 0& 0\\ \end{array} } \right],\quad {\varvec{\upsigma}}_{ 3} = \left[ {\begin{array}{*{20}c} 0& 0& 1& 0\\ 0& 0& 0& 0\\ { - 1} & 0& 0& 0\\ 0& 0& 0& 0\\ \end{array} } \right],\quad {\varvec{\upsigma}}_{ 4} = \left[ {\begin{array}{*{20}c} 0& { - 1} & 0& 0\\ 1& 0& 0& 0\\ 0& 0& 0& 0\\ 0& 0& 0& 0\\ \end{array} } \right],$$

operators \({\varvec{\uplambda}}_{i}^{m}\) is adopted to obtain A. Based on Eq. (13), \({\varvec{\uplambda}}_{i}^{m}\) is expressed as follows:

$$\left\{ {\begin{array}{*{20}l} {{\varvec{\uplambda}}_{i}^{m} = {\mathbf{n}}_{i}^{{{\prime }T}} \cdot {\varvec{\upsigma}}_{m} \cdot {}^{0}{\mathbf{H}}_{i}^{{\prime }} } \hfill & { ( {\text{when}}\,m = 1 )} \hfill \\ {{\varvec{\uplambda}}_{i}^{m} = {\mathbf{n}}_{i}^{{{\prime }T}} \cdot \left[ {\begin{array}{*{20}c} {{}^{0}{\mathbf{a}}_{i}^{{\prime }} \cdot {\varvec{\upsigma}}_{m} \cdot ({}^{0}{\mathbf{H}}_{i}^{{\prime }} )^{ - 1} } \\ {{}^{0}{\mathbf{b}}_{i}^{{\prime }} \cdot {\varvec{\upsigma}}_{m} \cdot ({}^{0}{\mathbf{H}}_{i}^{{\prime }} )^{ - 1} } \\ {{}^{0}{\mathbf{c}}_{i}^{{\prime }} \cdot {\varvec{\upsigma}}_{m} \cdot ({}^{0}{\mathbf{H}}_{i}^{{\prime }} )^{ - 1} } \\ \end{array} } \right] \cdot \left[ {\begin{array}{*{20}c} {{}^{0}{\mathbf{t}}_{i}^{{\prime }} } \\ 1 \\ \end{array} } \right]} \hfill & { ( {\text{when}}\,m = 2,3,4 )} \hfill \\ \end{array} } \right.$$
(14)

where \({}^{0}{\mathbf{a}}_{i}^{\prime }\), \({}^{0}{\mathbf{b}}_{i}^{\prime }\), \({}^{0}{\mathbf{c}}_{i}^{\prime }\) are the components of \({}^{0}{\mathbf{H}}_{i}^{\prime }\), and are organised as \({}^{0}{\mathbf{H}}_{i}^{{\prime }} = \left[ {\begin{array}{*{20}c} {{}^{0}{\mathbf{a}}_{i}^{{{\prime }T}} } & {{}^{0}{\mathbf{b}}_{i}^{{{\prime }T}} } & {{}^{0}{\mathbf{c}}_{i}^{{{\prime }T}} } & {{}^{0}{\mathbf{d}}_{i}^{{{\prime }T}} } \\ \end{array} } \right]^{T}\).

Therefore, coefficient matrix A can be represented as the following block matrix:

$$\begin{aligned} {\mathbf{A}} \, (i, \, 6(i - 1) + 1:6i) = \left[ {\begin{array}{*{20}c} {\left[ { \, {\varvec{\uplambda}}_{i}^{1} } \right]_{(1)} } & {\left[ { \, {\varvec{\uplambda}}_{i}^{1} } \right]_{(2)} } & {\left[ { \, {\varvec{\uplambda}}_{i}^{1} } \right]_{(3)} } & {{\varvec{\uplambda}}_{i}^{2} } & {{\varvec{\uplambda}}_{i}^{3} } & {{\varvec{\uplambda}}_{i}^{4} } \\ \end{array} } \right]{ (}i = 1,2, \cdot \cdot \cdot ,6 )\hfill \\ \hfill \\ {\mathbf{A}} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\left[ { \, {\varvec{\uplambda}}_{1}^{1} } \right]_{(1)} } & {\left[ { \, {\varvec{\uplambda}}_{1}^{1} } \right]_{(2)} } & {\left[ { \, {\varvec{\uplambda}}_{1}^{1} } \right]_{(3)} } & { \, {\varvec{\uplambda}}_{1}^{2} } & { \, {\varvec{\uplambda}}_{1}^{3} } & { \, {\varvec{\uplambda}}_{1}^{4} } \\ \end{array} } & {} & {\mathbf{0}} \\ {} & \ddots & {} \\ {\mathbf{0}} & {} & {\begin{array}{*{20}c} {\left[ { \, {\varvec{\uplambda}}_{6}^{1} } \right]_{(1)} } & {\left[ { \, {\varvec{\uplambda}}_{6}^{1} } \right]_{(2)} } & {\left[ { \, {\varvec{\uplambda}}_{6}^{1} } \right]_{(3)} } & { \, {\varvec{\uplambda}}_{6}^{2} } & { \, {\varvec{\uplambda}}_{6}^{3} } & { \, {\varvec{\uplambda}}_{6}^{4} } \\ \end{array} } \\ \end{array} } \right] \hfill \\ \end{aligned}$$
(15)
  1. (b)

    Calculation of coefficient matrix B

From Eq. (9), \({\mathbf{B}} = - \frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{L}}}}\). Coefficient matrix B can be obtained based on the geometry directly as follows:

$${\mathbf{B}} = - \frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{L}}}} = - {\mathbf{N^{\prime}}} \cdot \left[ {\begin{array}{*{20}c} {{\mathbf{R}}_{RCS}^{T} } & {} & {} \\ {} & \ddots & {} \\ {} & {} & {{\mathbf{R}}_{RCS}^{T} } \\ \end{array} } \right]$$
(16)
  1. (c)

    Calculation of coefficient matrix C

\({\mathbf{x}} = \left[ {{\mathbf{t}}_{RCS}^{T} \, {\varvec{\uptheta}}_{RCS}^{T} } \right]^{T} { = }\left[ {\begin{array}{*{20}c} u & v & w & \alpha & \beta & \gamma \\ \end{array} } \right]^{T}\) contains the position and orientation information of the transformation from RCS to °FCS. From Eq. (9), \({\mathbf{C}} = \frac{{\partial {\varvec{\Phi}}}}{{\partial {\mathbf{x}}}}\) is the Jacobian of \({\varvec{\Phi}}({\mathbf{N^{\prime}}}, \, {\mathbf{P^{\prime}}}, \, {\mathbf{L}}, \, {\mathbf{x}}) = {\mathbf{0}}\) about x, and it can be expressed as \({\mathbf{C}} = \left[ {\begin{array}{*{20}c} {{\mathbf{C}}_{1}^{T} } & {{\mathbf{C}}_{2}^{T} } & { \cdot \cdot \cdot } & {{\mathbf{C}}_{6}^{T} } \\ \end{array} } \right]^{T}\), where \({\mathbf{C}}_{i}\) is a 1 by 6 vector as follows:

$${\mathbf{C}}_{i} = \left[ { - {\mathbf{n}}_{i}^{{{\prime }T}} \cdot {\mathbf{R}}_{RCS}^{T} \cdot \frac{{\partial {\mathbf{t}}_{RCS} }}{\partial u}\quad \, - {\mathbf{n}}_{i}^{{{\prime }T}} \cdot {\mathbf{R}}_{RCS}^{T} \cdot \frac{{\partial {\mathbf{t}}_{RCS} }}{\partial v}\quad \, - {\mathbf{n}}_{i}^{{{\prime }T}} \cdot {\mathbf{R}}_{RCS}^{T} \cdot \frac{{\partial {\mathbf{t}}_{RCS} }}{\partial w}\quad {\mathbf{n}}_{i}^{{{\prime }T}} \cdot \frac{{\partial {\mathbf{R}}_{RCS}^{T} }}{\partial \alpha } \cdot {\mathbf{t}}_{i}^{{\prime }} \quad {\mathbf{n}}_{i}^{{{\prime }T}} \cdot \frac{{\partial {\mathbf{R}}_{RCS}^{T} }}{\partial \beta } \cdot {\mathbf{t}}_{i}^{{\prime }} \quad {\mathbf{n}}_{i}^{{{\prime }T}} \cdot \frac{{\partial {\mathbf{R}}_{RCS}^{T} }}{\partial \gamma } \cdot {\mathbf{t}}_{i}^{{\prime }} } \right] = \left[ {\begin{array}{*{20}c} { - {\mathbf{n}}_{i}^{{{\prime }T}} } & {{\mathbf{n}}_{i}^{{\prime }} \times {\mathbf{t}}_{i}^{{\prime }} } \\ \end{array} } \right]$$
(17)

3.2.4 The Acquisition of Parameters

From the first three steps, the torsor of VCFE can be calculated by the following equation:

$${\mathbf{T}}_{VCFE} = {\mathbf{C}}^{ - 1} \cdot \left( {{\mathbf{A}} \cdot {\mathbf{T}}_{C} + {\mathbf{B}} \cdot {\mathbf{U}}} \right)$$
(18)

In addition to fixture error U, the position and orientation of workpiece contact points in RCS (\({\mathbf{N^{\prime}}}\) and \({\mathbf{P^{\prime}}}\)) and position of fixture locators in °FCS (L) are vital inputs for calculating \({\mathbf{T}}_{VCFE}\). Therefore, it is necessary to extract those vectors from the actual machining process.

As illustrated in Sect. 1, different shapes of workpieces require different types of machining methods and locating schemes. For simple 3-2-1 locating scheme or six independent datums locating scheme, six contact points and six fixture locators are intuitionistic for obtaining those vectors. However, it is not straightforward to acquire six points for plane-hole locating scheme or four-jaws chuck locating scheme, which needs to make an equivalent conversion.

As shown in Fig. 7a, it is a typical plane-hole locating scheme. L1, L2, L3 contact with back surface and constrain three degrees of freedom (\(\alpha ,\beta ,w\)), round pin is equivalent to two virtual locators (L4, L6) in the same position contacting with Hole M and constraining two degrees of freedom (u, v). Edge cutting pin is equivalent to L5 contacting with Hole N and constraining one degree of freedom (\(\gamma\)). By this conversion, two pins are converted to three independent fixture locators that have clear coordinates and normal vectors, which means all vectors of \({\mathbf{N^{\prime}}}\), \({\mathbf{P^{\prime}}}\) and \({\mathbf{L}}\) can be directly obtained.

Fig. 7
figure 7

Equivalent conversion of different locating scheme

Similarly, for four-jaws chuck locating scheme shown in Fig. 7b, the jaws of four-jaws chuck limit the movement along x/z-axis (u, w) and the rotation round x/z-axis (\(\alpha ,\gamma\)). The end plane of the jaw limits the movements along the y-axis (v). With enough clamping force, the rotation round y-axis is also limited (\(\beta\)). To make the equivalent conversion, a virtual locator L3 is placed on the tangent plane of locator L1 and L2. We assume that this virtual plane is a part of the workpiece, the locator L1, L2 and L3 contact with the virtual plane and constrain three degrees of freedom (\(\beta ,\gamma ,u\)). Locator L4 and L5 jointly constrain two degrees of freedom (\(\alpha ,w\)). Locator L6 constrain one degree of freedom (v).

3.3 Jacobian–Torsor Model to Solve FR

As shown in Fig. 5, the logical relations between functional requirement (FR) and functional elements (FEs) in variation propagation chain have been established. Since all key elements in this chain had been converted into the same direction by constructing VCFE in Sect. 3.2, the Jacobian–Torsor model can be an effective approach to build the mathematical relations to obtain FR in stage k. The arithmetic formulation is represented as follows [29]:

$${\mathbf{T}}_{FR} (k) = \left[ {\begin{array}{*{20}c} u \\ v \\ w \\ {\begin{array}{*{20}c} \alpha \\ \beta \\ \gamma \\ \end{array} } \\ \end{array} } \right]_{FR} = \left[ {\begin{array}{*{20}c} {\left[ {\mathbf{J}} \right]_{{FE_{1} }} } & { \cdot \cdot \cdot } & {\left[ {\mathbf{J}} \right]_{{FE_{n} }} } \\ \end{array} } \right] \cdot \left[ {\begin{array}{*{20}c} {\left[ {\begin{array}{*{20}c} u \\ v \\ w \\ {\begin{array}{*{20}c} \alpha \\ \beta \\ \gamma \\ \end{array} } \\ \end{array} } \right]_{{FE_{1} }}^{T} } & { \cdot \cdot \cdot } & {\left[ {\begin{array}{*{20}c} u \\ v \\ w \\ {\begin{array}{*{20}c} \alpha \\ \beta \\ \gamma \\ \end{array} } \\ \end{array} } \right]_{{FE_{n} }}^{T} } \\ \end{array} } \right]^{T} + o(k)$$
(19)

where \({\mathbf{T}}_{FR} (k)\) is the torsor correlative to the functional requirement in stage k, \({\mathbf{J}}_{{FE_{i} }}\) is the Jacobian matrix shows the geometrical relation of ith feature functional elements (FEs) w.r.t. machining feature FR, \({\mathbf{T}}_{{FE_{i} }}\) is the individual torsor of each feature in the chain. i can be from 1 to n, with n representing the total number of functional elements. o(k) represents the unmodeled system noise.

Figure 8 presents the steps of adopting variation propagation model. k is the stage index. The vector of \({\mathbf{T}}(k)\) is the deviation collection of all key features on the workpiece after the kth stage. The deviation of each feature is represented by a torsor as illustrated in Table 2. If a feature has not been generated after the kth stage, the corresponding components in \({\mathbf{T}}(k)\) are set to zero, otherwise the zero components are replaced by deviation torsors. The detailed procedure of each step is explained as follows:

Fig. 8
figure 8

Steps of the derivation of variation propagation model

  • Step 1 After each stage, the workpiece may need to relocate according to the machining feature and the machining method. This step constructs the variation propagation chain and the actual position relations between each feature at this stage.

  • Step 2 Only the error in datum features of the workpiece will have an influence on the deviation of the newly generated feature. Therefore, we extract \({\mathbf{T}}_{C} (k)\) from \({\mathbf{T}}(k)\) by multiplying a selection matrix. It contains the deviations of all datum features at this stage. In addition, the position and orientation of contact points (\({\mathbf{N^{\prime}}}(k)\) and \({\mathbf{P^{\prime}}}(k)\)) need to be extracted as well.

  • Step 3 Gather the fixture error \({\mathbf{U}}(k) = \left[ {{\mathbf{u}}_{1}^{T} \, {\mathbf{u}}_{2}^{T} \, \cdot \cdot \cdot \, {\mathbf{u}}_{6}^{T} } \right]^{T}\) and locators’ position \(L(k)\).

  • Step 4 Calculate \({\mathbf{T}}_{VCFE}\) by the method illustrated in Sect. 3.2.

  • Step 5 Extract all error torsors in variation propagation chain, including machine tool and worktable error, cutting tool and spindle error, and \({\mathbf{T}}_{VCFE}\) which contains fixture-induced error and datum-induced error. Their position relations are need to be expressed by Jacobian matrices as well.

  • Step 6 Calculate the deviation of newly generated feature by unified Jacobian–Torsor model.

  • Step 7 Replace the components corresponding to newly generated feature in \({\mathbf{T}}(k)\) by its deviation \({\mathbf{T}}_{FR}\) to obtain vector \({\mathbf{T}}(k{ + 1})\) (i.e., combine the newly generated features and other features on the workpiece together).

This procedure will be repeated for each stage and finally achieve a chain-like state space model. In the next section, practical cases are provided to illustrate the effectiveness of this model.

4 Case Study

In order to verify the applicability of proposed variation propagation model for general shape workpieces, two different types of workpieces are adopted. Figure 9a shows the automotive engine block in box-type, which is machined by EX-CELL-O machining centre presented in Fig. 9b. The valve shell in revolving-type and its clamping are shown in Fig. 9c–e.

Fig. 9
figure 9

The workpieces in the case study

4.1 Experimental Setup

4.1.1 Engine Block Machining

The engine block machining is a five-stage process. It contains six independent datums locating scheme for first three operations and plane-hole locating scheme for last two operations. The first two operations are milling Surface A and semi-finish-milling Surface B, followed by spot drilling Hole 401 and 402. The features L1, L2, L3, L4, L5 and L6 are rough datum features for OP10 to OP30. Clearly, it is not a traditional 3-2-1 locating scheme since any two of six datums are not in the same plane. The deviation of Surface B machined at OP20 and the deviations of two holes drilled at OP30 regarded as datum-induced errors are important sources for the variations of machining features at OP40. Similarly, the errors in features which are produced from OP10 and OP40 accumulate deviations at OP50. The description of operations and the nominal locations of key features w.r.t. RCS are shown in Table 3.

Table 3 Operations and nominal locations of key features (engine block)

4.1.2 Valve Shell Turning

It is a five-stage turning process by a CNC machining centre (Gildemeister CTX420). The description of operations and the nominal locations of key features w.r.t. RCS are shown in Table 4. This process demonstrates the propagation and accumulation of variations clearly. For instance, end plane C and the excircle lathed at OP10 is adopted as the datums of OP40, which will transmit the machining error from the former stage to the latter stage. Similarly, the excircle machined in OP40 is the datum of OP50, which will also affect the precision of machining features at OP50.

Table 4 Operations and nominal locations of key features (valve shell)

4.2 Parameters Acquisition

In order to construct the variation propagation chain as shown in Fig. 5, the integral manufacturing system should be considered and the unknown parameters in Eq. (19) should be obtained. Taking OP50 of engine block machining as an example, Table 5 lists the FE components and their locational relations according to actual EX-CELL-O machining centre. The direction of z-axis is identified with the direction of feed. Torsors can be calculated or measured in the manufacturing system. Jacobian matrices can be acquired by Eq. (2) using the last two columns of Table 5.

Table 5 Manufacturing system components at OP50

To validate the model, the fixture error is intentionally added to the engine block machining process at each stage. The inputs to the model that correspond to the fixture errors are:

$$\begin{aligned} {\mathbf{U}}( 1) & = \left[ { 000000000. 0 1 8000. 0 2 3000000} \right]^{T} \\ {\mathbf{U}}( 2) & = \left[ { 000000000. 0 1 8000. 0 2 3000000} \right]^{T} \\ {\mathbf{U}}( 3) & = \left[ { 000000. 0 0 9000. 0 0 6000. 0 0 8000000} \right]^{T} \\ {\mathbf{U}}( 4) & = \left[ { 000000000. 0 1 6000000000} \right]^{T} \\ {\mathbf{U}}( 5) & = \left[ { 000000. 0 1 9000. 0 1 9000000000} \right]^{T} . \\ \end{aligned}$$

The rough datum adopted in first three operations is the input of the model as well. The error is the collection of datum features’ torsors, TC(1) = [0; 0; 0.007; 0; 0; 0; 0; 0; 0.006; 0; 0; 0; 0; 0; 0; 0; 0; 0; -0.012; 0; 0; 0; 0; 0; 0.006; 0; 0; 0; 0; 0; 0; 0.004; 0; 0; 0; 0]. All the other error torsors in manufacturing system are set as zeros.

4.3 Results and Discussion

Following the procedure illustrated in Sect. 3, the variation propagation model is programmed using MATLAB® 2016b. All vectors and matrices can be calculated by corresponding equations. For each stage, the variation of key features can be output automatically once inputting the error torsors and positional relations to the program.

For the engine block machining, OP10 and OP50 are two operations to machine key features in engineering practice. Therefore, Surface A and Surface B are measured on the coordinate measurement machine (CMM) after machining. Because of the complexity of engine block and diversity of locating methods, adopting single traditional SoV model merely is inadequate. A composed method selecting specific models for specific operations is commonly adopted in this case currently. However, the proposed variation propagation model can handle all operations and all locating schemes. The translation deviation vector in the torsor which perpendicular to the plane is the key data. The measurement results and the comparison between traditional method, current method, and proposed model are presented in Table 6.

Table 6 Variation results comparison for the engine block machining

For the valve shell turning, most of features produced at these five stages are key features in engineering practice. Taking Hole \(\varnothing 6.5\) after OP40 and Hole \(\varnothing8\) after OP50 as examples. The measurement results and the comparison between traditional method, current method, and proposed model are presented in Table 7 with fixture error at each stage equals to [0; 0; 0; 0; 0; 0.01; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0].

Table 7 Variation results comparison for the valve shell turning

The superiority of the proposed model is discussed in two aspects: the comparison with real experiment and the comparison with existing methods.

For the former comparison, the overall differences between the predicted values and actual measurements are reasonably small for all key features, which illustrate the validity of the model. For example, the valve shell turning result of Hole Ø6.5 after OP40 is [0; 0.002; 0; 0.001; 0; 0] compared to [0; 0.0022; 0; 0.0012; 0; 0] predicted by the proposed model. The main reason for these small discrepancies are accounted to some stochastic factors which are difficult to model, such as the influence of vibration or temperature on machining processes or measurements. Those uncertainties and stochastic factors are subject to the normal distribution and defined by o(k) in the proposed model.

For the comparison between the proposed model and existing methods, the advantages can be reflected in both universality and accuracy. Firstly, the new model performs better in universality than existing methods. Traditional SoV model cannot handle six independent datums locating scheme or revolving-type workpiece, so it is not capable for this case. The existing modified models require a composed method for diverse or complex workpieces in most cases, and the corresponding models need to be selected based on specific machining processes, which are not universal between different workpieces and different stages. In this case, the proposed model can not only handle complex box part, but also accurately predict the machining precision for revolving workpiece, which realizes the universality of variation propagation modelling for general shape workpieces regardless of machining method and locating scheme. Secondly, the proposed model has higher accuracy than existing methods w.r.t. real experiment results. Existing SoV models focus on the modelling of fixture errors and datum-induced errors. Other error factors such as cutting-tool wear, spindle-thermal variations, geometric and kinematic variations are all treated as stochastic noises and expressed by w(k) [8, 14, 18]. In the proposed model, more uncertainties such as machine tool error and cutting-tool wear are quantitatively taken into the account by \({\mathbf{T}}_{{FE_{i} }}\) rather than all treat as unmodeled noise. Therefore, the modelling variance and centre offset of o(k) are smaller than w(k) in machining processes, which means the proposed model has a narrow confidence interval under the same significance level, so that the prediction results are more accurate.

5 Conclusion

In this paper, a variation propagation model in multi-stage machining processes for general shape workpieces is proposed. It visually demonstrates the variation propagation chain and expands the universality of current SoV models. The reorganization of error contribution by assembly perspective for machining processes contains all key elements in manufacturing system, which can consider more error sources and enhance the accuracy of prediction results. The unified model for workpieces in different shapes is solved by modified three-dimensional tolerance analysis method which combine the advantages of SDT model and Jacobian matrix. The multi-stage machining processes of an automotive engine block and a valve shell are presented in the case study, which confirm that the proposed methodology for general shape workpieces is reliable and accurate with the consideration of integral manufacturing system.

As future work, the multi-scale variation can be considered into variation propagation model. The current research is limited to the dimension error. However, multi-scale variations including geometric error, waviness and roughness also participate in the error propagation and accumulation, which lead to the overall variations of machining feature. Secondly, all workpieces are under the rigid assumption in current research. The machining variability due to workpiece deformations caused by cutting tool forces or clamp forces is also a research issue in the future. Besides, the applications of this model will have great engineering values as well, such as process control and improvement, tolerance allocation, and fault diagnosis for general shape workpieces.