【正文】
are above the surface. Such a part can be detected by checking the local convex hull of the control mesh. In order to solve this problem we used Jos Stam39。s evaluation method [4] to parametrically pute the points on the limit surface, as is the case with ordinary parametric surfaces. Firstly we evaluate a series of points along edges between two triangular faces as shown in .Then we judge if a sampled point is below the two neighbor triangles. When there are some points located above these triangles, we find the highest point, and calculate the distance (dmax ) from the highest point to the evaluated edge. In Fig. , we offset vertices to their new positions V using Eq. (),where is the cutting allowance and N is the normal at the vertex. On the boundary, we cannot evaluate the points on the edge curve, thus only is added.Fig. illustrates an example of this method. (a) shows the original mesh M0 in red color. (b) shows the M1 mesh (subdivide M0 once) in green color. Fig (c) shows the limit surface. Fig (d) shows both M1 mesh in green color and limit surface in red color. It can be seen that M1 mesh intersects with the limit surface, in other words, the green part is intersecting with the red part. Fig (e) shows the cover mesh generated from M1 with our method in blue color. In Fig (f) the limit surface in red does not intersect with the cover mesh in blue. It means the cover mesh pletely covers the limit surface. Although this method for the cover mesh is not exact, it is still an applicable way to make a roughcut surface. Of course, we can apply intersection check between the subdivision surface and the cover mesh.Fig. An example of generating cover mesh. Zmap for roughcut surfaceWe then generate a Zmap model for a cover mesh as a roughcut surface by Zmap sampling. For a Zmap model, we set the grid interval for roughcut surface to be half of the cutting allowance , which can be assigned by a user.where R is the radius of a tool.. CL data putation for rough cutThe final step for roughcut is to pute the CL (cutter location) data of each slice in order to be imported by a machining controller. After generating the Zmap model for a cover mesh, we slice it layerbylayer perpendicular to the z direction. For each x(or y) constant grid line we define a polyline by sampling the Zmap along this line. Then we find intersection points between the slice plane and the polyline. All these intersection points define CC (cutter contact) points, and then offset by R to pute CL points. By connecting those CL points, an NC cutter path for this grid line is puted. This process is repeated for all the grid lines and also for all slice planes to generate the total roughcut NCcutter path.