Detection of Demoulding Undercuts on a Computer Solid Geometrical Model in Computer Aided Design of Injection Moulds

Detection of Demoulding Undercuts on a Solid Geometrical Computer Model in Computer Aided Design of Injection Moulds

T.S. Huang W.C. Chou J.N. Chen

Department of Industrial Design Chaoyang University of Technology

168 Gifeng E.Rd., Wufeng, Taichung County, Taiwan, R.O.C.

Telephone: 886-4-3323000 ext. 7213, Fax: 886-4-3742335

E-mail address:

Keywords: 3D-Convex Hull, Parting Line, Withdraw Direction, Undercuts, Injection Mould Design

Abstract

This paper discusses an algorithm, called three-dimensional convex hull, which is devised to determine the smallest convex polyhedron containing a concave polyhedron given by a solid model beforehand, as a solid model having the same data structure as that of the concave polyhedron, and describes its application to detect potential undercut problem in injection moulds design.

Because of some disadvantages of the algorithm on detecting potential undercut, the author proposes a different method to generate the minimal contour solid and extensional solids from a computer solid model. Real undercuts are obtained through a Boolean difference operation on the minimal contour solid by subtracting the extensional solids and the original solid model. This method completely based on solid modelling techniques.

1. Introduction

An undercut in a plastic injection mould is any restriction that prevents the moulded plastic product from being demoulded from the mould. In other words, undercuts prevent either the core mould half from being extracted after the component has been formed, or the component from being ejected out of the cavity. Designers of plastic injection moulds are frequently confronted with demoulding problems resulting from undercuts and spend lots of time in detecting all possible undercuts from the engineering drawing of the components to be moulded and designing the appropriate lateral sliding mechanisms intended to release the undercut before product ejection. This has led to a strong desire for realizing an automatic undercut detection during mould design.

The feature of the algorithm, called three-dimensional convex hull, is the use of the Euler operators to generate the convex hull. This hull must be represented by a solid model having the same data structure as the solid model of the given concave moulding. Then the convex hull can be used on the extraction of potential undercuts in mould design. One of the difficulties of the algorithm consists of the development of Euler operators for generating a convex hull. It is not so easy, however, to keep the topological information consistent within a CAD data base during the execution of set operations. The development of valid CAD models based on faces, edges, and vertices are carried out in a rigorous way, and the Euler operators must ensure the consistency of the model.

In order to create real undercuts, a different manner is proposed to overcome the drawbacks of the algorithm application. This method first determines the outline curves of all visible surfaces of a moulding viewing from the withdrawal direction. It then extrudes the curves along the withdrawal direction to create an extruded solid (hereafter called "extensional solids"). The undercut could be generated by subtracting the extensional solids and the original solid moulding from the minimal contour solid which contains the given moulding.

2. WHAT IS THE THREE-DIMENSIONAL CONVEX HULL?

A convex hull is the smallest convex solid containing a concave polyhedron using a solid model having the same data structure as the given part. The convex hull will be suitable for solving interference problems that will be used to generate potential undercuts. In order to make this report self-contained, an introduction to the three-dimensional convex hull algorithm is included [6,8]. A concave polyhedron is represented by using a solid model, called boundary representation (B-rep), which has the data structure shown in Fig. 1a [3]. The boxes and lines represent data and pointers in the database, respectively. The representation of edges is done using the Winged-Edge data structure having pointers to loops (shown in Fig. 1b). For a good exposition on the winged-edge data structure, the reader is referred to reference [3].

(a). Data structure for boundary modelling.(b). The winged-edge data structure.

FIGURE 1. Data structure of an object

The following sections describe the algorithm for defining a convex hull, and interpreting its application by using the moulding shown in Fig. 2 as an example.

FIGURE 2. Concave polyhedron

2-1. Define the set of neutral vertices,” andthe set of inside vertices”

