0% found this document useful (0 votes)
86 views28 pages

3D Tool Offset

This document discusses a 3D curve offset approach for generating ruled surfaces in engineering design. It presents three key technologies: 1) An improved curve division method to reduce offset accuracy errors from different offset distances and curvatures. 2) A method to detect and eliminate overlapping of offset curves. 3) A curve transition method to improve offset quality in break and intersection regions, using a new algorithm to generate smooth transition curves. The approach enhances efficiency and quality of ruled surface generation for applications like mold parting surfaces and fixture checking surfaces.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views28 pages

3D Tool Offset

This document discusses a 3D curve offset approach for generating ruled surfaces in engineering design. It presents three key technologies: 1) An improved curve division method to reduce offset accuracy errors from different offset distances and curvatures. 2) A method to detect and eliminate overlapping of offset curves. 3) A curve transition method to improve offset quality in break and intersection regions, using a new algorithm to generate smooth transition curves. The approach enhances efficiency and quality of ruled surface generation for applications like mold parting surfaces and fixture checking surfaces.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

A 3D Curve Offset Approach for Ruled Surface Generation in Engineering Design

Kun Jiang1, Xionghui Zhou1*, Min Li2, Qiang Niu1

1 National Die & Mold CAD Eng. Research Center, Shanghai Jiaotong

University, Shanghai, 200030

2 Shanghai Shenmo Die & Mold Manufacturing Co., Ltd., Shanghai, P.R.China,

201203

Abstract: Ruled surface is widely used in engineering design such as parting surface

design of injection mold and checking surface design of checking fixture, which are

usually generated by offsetting 3D curves. However, in 3D curve offset, there often

exist break/interaction/overlapping problems which can’t be solved by current CAD

software automatically. This paper is targeted at developing a 3D curve offsetting

algorithm for ruled surface generation, and three key technologies are introduced in

details: An improved curve division method is proposed to reduce the offset accuracy

error resulted from different offset distances and curvatures; An offsetting curve

overlapping detection and elimination method is proposed; And then, a curve

transition method is presented to improve curve offsetting quality for the break and

intersection/overlapping regions, where a new algorithm for generating positive

weights spherical rational quartic Bezier curve is proposed to bridge the breaks of

offset curves to create a smooth ruled surface. Finally, two practical design cases,

*
Corresponding author.

Email address: jiangkacademic@gmail.com (Kun Jiang), xhzhou@sjtu.edu.cn (Xionghui Zhou)


parting surface and checking surface generation, show that the proposed approach can

enhance the efficiency and quality for ruled surface generation in engineering design.

Key words: ruled surface, 3D curve offset, parting surface, extending surface

1 Introduction

Nowadays, there has been a growing interest in ruled surface modeling and

machining due to three main reasons (Ding 2009). First, ruled surface-based models

are frequently utilized for lots of industrial components, e.g. cams, dies, molds, fan

vanes, gas turbine blades, and compressor impellers. Second, free-form surfaces can

be approximated using piecewise ruled surfaces. Third, ruled surfaces can be

processed in five-axis machining by flank (or side) milling which has many

advantages over point milling, such as higher material removal rate, higher machining

efficiency and better surface quality.

A ruled surface can be expressed as (Do Carmo 1976):

R(u, v)  P(u)  vN(u),  u, v   S  R 2 (1)

where S is the (continuous) domain of parameters u and v, the curve P(u ) is called

the directrix of the surface and a line having N(u ) as direction vector is called a

ruling (Ding 2009).

Let Q(u)  P(u)  N(u) , where Q(u ) is an 3D offset curve of P(u ) along the

vector N(u ) , then the formula can be reformed as (Zhang et al. 2010):

R(u, v)  (1  v)P(u)  vQ(u), u, v   S  R 2 (2)


Hence, the ruled surface can be regarded as the linear interpolation between the

original curve and the offset one.

Most researches about curve offsetting focus on planar and geodesic curves, such

as tool path generation. Given a parametric curve C(t ), t [0,1] , its offset curve with

an offset distance d is defined by Co (t )  C(t )  dN(t ) , where N(t ) is the offset rule

which decides the form of the offset curve. For a 2D parameterized curve

C  ( x(t ), y(t )), t [0,1] , N(t )  ( y(t )  x(t )) y 2 (t )  x 2 (t ) is the unitary normal of

the original curve C(t ) . In general, the offset curve cannot be represented in a

