Paper received: 14.09.2009 Paper accepted: 06.11.2009 Point Data Pre-Processing Based on Fuzzy Logic for Reverse Engineering Modelling Igor Budak1* - Mirko Sokovic2 - Janez Kopac2 - Janko Hodolic1 1 Faculty of Technical Sciences, Novi Sad, Serbia 2 Faculty of Mechanical Engineering, Ljubljana, Slovenia State of the art 3D-digitization systems designed for reverse engineering (RE) modelling are characterized by increased scanning speed and also by the possibility to generate a large number of points in a short time. Generally, this improves the efficiency of the RE-modelling process. In practice however, a significant number ofpoints in the stage of the CAD model generation may become an issue. In addition, the 3D-digitization process is often connected with measuring errors because of the properties of measuring systems and/or the object. Therefore, nowadays considerable attention is devoted to the problem of pre-processing the results of 3D-digitization, often by means of tools of artificial intelligence. This paper introduces a pre-processing system based on fuzzy logic, along with the results of its practical application. © 2009 Journal of Mechanical Engineering. All rights reserved. Keywords: reverse engineering, pre-processing, 3D-digitization, point data reduction 0 INTRODUCTION State of the art 3D-digitization systems which are applied in reverse engineering modelling are characterized by increased scanning speed as well as by the possibility to generate a large number of points in a short time. Actual laser 3D-scanners are able to generate over 40,000 points per second. Generally, this improves the quality and efficiency of the REmodelling process. In practice, however, later in the stage of CAD model [1] generation, a huge number of points which are generated in the stage of 3D-digitization may become a serious problem. Also, the 3D-digitization process is often connected with measuring errors because of the nature of measuring systems themselves, the properties of digitized objects and the operator's subjective mistakes [2]. Considering the above mentioned, the stage of pre-processing the results of 3D-digitization, which includes error filtering, data smoothing and the most sophisticated process of data-point reduction, becomes inevitable in almost any RE system [3] and [4]. The fact that pre-processing the results of 3D-digitization has become a frequent subject of recent research with the central role of reducing the number of points, confirms the previous statement. Therefore, based on different approaches, a large number of systems is developed for preprocessing the results of 3D-digitization, which depend on the RE methodology above all, i.e. on the 3D-digitization system for which they are designed. This applies to all the three preprocessing segments: filtering, smoothing and reduction. However, it should be noted that the reduction depends on RE methodology and to a larger degree on the technique of 3D-digitization. In other words, most of the filtering and smoothing approaches may be successful in RE systems based on different methodologies, while in the case of reduction it is very rare [1], [4] and [5]. Among the many data-point reduction approaches, it is possible to identify three dominating groups of approaches for preprocessing the results of 3D-digitization: methods of point sampling, methods of polygon reduction and grid methods [5] and [6]. It should be noted that there are frequent attempts to integrate the methods of artificial intelligence into the process of pre-processing, i.e. into point data reduction above all, in order to achieve better quality and process efficiency [1]. Point reduction at the "cross-sectional" RE methodology is based on the so called sampling methods, among which the uniform (factor), *Corr. Author's Address: University of Novi Sad, Faculty of Technical Sciences, Novi Sad, Trg Dositeja Obradovica 6, 21000 Novi Sad, Serbia, budaki@uns.ac.rs spatial, chordal and angular are the most known [5] and [6]. All these methods are based on different parameters (based on which they decide on point reduction). Each of the methods have certain advantages/drawbacks on different (scanned curves in) point clouds. In other words, each method is more or less efficient (yields in larger level of reduction with smaller error-deviation). This paper introduces a system for integrated pre-processing the results of 3D-digitization which is designated primarily for RE modelling systems based on the "cross-sectional" approach where special attention was paid to point data reduction module based on fuzzy logic. 1 SYSTEM FOR POINT DATA PRE-PROCESSING The system developed for point data preprocessing (the working title of the SiPreF) which is primarily intended for the needs of reverse engineering modelling on the bases of the "cross-sectional" methodology is designed on the modular principle (Fig. 1) and consists of: 1) Module for 3D filtering of points (errors); 2) Module for extraction of point data in cross-sections; 3) Module for filtering and smoothing of point data in cross-sections; 4) Module for reduction of point-data based on fuzzy logic; 5) Module for formatting of output data. The system for traditional data-point preprocessing was the starting point for developing the SiPreF system, which is presented in more details in [7]. The following are the main improvements of the SiPreF as compared to the above mentioned basic system: • integration of extra tools for manipulation and filtering of point data; • improvement of the process of pre-processing by the implementation of iterance capability for each tool; • development and integration of the module for analyzing deviations which are the consequence of reduction (more details in [8]); • development and integration of procedures for the more steady distribution of reduced datapoints based on the change in the direction of reduction; • development and integration of decision-making procedures on point reduction based on fuzzy logic in the spatial method, chordal method and the method of straightness. j point cloud j 1 3d filtering I - extraction of ^ scan curves cross-sectional data-point filtering I fuzzy data-point reduction I output format generation /pre-processed/ / point cloud / Fig. 1. General model of the SiPreF system In the realization of the SiPreF point data pre-processor, conventional programming tools as well as artificial intelligence (fuzzy logic) tools were used. SiPreF was developed in Matlab (MathWorks) 7.2 (Release 2006 a). The development of the modules, i.e. the integrated software tools was based on a wider analysis of the most often used pre-processing tools. SiPreF integrates 17 tools grouped in five previously mentioned modules: 1) Import and (re)orienting of point data in 3D space, 2) Volumetric filtering, 3) Data filtering by segmented line, 4) Elimination of individual points, 5) Selection and sorting of cross-sections data, 6) Change of resolution, 7) Data filtering by the angle method, 8) Filtering /smoothing of data by the median method, 9) Data smoothing by the mean method, 10) Analysis of reduction-induced deviations, 11) Reduction of data by the chordal method with an analysis of deviations, 12) Reduction of data by the straightness method with an analysis of deviations, 13) Reduction of data by the spatial method with analysis of deviations, 14) Fuzzy-based reduction of data by the chordal method, 15) Fuzzy-based reduction of data by the straightness method, 16) Fuzzy-based reduction of data by the spatial method, 17) Generation of output format. 2 MODULE FOR POINT DATA REDUCTION BASED ON FUZZY LOGIC In the course of SiPreF development major emphasis was placed on the module for point data reduction, which was designed according to a novel approach with integrated deviation analysis and fuzzy logic reasoning. This constitutes the main difference in comparison to the systems developed so far. The algorithm presentation of the developed software solution of this module is given in Fig. 2. Building on the weak spots and deficiencies of current approaches to reduction of point data by sampling methods - i.e. a lack of information on the level of deviation in reduced point clouds and the necessity to employ parameters which are abstract to the user - a novel approach was developed for an analysis of the level of deviation of the reduced point cloud in comparison with the initial point cloud. This novel approach introduces an additional parameter termed maximum allowed reduction error (MARE), in the reduction-related decision process with the sampling-based methods. The approach was tested with three different methods of sampling: chord, straightness and spatial (more detail in [7] and [8]) showing a significant improvement of the maximum deviation/level of the reduction ratio, i.e. an improvement of the average deviation and the level of reduction. In order to improve the process of reduction, the novel approach was enhanced by implementing fuzzy logic in the process of reduction-related decision making. Besides the additional improvement of the deviation/mean level of reduction ratio, implementation fuzzy logic allowed a more user-friendly and intuitive application. The reduction process is controlled by simply entering the deviation tolerance, allowing the user to gain better insight into the quality of the reduced point cloud. Reduced set of points of the j'-th scanned curve Record Reduced point cloud Fig. 2. Algorithm presentation of the module for data-point reduction 2.1 The Novel Approach for Point Data Reduction The process of point data reduction is, without a question, associated with the deviations of the resulting cross-sectional curves (generated with reduced point data), relative to initial (original) cross-sectional curves (generated with original point cloud). The basic question here knows the tolerable level of deviations for the given level of reduction. This very problem renders the process of point data reduction complex and sophisticated. One of the largest deficiencies of the actual sampling-based methods for the reduction of point data is the lack of feedback information on the level of deviation of the resulting cross-sectional curve, which is the result of elimination of a point or a set of points. By the same token, these methods also lack decision-making mechanisms, which would allow them to select the points for reduction using resulting deviation as a criterion. The key feature of the novel approach to the sampling-based point data reduction, proposed here, is the procedure for an analysis of deviations of cross-sectional curves, which are the result of point data reduction. A practical realization of the procedure for the analysis of deviation is based on computation and analysis of maximum deviation of the resulting cross-sectional curve relative to the original cross-sectional curve generated from initial point cloud. Least squares method, modified to meet specific requirements of the problem in hand, was used to compute maximum deviation - designated MRE (Maximum Reduction Error) in this dissertation. Least squares method, widely used in analysis of errors of curve approximation, evaluates deviation of approximated curve relative to original points (Fig. 3). The method considers the curve for which the sum of squares of deviations s (x,, y,) is minimal as best solution [9]: 5 = sf + +... + s„2. (1) £n (x„y,) /1 £ ¡(x„y2) Fig. 3. Graphical interpretation of Least squares method [9] In this case, the key parameter of MRE is the absolute value of maximum deviation of a cubic spline curve generated through an array of scanned and reduced points - relative to the spline curve generated through original point array. In other words, MRE is computed after each point elimination by finding maximum deviation S(x,-, yi) of the spline curve generated after elimination of j-th point Tj(Xj, y, zj) - relative to the spline curve generated through originally scanned point cloud (Fig. 4). MRE = max(s) ; i = 1,2,...,n . (2) Deviations s(x,, yi) are calculated at points defined by resolution v (Fig. 4) which can be varied to suit the length of the scanned curve, i.e. the density of scanned points within array. X Fig. 4. Graphical interpretation of parameters MRE and ARE Besides the parameter MRE, the procedure also employs the ARE (Average Reduction Error) - an additional parameter which allows the assessment of deviation of the resulting cross-sectional curve. ARE is a mean sum of deviations computed at points defined by resolution v (Fig. 4) and can be expressed as: ARE = £s, . (3) i=1 The methods for reduction of point data by sampling were improved by implementing fuzzy logic into the procedure for decision-making on which the elimination of points is based. To eliminate the problems which stem from the specific values of decision-critical input parameters entered by the user, and create a more user-friendly system, a new, synthetic parameter was introduced under the name reduction coefficient (RC), and its maximum allowed value was defined as the maximum allowed reduction coefficient (MARC). For all three methods the RC parameter was derived based on method-specific parameters, and an additional input parameter maximum reduction error (MRE), i.e. the maximum allowed reduction error (MARE). MARE was introduced to allow the maximum reduction error to be controlled. The details of the novel approach for point data reduction are presented here for the case of the spatial method. The spatial method for point data reduction is based on the parameter of spatial (Euclidean) distance (dE) [7] which, together with MRE, was used as input parameter for the fuzzy-logic-based decision-making system. The structure of this fuzzy system is shown in Fig. 5. input knowledge base output Fig. 5. Structure of fuzzy system for point data reduction using spatial method The input is formed by two state variables - dE, and MRE, whose values are fuzzified into fuzzy sets with appropriate input spaces, while the fuzzy sets of input values are defined by their membership functions [10] and [11]. Due to its simplicity, triangular membership function was chosen for all state variables. Figs. 6 a and b show graphs of membership functions for input state variables dE and MGR. It should be noted that the input space for dE (0 to 2 mm) was defined based on practical experience, while for the state variable MRE, this input space was defined on the basis of real-application experience with MARE = 0.05 mm as the pivotal parameter. The graphs show that the input space was segmented in the following way -for dE it was sectioned into three segments with appropriate linguistic terms (shorter, medium, and longer), while for the MRE it was segmented into three fuzzy sets (slight, moderate and significant). The output from this fuzzy system is variable RC (a non-dimensional value) which, for the sake of simplicity, was allotted an output space from 0 to 100 (Fig. 6 c) and the parameter MARC (whose function was previously explained) must fall within that space. To allow finer control of RC parameter, the input space was segmented with finer resolution, resulting in a total of nine fuzzy sets denoted with linguistic qualifiers - minor, very low, low, medium-low, medium, medium-high, high, very high, and huge. Using the defined fuzzy variables (dE, MRE, and RC) and their belonging fuzzy subsets with their membership functions, fuzzy control rules which represent the knowledge base of the proposed fuzzy system were defined. A total of nine fuzzy rules were defined which are presented in Table 1. Medium \ / \ / \ \ i ,fc> \ V / / dE [mm] a) Membership function graph for state variable dE b) Membership function for input state variable MRE Minor Low Mid-low Mid-high High Very high \ 1 / \ / y / \ X / \ \ 1 / \ è \ 1 ft Ä \ v A / \ J \ / \ / l\ / i / \ \i i m i k V 0 20 40 60 80 100 RC c) Membership function for output variable RC Fig. 6. Graphs of membership functions for the state variables The system was modelled using reference values of output variable, according to which the membership functions of input variables were adjusted. Table 2 gives the reference values of output variable RC, depending on input variable values: dE and MRE, which were fundamental to this system. Table 3 reviews the final values of RC variable (for the same combinations of input variable values) after the membership functions were adjusted to input variables, and the output variable. Table 1. Control fuzzy rules of the fuzzy system for point data reduction using spatial method 1. If (dE is Shorter) and (MRE is Slight) then (CR is Huge) 2. If (dE is Medium) and (MRE is Slight) then (CR is Very-high)_ 3. If (dE is Longer) and (MRE is Slight) then (CR is High) 4. If (dE is Shorter) and (MRE is Moderate) then (CR is Mid-high) 5. If (dE is Medium) and (MRE is Moderate) then (CR is Mid)_ 6. If (dE is Longer) and (MRE is Moderate) then (CR is Mid-low) 7. If (dE is Shorter) and (MRE is Significant) then (CR is Low) 8. If (dE is Medium) and (MRE is Significant) then (CR is Very-low) 9. If (dE is Longer) and (MRE is Significant) then (CR is Minor)_ Table 2. Reference values for output variable RC depending on the values of input variables dE and MRE dE [mm] MRE mm] 0.001 0.01 0.02 0.03 0.04 0.05 0.05 95 82.5 72.5 65 35 25 0.5 90 77.5 70 62.5 30 20 1 85 75 65 60 25 15 1.5 80 70 60 55 22.5 10 2 75 65 55 50 20 5 Table 3. Reference values for output variable RC depending on the values of input variables dE and MRE after the adjustment of the membership functions dE [mm] MRE mm] 0.001 0.01 0.02 0.03 0.04 0.05 0.05 95.9 81.4 72.5 67 35.3 23.4 0.5 89.2 76.6 69.5 63.6 31.4 18.8 1 87.5 77.1 67.3 60 25.1 16.7 1.5 81.2 69.7 62 55.5 24.5 12.5 2 75 64.6 54.8 51.1 22.9 6.14 As the criterion for adjustment of the membership functions, mean square deviation was adopted [9]: E = using the three sigma rule: |emaX| < 3E acceptable level of adjustment kmaxl > 3E unacceptable level of adjustment. first case, considering that E = max| = 2.9, the three sigma rule is In the 1.5618 and |e, satisfied: 2.9 < 4.685 according to which this level of adjustment is considered acceptable. The mechanism of fuzzy decision-making is based on the Mamdani method. This method uses the minimum of operation, i.e. the minimum of intersection, to form the fuzzy implication function [10] and [11]. The procedure of fuzzy reduction involves the following steps (Fig. 7): ■ MARE is set and then used to compute MARC; ■ a set of points is selected (two sequential points - i.e. the first and the second point in the first step ) to compute parameters; ■ dE is computed; ■ preliminary elimination of the second point in the selected array is performed, in order to compute the MRE parameter; ■ using the computed parameters and the preset fuzzy rules, RC is computed; ■ based on the comparison of the computed RC against the preset value of MARC, a decision is made whether to eliminate or retain the analyzed point; ■ in case the second point in the point array has been eliminated, the new set of points is composed of the first point from the previous set, and the next point in the scanned array, while in the case when no elimination occurred, the new set is composed of the second point from the previous set, and the next point in the scanned array; ■ after the last point in the scanned array has been selected, and the first run of the reduction procedure is finished, a change of direction in the selected point set is performed which means that the last point in the scanned array of the last run becomes the first point in the next run, which makes the process of reduction more even; 2 2 2 e: + et +... + e n the process is re-iterated on a reduced scanned point array until it is possible to eliminate at least one point in a single run. Fig. 7. Algorithm of the proposed fuzzy-logic-based software application for point data reduction by the spatial method 3 PRACTICAL APPLICATION OF SiPreF Functionality and efficiency of the developed system (SiPreF) are verified through its practical application. Here the results of SiPreF's application on two case studies are presented. 3.1 Case Study 1 The first case study used to test SiPreF involved a sports glasses lens (Fig. 8). The choice of this part, which due to ergonomic intent is of a relatively simple geometry, was motivated by the complexity of digitized data (Fig. 9) which requires adequate fixture and locating. 3D-digitization was performed by a contact system Cyclon II-Renishaw, resulting in a total of 412,111 points, of which a large number represent error-points, which actually belong to the fixture and measuring table. Fig. 8. Sports glasses and a lens Fig. 9. The results of 3D-digitization of a sports glasses pane The pre-processing included 3D-filtering (volumetric filtering, filtering by segmented line, and elimination of individual points), cross-sectional filtering/smoothing of point data (elimination of end points), a change of resolution and a reduction of point data. The point cloud subject to reduction contains 109,528 points in 214 cross-sections. Fuzzy-chordal reduction method was chosen, with MAD = 0.03 mm. The results of reduction are presented in Table 4 and in Fig. 10. Table 4. Results of point data reduction MAD [mm] Maximum error Imml Average error [mm] No. of eliminated points Reduction level [%] No. resulting points 0.03 0.02835 0.00265 107,466 97 82 2,062 o < -5 50 -10 40 Fig. 10. Graphical representation of reduction results Surface model was generated in Pro/ENGINEER Wildfire 4 by automated generation of cross-sectional curves on the bases of reduced point cloud in IBL format (Fig. 11). Fig. 11. Surface model generated from "reduced" point cloud Verification of the generated surface model from "reduced" point cloud was conducted through a comparison of the deviation of the "reduced" and "original" surface models from the "original" point cloud (used as input in reduction process). Deviations were analysed by the application of CAD-inspection technique. The results are shown in Fig. 12. Numerical values for maximum positive and negative deviations are given in Table 5. Judging by the graphical output from CAD-inspection and the maximum values, one can conclude that the level of deviation of the "reduced" surface model is very close to that of the "original" surface model. More regions with deviations within the "reduced" surface model are direct consequences of the approximate surface generation on the bases of reduced point data. Fig. 12. Results of CAD-inspection of surface models defined by 0.015 mm tolerance Table 5. Results of CAD-inspection of generated surface models _ Model Deviation [mm] Min. Max. "original" -0.0279 0.0283 "reduced" -0.0291 0.0280 Difference 0.0022 -0.0003 3.2 Case Study 2 The second verification of SiPreF was performed on artistic plaquette (Fig. 13). Fig. 13. Plaquette of composer G. Tartini Compared to the previous example, this object has much more complex geometry, but is also easier to set up in the fixture, considering its flat bottom surface. In that respect, this case study focuses on the reduction aspects of SiPreF application because the preparation of 3D-digitization results (Fig. 14) is much simpler. The result of 3D-digitization comprises a total of 2,970,761 points. a) Isometric projection "140 160 180 200 220 240 260 280 300 320 340 b) Orthogonal projection in x-z plane -200 -180 -160 -140 -120 -100 -80 -60 -40 -20 c) Orthogonal projection in y-z plane Fig. 14. Result of 3D-digitization Before the reduction phase, pre-processing included 3D-filtering (volumetric filtering), cross-sectional filtering/smoothing of point data (elimination of end points) and change of resolution. Prepared for reduction, the point cloud contains 1,117,774 points in 763 cross-sections. Reduction in this verification was performed using the fuzzy-spatial method, for MAD = 0.03 mm (Table 6, Fig. 15). As in the case study 1, surface model was generated in Pro/ENGINEER Wildfire 4 by automated generation of cross-sectional curves on the bases of reduced point cloud in IBL format (Fig. 16). Fig. 15. Detail of the reduction result Fig. 16. Generated surface model The results of CAD-inspection of deviation of the "original" and "reduced" surface models in comparison with "original" point cloud are shown in Fig. 17. Numerical values of maximum positive and negative deviations are given in Table 7. A graphical representation of CAD-inspection results and extreme deviations indicates very similar deviations for both surface models. Furthermore, the deviation of "reduced" model is even slightly smaller than that of the "original", which can be attributed to the more efficient surface approximation due to smaller number of points. To verify the functionality of the generated model, in this case study a physical model was manufactured using the machining technology (Fig. 18). Table 6. Results of point data reduction MAD [mm] 0.03 Maximum error [mm] 0.0291158 Average error [mm] 0.0030631 No. of eliminated points 869,398 Reduction level [%] 77.86 No. resulting points 248,376 Fig. 17. Results of CAD-inspection of surface models with the defined tolerance of 0.02 mm Table 7. Results of CAD-inspection of generated surface models Model "Original" "Reduced" Difference Deviation [mm] Min. -0.0810 -0.0791 -0.0019 Max. 0.0794 0.0785 -0.0009 To provide additional verification, comparison was made between deviations of the machined physical model and the "reduced" surface model. The procedure included 3D-digitization of the physical model by Cyclon II -Renishaw system, followed by CAD-inspection of deviation of the resulting point cloud in comparison with the "reduced" surface model. The analyses were performed in Pro/ENGINEER module Pro/VERIFY (Fig. 19, Table 8). Table 8. Extreme deviations obtained by CAD-inspection Deviation [mm] Min. -0.1706 Max. 0.1889 » Fig. 18. Physical model manufactured by machining Fig. 19. The results of CAD-inspection of the machined physical model with defined tolerance of 0.125 mm Considering the complexity of surface, deviations of "reduced" surface model, the accuracy of the machining system, and the accuracy of the scanning system, the results obtained by verification of the machined physical model confirm practical applicability of the SiPreF. 4 CONCLUSION Within the paper a system for preprocessing the results of 3D-digitization, designed for use in systems for RE-modelling based on cross-sectional methodology, has been presented. Special attention was paid to a module for point data reduction, which is the central and most complex part of the system. Building on the weak spots and deficiencies of current approaches to reduction of point data by sampling methods -i.e. the lack of information on the level of deviation in reduced point clouds and necessity to employ parameters which are abstract to user - a novel approach was developed for analysis of the level of deviation of the reduced in comparison with the initial point cloud. The novel approach was enhanced by implementing fuzzy logic in the process of reduction-related decision making. Beside the additional improvement of the deviation/mean level of reduction ratio, implementation fuzzy logic allowed a more user-friendly and intuitive application. This paper also provides practical results of the application of the introduced system. Although still in the experimental stage, the results show that it is satisfying. Future research will be directed towards analyzing parameter relations, i.e. adequate functions of affiliation in fuzzy procedures with the goal of fine-tuning the performance of the methods themselves as well as adjusting the level of reduction coefficients among the methods. 5 REFERENCES [1] Wu, J., Wang, Q., Huang, Y., Li, Y. (2008) A Hybrid Fuzzy Heuristic for Point Data Reduction in Reverse Engineering, The 2008 International Congress on Image and Signal Processing (CISP2008), p. 615-619. [2] Sokovic, M., Kopac, J. (2006) RE (Reverse Engineering) as necessary phase by rapid product development, Journal of Materials Processing Technology, vol. 175, p. 398403. [3] Brezovnik, S., Brezocnik, M., Klancnik, S., Pahole, I., Gotlih, K. (2009) A Reverse Engineering Technique for Creating Virtual Robots, Journal of Mechanical Engineering, vol. 55, no. 6, p. 347-355 [4] Plancak, M. (2004) Rapid Prototyping and Rapid Tooling, Edition of Technical Sciences - Textbooks, University of Novi Sad, Faculty of Technical Sciences, Novi Sad. [5] Vukasinovic, N., Kolsek, T., Duhovnik, J. (2007) Case Study - surface reconstruction from point clouds for prosthesis production, Journal of Engineering Design, vol. 18, no. 5, p. 475-488. [6] Huang, M.C., Tai, C.C. (2000) The preprocessing of data points for curve fitting in Reverse Engineering, International Journal of Advanced Manufacturing Technology, vol. 16, p. 635-642. [7] Chang, D.Y., Chang, Y.M. (2002) A freeform surface modelling system based on laser scan data for Reverse Engineering, International Journal of Advanced Manufacturing Technology, vol. 20, no. 1, p. 9-19. [8] Lee, K.H., Woo, H., Suk, T. (2001) Data reduction methods for reverse engineering, International Journal of Advanced Manufacturing Technology, vol. 17, no. 10, p. 735-743. [9] Budak, I., Hodolic, J., Sokovic, M. (2005) Development of a programme system for data-point pre-processing in Reverse Engineering, Journal of Materials Processing Technology, vol. 162, no. 1, p. 730- 735. [10] Budak, I., Sokovic, M., Hodolic, J. (2007) Implementation of innovative procedure for error estimation in cross-sectional data-point reduction in reverse engineering, Proceedings of the 4th International Working Conference "Total Quality Management -Advanced and Intelligent Approaches", Belgrade, p. 201-206. [11] Vukadinovic, S.V. (1981) Elements of the probability theory and of mathematical statistics, Economic review, Belgrade (in Serbian) [12] Balic J. (2003) Intelligent Manufacturing Systems: Programming and Control, University of Maribor, Faculty of Mechanical Engineering, Maribor, ISBN 86435-0546-3. [13] Zuperl, U., Cus, F., Milfelner, M. (2005) Fuzzy control strategy for an adaptive force control in end-milling, Journal of Materials Processing Technology, vol. 164-165, p. 1472-1477.