Computing offsets of trimmed NURBS surfaces

Computing offsets of trimmed NURBS surfaces

COMPUTER-AIDED DESIGN Computer-Aided Design 35 (2003) 411±420 www.elsevier.com/locate/cad Computing offsets of trimmed NURBS surfaces G.V.V. Ravi Ku...

248KB Sizes 0 Downloads 118 Views

COMPUTER-AIDED DESIGN Computer-Aided Design 35 (2003) 411±420

www.elsevier.com/locate/cad

Computing offsets of trimmed NURBS surfaces G.V.V. Ravi Kumar, K.G. Shastry, B.G. Prakash* Computer Aided Engineering Group, Aeronautical Development Agency, P.B. No. 1718, Vimanapura Post, Bangalore 560 017, India Received 2 October 2001; revised 30 November 2001; accepted 3 December 2001

Abstract Offsetting of trimmed NURBS surfaces is one of the widely used functionalities in the design and manufacture simulations of composite laminates. This paper presents an approach for the offsetting of a trimmed NURBS surface. The approach has been developed mainly to meet the stringent accuracy requirements in the simulation of composite laminate design and manufacturing processes. However, the approach is applicable for the offset of a general trimmed NURBS surface. Though the method is based on known techniques in literature, the practical approach and the treatment of the subject presented is unique and has not been reported earlier. The basic approach consists of offsetting the underlying surface, offsetting of all the trimming loops and the creation of offset trimmed surface using the offset surface and the offset trimming loops. This is a uni®ed offset approach for trimmed surfaces where in the offset of underlying surface and the offset of trimming loops are obtained using the same approach. The approach has better error control and results in less number of control points. Further the approach can be extended to obtain offsets of a general B-Rep. The approach has been used in the creation of offset surfaces of various aircraft components. q 2002 Elsevier Science Ltd. All rights reserved. Keywords: Offsetting; Approximations; Trimmed NURBS surfaces

1. Introduction In the computer modeling of composite laminate components, surface offset is one of the widely used geometric functionalities. In general, offset surfaces have diverse applications in computer-aided design and manufacture of mechanical components. Unlike metallic components, which are realized by processes such as machining, forging, milling, etc. laminated composite components are obtained by stacking one over the other, uni-directional/bi-directional ®ber-reinforced material in a predetermined order, over a surface termed as the lay-up surface, which corresponds to the geometric contour of the part to be realized. In order to achieve optimum weight con®guration, laminated composite components are invariably tapered, which leads to a situation where in each individual layer of the laminate can have different surface and contour characteristics. The accuracy requirements are more stringent in composite laminate modeling compared to the general solid modeling. The composite laminate components will have large in-plane dimensions, compared to the thickness dimension, which makes it dif®cult to model. Hence, in the realm of computer-aided design of laminated composite components, the order of * Corresponding author. Tel.: 191-80-523-0479; fax: 191-80-523-8493. E-mail address: [email protected] (B.G. Prakash).

geometric complexities to be addressed is at least an order higher in comparison to the treatment of the metallic components. The lay-up surface is a B-Rep comprising many complex trimmed surfaces that are sewed together. Offset of this complex surface is carried quite often in order to simulate certain design and manufacture operations of composite laminates. The offset surface can be at a constant or variable distance from the given base surface. In the present work only the constant distance offset of a single trimmed surface is considered. Further it is assumed that all the geometric entities, i.e. curves and surfaces, are in NURBS representation as these are de-facto industrial standard. Many approaches have been presented in the literature for offsetting of curves and surfaces [1±13]. All these approaches deal with offsetting of either a single curve or a single surface. Some of these algorithms deal with computation of non-self intersecting offsets of either curves or surfaces [6±8,10±13]. There is not much work, to the best of our knowledge, in the literature on offsetting of trimmed NURBS surfaces. Thus the aim of the present work is to develop an approach for the computation of constant offset of a trimmed NURBS surface automatically. The approach should have better error control and should result in less number of control points. The approach should be extendable directly for the offset

0010-4485/03/$ - see front matter q 2002 Elsevier Science Ltd. All rights reserved. PII: S 0010-448 5(01)00220-2

412

G.V.V. Ravi Kumar et al. / Computer-Aided Design 35 (2003) 411±420

Fig. 1. A trimmed NURBS surface in the Euclidean space.