The "set of neutral vertices" is defined as vertices belong to edges, for which the dihedral angle is big than 180 degrees as viewed from the outside of the shape. The number of vertices shown in Fig. 2, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, are classified as "the set of neutral vertices." The other vertices of the polyhedron model, which are manifestly contained inside or in the faces of a convex hull, are defined as he set of inside vertices”. For creating a three dimensional convex hull, we only need the set of neutral vertices.

2-2. Create a first convex polyhedron

In order to use Euler operators to define a tetrahedron to be the first convex polyhedron with the same data structure as the concave polyhedron, four points which are not on a plane should be taken from the set of neutral vertices. This procedure is shown in Fig. 3, in which a tetrahedron can be created by using some of the Euler operators such as mVFS, mEV, and mEF. In Fig. 4, the first tetrahedron (convex polyhedron) of the polyhedral model is represented by a solid model by using points 1,3,7,11 from the set of neutral vertices.

FIGURE 3. Sequence for generating tetrahedronFIGURE 4. The first tetrahedron (Convex polyhedron)

2-3. Remove Unfunctional Vertices

With the use of the solid model the location of both the inside and neutral vertices is determined relative to the tetrahedron. All vertices lying inside or on the boundary of the tetrahedron are deleted, since they will not contribute to the generation of the new convex hull polyhedron.

2-4. Create a New Convex Polyhedron

In order to describe the process of creating a new convex polyhedron, we use an another example shown in Fig. 5 to explan how to create it.

First takes a projection of the convex polyhedron using vo as the pointing reference. vo, which is one of the set neutral vertices, should be outside the convex polyhedron defined so far. We shall consider the visibility of faces and edges of a convex polyhedron. Let's assume that a convex polyhedron and a specified outside viewpoint are defined in 3-D space and that surface normal are defined as outward normal vectors for all faces of the convex polyhedron. Then the visibility of faces and edges is defined as follows. (Fig. 6)

: The outward normal vector on the part's surface.

: The view vector from the surface to the viewpoint.

FIGURE 5. Projection drawingFIGURE 6. Test of face visibility

1. The face is visible, if the angle  is less than or equal to /2 ().

2. The face is invisible, if the angle  is greater /2 ( 0).

3. The edge is contour line, if one of the adjacent faces is visible and the other invisible.

4. The edge is hidden, if the two faces sharing it are both invisible.

5. The edge is not a contour line but should be drawn because it is visible, when both adjacent faces are visible.

So, the shape data for the convex polyhedron is classified into sets of :

Fv={f2, f3, f6}; visible faces,

Fi={f1, f4, f5}; invisible faces,

E1={e1, e2, e5, e7, e11, e12}; contour lines,

E2={e3, e4, e8}; hidden lines,

E3={e6, e9, e10}; other lines (visible but not contour lines)

Now a projection drawing of the convex polyhedron is constructed.

Second, the shape data for the convex polyhedron projection is classified as following:

Fc={f2, f3, f6}; Fcis the set of faces having edges forming contour lines of the projection drawing.

Fo={none}; Fois the set of faces that do not belong toFcamong the faces drawn in the projection drawing.

Ec={e1, e2, e5, e7, e11, e12}; Ecis the set of edges forming contour lines.

Ev={e6, e9, e10}; Evis the set of edges that connect to the vertices of contour lines, but do not belong toE1.

Eo={none}; Eois the set of edges which do not belong toEc andEvamong the edges drawn in the projection drawing.

Vc={v1, v2, v3, v5, v7, v8}; Vc is the set of vertices included in contour lines.

Vo={v6}; Vois the set of vertices drawn in the projection drawing which do not belong toVc.

At this stage, all of the elements of setsFo, Ev, Eo, and Vo are deleted from the convex polyhedron by using Euler Operators (kEF, kEV) [4,5], because they are not necessary to the new convex hull polyhedron. Then a new edge line is first added to the convexpolyhedron projection drawing by connecting the viewpointvowith any vertex belonging to setVcusing Euler Operators (mEV).

At the same time, the new face which is defined by the viewpoint vo and each outline segment is added to the convex polyhedron by using Euler Operators (mEF). Now a new convex hull polyhedron is constructed from the convex polyhedron and the viewpointvo.

