CA1283481C - Method for global blending of computer modeled solid objects using a convolution integral - Google Patents

Method for global blending of computer modeled solid objects using a convolution integral

Info

Publication number
CA1283481C
CA1283481C CA000564993A CA564993A CA1283481C CA 1283481 C CA1283481 C CA 1283481C CA 000564993 A CA000564993 A CA 000564993A CA 564993 A CA564993 A CA 564993A CA 1283481 C CA1283481 C CA 1283481C
Authority
CA
Canada
Prior art keywords
octree
solid model
cell
convolution integral
blending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA000564993A
Other languages
French (fr)
Inventor
Stephen Colburn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Caterpillar Inc
Original Assignee
Caterpillar Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/045,653 external-priority patent/US4791583A/en
Application filed by Caterpillar Inc filed Critical Caterpillar Inc
Application granted granted Critical
Publication of CA1283481C publication Critical patent/CA1283481C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

A METHOD FOR GLOBAL BLENDING OF COMPUTER
MODELED SOLID OBJECTS USING A CONVOLUTION INTEGRAL

Abstract of the Disclosure A method is provided for generating a plurality of points that lie on the surface of a blended solid model These points are obtained from the unblended solid model by a numerical solution to a convolution integral, wherein the convolution integral includes a spherically symmetric blending function with a size responsive to the blend radius desired for each of one or more regions on the solid model. For example, the spherical blending function may possess a constant valve everywhere inside a sphere of radius R, and a value of zero outside (here called a "hard sphere"), or it may be represented by other functions of the radial direction, more specifically, the gaussian bell curve, in which case it will be called a "gaussian sphere". The numerical solution to convolution integral is performed iteratively by placing the blending sphere at a plurality of locations along each of a set of rays that are defined substantially normal to and intersecting the solid model surface. The location on each ray at which the convolution integral is equal to a preselected value is stored. These stored locations may be used directly, or they may be used to defined a set of surfaces that interpolate the blend solid model.

Description

4~1 Description A METHOD FOR GLOBAL BLENDING OF COMPUTER
~OpEL~_SO~ QaYECTS USING A CONVOLUTION INTEGRAL

Technical Field This invention relates generally to a method for generating a set of fillets and rounds (blended surfaces) for a computer modeled solid object and more particularly to the use of a convolution integral in an automated method for global blending.

Background Art In the field of computer aided design and manufacturing, geometric modeling systems, such as PADL-2 marketed by Cornell University are available for generating structurally complex three dimensional models. These models are normally constructed in a ~eries of steps which include first developing a sharp edged dimensionally accurate solid model. Depending upon the complexity of the model, the tlme required to produce the solid model varies from hours to months.
For example, a part of moderate complexity, ouch as a die model for a track link forging, requires approximately one month o~ experienced operator input to complete.
Secondly, it is necessary to replace the undesirable sharp edges and corners with blends of selected radii. This is particularly important when the model is a forging die. Forgings with sharp edges tend to have stress risers concentrated at the sharp edges ~nd will resultantly have a greater likelihood of failure. Furthermore, the blended aspect improve~

34~1 the flow of hot metal a6 it assumes the shape impo6ed by the die. Presently available systems typically accomplish blending as a local modification operation requiring extensive user input. In the track link forging example, this local blending proces6 required nearly three months of operator input. Further, system vendor attempts to partially automate the local blending process have not been entirely succe~sful.
There is a practical limit to the complexity of the model which can be blended using local modification methods. In automated local modification methods, the ~unction of multiple edges must be treated by example. The method must specifically address how the junction 6hould appear for each variation in number of edges, angle between edges, and blend radius. The variety of corners and other detail is readily apparent and any attempt to treat all possible combinations would prove to be impractical.
The present invention is directed to overcoming one or more of the problems as set forth above. In particular, a method of global blending which reduces the need for user interaction and is not ~ub~ect to limitations in model complexity is desirable.