polynomial or rational form because of the square root term in the denominator of the

unit normal N(t ) , so that, it is difficult to obtain the simple forms of these offsets,

hence, the approximation methods are needed.

Different from 2D case, the offset rule of a 3D curve is generally not the unit

normal of the original curve. In engineering design, N(t )  v(t )  k (t ) , where v(t )

is the unit tangent vector of C(t ) (Shin 2003). In parting surfaces design of a mold,

k (t ) is the parting direction without relationship to the curve parameter. In the

checking surface design of a checking fixture, k (t ) is the unit normal vector of a

point on the checked surface. As another difference, the overlapping of 3D offset

curves is undesirable in engineering design, since it makes some parts of the ruled

surface invisible. However, 3D curve offset tools are not afforded by current

commercial CAD software, and designers have to deal with the work manually.

In engineering design, there are many C0/G0 continuous curves. Actually, the

connecting point with the C0/G0 continuity has two different offset directions, which
gives rise to the offsetting curve breaks or intersections. As shown in Figure 1, Q1 is a

co-vertex of two edges which belongs to two different surfaces, Q2 is a corner of the

parametric region of the surface, Q3 and Q4 are the intersection points of two

boundary edges on the surface, with the difference that Q3 is on a convex edge that

results in breaks and Q4 on a concave edge that results in intersections.

Figure 1. The result of curve offsetting with first-order-discontinuity points

This paper focuses on 3D offsetting and some key problems in implementation

are solved. An improved division method is proposed to enhance the accuracy of

offset curve generation in Section 3. As a new problem in 3D curve offsetting,

overlapping can be eliminated by the method presented in Section 4. A break and

intersection/overlapping transition method is developed in Section 5, which includes a

positive weights spherical rational quartic Bezier curve generation algorithm. In

Section 6, two practical engineering design cases show the practicability of the

methods in this paper.

2 Related work

During the last 20 years, a lot of methods for the planar and geodesic curve offset

approximation have been proposed and developed, which may be classified as three

types: (1) Control Vertex Offset Algorithm (Coquillart 1987), i.e., moving the control
vertex of NURBS curve to be offset under given precision. (2) Circle Envelope

Approximation Algorithm (Lee et al. 1996). The offset is the enveloping curve by

rolling a circle along the base curve. The actual offset is obtained by convolution and

has degree 3p-2 for non-rational curves and 5p-4 for rational ones (Piegl and Tiller

1999), where p is the degree of the original curve. 3) Interpolation or Fitting

Algorithm (Patrikalakis and Bardis 1989, Wolter and Tuohy 1992, Piegl and Tiller

1999, Lee 2003, Sun 2012), which consists of four major steps: (1) special shape

identification and handling, (2) offset curve subdivision, (3) interpolation of offset

points, and (4) approximation by knot removal. However, the first method cannot deal

with self-intersection problems. And the second one has two major flaws (Piegl and

Tiller 1999): (1) the resulted offset curve has a large number of control points; (2) the

offset curve is of a high degree, e.g., the offset of a degree three rational curve is a

rational curve of degree eleven. Therefore, the Interpolation or Fitting Algorithms are

prevalent in researches.

To reduce the complexity, a curve is usually subdivided into line segments. Curve

division algorithm is also used in curve/curve intersection (Srijuntongsiri 2011), tool

path generation (Shen et al. 2010) and meshing (Laug 2010). There are two ways: (1)

Parametric algorithm (Filip 1986) which determines the subdivision points number

based on secondary derivate, as used in the researchers (Piegl and Tiller 1999, Sarma

and Rao 2000, Sun et al. 2004). (2) Geometric algorithm which divides a curve

iteratively until it satisfies the precision condition. Piegl (2002) decomposed a

NURBS curve into several Bézier segments, and divided each segments with
bisection until the arch rise was under the given precision. Bae (2002) subdivided the

Bézier curve by applying consecutive stepwise degree reduction processes combined

with adaptive subdivision - in each degree reduction step, a Bézier curve was

subdivided until the approximation error from degree reduction is smaller than the

corresponding step tolerance. The terminal condition of the Bézier segment division

affects the precision and efficiency of the whole curve division directly. Lane and

Riesenfeld (1980) proposed a termination criterion of the bisection subdivision. And

then, Zhang and Wang (2003) improved the condition by some new estimate methods

for the segment deviation of degree n (n=2, 3, 4) rational Bézier curves. However the