Table 1 summarizes the increase and decrease in the number of faces, edges, and vertices produced by the Euler operations shown in Figure 7. It may be seenthat those operations respect Euler's law. Euler's Law states that in any simplepolyhedron, the numbers of faces(f), edges(e), and vertices(v) must satisfy the equation:

v-e+f=2...... (1)

This rule makes the following assumptions about the polyhedron:

(1). All faces are simply-connected, consisting of a single ring of edges and have no holes in them.

(2). The solid body must be simply-connected, with no holes through it.

Euler's law given by Eq. (1) are based on excludes some classes of meaningful shapes, such as shapes that contain holes. To allow for shapes, equation (1) must be modified as the following general formula:

v-e+f=2(b-h)+l...... (2)

where b, h, and l are the number of bodies, through holes, and faces' inner loop respectively [1,2]. For instance, the counts of the various variables of Eq. (2) for the polyhedral model shown in Fig. 2 have the following number of elements: 54 vertices, 83 edges, 29 faces, 1 body, 5 through holes, and 10 inner loops.

Name / Operation / (Vertices)-(edges)+(faces)= / 2
Existing polyhedron / 8 / 12 / 6 / Ok
kEF * 2 / kill edge and face / 0 / -2 / -2 / Ok
kEV / kill edge and vertex / -1 / -1 / 0 / Ok
mEV / make edge and vertex / +1 / +1 / 0 / Ok
mEF * 6 / make edge and face / 0 / +6 / +6 / Ok
New polyhedron / 8 / 15 / 9 / 2

Table 1. Maintaining internal consistency within the data structure.

FIGURE 7. Create a new convex polyhedron with vo as a vertex.

2-5. Acquire Final Convex Hull Polyhedron

The step 3 and step 4 are repeated until the set of neutral vertices is empty. As an ultimate result, the convex hull polyhedron is obtained as shown in Fig. 8.

FIGURE 8. Processing steps leading to the convex hull polyhedron.

3. Application of the Three-Dimensional Convex Hull

Using the moulding in Fig. 2 as an example, figure 9 shows a procedure for extracting potential undercuts. According to the withdrawal direction , D as shown in Fig. 10a., potential undercuts No.1, No.3, No.5 and No. 6 become real undercuts: real undercuts interfere with the given part when they move out along withdrawal direction (Fig. 10b).

(a). Three-dimensional convex hull(b). Mould product(c). Potential undercuts

FIGURE 9. A procedure for extracting potential-undercuts.

FIGURE 10. Real undercuts.

Potential undercuts can be automatically extracted during mould design, by representing a convex hull polyhedron by means of a solid model. Besides, real undercuts can also be generated by checking interference between potential undercuts and the given model.

4. CREATE A CONTOUR SOLID to Obtain Real Undercuts

According to the proposed algorithm described above, Fig. 9a represents a convex hull polyhedron for a moulding and Fig. 9c demonstrates potential undercuts extracted by a subtraction set operation on the convex hull polyhedron and the given moulding. This proposed algorithm has a disadvantage when it determines real undercuts by designating a moulding product withdrawal direction. For example, the potential undercuts shown in Fig. 9c are actually a solid part and users must perform a split operation for cutting it on purpose [7]. An attempt was made in this example to split the potential undercut to six separately potential undercuts as shown in Fig. 10b. So, the user has to develop a split algorithm by using Euler operators to split the potential undercut. The main disabvantage of the algorithm is that it just can be used on a planer solid model.

The algorithm of the creating contour solid for extracting real undercuts is shown in Fig. 11. In Fig. 11, the topological and geometrical structure of the moulding and extensional solids are always represented exactly, but the three-dimension convex hull is approximated by using polyhedrons. The processing steps of this distinct method are explained in detail below, and use a mouse model as an example.

FIGURE 11. Hierarchy of extracting undercuts.FIGURE 12. Create a minimal contour solid containing the given moulding.

4-1. Create the Minimal Contour Solid Containing the Moulding

