1、Boolean operations for 3D simulation of CNC machining of drilling tools Dani Tost*, Anna Puig, Llus Perez-VidalSoftware Department, Polytechnical University of Catalonia, Spain Accepted 25 April 2003AbstractThis paper addresses the simulation of drilling tools CNC machining. It describes a novel app
2、roach for the computation of the boundary representation of the machined tools. Machining consists of a sequence of Boolean operations of difference between the tool and the grinding wheels through time. The proposed method performs the dynamic Boolean operations on cross sections of the tool and it
3、 reconstructs the 3Dmodel by tiling between the cross sections. The method is based on classical computational geometry algorithms such as intersection tests,hull computations, 2D Boolean operations and surface tiling. This approach is efficient and it provides user control on the resolution of the
4、operations.Abstract This paper addresses the simulation of drilling tools CNC machining. It describes a novel approach for the computation of the boundary representation of the machined tools. Machining consists of a sequence of Boolean operations of difference between the tool and the grinding whee
5、ls through time. The proposed method performs the dynamic Boolean operations on cross sections of the tool and it reconstructs the 3Dmodel by tiling between the cross sections. The method is based on classical computational geometry algorithms such as intersection tests,hull computations, 2D Boolean
6、 operations and surface tiling. This approach is efficient and it provides user control on the resolution of the operations.q 2003 Elsevier Ltd. All rights reserved.Keywords: CNC simulations; Bores machining; Computational geometry; Boolean operations; Surface tiling1. IntroductionMost of the resear
7、ch on CNC in CAD is centered on theautomatic computation of tool paths 5,13. Given a final tool design, the optimal trajectories of the tool and the grinding wheels must be computed yielding as final result the CNC code. Machining simulation and verification hasexactly the opposite goal: to calculat
8、e the tool starting from the CNC code and from a geometrical model of the machine, the wheels and the tool before machining. This simulation has three main applications 6. First, it detects eventual collisions between the tool or any of the grinding wheels and the rest of the machine. It is importan
9、t to avoid collisions because serious damages to the machines can follow. Next, simulation provides a means of visually verifying the efficiency of the trajectories, which may result in faster and cheaper processes. Finally, the simulation allows users to check if the surface of the resulting tool i
10、s effectively the desired one. In the routine practice of machining, experienced operators have enough skills to imagine the tool final shape by only reading the CNC code. However, they are generally not able to do so with new or non-standard designs. Therefore, the use of a simulation system decrea
11、ses considerably the tool production cost because it avoids the trial and error process on the real machine with costly materials that is otherwise necessary. This paper addresses a particular type of CNC machining simulation: the grinding of bores and cutters. Conventional CAD systems do not provid
12、e a means of realizing this type of simulations and specific applications are needed. Until recently, most of the simulation applications dealt only with the machining of 2D cross-sections of the tools and they were restricted to the main fluting operation 3. Three dimensional applications are rathe
13、r recent 4,23. They provide a machining simulation for specific 5-axes machines and they are not applicable to general movements. This paper presents a novel approach for the computation of the external shape of the tools through a sequence of coordinated movements of the tool and the wheels on mach
14、ines of up to 6-axes. The proposed method reduces the 3D problem to 2D dynamic Boolean operations followed by a surface tiling. The 2D solution involves different techniques of planar computational geometry: from intersections to hull computations. The paper is structured as follows. In Section 2 we
15、 review previous approaches on machining simulations.Section 3 describes briefly the contour conditions of the simulation. Finally, Section 4 describes the computation of Boolean operations and the results of the implementation are shown in Section 5. 2. Previous work Machining can be considered a d
16、ynamic Boolean operation of difference between the grinding wheel and the tool. It is dynamic, because both the tool and the wheels move along time through rotations and translations. The Vector Cut 8,10, is probably the most referenced numerical control simulation method. It is an approximate solut
17、ion that represents the frontier as a set of points and normal vectors that will be cut along the path of the grinding wheel. This method is effective for the simulation of sculptured surface polishing, but it is not extensible to complex motions of the tool and/or the grinding wheels. It is mainly
18、useful to detect mistakes in the path suggested by the presence of abnormally high or small cut vectors. Besides, except for the extension of Ref. 16, it does not yield directly a model of the bit to be machined. An alternative strategy for machining simulation consists of realizing a sequence of 3D
19、 static Boolean operations through time. The main drawback of this strategy is its high computational cost. According to Ref. 11, this is proportional to the number of discrete positions to the fourth. This puts it out of question, in practical terms.Another problem it shows is the granularity of th
20、e temporal discretization : it must be very fine if precision in the final tool is required. This means that very little material is cut off in each Boolean operation, and that may entail robustness problems in the computations. A possible method to avoid both problems is to discretize the initial t
21、ool model into a voxel or an octree model, 20, to perform all the sequence of Boolean operations on the discrete model and then reconstruct the machined surface, at the end. This approach benefits from the fact that the cost of discrete Boolean operations is much lower and the reconstruction phase a
22、t the end of the process is done as late as possible. This option requires the sequence of movements to be specified in terms of relative motion of the grinding wheel, while the tool and its discretization remain fixed. This prerequisite is not always valid and, in particular, it does not hold for t
23、he general case of 6-axes machines. Finally, another option taken into account is that of the computation of the volume swept by the tool and the grinding wheel in their motions. A geometric representation of this volume would allow performing only one Boolean difference operation between the two vo
24、lumes. The main difficulty of this option is the computation of sweptvolumes. There are several references 1,2,21 on this subject, that contain methods generally applied in CAD for extrusions, collision detection, and other problems but none of them can be applied to the non-trivial case of simultan
25、eous motion of the two solids in play.The strategy proposed herein overcomes the disadvantages of these methods. It consists of a double discretization of four dimensional space (3D time) that reduces the general problem to a sequence of 2D Boolean operations and 3D geometric reconstructions. This a
26、lgorithm is fast and it provides user-control on simulation accuracy.3. Scene model There are different types of machine tools for the fabrication of bores and cutters. They share the same general structure but they differ in the number of degrees of freedom. The method proposed herein deals with ma
27、chines up to six degrees of freedom. These machines have a static vertical axis (Z in Fig. 1 on which the grinding wheel set can move up and down. One tool is placed on a spindle (the toolholder), that may translate on three axes (X; Y and U) and rotate on two axes (W in relation to the wheel axis a
28、nd A relative to its own axis). At the beginning of the process, a tool has a piecewise cylindrical or conical shape. Its final shape is the result of a sequence of machining operations consisting of simultaneous movements of the tool and the wheels. The wheel shape is also piecewise cylindrical or
29、conical. It remains unchanged during the process. The machining process is divided into a set of operations, each one with a specific name in CNC jargon. Each operation is performed using a specific wheel. This information is written in the CNC file.Specifically, the main operations are (in their us
30、ual order): Fig. 1. 6-Axes machine tool. Fig. 2. Machining operations on a tool. * Fluting: performing the lateral helicoidal of straight grooves* Gashing: cuts in the tool head* Outer diameter sharpening: edge sharpening of the lateral grooves* End face sharpening: edge sharpening of the tool head
31、cuts* Notching: direct cut in the tool head.Fig. 2 shows a real bore and it indicates the operations that have given its shape.Each operation performs several symmetrical cuts in the tool shape. The tool shown in Fig. 2, for instance, has three lateral grooves realized during the Fluting operation.
32、Each cut is performed through a sequence of movements. In the CNC code, each movement corresponds to a line instruction specifying the motion axes (X; Y;U; A; or W for the tool and Z for the wheel) along with the amount of rotation or translation to be performed for each edge.4. Machining simulation
33、4.1. OverviewOur approach uses the fact that the tools have a tubular shape. It consists of discretizing the tool in axial sections, performing the machining operations on these crosssections and finally, reconstructing the surface of the tool by tiling between cross-sections. Before machining, the
34、cross-sections are circles. Afterwards, they have a complex shape that may even have been split into separate connected shells at the tool end.The movements are divided into blocks, each one corresponding to an CNC operation or even to one cut within an operation. The machining process is performed
35、sequentially for each block. Therefore, as many intermediate models are created as instruction blocks exist. The initial tool is taken as input of the first machining process. The resulting tool is used in the second block processing and so on. The surface reconstruction step can be performed on any
36、 of these intermediate models or, alternatively only on the last one.Therefore, the simulation process of each instructions block is composed of two steps:* A 2D Boolean operation process, that receives as input: (i) the tool representation, (ii) the machining wheel representation, (iii) a list of m
37、ovements and that gives as output a new representation of the tool cross-sections.* A tiling process that completes the tool representation with the triangulation between contours. The second step, surface tiling, is a classical subject in computer graphics 14. It consists of two related problems: (
38、i) establishing correspondences between contours (branching problem) and (ii) searching correspondent vertices to form tiles (correspondence problem). Several solutions have been published to solve both problems based on minimizing the distance between successive contours 7,17 and interpolating in b
39、etween contours 12. The method used herein is an extension of these algorithms that adds to these criteria the constraint of tiling between segments of the contour corresponding to the same machining operation. This extension is described in depth in Ref. 22.4.2. Machining of the tool cross-sections
40、The computation of the new shape of tool cross section consists of three steps:* Computation through time of the intersections of the wheel cross sections and the external contour of the tool section. Both sections are circular and, due to their relative orientation, their intersection is a segment.
41、 Therefore, the result of this step is a set of segments.* Calculation of the hulls of the segments set. These hulls are polygonal approximations of wheel cuts on the tool section.* Reconstruction of the tool cross section contour given its original shape and the hull curves.The pseudo-code algorith
42、m below illustrates this process. Let st be the tool cross section at the beginning of the process, where the wheel and ml the movements list. The wheel is discretized into a set of circular cross-sections switch (procedures FirtSectWheel and NextSectWheel). The movement of switch and st is decompos
43、ed into a a set of successive positions (inner loop). For each position, the intersection between sw and st is computed in the procedure InterSect. If there is intersection, then the corresponding segment segm is stored in the segments list seglist. Then, the geometry of st, sw and seglist is update
44、d to next positions in the procedure UpdateGeom. The position of st is reset at its initial location for each new wheel section. After all the wheel sections have been processed, the hulls of the segment list are computed in CompHulls and then clipped against the initial contour of st with the proce
45、dure Reconstruct.procedure CrossSection Machining(st: tSection,wh: tWheel, ml: tMovList)varsw: tSectionsegm: tSegmentseglist: tSegmentListhulls: tHullListfvarInitSegList(seglist)sw U FirstSectWheel (wh)while ValidSection(sw) doendo f mov U FALSEwhile : endo f mov doInterSect(st,sw, &segm, &status)if
46、 status ! InsertSegment(segm, seglist) endifUpdateGeom(ml, &st, &sw, &seglist, &endo fmov)endwhilesw U NextSectWheel(wh,sw)ResetToolPosition(&st)endwhileCompHulls(slist, &hulls)Reconstruct(hulls, &st)fprocedure4.2.1. Updating geometryEach movement instruction is realized at constant speed. Therefore
47、, a movement can be decomposed into n constant intervals of translation in X; Y; Z and U along with rotation in W and A : A=A/n,W=W/n,X=X/n,Y=Y/n,U=U/n andZ=Z/n.As mentioned in Section 3, a line movement can be composed of several simultaneous instructions. Most of the tool movements are composed of
48、 translations and axial rotations, which are independent. Therefore, the order in which the update of each movement is done is irrelevant. However for conical tools with a round end called ball nose, simultaneous axial translations and column angle rotations are necessary. These two movements are obviously not independent. This can be a source of error (Fig. 3) because the real machine rotates the tool column angle at the same time as it translates it along its axis, while in the simulation, for each time interval, the tool is first rotated and next translated