above algorithms only consider the division precision to approximate a curve itself

and ignore the offset accuracy of a curve with different curvatures, which is improved

in this paper

The offset curve may self-intersect locally when the absolute value of the offset

distance exceeds the minimum radius of curvatures in the concave regions. Also, the

offset curve can self-intersect globally when the distance between two distinct points

on the curve reaches a local minimum (Maekawa 1999). In general, invalid loops

caused by self-intersections need be detected and eliminated. Elber and Cohen (1991)

detected local self-intersections of offset curves by checking whether the tangent

fields have opposite directions. Lee et al. (1996) applied a plane sweeping algorithm

to detect all self-intersections of planar offset curves. Choi and Park (1999) removed

local invalid loops from the input PS-curve before constructing a raw offset-curve, by

invoking a pair-wise interference-detection (PWID) test. Elber (2003) and Seong et


al. (2006) presented a scheme to trim both local and global self-intersections of offset

curves and surfaces. The scheme was based on the derivation of an analytic distance

map between the original curve and its offset. By solving one bivariate polynomial

equation for an offset curve, all the local and global self-intersection regions in the

offset curves can be identified. The traditional method based on interference

detections by searching for all contact positions is a time consuming process. Lai

(2011) proposed a new algorithm called the forward locus tracing method (FLTM)

which searches for all intervals split by intersections of complicated planar curves

directly and transforms 2D transversal intersection problems into 1D interval

identifications. Pekerman et al. (2008) presented several algorithms for

self-intersection detection, and possible elimination, in freeform planar curves.

Compared with prior works, this paper focus on three aspects of 3D curve offset

in engineering design:

1) Considering the accuracy effect by the different offset distances and

curvatures, and improving the division method.

2) Eliminating the overlapping region.

3) Connecting the discontinuous or low-continuous regions automatically when

offsetting C0/G0 continuous curves.


3 NURBS curve subdivision

3.1 Traditional subdivision method

In this paper, it is assumed that all the curves are described in the NURBS form.

The detailed mathematical description of the NURBS can be found in literature (Sun

et al. 2004). The main idea of NURBS curve subdivision is listed as follows (Piegl

and Tiller 1999):

1) Decomposing the NURBS entity into Bézier pieces.

2) Sampling each Bézier piece uniformly at (p+1) points for non-rational, and

2(p+1) points for rational, where p is the degree.

3) At these points, computing the geometric entities such as curvatures and unit

normals.

4) Subdividing the Bézier piece into line segments to be offset with the theorem

1 (Filip 1986) as following:

Theorem 1. Let f (t ) :  a, b  n be any C2 curve and let l (t ) be the linearly

parameterized line segment with f (a)  l(a) and f (b)  l(b) . Then
sup
a t b f (t )  l(t )  18 (b  a) 2 M 0 ,
(3)
whereM 0 sup 
a t b f (t )

Therefore, a certain number of division line segments are sufficiently accurate to

define the curve. The number of subdivision points is given by (Sun et al. 2004):

M
n (4)
8
where  is the tolerance, M is the bound on the second derivatives of the sampled

points on the original curve.

The subdivision algorithm does not consider the effect of different offset

distances. Suppose the original curve is divided with uniform spacing. As shown in

Figure 2(A), when the original curve is a line segment, i.e., the curvatures of every

point on it are 0, all the lengths of the subdivision line segments are s before and

after offsetting and whatever the offset distance is. When the original curve is a

non-linear curve, however, the line segment lengths increase with the offset distance

and the curvature radius. We take an arc for example, as shown in Figure 2(B). It is

assumed that the curvature radius of every point on it is r and the offset distance d is

r/2, and the angle between two lines OP0i and OP0i+1 is  .

After offsetting, the lengths of the line segment s o between P0i and P0i+1 is:

s o  2  r  d  sin 2 (5)

s o are varied from the curvature radii on the curve. Thus, the uniform subdivision

line segments are non-uniform after offsetting when the curve has different

curvatures.
Figure 2. Offsetting of a line and an arc on different distance

However, the accuracy error of the approximation offset method based on curve

interpolation or fitting depends on the max distance among interpolated or fitted

points (Lucas 1974). For example, the error of the cubic spline interpolation is

O(s 4 max ) , where smax is the largest length among the line segments. Hence, when a

curve is subdivided into line segments for offsetting, the accuracy effect of the offset

distance should be considered here. Keeping the uniform distribution of the line