of a general B-Rep. These objectives have been kept in mind in developing the present approach for the offset of a trimmed NURBS surface. The proposed approach consists of offsetting the underlying surface, extension of this offset surface, offsetting of all the trimming loops and ®nally creation of the offset trimmed NURBS surface using the extended offset surface and the entire offset trimming loops. This is a uni®ed approach for offset of trimmed surfaces where in the offset of underlying surface and the offset of trimming loops are obtained using a single approach. The present approach is based on the following assumptions:

piecewise rational function of the form

u [ U ˆ { a; ¼; a ; up11 ; ¼; un ; b; ¼; b } |‚{z‚} |‚{z‚}

…2:2†

² All the NURBS curves and surfaces are assumed to be clamped. ² The underlying surface of the trimmed surface is assumed to be at least G1 continuous and is assumed to be non-self intersecting after constant offset. ² All the surfaces are assumed to be bivariate vectorvalued rectangular surfaces. The approach can be used for triangular surfaces by assuming it as a rectangular surface with one degenerated edge.

v [ V ˆ { c; ¼; c ; vq11 ; ¼; vm ; d; ¼; d } |‚{z‚} |‚{z‚}

…2:3†

2. Geometrical description of trimmed surfaces The trimmed NURBS surface consists of an underlying surface and set of trimming loops. Sets of NURBS curves are joined together in consistent orientation to form a trimming loop. The detailed mathematical description of the NURBS curves and surfaces can be found in the literature [14]. A NURBS surface of degree p in the u-direction and degree q in the v direction is a bivariate vector-valued

n X m X

S…u; v† ˆ

Ni;p …u†Nj;q …v†wi;j Pi;j

iˆ0 jˆ0 n X m X iˆ0 jˆ0

…2:1† Ni;p …u†Nj;q …v†wi;j

where Pi;j form a bidirectional control net, wi;j are the weights and Ni;p …u†; Nj;q …v† are the B-Spline basis functions in the biparametric u and v directions, respectively. p11

q11

p11

q11

where the number of control points in u-, v-directions are n 1 1 and m 1 1, respectively. A typical trimmed NURBS surface with three trimming loops in Euclidean space is shown in Fig. 1. It has one outer trimming loop and two inner trimming loops. The trimming loops for a trimmed surface are arranged such that the outer trimming loop is anti-clockwise and all the other inner trimming loops are clockwise with respect to the outward normal in the parametric domain. The parametric domain of this trimmed NURBS surface is shown in Fig. 2. The trimming curves are de®ned as surface curves in the parametric domain of the underlying base surface. A general NURBS curve is de®ned as n X

C…t† ˆ

Ni;p …t†wi Pi

iˆ0 n X iˆ0

…2:4† Ni;p …t†wi

where wi are weights, Pi are control points and Ni;p …t† are p-th

G.V.V. Ravi Kumar et al. / Computer-Aided Design 35 (2003) 411±420

413

Fig. 2. Trimmed NURBS surface in the parametric space.

degree B-Spline basis functions of the curve. The curve Bspline functions are de®ned on the non-uniform knot vector T ˆ {e; ¼; e; tp11 ; ¼; tm2p21 ; f ; ¼; f }:

…2:5†

3. Methodology The offset of a trimmed surface is computed by trimming the offset of the underlying surface with the offset trimmig loops. The algorithm for the offset of a trimmed NURBS surface is summarized as follows: 1. Retrieve the underlying surface and all the trimming loops of the trimmed NURBS surface. 2. Offset the underlying surface of the trimmed surface along the normal with the given offset distance. 3. Extend the computed offset surface in all four sides with distance equal to the offset distance. 4. For each trimming loop ± Retrieve all the trimming curves which are in surface curve form and compute their corresponding threedimensional (3D) space curves. ± Compute offset of each of the 3D-space trimming curves along the underlying surface normal. ± Compute the corresponding surface curves on offset surface for each of these 3D offset trimming curves. ± Construct offset trimming loop using all the offset surface curves. 5. Create offset trimmed NURBS surface using the extended offset surface and all the offset trimming loops. Some of the above geometric algorithms are available in the literature. But customization of these techniques for the speci®c needs of the present approach have been presented here as part of the overall offset algorithm along with the ®ner implementation details. 3.1. Offset of underlying surface of the trimmed surface The parametric form of the offset surface of a given para-

metric surface S(u,v) is simply written as S0 …u; v† ˆ S…u; v† 1 dN…u; v†

…3:1†

where d is offset distance and N(u,v) is surface normal. The surface offset is computed using the approach presented earlier by Piegl and Tiller [9] and the same can be referred for ®ner details. This approach has been adopted as it has greater error control and results in minimum number of control points. The computed offset of the underlying trimmed NURBS surface (Fig. 1) is shown in Fig. 3 along with the underlying surface. 3.2. Offset surface extension with the given distance The offset surface computed above has to be extended in all four sides with the distance equal to the offset distance approximately. This is mainly to avoid the numerical dif®cuties in computing the parametric images of the offset trimming loops on the offset surface. In the present work, the Shetty and White [15] algorithm has been customized for the extention of the given surface maintaining only G1 continuity. The procedure for the extension of surface at the end along U-direction is summarized as: The surface extension process initially requires a parameter estimate for the desired extension. Since the surface is to be extended along U-direction, eight V-iso curves are retrieved from the surface with equal spacing. The parametric co-ordinate upto which each of these isocurves to be extended is computed for the given amount of extension using arc length parametrization. The curve extension at the end with the given distance is discussed in Section 3.2.1. After extending all the eight V-iso curves at the end with the given distance, the average end parameter of these eight curves gives the new end parameter of the surface. The surface is to be extended upto this parameter. Let the initial and ®nal parameters of the surface along U-direction are a and b, respectively. If the parameter to be extended is ue, then the appropriate parameter (ud ) in the parametric domain of the surface is computed as ud ˆ b 2 …ue 2 b†

…3:2†

The knot ud is inserted along the u-direction in the surface

414

G.V.V. Ravi Kumar et al. / Computer-Aided Design 35 (2003) 411±420

Fig. 3. Underlying surface and its offset of the trimmed surface.

knot vector with multiplicity equal to the degree along u-direction. The U-knot vector of the surface after knot insertion is of the form U ˆ {a; ¼; a; up11 ; ¼; ud ; ¼; ud ; ¼; un ; b; ¼; b}

…3:3†

The new control points are obtained by re¯ecting the control points about the normal plane at the point of extension. The re¯ection of the control points is done in Euclidean space of the rational curve. The weight at the re¯ected point is equal to the weight at the subdivided point. The new U-knot vector of the extended surface is given as U ˆ {a; ¼; a; up11 ; ¼; ud ; ¼; ud ; ¼; un ; b; ¼; b; 2b 2 un ; ¼; 2b 2 ud ; ¼; 2b 2 ud }

…3:4†

The extended surface is created with the new control points and new knot vector. The surface knot ud is removed iteratively p (degree) times from the knot vector. The end knot b is also removed for removable number of times. The surface obtained after these knot removals is the ®nal extended surface. The approach can also be extended for the surface extension in all the other sides of the surface. The offset surface and its extension of the trimmed surface (Fig. 1) has been shown in Fig. 4. Some typical cases of self intersections in surface extention may occur for surfaces of revolution. Such cases are out of scope for the present paper. 3.2.1. Curve extension to a given distance The curve is extended tangentially at the end to a given distance approximately. Initially, the extended curve

Fig. 4. Offset of underlying surface and its extended offset surface of the trimmed surface.

G.V.V. Ravi Kumar et al. / Computer-Aided Design 35 (2003) 411±420

segment is linear and its degree is elevated to the degree equal to that of the given curve. The approach adopted for curve extension is summarized as follows. Let the control points in Homogeneous and Euclidean co-ordinates of the initial curve are Piw, Pi for i ˆ 0,¼,n, respectively. The knot vector of the curve is Uip for i ˆ 0,¼,m. The Homogeneous and Euclidean control points of the extended curve be Qiw, Qi, for i ˆ 0,¼,n 1 p, respectively. The knot vector of the extended curve be Uiq for i ˆ 0,¼,m 1 p. The control points of the extended curve are computed as follows Qwi ˆ Pwi

for i ˆ 0; ¼; n

…3:5†

The Euclidean co-ordinate of the end control point Qn1p of the extended curve is computed as Qn1p ˆ Pn 1

…Pn 2 Pn21 † d iPn 2 Pn21 i

…3:6†

w The homogeneous co-ordinate of the control point Qn1p is set with the Euclidean co-ordinate Qn1p and weight wn. The w control points between Qnw to Qn1p of the extended curve are computed by raising the degree of the curve as     i w i Qwn1i ˆ 1 2 for i ˆ 1; ¼; p 2 1 Pn 1 Qw p p n1p …3:7†

The knot vector of the extended curve is computed as follows Uiq ˆ Uip

for i ˆ 0; ¼; m 2 1

Uiq ˆ Ump 1 du

…3:8†

for i ˆ m; ¼; m 1 p

where the knot increment du is given as   p d Ump 2 Um2p21 du ˆ piPn 2 Pn21 i

…3:9†

The curve is extended from the end maintaining the G1 continuity. The procedure can be extended for the curve extension from the other end also. 3.3. Offset of trimming curves All the trimming curves of the trimmed NURBS surface are de®ned in the parametric domain of the underlying surface. Initially, the corresponding 3D-space form of these surface trimming curves are computed using the procedure described in Section 3.3.1. Each of these 3D-space curves have to be offsetted along the surface normal with the given offset distance. The offsetting of a general 3D-space curve is more dif®cult compared to the planar curves. But in the present case, trimming curves are to be offsetted along the surface normal which is well de®ned and unique at any given point on the curve. This information is utilized in the creation of the offset curve. The algorithm presented by Piegl and Tiller [9] for the

415

planar curve offset has been extended in the present approach for the 3D trimming curve offset. Initially the NURBS curve is decomposed into a set of Bezier segments. The number of Bezier segments are equal to the number of non-zero spans in the knot vector. The sample points on each of these Bezier segments are computed which are at equidistant in the knot interval. The number of sample points (n) of each of the segment is given as  pow r 1 M …3:10† nˆ 8 e where e is user de®ned tolerance and M is the bound on second derivative of the offset curve and pow as de®ned in Ref. [9]. The bound on the second derivative for a planar curve was given analytically by Farouki and Neff [16] earlier. Piegl and Tiller [9] have presented an approximate strategy for the computation of this second derivative bound. Both the strategies can not be used directly in the present case as the trimming curve is a 3D-space curve. The strategy adopted is as follows: ² The Bezier segment is sampled at 2(p 1 1) points. Each of these sample points also lies on the underlying surface of the trimmed NURBS surface. ² At each of these points (a) Compute the curve tanget (t) vector. (b) Compute the parametric co-ordinate on the surface. This is a point inversion problem which essentially computes the nearest point on the surface for a given point and is discussed in Section 3.3.2. (c) Compute the surface normal (n) at this parametric co-ordinate. (d) Compute the normal to the plane of the curve at the sample point as N ˆt£n

…3:11†

(e) Compute the second derivative of the curve at this point as given in Ref. [9] using the normal N to the plane of the curve. ² The maximum of the second derivative for all these points is taken as M in the Eq. (3.10) for the computation of number of sample points. The second derivative bound computed through this approach may not be very accurate in comparison to Riemann metric. However, for the class of problems that have been tested this approach has given reasonably good number of sample points. The Riemann metric resulted in over sampling of the surface curve, which is not desirable. The offset point for each of the sampled points is computed along the surface normal with the given offset distance. These offset sample points are interpolated into an offset NURBS trimming curve using the approach given in

416

G.V.V. Ravi Kumar et al. / Computer-Aided Design 35 (2003) 411±420

Fig. 5. Offset of underlying surface and offset trimming loops in Euclidean space.

Ref. [14]. All the offsets of trimming curves and the extended offset surface of the trimmed NURBS surface (Fig. 1) are shown in Fig. 5. 3.3.1. Computation of 3D-space curve of a surface trimming curve The trimming curves are surface curves and are described in the parametric domain of the underlying surface. The aim is to compute these trimming curves in 3D-space form. Initially, check whether the surface curve represents an iso-parametric curve of the surface or not. The simple checks for iso-parametric curve are: (a) the degree of the surface curve must be one and (b) the curve must lie on the line joining the two end points within a speci®ed tolerance. In case the surface curve passes the above checks, identify whether it is U or V iso-parametric curve and compute its corresponding 3D-space curve. If the curve is not iso-parametric curve then all the surface knots, at which the surface is less than C1 continuous, are computed. At each of these knots a plane perpendicular to the parametric domain of the surface is constructed. The intersection between this plane and the surface curve is identi®ed as the point of segment division. Initially the surface curve contains one segment and it is divided into smaller segments depending on the continuity of the base surface. The knots of the curve at which the continuity is less than C1 are identi®ed as break points. For each surface curve segment, the following steps are carried for the computation of 3D-space curve: Identify the break points present in the segment. Get the ®rst two break points of the curve. Compute the piecewise Bezier segments within the speci®ed tolerance between each of the two successive break points recursively. The computation of a piecewise Bezier segment between two break points is as follows: (a) Get the knot interval (Dt) between each of the break points. (b) For each of the knot interval (Dt)

± Get the two end parameters of the surface curve segment. ± Compute the 3D Euclidean points and its derivatives at the ends of the curve segment. The derivative Di at point i on surface curve C s is computed as Di ˆ

2C s …t† 2Cs 2u 2Cs 2v ˆ 1 2t 2u 2t 2v 2t

…3:12†

(c) Using the end points (Pi,Pi11) and the derivatives (Di,Di11) at the end points ®t a cubic curve passing through these points. The four control points can be computed as Q0 ˆ Pi Q1 ˆ Pi 1

…3:13a† Di Dt 3

Q2 ˆ Pi11 2 Q3 ˆ Pi11

Di11 Dt 3

…3:13b† …3:13c† …3:13d†

(d) The knot vector of the piecewise Bezier segment is taken as the two end knots of the curve segment with knot multiplicity equal to 4. (e) Compute four sample Euclidean points on the computed curve and on the surface curve. If the maximum distance between these points is less than the given tolerance then the computed curve is taken as the 3D-space curve of the surface curve segment. Otherwise the knot interval is halved and the new Bezier segment is computed. This process of halving the knot interval is carried recursively until a Bezier segment is obtained within the speci®ed tolerance. Similarly Bezier segments are computed for the remaining knot interval of the surface curve. All the Bezier

G.V.V. Ravi Kumar et al. / Computer-Aided Design 35 (2003) 411±420

417

Fig. 6. Offset of underlying surface and offset trimming loops in parametric space.

segments are joined together to form a single 3D-space curve. After removing all the removable knots, the ®nal 3D-space trimming curve is obtained. The trimming curves of the trimmed NURBS surface in parametric space are shown in Fig. 2 and the corresponding trimming curves in the Euclidean space are shown in Fig. 1. 3.3.2. Computation of nearest point on the surface for a given point The computation of the nearest point on the surface S(u,v) for a given point P is essentially a non-linear problem, which is solved iteratively using Newton±Raphson method. The distance is minimum when the following non-linear equations are satis®ed f …u; v† ˆ …S…u; v† 2 P†Su …u; v† ˆ 0

…3:14a†

g…u; v† ˆ …S…u; v† 2 P†Sv …u; v† ˆ 0

…3:14b†

where Su, Sv are surface derivatives with respect to parameters u, v, respectively. The ®ner details of the nearest point computation can be found in Ref. [14]. Here only the additional information is given. The Newton±Raphson method needs good initial guess parameters and in the present approach these are obtained through a computationally fast algorithm using bounding box information. The NURBS surface is decomposed and subdivided into smaller Bezier segments till the required accuracy is met. A surface binary tree is constructed using these subdivided Bezier segments. Each node of the binary tree contains: (a) Bezier segment information, (b) the tree to which the node belongs, (c) pointers to the left child, right child and parent nodes (d) bounding box information of the current node. Similarly, a point tree is also constructed for the given point, which has only one node. The binary tree nodes of both the trees are then traversed for the nearest point on the surface. Initially, a large value is set as the initial best solution. Then the minimum distance between the bounding boxes of the surface tree top node and point tree top node is computed. If the minimum distance is less than the best solution arrived then the nodes contain solution otherwise not. If there is a possible solution and the surface node is not a leaf node then

the problem is subdivided into two sub-problems as: (a) subproblem 1 contains point tree node and surface tree node left child, (b) Sub-problem 2 contains point tree node and surface tree node right child. The two sub-problems are then solved recursively till both the nodes of the point tree and surface tree are leafs. Once the two leaf nodes of both the trees are obtained, then Eq. (3.14) is solved for the Bezier surface segment and the point of leaf nodes corresponding to surface and point trees, respectively. The initial guess parameter is taken as the midpoint of the surface segment. At the end of solution procedure a parametric point (u,v) on the surface is obtained and the corresponding Euclidean point is computed. The distance between the computed point and the given point is set as the best solution if it is less than the best solution obtained so far. Otherwise skip the present point, as it is not the nearest point. Similarly, all other nodes in the tree are also searched for better solution. At the end the best solution gives the minimum distance between the point and the surface, and the corresponding parametric co-ordinate stored gives the point of interest. 3.4. Computation of parametric image of offset trimming 3D-space curve on the offset surface The offset trimming curves are initially in the 3D-space form. Dropping these space curves along the surface normal onto the surface gives its parametric images. The NURBS space curve is ®rst converted to set of Bezier segments. The Bezier segments are further subdivided to smaller Bezier segments within a speci®ed tolerance. A 2D-image is computed for each of these Bezier segments. Union of all the 2D image curves will give the required parametric image of the space curve. The 2D parametric image curve computation for a given Bezier segment is as follows: Let the start and end parameters of the Bezier curve segment are ti, ti11, respectively. The Euclidean co-ordinate C(ti) and its derivative Ct(ti) are computed at parameter ti. Then the Euclidean point's (C(ti)) parametric image (ui,vi) on the extended offset surface S 0 is computed by computing the nearest point on the surface. The surface derivatives at

418

G.V.V. Ravi Kumar et al. / Computer-Aided Design 35 (2003) 411±420

Fig. 7. Base and offset trimmed surface of example 1.

Fig. 8. Base and offset trimmed surface of example 2.

the nearest point are also computed. Using the parametric point (ui,vi) on the surface S 0, drop the curve tangent vector Ct(ti) onto the parametric domain and let this vector is Di. The approach for dropping the tangent vector on the parametric space of the surface can be found in Ref. [14]. Similarly the next Euclidean point on the curve C(ti11) and its parametric image (ui11,vi11) on the extended offset surface is computed. The curve tangent vector Ct(ti11) and its parametric image on the surface Di11 are computed. A cubic curve segment is ®tted between the two end parametric points (Pi(ui,vi), Pi11(ui11,vi11)) using the end derivatives (Di,Di11) in the surface parametric domain. The control points of the curve segment are computed using Eq. (3.13). The parametric image curve will have two knots (ti,ti11) with multiplicity is equal to four in the knot vector. Then compute the distance between the four Euclidean sample points on the computed curve and the original space curve. If the maximum of these distances is more than the required tolerance then the computed curve is not accurate. If the curve is not accurate, then the knot interval is halved and the curve is dropped again using the same procedure. This process is carried recursively till the

Fig. 9. Base and offset trimmed surface of example 3.

G.V.V. Ravi Kumar et al. / Computer-Aided Design 35 (2003) 411±420

419

Table 1 Offset results for various trimmed NURBS surfaces Trimmed NURBS surface

Base trimmed surface Underlying surface

Trimming loops

Trimming curves

Example 1 Example 2 Example 3

Doubly curved free form surface Doubly curved free form surface Planar surface

3, 1 outer, 2 inner 2, 1 outer, 1 inner 3, 1 outer, 2 inner

9 6 24

space curve parametric image is obtained within the required accuracy. Similarly parametric images of all other Bezier segments of the 3D-space curve are computed and are joined together to form the ®nal surface curve. All the removable knots of the curve are removed and the resulting curve represents the image of the 3D-space curve. The offset trimming loops and the extended offset surface in parametric space of the trimmed NURBS surface (Fig. 1) are shown in Fig. 6. All the offset trimming loops are created using the parametric images of the offset trimming curves. Then the offset of the trimmed NURBS surface is created using the extended offset surface of the underlying surface and the offset trimming loops.

Figure

Offset distance (mm)

Offset trimmed surface

Fig. 1 Fig. 8 Fig. 9

343 227 104

Fig. 7 Fig. 8 Fig. 9

presented approach has given accurate and reasonably robust offsets of trimmed NURBS surfaces for many real life aircraft components.

Acknowledgements The authors wish to thank Mr A. Sadanandam for the implementation of some of the discussed algorithms. We also wish to thank all the group members of CAE group for their support throughout the entire work. References

4. Results The approach presented has been used extensively for the offset creation of various trimmed NURBS surfaces. These are mostly lay-up surfaces of composite laminate components. Here only three examples on offset trimmed surfaces have been presented. The offsets are generated for both positive and negative normal directions. The offset distance is taken as 1/10th of the corresponding bounding box of the trimmed NURBS surface. In all the three problems tolerance levels of 0.1 mm have been achieved in the ®nal offset trimmed NURBS surfaces. Only chord length parameterization has been used in the entire work. All the other geometric details of both base and offset trimmed NURBS surfaces are given in Table 1 (Figs. 7±9). 5. Conclusions An approach for automatic offset of a trimmed NURBS surface has been presented. The approach assumes that the trimmed surfaces are at least G1 continuous within their parametric domain and further non-self intersecting within their parametric domains after offset. It uses a uni®ed approach for offsetting both the underlying surface and trimming curves. The paper also presents a methodology for the offset of surface curves. The presented approach has more error control and results in less number of control points. Further, the algorithm can be extended easily for the computation of constant offset of a NURBS B-Rep. However, the approach is computationally expensive and the offsets of the offset surfaces may have low geometric quality. The

[1] Pham B. Offset curves and surfaces: a brief survey. Comput Aid Des 1992;24:223±9. [2] Maekawa T. An overview of offset curves and surfaces. Comput Aid Des 1999;31:165±73. [3] Farouki RT. Exact offset procedures for simple solids. Comput Aid Geomet Des 1985;2:257±79. [4] Farouki RT. The approximation of non-degenerate offset surfaces. Comput Aid Geomet Des 1986;3:15±43. [5] Pottman H. Rational curves and surfaces with rational offsets. Comput Aid Geomet Des 1995;12:175±92. [6] Maekawa T, Patrikalakis N. Computation of singularities and intersections of offsets of planar curves. Comput Aid Geomet Des 1993; 10:407±29. [7] Maekawa T, Cho W, Patrikalakis NM. Computation of self intersections of offsets of Bezier surface patches. J Mech Des: ASME Trans 1997; 119(2):275±83. [8] Martin RR, Stephenson PC. Sweeping of three-dimensional objects. Comput Aid Des 1990;22(4):223±34. [9] Piegl LA, Tiller W. Computing offsets of NURBS curves and surfaces. Comput Aid Des 1999;31:147±56. [10] Elber G, Cohen E. Error bounded variable distance offset operator for free form curves and surfaces. Int J Comput Geomet Appl 1991; 1(1):67±78. [11] Lee IK, Kim MS, Elber G. Planar curve offset based on circle approximation. Comput Aid Des 1996;28(8):617±30. [12] Kuragano T. FRESDAM system for design of aesthetically pleasing free-form objects and generation of collision-free tool paths. Comput Aid Des 1992;24(11):573±81. [13] Ravi Kumar GVV, Shastry KG, Prakash BG. Computing non-selfintersecting offsets of NURBS surfaces. Comput Aid Des 2002; 34(3):209±28. [14] Piegl LA, Tiller W. The NURBS book. 2nd ed. New York: Springer, 1997. [15] Shetty S, White PR. Curvature continuous extensions for rational B-Spline curves and surfaces. Comput Aid Des 1991;23(7):484±91. [16] Farouki RT, Neff C. Analytical properties of plane offset curves. Comput Aid Geomet Des 1990;7:83±100.

420

G.V.V. Ravi Kumar et al. / Computer-Aided Design 35 (2003) 411±420

G.V.V. Ravi Kumar is a scientist at Computer Aided Engineering (CAE) group of the Aeronautical Development Agency (ADA), Bangalore, India. He received BE (Hons) in Civil Engineering from Birla Institute of Technology and Science, Pilani, India; M.Tech. and PhD in Applied Mechanics from the Indian Institute of Technology (IIT), Delhi, India in 1990, 1992, and 1997, respectively. Before joining ADA, he was a scientist in the Process Modeling Group of Tata Research Development and Design Centre, Pune, India. His research interests include Computational Mechanics, Impact Dynamics, Metal Forming, Computational Geometry, Computer Graphics, Geometric and Solid Modeling.

B.G. Prakash is a scientist heading the CAE Group of ADA. He received his MSc and PhD in Applied Mathematics from the Bangalore University and IIT, Bombay, India in 1972 and 1977, respectively. His major areas of interest over the last two decades are Mathematical Modeling, Design Automation, Knowledge Based Design and Manufacturing Simulation of aerospace structures.

K.G. Shastry is a scientist working as the Principal Systems Engineer at the CAE Group of ADA. He received MTech and PhD in Mechanical Engineering from the IIT, Kanpur, India in 1985 and 1990, respectively. His areas of interest include Computer Graphics, Computational Geometry, Manufacturing Simulation and Software Engineering.