Di8closure of the Invention In one aspect of the present invention, a method is provided for generating a ~et of blended 6urfaces for a computer representation of a solid model having a ~et of curvilinear surfaces. The method comprises the steps of: assigning a blend radius to the 601id model; offsetting the curved surfaces of the solid model; defining a plurality of 1~3481 rays substantially normal to and intersecting the solid model 6urface; repetitively solving a convolution inteqral in an iterative manner at a plurality of locations along each ray, wherein the convolution integral includes a hard sphere blending factor with a radius equal to the blend radius assigned to the solid model; and storing the location on each ray at which the convolution integral is equal to a preselected value, said stored locations defining the set of blended surfaces of the 601id model.
In another aspect of the present invention, a method is provided for generating a set of blended surfaces for a computer representation of a solid model having a set of curvilinear surfaces. The method comprises the steps of: offsetting the curved surfaces of the solid model; generating an octree representation of the solid model; generating a complementary octree representation of the volume outside the solid model; assigning blend radius values to each individual cell of the octree; dafining a plurality of rays substantially normal to and intersecting the solid model surface; repetitively solving a convolution integral in an iterative manner at a plurality of locat~ons along each ray, wherein tha convolution integral includes a gaussian sphere blending factor with a size responsive to the blend radius assigned to the octree cell; and storing the location on each ray at which the solution of the convolution integral is equal to a preselected value, 8aid 8tored locations defininq the set of blended surfaces of the solid model.
Geometric modeling ~ystems are known which are capable of performing partially automated blending 34~1 processes using local blending modifications.
However, the6e 6ystems require exten6ive user interaction, and/or are limited by the complexity of the model.

8rief De6cription of the Drawinas Figure 1 illu6trate~ a solid model of a 6imple three dimen6ional triangular pri6m;
Figure 2a illustrates an octree representations of a three dimensional triangular prism;
Figure 2b illustrate6 an octree representations of a three dimen6ional triangular pri6m;
Figure 2c illu6trates an octree repre6entation6 of a three dimen6ional triangular prism;
Figure 3a illu6trates a cross-section of a blended three dimen6ional triangular pri6m;
Figure 3b illu6trates a cro6s-section of a blended three dimensional triangular prism;
Figure 3c illustrates a cross-~Qction of a blended three dimen~ional triangular prism;
Figure 4 illu~trate~ one embodiment of a method for applying weights to individual octree cell6;
Figure 5 illustrates another embodiment of a method for applying weights to individual octree cell6;
Flgure .6 illustrates an embodiment of a method for 601ving the convolution integral;

34~1 Figure 7 lllustrates a flow chart representation of an embodiment of a portion of the software:
Flgure 8 illuetrates a flow chart rQpresentation of an embodiment of a portion of the software;
Figure 9 illustrates a flow chart representation of an embodiment of a portion of the software:
Figure 10 illustrates a flow chart representation of an embodiment of a portion of the software;
Figure 11 illustrate~ a flow chart representatlon of an embodiment of a portion of the software Figure 12 illustrates a flow chart representation of an embodiment of a portion of the software;
Figure 13 illustrates an unblended three dimensional model of a track link forging die cavity:
and Figure 14 illustrates a blended three dimensional model of a track link forging die cavity.

Be6t Mode ~Q~ Carrying out the Invention Referring now to the drawings, wherein a preferred embodiment of the present apparatus 10 is shown, Fig. 1 illustrates a relatively simple solid model representation of a triangular prlsm 12. Such a model is typically generated by an operator at a console and i~ the first step with a computer aided design and manufacturing (CAD/CAM) system. One desirable end result of a u6eful CAD/CAM system i8 a 34~1 solid model from which a 6et of cutting tool paths can be automatically derived to physically reproduce the model from rough 6tock. However, in a manufacturing environment, it is commonly necessary to produce parts ; which not only have the eharp edges of the prism 12, but have the more complicated blended corners of preselected radii. One can readily appreciate that generating a model bounded by a ~et of intersecting planes, as shown in Fig. 1, iB considerably simpler than developing a model of the same prism 12 with rounded edges. The method described herein allows the operator to generate the eimpler sharp edged models and automatically create a blended model with rounded edges.
When a gaussian sphere i8 placed at a given location, the convolution integral can be solved in closed form if the solid model has a reasonably 6imple form. A solid model with any degree of geometrical complexity can be subjected to a clo6ed form solution of the convolution integral if the unblended model iB
first approximated by a set of sufficiently small rectangular blocks or cubes. One ~uch approximation i~ known a8 an octree representation. The second 6tep in the global blending system is illustrated in Figs.
2a,2b, and 2c and involves generating the octree representation of the sDlid model to a preselected minimum cell size. Three such octree represent~tions are shown in Figs. 2a,2b, ~nd 2c. For example, the octree begins with a si~gle cube large enough to encompass the entire prism and is then divided into octants (eight identical cubes). The cubes completely outside the prism 12 are di~carded. The cubes entirely within the prism 12 are retained and will not 1~3481 be further subdivided. Only those cubes which lntersect the prism 12 boundary are further subdivided into ~maller octants. This process continues recursively for a preselected number of iterations which i8 indicative of a minimum cell size. The three octree representations shown in Figs. 2a,2b, and 2c respectively illustrate level6, or iterations, of 3, 4 and 5 having minimum cell sizes of 16, 8 and 4 units, respectively.
The minimum cell size is selected based on two criteria. First, the minimum cell size must be less than one-half of the value of the applied blend radius. If this criterion is not met, then the stairstep shape provided by the octree approximation will remain apparent in the blended model. This is illustrated in Fig. 3a,3b, and 3c, where a blend radius of 8 units has been applied in each of the 3 cross-sections shown. In the first case, the step size is twice the blend radius, while in the second, the step size is squal to the blend radius, with both cases exhibiting a waviness along the diagonal face.
In the third ca~e, the cell size criterion has been met, wlth a ~tep ~ize one balf the blend radius. The wavines3 here is negligible being less than one-fiftieth of that ~hown in the second case.
The other criterion determining the choice of minimum cube size is related to the precision with which the resulting octree ~pproximates the shape of the original unblended model. Obviausly, this preclsion iB improved by a factor of two each time the minimum cube size is halved, but memory available to store the resulting octree would be depleted long before a precision sufficient to satisfy common 34~