segment lengths after offsetting can improve the accuracy of the offset curve

generation.

3.2 Improved subdivision method

From Equation (5), the increase rate of a line segment length s is:

s o  s 2  r  d  sin 2  2r sin 2 d
  (6)
s 2r sin 2 r

where s and s o denote the line segments lengths before and after offset

respectively. The offset distance is d and the curvature radius is r. When d  r , the

increased length of the line segment is twice original one, so inserting a midpoint can
uniform the spacing distances. The density m of additional subdivision points is given

by:

d 
m  (7)
r 

  denotes the floor operator. Because the curvature radii of the points on the

original curve are not equal, the mean value of the curvature radii of two neighbor

points generated by traditional subdivision method is used as r in the equation. After

offsetting, the length variance of each line segment is less than s , i.e., the accuracy

error of the offset curve generation by interpolation is determined by s .

An offset of a 3D cubic Bézier curve is taken as an example to show the process

and effect of the improved subdivision algorithm. The Bézier curve is defined by four

control points, (200,200,200), (300,500,300), (400,600,500) and (600,200,600) and

the offset distance is 400. First, 20 points shown in Figure 3(A) are generated by the

traditional subdivision method when the precision  is set at 1. And then, the

improved method produced 83 additional subdivision points inserted in the intervals

of the 20 points as shown in Figure 3 (C). For the two methods, the mean value, max

value and standard deviation (SD) of the subdivision line segment lengths are shown

in Table 1. By offsetting and interpolating the line segments with cubic spline, the

offset curves are shown in Figure 3 (B) and (D). As shown in Table 1, the max length

of the subdivision line segments for the traditional method is enlarged by 100.0%, but

for the improve one, it is only 18.4%. 500 points are sampled uniformly on the offset

curves to check the accuracy of the offset curve generation. The SD of the offset error
by the improved method is reduced by 99.761% over the traditional one from 2.280×

10-2 to 5.470×10-5.

Figure 3. Subdivided and offset points by the two division methods

Table 1 Comparison of the two division methods

Traditional division method Improved division method


Mean Max SD Mean Max SD
Before offset 42.822 68.616 10.666 9.927 32.720 8.139
After offset 88.517 137.555 25.191 20.535 38.739 7.132
Interpolation 399.998 400.030 2.280×10-2 400.000 400.003 5.470×10-5

4 Overlapping elimination

For 2D curves, the offset curves shown in Figure 4 are split into small loops by

the self-intersection points. Some of these loops are invalid and must be removed;

these are local invalid loops and global invalid loops. A local invalid loop is only

bounded by one self-intersection point, while a global invalid loop is bounded by a

pair of self-intersection points.


Figure 4. Raw offset curves (Lee et al. 2009)

For 3D curve offsetting in engineering design, another problem, overlapping, may

occur. Figure 5 shows the different views of an overlapping curve. It does not

self-intersect as shown in Figure 5(A), but in the parting direction (Z-axis) as shown

in Figure 5(B), it makes some part of the parting surface invisible which cannot

separate the mold into two parts, the core and the cavity. These problems cannot be

solved by current CAD software automatically. In this section, an overlapping region

elimination method is proposed to recast a valid offset curve for ruled surface

generation in a straightforward way.


Figure 5. 3D offset curve and overlapping region on parting direction

After subdivision and offsetting, a raw offset curve is obtained, which is made up

of line segments. As shown in Figure 6, the outer curve is the raw offset one from the

original curve (inner one). Point A, B and C are a planar local intersection, a global

intersection and an overlapping point, respectively. The major steps of the algorithm

for overlapping elimination are summarized as follows:

(1) For detecting the overlapping points, the raw offset curve is projected on an

arbitrary plane perpendicular to the parting direction, and then the overlapping

problem becomes an intersection problem of planar curves.

(2) Each line segments is selected from the raw curve along the arrow direction.

If the line segment intersects with the one selected in the sequence of the line

segments, the segments between the two intersecting lines are composed of an invalid
loop which will be eliminated. For example, as shown in Figure 6, the line segment

Pi-1-Pi intersects with Pj-Pj+1 at the cross point C on the project plane. The line

segments between Pi and Pj will be removed.

(3) With the projection reverse computation, two overlapping points Pic and Pjc on

the raw offset curve can be found from the point C.

(4) The invalid loop (near the point B) between Pic and Pjc is eliminated. And then

the trimmed raw offset is obtained.