For creating a minimal contour solid, first access the edge information of the product from the database to obtain maxi-min z coordinate. From the mouse model created by solid primitives, we can find the A, B, C, and D surfaces are visible as look the model from top view. And thenextruded these edges, which belong to visible surfaces, from minimum z position to maximum z position to create a contour solid. At the same time, two planes are defined, the top plane and the bottom plane, as shown in Fig. 12.

4-2. Create Extensional Solids

For creating extensional solids select contour lines, which are enclosing a visible surface. We can create an extensional solid by extruding the contour lines along the withdrawal direction until the top or bottom planes defined earlier. This step is repeated until all contour lines of visible surfaces are extruded to become extensional solids. In this example, this operation is performed five times. The A sphere surface will be extruded until its the lowest vertex to the top plane. The edges of B, C, and D face will be extruded along the direction until the top plane and the inside sphere surface will be extruded along the direction until the bottom plane. As a final result, the extensional solids are obtained as shown in Fig. 13.

FIGURE 13. Extensional solids.

4-3. Generate Real Undercuts

Real undercuts can be determined by performing a difference set operation to the contour solid, extensional solids, and the given moulding. This procedure that extracts undercuts for specific shapes is shown in Figure 14. Figure 15 gives another example, in which A surface be modified to a completely visible face for creating extentional solid.

FIGURE 14. Real undercuts.

FIGURE 15. An another example

5. Conclusion

This report discusses an algorithm for generating the smallest convex hull polyhedron represented as a solid model, having the same data structure as the given moulding. It also describes its applications to extract potential undercuts when designing moulds. The algorithm uses Euler Operations.

The proposed algorithm for determining the convex hull polyhedron is composed of the following steps.

The first step defines the attributes of the vertices of the given solid moulding.

The second step constructs a tetrahedron by selecting four neutral vertices.

The third step deletes all of the vertices that are inside or on the boundary of the tetrahedron.

The fourth step creates a new polyhedron adding an unused neutral vertex, and using it as "viewpoint" from which one looks to the existing tetrahedron.

The third and fourth steps are repeated until a convex polyhedron containing all the vertices defined in the first step is obtained.

A new method is proposed for directly extracting real undercuts from a given solid moulding. The method is based on generating a minimal contour solid and extensional solids which are obtained by extruding boundary curves of real visible surfaces of a moulding, viewed from the withdrawal direction. Undercuts can be determined by subtracting the extensional solids and the given moulding from the minimal surrounding box. The advantage of this algorithm is it can directly use on a solid model combined with solid primitives.

6. Reference

[1]A. Baer, C. Eastman, M. Henrion, "Geometric modelling: a survey", Institute of Physical Planning, Carnegie-MellonUniversity, Pittsburgh, USA, Feb. 1980.

[2]H. Chiyokura, "A Method of Representing the Solid Design Process", IEEE CG&A, April 1985, pp. 32-41.

[3]I. Zeid, CAD/CAM Theory and Practice, McGraw-Hill, 1991.

[4]M. Mantyla, R. Sulonen, "GWB: A Solid Modeler with Euler Operators", IEEE CG&A, September 1982, pp. 17-31.

[5]M. Martti, "AN INVERSION ALGORITHM FOR GEOMETRIC MODELS", Computer Graphics, Vol. 16, No. 3, July 1982.

[6]S. Furukawa, "An Efficient Algorithm for Constructing Convex Hulls of 3-D Points", JSPE, Japan, Vol. 50, No. 11, 1984.

[7]T. Mochizuki, N. Yuhara, "Methods of Extracting Potential Undercut and Determining Optimum Withdrawal Direction for Mold Designing", Int. J. Japan Soc. Prec. Eng., Vol. 26, No. 1 (Mar. 1992).

[8]T. Mochizuki, N. Yuhara, "Determining Algorithm of Three-Dimensional Convex Hull Used for Set Operations of Solids and Its Application to Interference Problem", ISCIE , Japan, Vol. 3, No. 11, 1990.

Page 1