manufacturing tolerances is met. A solution to this problem i8 obtained by assigning a weighting factor to each of the minimum sized cubes that i~ intersected by the boundary of the original unblended solid model.
This weighting factor indicates the fract~on of the volume of the cube that is inside the unblended solid.
By taking into account these weights when the convolution integral is evaluated, surface~ in the blended model can be produced that follow those of the unblended model to within about two percent of the minimum cell size. For example, if the manufacturing profile tolerance is given as plus or minus 0.1 millimeter, then the minimum cube size should be no larger than 5 millimeters.
A Monte Carlo technique is employed to calculate individual cell weights. For each boundary cell, a number of points are randomly generated with cartesian coordinates falling inside the cell. The solid modeler is then used to classify the points as being either inside or outside the solid model. The ratio of points inside the model to the total points is the weighting factor assigned to that cell. An increase in the number of test points per cell produces an lncrease in precision. The two percent figure Btated above corresponds to about 20 test points per cell. This process is repeated for each boundary cell of the octree representation.
Two alternative methods of interpreting the weighting factors are respectively lllustrated in Figs. 4 and 5. The first method, illustr~ted in Fig.
4 relies on modification of the resulting blended surface on a point by point basis. To accomplish this, a ~urface point on the blended model i~ rirst _g_ found by using the ray trace method to be explained later, but with all octree weights set to unity. This point i8 then moved inwards along the ray by an amount indicated by a local average of the octree weights, where thi6 average is taken over a region the size of the blending radius.
Conversely, the second weighting method, illustrated in Fig. 5, modifies the actual octree repre~entation of the solid model. The size of each individual boundary octree cell i~ altered responsive to the respective weighting factor. Boundary cells with at least one exposed face are altered by moving each exposed surface in a direction toward the opposite parallel surface a distance responsive to the as~igned weighting factor. For example, the cells 18, 20, 22, 24 have a single exposed face with weighting factors of .7, .5, .4, and .4 respectively. The shaded portions of these cells reflect the altered octree. Similarly, the cell 26 has a pair of exposed faces and a weighting factor of .5. Each of the exposed faces is moved in a direction toward the opposite parallel face ~uch that the resulting volume i8 equal to one-half of the original. This rule can be expanded to apply to any cell with multiple exposed BUrfaces.
In the case where a cell 28 intersects the boundary of the solid model, but has no exposed surface, the cell size i8 altered by uniformly reducing the volume of the cell about the center of the cell correlative to the assigned weighting factor.
For example, the cell 28 has no exposed surfaces and a weighting factor of .5; consequently, each ~urface is moved in a direction toward the opposite parallel 34~1 surface to provide a cell with the same center point ae the original cell, but a volume of one-half the volume of the original cell. Since the blending radius is at lea6t twice the size of a cell, ~everal cells contribute to the evaluation of the convolution integral at any given point, and small errors in the weighting factor for individual cells tend to average out.
A discu6sion of two additional issue6 regarding the precision of the blended model requires a clo6er examination of the convolution proce66, which is described in five special ca6es, as illustrated in Figs. 6a-6e. In Fig. 6a, the blending sphere is shown in correct position for a flat surface. One half of the volume of the sphere is inside the ob~ect, and one half outside. The center point of the sphere defines a point on the boundary of the blended model. In Figs. 6b and 6c, re6pectively, the blending sphere is shown in the vicinity of a corner of the original unblended model, the first being concave and the second convex. Once again, these spheres are shown with one half Or ita volume inalde and the other half outaide the original unblended model, and with the center point of the sphere, in each case, giving a point on the blended model. Figs. 6b and 6c suggest the basic blending mechanism, and can be applied to a model of any complexity. With this blending mechanism in mind, the first precision issue is examined, referring to it as the curvature affect. Fig. 6d shows the blending sphere applied to a solid with a cylindrical shape, where the radius of the unblended cylinder iB larger than the blend radius, but not vastly BO. It ~hould be evident from the illustration 1;~834~1 that the condition of balance, with half of the sphere inside and half outside the unblended model does not leave the center of the ~phere on the original surface, but slightly to the concave side. Thus, the process of blending the cylinder has the effect of ~hrinking it slightly. The same effect is found for other curved surfaces, and can be predicted based on a knowledge of the local curvature. For example, if a cylinder with radius of 100 millimeters i8 to be blended to a radius of 10 millimeters, the resulting shrinkage, or offset, is found to be about 0.15 millimeters. The offset varies with the square of the blend radius and with the inverse of the local curvature. Thi6 problem is solved by offsetting the curved faces of the original unblended model in the direction to oppose the 6hrinkage, this offsetting being accomplished before the octree i6 generated.
The second precision issue involves a model that has two or more blend radius values assigned to 20 respective regions on the ob~ect. Referring to Fig.
6e, where it is desired to blend a block 30, such that three of the corners 32,34,36 shown in cross-section receive a blend radius of Rl units, while the fourth corner 38 receives a blend radius of R2 units. This 25 condition is specified by first assigning Rl to the block 30 as the default blend radius, then defining a region 40, here shown as a square drawn with phantom lines, and assigning a radius of R2 to this region.
An analogous situation is found in the study 30 of transient heat flow in a composite infinite ~edia.
The unblended model corresponds to an initial temperature distribution, while Rl and R2 denote differing heat conductivity values. The blended model 1;~83481 i6 thought of as a constant temperature surface at a short time after t=o. We must be concerned about the surface of the blended model near the interface between the two blending radius region6. In the example shown, the blended surfaces here will remain flat if the blending radius region boundary crosses the boundary of the unblended model at es6entially right angles, and if this region extends inward and outward from the original surface by a distance in excess of the larger of the two blend radii. This condition is illustrated in Fig. 6e where the blending sphere has been split at the blending radius region boundary, each part as6uming the radius a6signed to the respective region. In the octree approximation, a given cell belongs to one and only one region. Thus the region boundaries are also maintained by octree cells. Not only must there be an octree representation of the unblended ob;ect, but the octree must extend beyond the boundary of the ob~ect by a di8tance in excess of the local blend radius. The portion of the octree exterior of the ob~ect will be termed the complementary octree to distinguish it from the portion interior to the ob~ect.
A complementary octree is generated in a manner similar to generating the original octree by first creating a cube with the same center as the original octree cube, but twice the size (for example). The previously discarded octree cells are converted to complementary octree cell~. Thereafter, each of the convested complementary octree cells which are partially expo~ed to the initial octree are recursively subdivided. Further, complementary octree 348~