Figure 6. Illustration of overlapping elimination

The elimination approach can also detect local and global self-intersections of

planar curves. After interpolation of the line segments in the trimmed raw offset

curves, the final offset curves are obtained as shown in Figure 7 which contains two

difference views of the curves. The offset curves are grouped by two curves, one from

A to C and another form C to A, which have a discontinuous point A and a C0

continuous point C.
Figure 7. Offset curves after intersection/overlapping elimination

5 Transition

For repairing the break and intersection/overlapping problems occurred at the

C0/G0 continuity points and in the discontinuous regions, a transition algorithm is

proposed in this section. The discontinuous region caused by the overlapping

elimination in above section can also be repaired by this method. It is assumed that

ri (t ) and r (t )
ri+1 (t ) are two edges connected at P where the iso-parameter t is 1 for i

 
and 0 for ri+1 (t ) . After offsetting, if ri (1)  ri+1 (0) , i.e. ri (t ) and ri+1 (t ) are

first-order-discontinuous, the following method will repair the offset curves. Let

s  -ri (1)  ri1 (0)


. If s  z  0 , i.e. convex offset condition shown in Figure 8(a), the

method in Section 5.1 attends to the situation. Otherwise it is concave offset condition

shown in Figure 8(b), and the method in Section 5.2 handled.


Figure 8. Two offset conditions in C0/G0 continuous curves

5.1 Convex offset

As shown in Figure 9, a break occurs at the co-vertex after offsetting; therefore, a

transition curve is needed to bridge the gap. The general method inserts a circle or

helix curve, but it cannot ensure the C1 continuous connection. At the same time, the

transition curve has to satisfy the requirement of equidistant offset. Spherical curves

just meet the requirements. Wang and Qin (2000) proposed a method to solve a

rational Bézier curve on a sphere, which attains the continuous property at two

vertices. However, the curve with negative weights cannot be drawn out in most

design systems, because the negative weights may bring the singularity (Yang et al.

2006). In order to construct a transition curve with the continuous and equidistant

properties, a new algorithm for generating positive weights spherical rational quartic

Bezier curve is proposed in this section.


Figure 9. The transition curve in convex offset

Wang and Qin (2000) proved that, there exists a spherical quadratic rational

Bézier curve that satisfies C1 continuity at two boundary connection. Suppose X 0 、

X1 、 T0 、 T1 represent two position vectors and two tangent vectors, respectively, as

shown in Figure 9. The form of a quadratic rational curve is shown as following:

w P B m m m ,4 (t )
p(t )  m0
4
(8)
w
m0
m Bm,4 (t )

where t [0,1] , wm [0,1] , Bm,4 (t ) is Bernstein basis polynomials of degree 4,

w0 w
Controlling point P0  X0 , P1  X0  T0 , P3  X1  4 T1 , P4  X1 .
4w1 4w3

P2 is supposed to be near the mid-point between X 0 and X1 , so that

 d (2 p2  1) cos  (2 p2   1)  sin  (2 p2  1)  


  X  X 
P2   d (2 p2  1) cos  (2 p2   1)  cos  (2 p2  1)    0 1
(9)
  2
 d (2 p2  1) sin  (2 p2   1)  
 

where d is the offset length, p2 , p2  , p2 [0,1] , let w2  1 for reducing unknown

variable quantities.

We use optimization method to solve the eight parameters of the sphere curve.

The optimization objective is taken as the mean square distance between J uniform

points and the vertex P, i.e.

1 J
f   (Yi  Y )2
n i 1
Yi  p  Ji   P (10)
1 J
Y   Yi
n i 1
In order to maintain w positive, the method makes a punishment to the objective value

once w is less than 0.

Therefore, the problem of solving a positive weights spherical rational curve is

transformed to a nonlinear programming problem which can be solved by many

efficient approaches. This study chooses the Particle Swarm Optimization (PSO)

method for its advantage over dealing with real number optimization (Wang et al.

2007). The main concept of particle swarm optimization is to minimize nonlinear

functions using particle swarm methodology inspired by simulating social behavior

and related to bird flocking, fish schooling and swarming theory. Each individual is

treated as a volume-less particle (a point) in the N-dimensional search space.

The ith particle is represented as Ui   w0i , w1i , w3i , w4i , p2i  , p2i  , p2i   which

consist of seven unknown parameters of the sphere curve. The best position of the ith

