毕业论文外文翻译-钻探工具数控加工三维仿真的布尔运算.doc
Boolean operations for 3D simulation of CNC machining of drilling tools Dani Tost*, Anna Puig, Llu´s Pe´rez-VidalSoftware Department, Polytechnical University of Catalonia, Spain Accepted 25 April 2003AbstractThis 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 wheels 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 operations and surface tiling. This approach is efficient and it provides user control on the resolution of the 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 wheels 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 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 research 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 calculate 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 important 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 is 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 decreases 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 provide 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 rather 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 machines 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 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 dynamic 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 solution 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 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 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 the 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 tool 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 at 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 the 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 volumes. 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 simultaneous 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 algorithm 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 machines 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 and 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 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 usual 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 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. 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 simulation4.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 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 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 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 movements 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: (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 between 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-sectionsThe 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. 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 algorithm 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 decomposed 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 updated 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 procedure 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 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, 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 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 a