cells which span regions of different blend radius are al80 recureively subdivided.
In the weighting method discus~ed previously where the boundary octree cells are reduced in size, the portions of the boundary octree cslls vacated by the weighting proces~ are defined as new complementary octree cells. This process ensures that all space within a preselected di~tance of the solid model boundary is explicitly defined as either in6ide or outside the solid model.
In an effort to logically and orderly select points for the boundary evaluation, a plurality of rays are defined substantially normal to and intersecting the solid model surface. Rather than select ~ very large number of points at random, a controlled method of selecting points can provide a much faster boundary evaluation without sacrifice to model accuracy. In the preferred embodiment, an operator manually defines rays with end points respectively inside and outside the boundary. Points on the ray are iteratively determined to be either in~ide or outside the boundary until a crossover is dstermined and mu6t, therefore, be on the boundary.
Concentration of the rays in areas of greater curvature helps to produce a boundary with sufficient detail. For example, on a plane surface, relatively few rays are needed as any three points can accurately reproduce the plane. However, on more complex surfaces, ~uch as the junctions of multiple planes, more rays are needed to produce enough points to accurately describe the surface.
In practice the operation i~ currently manually accomplished by an operator defining a 34~1 plurality of contiguous patches each bounded by a group of four rays. The operator will then lnput a desired number of ray6 to be included within each patch. The software will define the requ$red number of intermediate rays uniformly distributed throughout the patch. The number of rays are left to operator discretion, but as a general rule complex curved 6urfaces require a much higher number of rays than a flat surface. While the definition of patche6 is currently manually performed by a skilled operator, it i6 recognized that thi~ process could also be automated without departing from the spirit of the present invention.
The process of iteratively solving for the boundary of the solid model i8 here described in detail. First, the original unblended solid model is expressed as an implicit function:

1 inside solid model boundary f(x,y,z) = 0 on solid model boundary 20-1 outside solid model boundary It is a basic capability of any true ~olid modeling sy~tem to evaluate this function for any given model represented by such a system. That is, given a point (x,y,z) in space, the solid modeling system can determine ~f the point is inside, on, or outside the boundary of the ob~ect. In addition to the function f(x,y,z) that defines the unblended solid model, a function h(x,y,z) ~8 needed, centered at the origin and defining the blending sphere. The contribution of the portions of the sphere that may be either inside and outside the unblended ob;ect is given by an integral g over the product of f and h:

1~348~

g(x,y,z) - ¦¦¦ f(x',y',z')h(x'-x,y'-y,z'-z)dx'dy'dz' ~uch that the blending 6phere i6 now centered at the point where g i6 to be evaluated, and is known as a convolution integral.
The precise form of the blending sphere h must be 6pecified if the integral g is to be evaluated. Two such forms are de~cribed, the hard sphere and the gaus~ian sphere. For the hard 6phere, the function h assumes a positive constant value in6ide the ~pherical domain, and zero out6ide, while the value of h for the gaussian sphere varies, smoothly from ~ome positive maximum value at the center of the sphere according to the gaussian function. In either case the function h i6 normalized according to:
x Jll h(x,y,z)dxdydz = 1 _~
so that the two form~ are expressed as:
3 (~)2(xz+y2+z2) h(x,y,z) ~ ( _ ) e gaussian 20 ~phere J~R

3 inside h(x,y,z) , [ 4~R3 hard ~phere O out6ide where: R ~ blend radius 348~

= numerical constant.
In the case of the hard 6phere, the convolution integral can be evaluated directly using a ~olid modeler that has the following functions:

1.) Boolean intersection and difference of two solids;
2.) Volume evaluation for a solid.
Thus, to evaluate g for a hard blending sphere at some given location, a 601id corresponding to the portion Of the sphere inside the unblended solid is obtained as the Boolean intersection of the 601id and the sphere, while that portion of the sphere lying outside is obtained a~ the Boolean difference of the blending sphere and the solid. The volume of each resulting solid is obtained, then the value of g is obtained as the arithmetic difference of the value of the volume of the portion of the sphere found inside, and the volume of the remaining portion of the sphere.
Although a repeated application of these operation8 would produce a set of points on the blended ob~ect, the process would be ~low. For this reason the ob~ect to be blended is first approximated as a set of cubes by the octree representation, then the integral g is repeatedly evaluated u~ing the gaus6ian sphere for each cube and the results summed.
The convolution integral g can be written as the 6um of an integral over each cell in an octree.
Since an octree cell i6 either inside the ob~ect where f e 1, or outside where f - -1, two terms r~sult:

34~31 gtx,y,z) ~ ~ ¦¦¦ h(x'-x,y'-y,z'-z)dx'dy'dz' ir~ide c~e i c~ i-l ~m ~¦ h(x'-x,y'-y,z'-z)dx'dy'dz' altside ~
cl~e j-l where the limits of integration are the boundaries of the octree cube currently being evaluated.
The solution to this equation for a specific cube may be useful in understanding the process as a whole. First, the cube being evaluated i8 defined as being located at (XC, Yc, Zc) and having side dimen~ion~ of 28. To perform the integration it is necessary to define the limits of integration as the coordinates of the faces of the cube and to substitute the gaussian form of h.

)3 _ (~;LR) (X ~ -XJ2+ (Y ~ -Y~ + ( Z ~ -Z ~
gcub~ J J J l~R e dx'dy'dzl X~C-S Y~C-S Z ~C-S
Thus, using the gaussian sphere, each of the three integrals are of the same form ~separable) and it is only necessary to ~olve one and apply the solution to the remaining integrals.

2 5 xc+s HX (~) J -(~)2 ~XI-x)2 d ~
xc-,s sub~tituting, ~ ~x~-x) - u then, dx' - Rdu 348~

For the lower limit where x'= xc-s, then u = l(XC_8+X) For the upper limit where x'= xC+s, then u ~ l(XC+6_X) The equation becomes:
s x) aR
Hx = ~ ¦ e~U2du 1(X~

by definition, the integral of e-u2 i6 called the "error function", erf(x), such that:

( ) ~ J

Using this definition Hx can be further simplified:

H ~ [ f(x-(xc-s)) erf(x-(xc+B)) ) similarly, Hy - ~ [ ~rf(Y (Yc )) _ erf(Y (Yc ) and, Hz 3 ~ [ erf( c ))- erf( ( c ) thUB, gcu~. ~ Hx Hy Hz The result iB a blended cube and the sum of all the cubes of the octree gives an implicit function representing the blended ob~ect.
Referring now to the flowchart6 of Figs.
7-10, a top level view of the proces6 is shown in Fig.
7. The process begins with the u6er creating a new solid model or modifying an exi6ting solid model using one of the commercially available solid modelers.
Preferably, the solid modeler is PADL-2 marketed by Cornell University; however, other program6 may be readily substituted. The product of the solid modeler is an unblended 6harp edged model with the de6ired blend radiu6 values a6signed to the corre6ponding regions of the model as attributes. These region6 are constructed, in fact, as solids of the type 6upported by the 601id modeler.
Subseguently, the solid model iB passed to the global blending program to produce a blended model. The radius of the edges corre6pond to the blend radius values assigned by the operator during the modeling process. A sculptured 6urface model is the result of this step.
once the blended surfaces have been generated the model i8 transferred to a CAD/CAM ~ystem for di6play, numerical control tool path generation, and other applications. The program Anvil-4000 is preferably used to generate the m~chine tool paths;
however, other CAD/CAM programs may be readily substituted. The machine tool paths, when applied to an NC programmable machine, result in a physical reproduction of the computer model of the piece part.
4~31 The global blending process is described in greater detail in con~unction with the flowchart of Fig. 8. The process begin6 by generating the previously discussed octree representation of the solid model. Further, the blend radius values assigned during the solid modeling are assigned to the corresponding octree cells. The program fir6t determines whether more than one blend radiu6 value has been a6signed to the model. Obviou61y, if the model i6 to be blended to a 6ingle radiu6 then the program generates a 6traightforward octree and assigns the default blend radius to each of the octree cells.
A plurality of different blend radius values is more common and require6 a more complicated approach as illu6trated in Fig 9. The boolean difference of the model and all of the blend radius regions i8 formed to define that portion of the model which has been assigned the default blend radius value. An octree repre6entation of thi6 portion of the model is generated and a default blend radius value i6 assigned to each of the6e cells. This approach allows the operator eufficient flexibility to define one of the desired blend radius values a6 the de~ault value, such that any unassigned areas are automatically blended to the default value. For example, the operator select6 the large6t area having a common blend radiu6 value a6 the default. Thus, during the modeling pha6e the operator need not a6sign a blend radius value to each area, but may rely on the default value.
The program continues by generating the octree repre6entation of each blend radius region until all of the region6 have been proce66ed. The 34~31 boolean intersection of each blend radius region and the solid model are succe6sively formed until the model i6 completely defined. The octree repre6entation of each region iB formed and the blend radius value i6 a6signed to each cell. Sub~equent to each boolean intersection, the boolean union of the current octree and the octree of the default region is formed to succe~sively augment the ob~ect octree.
The ba6ic octree i6 complete and control is returned to Fig 8 where weighting factor6 are assigned to each of the boundary octree cell6 by the Monte Carlo method previously described.
Further refining of the octree as prepatory for boundary evaluation i6 generally de6cribed in Fig 8 with the detailed steps being identified in Fig 10.
The proces6 includes identifying any boundary cell6 with partially exposed surface6. A6 previou61y di6cu66ed, the6e cell6 are recursively subdivided until all of the boundary cells have 6urfaces which are fully exposed. The program continues by marking the exposed ~urface6 of the boundary cell6 for later use in weighting the complementary octree boundary cells.
The final 6tep in generating the completed octree repre8entation involves creating the complementary octree according to the proce6s illustrated in Fig 11. The original octree cell which enclosed the entire model i6 initially doubled in size and centered about its original center. The cell6 previously discarded by the octree generation as completely outside the 601id model are revived and designated as lnside the complementary octree. As during the octree generation, all of the complementary cells which have surfaces partially expo6ed to the octree cells are recursively subdivided until only fully exposed complementary surfaces remain. Further, all of the complementary cells which span contiguous blending radius regions having different blend radius value6 are likewise further subdivided and are assigned a blend radius value corresponding to the value assigned to the blend radius region occupied by each cell. Thus, generation of the octree is complete and control returns t.o Fig 8.
The final step in the global blending process of Fig 8 includes evaluating the boundary of the blended ob~ect by applying the convolution integral global blending method. Referring to Fig 12, the process involves the final operator interface with the blending program where the plurality of rays are defined for use in the ray tracing solution to the convolution integral. The operator manually defines the patche~ and the number of desired rays within the patch. The program then defines each of the rays 80 as to evenly distribute the requested rays within each patch.
once the rays have been properly defined then the program begins to solve the convolution integral for the point at which each defined ray intersects the blended solid model surface. The blending radius value and weight of the cell being evaluated is substituted into the equation:

gcub. ~ Hx Hy Hz the coordinates of the center of each cell (Xci, Yci, Zci) and one-half the cell dimension 6i are similarly ~83481 6ubstituted into the equation. The numeric solution for each of the cells within a preselected di~tance of the evaluation point i~ computed and summed. The location of the evaluation point is successively ad~usted until the numeric solutions sum to the value zero. This evaluation point iB a point on the surface of the blended object. The process repeats for each ray further defining the blended surface6 until all of the rays have been 6ucces6fully traced and solved. At this time, the solution points for each ray define the blended surface of the solid model and the global blending process is complete.
Upon completion of the solution for all of the user defined rays, a set of accurately reproduced blended surfaces are defined. These surfaces are then usable in the top level view of Fig 7 by the Anvil-4000 program for generating the machine tool paths or other applications.

Industrial Applicability In the overall operation of the global blending process, the system begin~ with a standard geometric modeling program. An operator initially designs a solid model reprasentation of a piece part.
The part is dimensionally accurate with highly defined eurfaces and simple sharp edges. The operator is also required to input the desired blend radius values for each region and to define the rays for the ray tracing technique.
Subsequent operator intervention is not required. The global blending software utilizes the operator prepared information to generate an octree and complementary octree representation o~ the piece 4~3~

part. The weighting 6ystem i6 then employed to enhance the accuracy of the blended model. The majority of the processing time i6 consumed in the repeated ray tracing solution to the convolution integral. For example, a VAX model 11/785 exclusively operating the global blending 60ftware upon the 601 id model of the track link forging of Fig. 9 required approximately 48 hours of CPU time to produce the blended surface model of Fig. 10. Thi6 can be compared to a similar exercise wherein an experienced operator created a tracklink model using the traditional con6truction techniques and local blending on ANVIL-4000. The elapsed time wa~ ~bout 3 month6, while the CPU time expended wa6 comparable to that required by the global blending sy~tem.

Claims (10)

1. A method for generating a set of blended surfaces for a computer representation of a solid model having a set of curvilinear surfaces, comprising the steps of:
offsetting the curved surfaces of the solid model;
generating an octree representation of the solid model;
generating a complementary octree representation of the volume outside the solid model;
assigning blend radius values to each individual cell of the octree;
defining a plurality of rays substantially normal to and intersecting the solid model surface;
repetitively solving a convolution integral in an iterative manner at a plurality of locations along each ray, wherein the convolution integral includes a gaussian sphere blending factor with a size responsive to the blend radius assigned to the octree cell;
storing the location on each ray at which the solution of the convolution integral is equal to a preselected value, said stored locations defining the set of blended surfaces of the solid model.
2. A method, as set forth in claim 1, wherein the step of generating the octree includes the step of repetitively subdividing each cell which has a partially exposed surface.
3. A method, as set forth in claim 1, including the step of assigning a weighting factor to each cell of the octree using a Monte Carlo method.
4. A method, as set forth in claim 3, including the step of altering the stored locations respectively responsive to the weighting factor assigned to the cell intersecting each ray.
5. A method, as set forth in claim 3, including the step of altering the size of each cell of the octree responsive to the respective weighting factor.
6. A method, as set forth in claim 5, wherein the step of altering the size of each cell includes altering only the octree cells which have at least one surface in common with the complementary octree by moving each common surface in a direction toward the opposite parallel surface of the octree cell a distance responsive to the assigned weighting factor.
7. A method, as set forth in claim 5, wherein the step of altering the size of cells includes altering only the octree cells which have no surfaces in common with the complementary octree by uniformly reducing the volume of the cell about the center of the cell correlative to the assigned weighting factor.
8. A method, as set forth in claim 1, wherein the step of solving the convolution integral includes the steps of solving the integral for each cell within a preselected distance of the center of the blending sphere using each cell volume as the limits of integration and summing the solution for each cell.
9. A method for generating a set of blended surfaces for a computer representation of a solid model having a set of curvilinear surfaces, comprising the steps of:
assigning a blend radius to the solid model;
offsetting the curved surfaces of the solid model;
defining a plurality of rays substantially normal to and intersecting the solid model surface;
repetitively solving a convolution integral in an iterative manner at a plurality of locations along each ray, wherein the convolution integral includes a hard sphere blending factor with a radius equal to the blend radius assigned to the solid model;
and storing the location on each ray at which the convolution integral is equal to a preselected value, said stored locations defining the set of blended surfaces of the solid model.
10. A method, as set forth in claim 9, wherein the step of solving the convolution integral includes the steps of forming the difference between the volumes of the intersection of the blending sphere with the solid model, and the intersection of the blending sphere with the complement of the solid model.
CA000564993A 1987-05-04 1988-04-25 Method for global blending of computer modeled solid objects using a convolution integral Expired - Fee Related CA1283481C (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US045,653 1987-05-04
US07/045,653 US4791583A (en) 1987-05-04 1987-05-04 Method for global blending of computer modeled solid objects using a convolution integral
PCT/US1987/002167 WO1988009028A1 (en) 1987-05-04 1987-08-27 A method for global blending of computer modeled solid objects using a convolution integral
US87/02167 1987-08-27

Publications (1)

Publication Number Publication Date
CA1283481C true CA1283481C (en) 1991-04-23

Family

ID=26723053

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000564993A Expired - Fee Related CA1283481C (en) 1987-05-04 1988-04-25 Method for global blending of computer modeled solid objects using a convolution integral

Country Status (1)

Country Link
CA (1) CA1283481C (en)

Similar Documents

Publication Publication Date Title
US4791583A (en) Method for global blending of computer modeled solid objects using a convolution integral
US5189626A (en) Automatic generation of a set of contiguous surface patches on a computer modeled solid
US7561164B2 (en) Texture map editing
US8112256B2 (en) Method and apparatus for computer-aided design of three-dimensional objects to be fabricated
Gupta et al. Variational solid modeling for tolerance analysis
Miller Analysis of quadric-surface-based solid models
Kawashima et al. A Flexible, Quantitative Method for NC Machining Verification Using a Space Division Based Solid Model
Chan et al. Generating assembly features onto split solid models
Eastman et al. A review of solid shape modelling based on integrity verification
Spitz et al. Accessibility analysis using computer graphics hardware
Spitz Dimensional inspection planning for coordinate measuring machines
Muuss et al. Combinatorial solid geometry, boundary representations and non-manifold geometry
CA1283481C (en) Method for global blending of computer modeled solid objects using a convolution integral
CN100395867C (en) Topology simulation system, topology simulation method, and computer product
Gilbert Representation of geometric variations using matrix transforms for statistical tolerance analysis in assemblies
US20030137529A1 (en) Method for reconstructing a surface of a workpiece
Apel et al. Realization and comparison of various mesh refinement strategies near edges
Stewman et al. Restructuring aspect graphs into aspect-and cell-equivalence classes for use in computer vision
Wuerger et al. Virtual Prototyping of Die Design Algorithmic, Computational and Practical Considerations
Black et al. A Method for Random Packing of Spheres with Application to Bonding Modeling in Powder Bed 3D Printing Process
Mukerjee et al. Qualitative sketch optimization
Dattathri et al. Deprojection and stellar dynamical modelling of boxy/peanut bars in edge-on discs
Hermann Advanced techniques in the programming of coordinate measuring machines
Tarbutton Automated Digital Machining for Parallel Processors
Scholz Verfeinerung von Finite-Element-Gittern

Legal Events

Date Code Title Description
MKLA Lapsed