particle at the kth iteration is recorded and represented as hi  k  . The index of the

particle having the best value among all the particles in the populations is represented

by the symbol g  k  . The rate of the position change (velocity) for particle i is

represented as Vi  Vi1 ,Vi 2 , ,ViN  . Then, the particles are manipulated according to

the following equation at the k+1 iteration:

Vi  k+1  eVi (k )  c1r1[hi  k   Ui  k ]  c2r2 [g  k   Ui  k ] (11)

and

Ui (k  1)  Ui (k )  Vi (k  1) (12)

where e is the inertia weight in the range of [0 1], c1 and c2 are two positive constants

represent the cognitive and social parameters, respectively, which are usually set at
2(Kennedy and Eberhart 1995), and r1 and r2 are two random functions in the range of

[0 1].

An example is taken to show the process. As shown in Figure 9, two curves have

a C0 continuous co-vertex P(0,0,0). The positions and tangent vectors of the break are

X0(47.553, 0, 15.451), X1(29.389, 40.451, 0) and T0(-3.744, 53.960, 11.524),

T1(-36.693, 26.659, -18.325), respectively. The PSO algorithm is run with a swarm

size of 300, e= 0. 9. The number J in fitness function (10) is set at 100. Figure 10

shows the solution history of the result using PSO.

Figure 10. Solution of the PSO

After 205 iterations, the stop precision is reached, and the fitness value g is

8.68e-2. Finally, w0~w4 are 1.00, 0.658, 0.542, 0.585, 0.911, and p2 , p2  , p2 are

0.999, 0.989, 0.919. From equations (8) and (9), the control points obtained are

P0(47.553, 0, 15.451), P1(46.617, 13.490, 18.332), P2(45.045, 21.302, 10.669),

P3(43.669, 30.076, 7.131), P4(29.389, 40.451, 0). With the control points and weights,
a positive weights spherical quartic Bézier can be drawn in CAD and shown in Figure

9.

5.2 Concave offset

At the co-vertex of the concave offset, the offset curves may intersect or overlap.

In a 2D space, there is one intersection point of two offset curves. In the 3D state, in

contrast, there may be no intersection point for two spatial curves, as shown in Figure

11, however, they cannot produce a high-quality continuous ruled surface. Therefore,

a transition method is needed to deal with it and recast a smooth offset curve as shown

in Figure 11(B).

Figure 11. Concave offset and the transition curve


The transition process is list as follows:

(1) As shown in Figure 11(C), suppose two offset curves, rio (t ) and rio1 (t ) , are C0

continuous and concave connection, hence they will overlapped after offsetting,

and the parting direction is oriented in the same direction as Z axis. By projecting

them to an arbitrary plan perpendicular to the parting direction, e.g. XOY plane,

two planar curves, rixoy (t ) and rixoy


1 (t ) , are obtained, as shown in Figure 11(D).

(2) Assuming that the curvatures of two offset curves change subtly near the

overlapping region. As shown in Figure 11(D), the cross point P of rixoy (t )

and rixoy
1 (t ) can be obtained by nonlinear equation methods such as Newton

iterative method, conjugate gradient method, etc. By inverse computation, the

o P o P o o
overlapping points ri (ti ) and ri 1 (ti 1 ) on ri (t ) and ri 1 (t ) , respectively, are

found, as shown in Figure 11 (C).


o D
(3) By the dichotomy method, point ri (ti ) can be found on rio (t ) with a distance
o
D from the point rio (tiP ) , as shown in Figure 11(C). The offset curve ri (t ) is
o D o
trimmed by the point ri (ti ) . With the same way, ri 1 (t ) is cut by the point

rio1 (tiD1 )
.
o D o D
(4) Between ri (ti ) and ri 1 (ti 1 ) , a C1 continuous thrice Bézier curve p(t) is

created to bridge the disconnection region. The trimming length D can adjust the

size of the transition region. The larger D, the less sharp the transition section.
6 Design cases

The proposed method is implemented in C# based on Siemens NX, where some basic

API functions are offered to create and operate curves, such as line, arc and NURBS.

Two 3D offset cases are taken as design examples which have a wide range of

features, like round corners, sharp corners. All the calculating steps are executed on a

PC with an Intel(R) Core(TM) i3 CPU 530 with 2.93 GHz, 4 GB of RAM, and

Windows 2008 as Operating System.

6.1 Horizontal offset

In mold design, parting surface design is one of the most important and difficult

process, which can be formed by extruding portions of the parting line along

directions that are perpendicular to the parting direction of the mold insert (Li 2003).

Since the parting direction is generally set at Z-axis of the coordinate, the extruding

directions of the parting curves are horizontal and outward to the product model.

Figure 12 shows a parting surface design case of an injection mold for a car

instrumental board part, where an overflow area shown in Figure 12(B) around the 3D

parting curves is modeled as a ruled surface connecting the parting curves and their

offset ones which usually have break/intersection/overlapping problems. The

algorithm proposed in this paper can offset the 3D parting curves by eliminating and

smoothing the overlapping region automatically to create a smooth parting surface,

with which the designer can generate the core and the cavity of the injection mold

easily. Figure 12(C) shows the movable half of the mold.


Figure 12. Parting surfaces generation and the injection mold design of an instrument board part

6.2 Extending offset

In checking fixture design, the checking surfaces of the checking components are

usually obtained by extending the boundary of the surfaces to be checked along their

tangent direction. Figure 13(A) shows a sheet metal product with a flange (checking

surfaces). Note that the outer boundary curve of the flange is obtained by 3D

offsetting of the inner boundary, and the flange is modeled as a ruled surface

connecting the outer boundary. Because the inner boundary, i.e. the contour curve of

the product, has many C0/G0 continuous points, such as Q1, Q2, Q3 and Q4, as shown

in Figure 13(B), which may result in break and overlapping mentioned above. The

algorithm proposed in this paper can create those ruled surfaces smoothly without

manual operations. Finally, the designer may generates the checking block by
stretching those ruled surfaces from the flange to the top of the workbench, as shown

in Figure 13(C).

Figure 13. Checking surface generation and the checking fixture of a car fender

7 Conclusion

In this paper, a 3D curve offset approximation algorithm is proposed, which contains

all key process solutions for ruled surface generation in engineering design, such as

curve division, break/intersection/overlapping elimination and transition. For

considering the accuracy effect of the different offset distances and curvatures, the

improved curve division method enhances the accuracy of the offset generation.

Different from 2D curves, overlapping, as a new problem in 3D offset curve, is

eliminated by an overlapping detection method. To tackle some discontinuous or

low-continuous regions that may result in breaking or overlapping ruled surfaces, a


transition method is presented, which can bridge or smooth the regions with two

approaches for convex and concave situations, respectively. In this method, a new

algorithm for generating positive weights spherical rational quartic Bezier curves is

proposed to bridge the breaks of offset curves.

The proposed algorithm is implemented in C# and embedded in Siemens NX

CAD system. Two engineering cases, checking surface and parting surface

generation, demonstrate that the approach enhances the automation level and the

efficiency in engineering design.

Acknowledgement

Funding support from National Natural Science Foundation of China (Grant

No.60903111) and Shanghai Shen Mo Die & Mold Manufacturing Co., Ltd, it is

gratefully acknowledged.

References:
Bae, S.H.S.H., 2002. Parametric-surface adaptive tessellation based on degree reduction.
Computers and Graphics, 26(5), 709-719.
Choi, B.K., Park, S.C., 1999. A pair-wise offset algorithm for 2D point-sequence curve. Computer
Aided Design, 31(12), 735-745.
Coquillart, S., 1987. Computing offsets of B-spline curves. Computer Aided Design, 19(6),
305-309.
Ding, Y.Z.L.D., 2009. On a novel approach to planning cylindrical cutter location for flank
milling of ruled surfaces. International Journal of Production Research, 47(12),
3289-3305.
Do Carmo, M.P., 1976. Differential geometry of curves and surfaces. New Jersey: Prentice-Hal.
Elber, G., 2003. Trimming local and global self-intersections in offset curves using distance maps.
the 10th IMA conference on the mathematics of surfaces, 213-222
Elber, G., Cohen, E., 1991. Error bounded variable distance offset operator for free form curves
and surfaces. International Journal of Computational Geometry and Applications, 1(1),
67-78.
Filip, D.M.R.M., 1986. Surface algorithms using bounds on derivatives. Computer Aided
Geometric Design, 3(4), 295-311.
Kennedy, J., Eberhart, R., 1995. Particle swarm optimization. IEEE International Conference on
Neural Networks, 1995. Proceedings, 4, 1942-1948
Lai, Y.L., 2011. An intersection tracing method for interference-free planar tool-path generation.
International Journal of Production Research, 49(3), 671-687.
Lane, J.M., Riesenfeld, R.F., 1980. A theoretical development for the computer generation and
display of piecewise polynomial surfaces. IEEE Transactions on Pattern Analysis and
Machine Intelligence, 35-46
Laug, P., 2010. Some aspects of parametric surface meshing. Finite Elements in Analysis and
Design, 46(1-2), 216-226.
Lee, C.S., Phan, T.T., Kim, D.S., 2009. 2d curve offset algorithm for pockets with islands using a
vertex offset. International Journal of Precision Engineering and Manufacturing, 10(2),
127-135.
Lee, E., 2003. Contour offset approach to spiral toolpath generation with constant scallop height.
Computer-Aided Design, 35(6), 511-518.
Lee, I.K., Kim, M.S., Elber, G., 1996. Planar curve offset based on circle approximation.
Computer Aided Design, 28(8), 617-630.
Li, C.L., 2003. Automatic parting surface determination for plastic injection mould. International
Journal of Production Research, 41(15), 3529-3547.
Lucas, T.R., 1974. Error bounds for interpolating cubic splines under various end conditions. Siam
Journal on Numerical Analysis, 11(3), 569-584.
Maekawa, T., 1999. An overview of offset curves and surfaces. Computer Aided Design, 31(3),
165-173.
Patrikalakis, N.M.A., Bardis, L.B., 1989. Offsets of curves on rational B-spline surfaces.
Engineering with Computers, 5(1), 39-46.
Pekerman, D., Elber, G., Kim, M.S., 2008. Self-intersection detection and elimination in freeform
curves and surfaces. Computer-Aided Design, 40(2), 150-159.
Piegl, L.A., Tiller, W., 1999. Computing offsets of NURBS curves and surfaces. Computer Aided
Design, 31(2), 147-156.
Piegl, L.A.T.W., 2002. Biarc approximation of NURBS curves. Computer Aided Design, 34(11),
807-814.
Sarma, R., Rao, A., 2000. Discretizors and interpolators for five-axis CNC machines. Journal of
Manufacturing Science and Engineering Transactions of the ASME, 122(1), 191-197.
Seong, J.K., Elber, G., Kim, M.S., 2006. Trimming local and global self-intersections in offset
curves/surfaces using distance maps. Computer Aided Design, 38(3), 183-193.
Shen, H.Y., Fu, J.Z., Chen, Z.C., Fan, Y.Q., 2010. Generation of offset surface for tool path in NC
machining through level set methods. International Journal of Advanced Manufacturing
Technology, 46(9-12), 1043-1047.
Shin, H.A.Y.S., 2003. Directional offset of a spatial curve for practical engineering design.
Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial
Intelligence and Lecture Notes in Bioinformatics), 2669, 711-720.
Srijuntongsiri, G., 2011. An iterative/subdivision hybrid algorithm for curve/curve intersection.
Visual Computer, 27(5), 365-371.
Sun, Y.F., Nee, A., Lee, K.S., 2004. Modifying free-formed NURBS curves and surfaces for
offsetting without local self-intersection. Computer Aided Design, 36(12), 1161-1169.
Sun, Y.R.F.Z., 2012. Contour-parallel offset machining for trimmed surfaces based on conformal
mapping with free boundary. International Journal of Advanced Manufacturing
Technology, 60(1-4), 261-271.
Wang, W.P., Qin, K.H., 2000. Existence and computation of spherical rational quartic curves for
hermite interpolation. Visual Computer, 16(3-4), 187-196.
Wolter, F.E., Tuohy, S.T., 1992. Approximation of high-degree and procedural curves.
Engineering with Computers, 8(2), 61-80.
Yang, Y.J., Yong, J.H., Zhang, H., Paul, J.C., Sun, J.G., 2006. A rational extension of piegl's
method for filling n-sided holes. Computer-Aided Design, 38(11), 1166-1178.
Zhang, X.M., Zhu, L.M., Zheng, G., Ding, H., 2010. Tool path optimisation for flank milling ruled
surface based on the distance function. International Journal of Production Research,
48(14), 4233-4251.
Wang, D., Wang, J., Wang, H., 2007. Intelligent Optimization Methods. Beijing: Higher
Education Press.
Zhang, R., Wang, G., 2003. Improvement of the Termination Criterion for Subdivision of the
Rational Bézier Curves. Journal of Software, 14(10), 1813-1818.

You might also like