CURVED SURFACE FITTING METHOD, CURVED SURFACE FITTING DEVICE, CURVED SURFACE FITTING PROGRAM, AND COMPUTER-READABLE STORAGE MEDIUM STORING CURVED SURFACE FITTING PROGRAM
20220335170 · 2022-10-20
Assignee
- Mazda Motor Corporation (Hiroshima, JP)
- National University Corporation Shizuoka University (Shizuoka, JP)
Inventors
- Mataharu OKADA (Aki-gun, Hiroshima, JP)
- Kenjiro MIURA (Hamamatsu-shi, Shizuoka, JP)
- Yuto NAKAMURA (Hamamatsu-shi, Shizuoka, JP)
Cpc classification
B29K2905/00
PERFORMING OPERATIONS; TRANSPORTING
G06T19/20
PHYSICS
B29C33/3835
PERFORMING OPERATIONS; TRANSPORTING
International classification
B29C33/38
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method is provided for fitting a curved surface model in a three-dimensional space to a plurality of object points in the three-dimensional space by causing a computer to perform free-form deformation (FFD). Embodiments include the steps of setting closest points corresponding to measurement points on a curved surface model, determining the movement amounts of control points by executing a least squares method to minimize the sum of squares of the distances between the closest points and the measurement points, and fitting the curved surface model to the measurement points by executing FFD based on the movement amounts.
Claims
1. A curved surface fitting method for fitting a curved surface model set in a three-dimensional space to a plurality of object points set in the three-dimensional space by causing a computer to perform free-form deformation (FFD), the method comprising: a control point setting process of setting a plurality of control points in the FFD so that the control points surround at least part of the curved surface model; a deformation target point setting process of setting, on the curved surface model, a plurality of deformation target points corresponding to the plurality of object points, respectively; a movement amount determination process of determining movement amounts of the plurality of control points, respectively, by executing a least squares method so as to minimize a total value obtained by adding up squares of distances between the deformation target points and the object points corresponding to the deformation target points; and an FFD execution process of fitting the curved surface model to the plurality of object points by executing the free-form deformation based on the movement amounts.
2. The curved surface fitting method according to claim 1, wherein the plurality of object points include a plurality of measurement points obtained by measuring a surface shape of a metal mold.
3. The curved surface fitting method according to claim 1, wherein the deformation target points are set as the closest points with respect to the object points on the curved surface model.
4. The curved surface fitting method according to claim 1, wherein the curved surface model includes a combination of curved surfaces, and the control point setting process, the deformation target point setting process, the movement amount determination process, and the FFD execution process are executed so as to deform the plurality of curved surfaces at the same time.
5. The curved surface fitting method according to claim 1, wherein the curved surface model includes a combination of a curved surface that partitions a domain of the curved surface model and a trimmed surface obtained by trimming the curved surface, and the control point setting process, the deformation target point setting process, the movement amount determination process, and the FFD execution process are executed on a boundary between the curved surface and the trimmed surface.
6. The curved surface fitting method according to claim 1, wherein the free-form deformation is repeatedly executed a plurality of times by dividing the movement amounts determined in the movement amount determination process and performing the FFD execution process based on the divided movement amounts.
7. The curved surface fitting method according to claim 1, further comprising: the process of extrapolating a curved surface to the curved surface model; and the process of setting the deformation target points on the extrapolated curved surface.
8. The curved surface fitting method according to claim 7, further comprising: the process of adding the object points so as to correspond to the extrapolated curved surface.
9. The curved surface fitting method according to claim 1, wherein the control point setting process sets a volume that covers the curved surface model and disposes the plurality of control points in the volume.
10. A curved surface fitting device including a computer having a calculation unit, the curved surface fitting device fitting a curved surface model set in a three-dimensional space to a plurality of object points set in the three-dimensional space by causing the computer to perform free-form deformation (FFD), the calculation unit comprising: a control point setting unit that sets a plurality of control points in the FFD so that the control points surround at least part of the curved surface model; a deformation target point setting unit that sets, on the curved surface model, a plurality of deformation target points corresponding to the plurality of object points, respectively; a movement amount determination unit that determines movement amounts of the plurality of control points, respectively, by executing a least squares method so as to minimize a total value obtained by adding up squares of distances between the deformation target points and the object points corresponding to the deformation target points; and an FFD execution unit that fits the curved surface model to the plurality of object points by executing the free-form deformation based on the movement amounts.
11. (canceled)
12. (canceled)
13. The curved surface fitting method according to claim 2, wherein the deformation target points are set as the closest points with respect to the object points on the curved surface model.
14. The curved surface fitting method according to claim 13, wherein the curved surface model includes a combination of curved surfaces, and the control point setting process, the deformation target point setting process, the movement amount determination process, and the FFD execution process are executed so as to deform the plurality of curved surfaces at the same time.
15. The curved surface fitting method according to claim 14, wherein the curved surface model includes a combination of a curved surface that partitions a domain of the curved surface model and a trimmed surface obtained by trimming the curved surface, and the control point setting process, the deformation target point setting process, the movement amount determination process, and the FFD execution process are executed on a boundary between the curved surface and the trimmed surface.
16. The curved surface fitting method according to claim 15, wherein the FFD is repeatedly executed a plurality of times by dividing the movement amounts determined in the movement amount determination process and performing the FFD execution process based on the divided movement amounts.
17. The curved surface fitting method according to claim 3, wherein the curved surface model includes a combination of curved surfaces, and the control point setting process, the deformation target point setting process, the movement amount determination process, and the FFD execution process are executed so as to deform the plurality of curved surfaces at the same time.
18. The curved surface fitting method according to claim 17, wherein the curved surface model includes a combination of a curved surface that partitions a domain of the curved surface model and a trimmed surface obtained by trimming the curved surface, and the control point setting process, the deformation target point setting process, the movement amount determination process, and the FFD execution process are executed on a boundary between the curved surface and the trimmed surface.
19. The curved surface fitting method according to claim 4, wherein the curved surface model includes a combination of a curved surface that partitions a domain of the curved surface model and a trimmed surface obtained by trimming the curved surface, and the control point setting process, the deformation target point setting process, the movement amount determination process, and the FFD execution process are executed on a boundary between the curved surface and the trimmed surface.
20. The curved surface fitting method according to claim 19, wherein the FFD is repeatedly executed a plurality of times by dividing the movement amounts determined in the movement amount determination process and performing the FFD execution process based on the divided movement amounts.
21. The curved surface fitting method according to claim 5, wherein the FFD is repeatedly executed a plurality of times by dividing the movement amounts determined in the movement amount determination process and performing the FFD execution process based on the divided movement amounts.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
DETAILED DESCRIPTION
[0048] Embodiments of the present disclosure will be described with reference to the drawings. The following description is an example.
Device Structure
[0049]
[0050] The computer 1 illustrated in
[0051] As illustrated in
[0052] Of these, the curved surface fitting program 29 executes a curved surface fitting method described later and causes the CPU 3 to execute the procedure corresponding to the processes (steps S1 to S5 in
[0053] On the other hand, the data memory of the HDD 9 stores model data 49 indicating a curved surface model S to be deformed, measurement data 59 indicating a plurality of object points that are deformation objects of the curved surface model S.
[0054] It should be noted that a three-dimensional curved surface that models a metal mold can be used as the curved surface model S. In this case, a plurality of measurement points Q obtained by measuring the surface shape of the metal mold can be used as the plurality of object points. In the embodiment, the structure related to the curved surface model S in general will be described and then the structure related to a specific curved surface model such as a curved surface model S including a plurality of curved surfaces S.sub.1 and S.sub.2 will be described.
[0055] Other than the above, the curved surface model after being fitted that is created by execution of the fitting program 29 and various calculation results that are created by execution of the application program 39 are also stored in the data memory of the HDD 9.
[0056] In the structure described above, the fitting program 29 and the application program 39 are started in response to a command input through the keyboard 15 or the mouse 17. At that time, the fitting program 29 and the application program 39 are loaded from the HDD 9 to the RAM 7 and executed by the CPU 3. When the CPU 3 executes the fitting program 29 and the application program 39, the computer 1 functions as the curved surface fitting device. Here, the CPU 3 corresponds to the calculation unit in the present disclosure. The CPU 3 as the calculation unit includes a control point setting unit 31, a deformation target point setting unit 32, a movement amount determination unit 33, and an FFD execution unit 34 as illustrated in
Curved Surface Fitting Method
[0057]
[0058] In the fitting procedure illustrated in
[0059] Here, the FFD first sets the curved surface model S to be deformed. Next, the FFD sets the volume V having many control points and covers the curved surface model S with the volume V. Then, the FFD deforms the volume V in which the control points are defined and therefore the coordinate system by moving the control points. The curved surface model S covered with the volume V also deforms as the coordinate system deforms (see
[0060] In addition, the deformation of the curved surface model S by the FFD is performed by use of a parameter space instead of a global coordinate system. In particular, in the embodiment, the deformation of the curved surface model S is performed through a two-parameter free-form surface. In the following, the case using a B-Spline surface as an example of such a free-form surface will be described.
[0061] Specifically, a B-Spline surface can be defined by equation (1) below.
[0062] Equation (1) parametrically represents the coordinates on the curved surface model S. In equation (1), (u, v) are variables when a B-Spline surface is parametrically represented and defines a parameter space (UV space). In addition, “n” is the order of the B-Spline surface in the u-direction and “m” is the order of the B-Spline surface in the v-direction. In addition, as illustrated in equation (2), “N” is a so-called B-Spline basis function. That is, “t” in equation (2) is a so-called knot sequence. In addition, the upper superscripts n and m in the equation (2) indicate the orders of the B-Spline surface in the u direction and the v direction, respectively. In addition, P.sub.ij indicates the control point i-th arranged in the u-direction and j-th arranged in the v-direction.
Basic Concept of the Fitting Method
[0063] The steps in
—Step S1—
[0064] In the first step S1, the computer 1 reads the model data 49 and the measurement data 59 stored in the program memory. The model data 49 and the measurement data 59 are set in the three-dimensional space as described above and includes the curved surface model S to be deformed by the FFD and a plurality of measurement points Q that are the deformation objects of this curved surface model S.
[0065] Of these, the curved surface model S represented as the B-Spline surface that is parametrically represented using the two parameters u and v as described above and developed by the B-Spline basis function. The shape of the curved surface model S can be characterized by the coordinates of the control points P.sub.ij and the knot sequence that defines the shape of the B-Spline basis function.
—Step S2—
[0066] In the subsequent step S2, the control point setting unit 31 covers at least part of the plurality of measurement points Qs and the curved surface model S with the volume V and sets a plurality of control points P.sub.ijk within the volume V. As illustrated in equation (3) below, the volume V can be developed by the B-Spline basis function as in the curved surface model S.
[0067] Since the B-Spline volume V (simply referred to below as “the volume V”) defined by equation (3) above has a three-dimensional shape instead of a curved surface, three variables (u, v, w) are used.
[0068] Here, it is necessary to use a B-Spline basis function of the third order or higher in all of the u-direction, the v-direction, and the w-direction to ensure the curvature continuity. In the embodiment, a case using a cubic B-Spline basis function.
[0069] In addition, in equation (3) above, P.sub.ijk indicates the control point i-th arranged in the u-direction, j-th arranged in the v-direction, and k-th arranged in the w-direction. The shape of the volume V can be characterized by the coordinates of the control points P.sub.ijk and the knot sequence that defines the shape of the B-Spline basis function.
[0070] Here, the plurality of control points P.sub.ijk may be set so as to surround at least part of the curved surface model S. In that case, the volume V covers at least part of the curved surface model S. In particular, in the embodiment, the volume V and the control points P.sub.ijk are set so as to cover all of the plurality of measurement points Q and the curved surface model S while the control points P.sub.ijk are evenly spaced so as to form a simple cubic lattice (see
[0071] When the setting of the volume V and the control points P.sub.ijk is completed, the processing proceeds from step S2 to step S3. Step S2 illustrated here is an example of the “control point setting process” in the embodiment.
—Step S3—
[0072] In the subsequent step S3, the deformation target point setting unit 32 sets a plurality of deformation target points corresponding to the plurality of measurement points Q on the curved surface model S. In the embodiment, the deformation target points are set as the closest points H with respect to the measurement points Q on the curved surface model S.
[0073] For example, the closest point H with respect to a certain measurement point Q on the curve C can be calculated as follows. That is, as illustrated in equation (4) below, when the line segment connecting point P to the point on the curve C is orthogonal to the curve C, point P is closest to the point on the curve C.
Equation (4)
C′(u).Math.(P−C(u))=0 (4)
[0074] Accordingly, the closest point H on the curved surface model S can be found for each of the measurement points Q by performing a search using equation (4) above for both the u-direction and the v-direction. The flowchart in
[0075] First, in step S31 in
[0076] In the subsequent step S32, the deformation target point setting unit 32 determines whether the search is an odd numbered search. The deformation target point setting unit 32 selects the u-direction when this determination is YES or selects the v-direction when the determination in step S32 is NO.
[0077] In the subsequent step S33, the deformation target point setting unit 32 fixes the direction selected in step S32 and changes the unselected direction on the curved surface model S. Then, the deformation target point setting unit 32 finds the parameters that are closest to the measurement points Q. The processing regarding step S33 is executed using equation (4) above. It should be noted that the dichotomy method, the Newton method, or the like can be used when equation (4) above is calculated numerically.
[0078] In the subsequent step S34, the deformation target point setting unit 32 updates the coordinates of the closest point H by substituting the parameters found in step S33 into the coordinates of the closest point H.
[0079] In the subsequent step S35, the deformation target point setting unit 32 determines whether the coordinates of the closest point H updated in step S34 satisfy predetermined conditions. When the determination result is YES, the deformation target point setting unit 32 ends the flow. When the determination result is NO, the deformation target point setting unit 32 increments the number of searches by one and returns to step S32.
[0080] It should be noted that the predetermined conditions in step S35 include the amount of change in the parameters (u, v) during a search and/or whether the distance between the closest point H and the measurement point Q is less than a predetermined threshold. In addition to this or instead of this, the number of searches for the closest point H may be set to the threshold so as to determine whether the number of searches exceeds the threshold.
[0081] For example, as illustrated in
[0082] These processes are repeatedly executed and the coordinates of the final closest point H are set to the values of the parameters (u, v) when the predetermined conditions are satisfied.
[0083] In addition, the processing illustrated in
[0084] The coordinates of the p-th closest point H among the N closest points H are represented as (u.sub.p, v.sub.p). In the following description, the coordinates of the measurement point Q corresponding to this closest point H may be particularly represented as Q(u.sub.p, v.sub.p).
[0085] It should be noted that, when the measurement point Q and the closest point H corresponding to the measurement point Q are far apart from each other, fitting by the least squares method described later is inappropriate, so the measurement point Q needs to be removed. Accordingly, the curved surface fitting method according to the embodiment has the process of removing the measurement point Q from the target of fitting when the distance between the measurement point Q and the closest point H exceeds the predetermined threshold.
[0086] After the processing illustrated in
—Step S4—
[0087] It should be noted that the control points Pip, of the volume V are referred to as “R.sub.ijk” to prevent confusion with the control points P.sub.ij of the curved surface model S.
[0088] In the subsequent step S4 continued from step S3, the movement amount determination unit 33 executes the least squares method so as to minimize the total value obtained by adding up the squares of the distances between the deformation target points (closest points H) contained in the volume V and the measurement points Q corresponding to the closest points H. The CPU 3 determines the movement amounts ΔR.sub.ijk of the plurality of control points R k in FFD by executing the least squares method.
[0089] When the FFD is used, the curved surface model S is deformed via this volume V by moving the control points R.sub.ijk of the volume V. In contrast, the shape of the curved surface model S is characterized by the control points P.sub.ij.
[0090] Accordingly, the correspondence between the control points R.sub.ijk of the volume V and the control points P.sub.ij of the curved surface model S is required to deform the curved surface model S by the FFD. Here, when the control points P.sub.ij of the curved surface model S are represented as P(I, J) to prevent confusion with the subscripts of the control points R.sub.ijk of the volume V, the control points P(I, J) can be developed using the control points R.sub.ijk of the volume V as in equation (3).
[0091] Parameters (s, t, w) can be determined by I and J. By disposing the control points R.sub.ijk of the volume V in a grid pattern as described above, the correspondence between the two parameters (I, J) of the curved surface model S and the three parameters (s, t, w) of the volume V can be easily calculated.
[0092] Then, by replacing n and m of equation (1) with L and M, respectively, and then substituting equation (5) into equation (1), the curved surface model S can be represented as equation (6) below.
[0093] The cost function as the equation (7) below can be defined using this.
[0094] Here, the first term in parentheses in equation (7) represents the coordinates of the p-th closest point H when the control points R.sub.ijk of the volume V are moved by specified movement amounts ΔR.sub.ijk. On the other hand, the second term in parentheses in equation (7) represents the coordinates of the measurement point Q corresponding to this closest point H.
[0095] That is, the cost function F indicates the sum (the total value obtained by adding up the squares of the distances) of squares of the distances between the closest points H and the measurement points Q when the control points R.sub.ijk are moved by predetermined movement amounts ΔR.sub.ijk. Accordingly, the cost function F can be regarded as the cost function in the least squares method and the sum of squares of the distances between the closest points H and the measurement points Q can be minimized by searching for the movement amounts ΔR.sub.ijk that minimize the cost function F and moving the control points R.sub.ijk by the searched movement amounts ΔR.sub.ijk.
[0096] Specifically, the movement amount determination unit 33 obtains the movement amounts ΔR.sub.ijk that minimize the cost function F by partially differentiates the cost function F by the movement amounts ΔR.sub.ijk and setting the result to 0.
[0097] Here, the following equation is assumed for simple representation.
Equation (8)=
R.sub.ijk′=R.sub.ijk+ΔR.sub.ijk (8)
[0098] When the cost function F is partially differentiated by R.sub.ijk′, the following equation is obtained.
[0099] When the left side of equation (9) is set to 0, equation (10) below is obtained.
[0100] When equation (10) is described in a matrix form, equation (11) below is obtained.
Equation (11)
ΔR.sub.ijk′=b (11)
[0101] In equation (11), the matrix A is a (i×j×k)-order square matrix. The individual elements of the matrix A are illustrated by equations (12) to (14) below.
[0102] By solving equation (11) for R.sub.ijk′, it is possible to obtain R.sub.ijk′ that minimizes the cost function F and therefore the movement amount ΔR.sub.ijk. For example, the LU decomposition method can be used as the solution of equation (11). The movement amount determination unit 33 calculates the movement amounts ΔR.sub.ijk through numerical calculation using the LU decomposition method or the like.
[0103] When the calculation of the movement amounts ΔR.sub.ijk is completed, the processing proceeds from step S4 to step S5 in
—Step S5—
[0104] In the subsequent step S5 continued from step S4, the FFD execution unit 34 fits the curved surface model S to the plurality of measurement points Q by performing FFD based on the movement amounts ΔR.sub.ijk calculated in step S4.
[0105] Specifically, the FFD execution unit 34 moves the control points R.sub.ijk to updates the control points R.sub.ijk to new control points R.sub.ijk+ΔR.sub.ijk. This deforms the volume V based on equation (3). Then, the curved surface model S is deformed based on the formula (1) while the control point P(I, J) of the curved surface model S is updated based on formula (5), and the flow illustrated in
[0106] It should be noted that step S5 illustrated here is an example of the “FFD execution process” in the embodiment.
[0107] As described above, according to the embodiment, the movement amounts ΔR.sub.ijk of the control points R.sub.ijk of the FFD can be determined by the least squares method that uses the sum of squares of the distances between the closest points H as the deformation target points and the measurement points Q corresponding to the closest points H. This can systematically determine the movement amounts ΔR.sub.ijk of the control points while clarifying the theoretical evidence.
[0108] In addition, by using the plurality of measurement points Qs that indicate the surface shape of the metal mole as the plurality of object points, the movement amounts ΔR.sub.ijk of the control points R.sub.ijk can be calculated appropriately even when the measurement points Q that may contain noise or the like are the object points.
Structure Related to the Multi-Stage Deformation
[0109]
[0110] When the curved surface model S and the measurement points Q are relatively far apart from each other, the flow illustrated in
[0111] Specifically, the computer 1 as the curved surface fitting device repeatedly performs the FFD a plurality of times by dividing the movement amounts ΔR.sub.ijk determined in step S4 (movement amount determination process) and performing step S5 (FFD execution process) above based on the divided movement amounts ΔR.sub.ijk.
[0112]
[0113] First, although omitted in
[0114] Subsequently, the CPU 3 sets the variable i to zero as illustrated in step S101 in
[0115] The variable i represents the number of repetitions at that time.
[0116] In the subsequent step S102, the deformation target point setting unit 32 searches for the closest points H.sub.i on the curved surface model S that correspond to the measurement points Q. Here, the subscript i of the closest point represents the number of repetitions i. Specifically, in this step S102, the same processing as in step S3 in
[0117] In the subsequent step S103, the movement amount determination unit 33 obtains the movement amounts ΔR.sub.i of the control points by the least squares method based on the closest points H.sub.i found in step S102. The subscript i of the movement amount ΔR.sub.i represents the number of repetitions i as in the closest point H.sub.i. Specifically, in step S103, the same processing as in step S4 in
[0118] In the subsequent step S104, the movement amount determination unit 33 divides the movement amounts ΔR.sub.i obtained in step S103 and calculates new movement amounts ΔR.sub.i′. Specifically, the movement amounts ΔR.sub.i′ are obtained by equation (15) below.
[0119] In the subsequent step S105, the FFD execution unit 34 moves the control points R of the volume V and therefore the control points P(I, J) of the curved surface model S based on the new movement amounts ΔR.sub.i′ obtained in step S104.
[0120] In the subsequent step S106, the CPU 3 determines whether the number of repetitions i has reached N−1, that is, whether steps S102 to S105 have been repeated N times. When this determination is YES, the deformation by the FFD ends.
[0121] In contrast, when the determination in step S106 is NO, the number of repetitions i is incremented by one in step S107 and then the processing returns to step S102. After returning to step S102, the closest points H.sub.i+1 are searched for on the curved surface model S after deformation is performed based on the new movement amounts ΔR.sub.i′. By repeating these steps recursively, the closest points H.sub.i, H.sub.i+1, and H.sub.i+2 gradually approach the measurement points Q (see
[0122] As can be seen from equation (15) above, when the number of repetitions i is relatively small, the new movement amount ΔR.sub.i′ is sufficiently smaller than the original movement amount ΔR.sub.i. In contrast, as the number of repetitions i becomes larger, the new movement amount ΔR.sub.i′ becomes closer to the original movement amount ΔR.sub.i. In particular, when the number of repetitions i reaches N−1, the new movement amount ΔR.sub.i′ matches the original movement amount ΔR.sub.i.
[0123] By deforming the curved surface model S at multiple stages as described above, the spread of the curved surface can be suppressed and more accurate deformation can be achieved.
Structure Related to a Specific Curved Surface Model
[0124] Structure Related to a Trimmed Surface
[0125]
[0126] As described above, a three-dimensional curved surface that models a metal mold can be used as the curved surface model S and a plurality of measurement points Q that represent the surface shape of the metal mold can be used as a plurality of object points. Here, in the case of a metal mold having a complicated and fine shape such as a metal mold for an automobile outer panel component, the metal mold may be modeled as a curved surface in which so-called trimmed surfaces are combined instead of a single curved surface as illustrated in
[0127] That is, as illustrated in
[0128] However, when the movement amounts ΔR.sub.ijk of the control points R.sub.ijk of the volume V are determined using only the control points P(I, J) of the curved surface model S as the movement targets, the control points of the trimmed surface St cannot be moved.
[0129] Accordingly, the computer 1 according to the embodiment is configured to perform fitting by FFD on the boundary C between the curved surface Sd that constitutes the curved surface model S′ and the trimmed surface St in addition to the curved surface Sd.
[0130] Specifically, the curved surface Sd is fitted as in the curved surface model S described above. On the other hand, it is sufficient that the boundary C between the curved surface Sd and the trimmed surface St is defined as a closed loop (see
[0131] More specifically, first, based on the trimmed surface St in the UV space, sampled points are disposed at appropriate intervals on the curved surface Sd so as to follow the boundary C between the trimmed surface St and the curved surface Sd. Steps S2 (control point setting process), step S3 (deformation target point setting process), step S4 (movement amount determination process), and step S5 (FFD execution process) described above are performed on the sampled points disposed in this way, whereby the boundary C can be deformed by FFD. Then, the trimmed surface St can also be indirectly fitted by reflecting the deformation result of the boundary C on the deformation result of the curved surface Sd.
[0132] As described above, by using the execution result of FFD on the boundary C defined as a closed loop together with the deformation result of the curved surface Sd, it is possible to fit the curved surface model S while maintaining the continuity of the boundary C between the curved surface Sd and the trimmed surface St, the continuity of tangent plane between the curved surface Sd and the trimmed surface St, and the continuity of the curvature between the curved surface Sd and the trimmed surface St.
[0133] Structure Related to the Trimmed Surface Including a Plurality of Curved Surfaces
[0134]
[0135] In general, when a model of a metal mold or the like includes a plurality of curved surfaces, it is desirable to deform the curved surfaces at the same time while maintaining the connection relationship between the curved surfaces. As illustrated in
[0136] That is, the curved surface model S includes a combination of the curved surfaces S.sub.1, S.sub.2, . . . set in a three-dimensional space, and the computer 1 as the curved surface fitting device can execute step S2 (control point setting process), step S3 (deformation target point setting process), step S4 (movement amount determination process), and step S5 (FFD execution process) described above so as to deform the plurality of curved surfaces S.sub.1, S.sub.2, . . . at the same time.
[0137] Basically, the same processing as when there is one curved surface is executed. However, when there are a plurality of curved surfaces, the processing for selecting a curved surface to be deformed is required for each of the measurement points Q. Specifically, the computer 1 calculates the distances between each of the measurement points Q and all the curved surfaces S.sub.1, S.sub.2, . . . before and after step S3 and selects the curved surface for which the calculated distance is the shortest. As described above, the computer 1 executes the process of associating the curved surface having the shortest distance and therefore the closest point H for each of the measurement points Q.
[0138] Then, when the least squares method is executed based on equation (11) or the like, the sum of squares of the distance from the corresponding curved surface is added up for each of the measurement points Q. By appropriately selecting the corresponding curved surface for each of the measurement points Q, it is possible to fit the curved surface model S, which includes a combination of the curved surfaces.
[0139] For example, in the example illustrated in
[0140] Structure Related to Extrapolation of a Free-Form Surface
[0141]
[0142] In general, the curved surface obtained by fitting may undulate unnaturally in a place that is sufficiently close to the measurement points Q, but is apart from the measurement points Q (particularly near the boundary of the curved surface). Such a situation can occur when, for example, the curved surface model S has a complicated shape or when many measurement points Q are disposed. This is inconvenient for application to a metal mold having a complex and fine shape, such as a metal mold for the outer panel component of a vehicle.
[0143] Accordingly, as illustrated in
[0144] Here, the extrapolation surface S.sub.e may have any shape. The extrapolation surface S.sub.e may be, for example, a tangent plane extending from the end of the curved surface model S. In addition, the accuracy of the measurement point Q.sub.e to be added does not need to be considered particularly.
[0145] This structure can achieve smoother fitting by suppressing undulation near the boundary of the curved surface.
Specific Example of the Curved Surface Fitting Method
[0146] In general, since manual work by a craftsman may often intervene in the production of the metal mold of the outer panel component, the efficiency needs to be improved. In particular, when the metal mold degrades and the same the metal mold is manufactured again, it is inefficient to do the same manual work as in the first production. Accordingly, the efficiency of the second and subsequent manual work by the craftsman can be improved by three-dimensionally measuring the so-called first metal mold and feeding back the measurement results to a CAD system.
[0147] Here, in the feedback to the CAD system, the effects of the manual work by the craftsman need to be reflected on, for example, the three-dimensional CAD data used at the time of the production of a new metal mold. Accordingly, after the measurement results of the actual metal mold are assumed to be the measurement point Q and the three-dimensional CAD data before feedback is assumed to be the curved surface model S, the FFD method using the least square method, that is, the curved surface fitting method according to the embodiment is applied. This can determine the movement amount of the control point in FFD systematically and fit the three-dimensional CAD data to the measurement point Q.
[0148] As described above, the curved surface fitting method according to the embodiment can be used for so-called reverse engineering. Since the metal mold for the outer panel component of an automobile has a complicated and fine shape, the curved surface model obtained based on the metal mold may include a plurality of trimmed surfaces or a plurality of curved surfaces. As described above, the curved surface fitting method according to the embodiment can perform systematic fitting while clarifying the theoretical evidence even in such a curved surface model.
[0149] In particular, the conventional method of determining the movement amount of the control point cannot be concluded to have no theoretical evidence or the appropriate theoretical evidence. However, according to the embodiment, it is possible to automatically determine the movement amount without imposing a burden on the user even when the number of control points increases while clarifying the theoretical evidence.
[0150] A specific example of the curved surface fitting method will be described with reference to
[0151] The curved surface model Sb illustrated in
[0152] At least in the cross section illustrated in
[0153] As illustrated in
[0154] In
Other Embodiments
[0155] Although the structure using the B-Spline surface as the free curved surface has been described in the embodiment described above, the present disclosure is not limited to this structure. For example, a Bezier curved surface, a NURBS curved surface, or the like can be used instead of the B-Spline surface illustrated in formula (1) and the like.
[0156] In addition, although the structure that uses, as the object points, the measurement points Q obtained by measuring the surface shape of the metal mold is illustrated in the embodiment described above, the present disclosure is not limited to this structure. For example, the numerical data used at the time of new production of the metal mold may be used as the object points. That is, the technology disclosed herein can be used for applications other than reverse engineering of the metal mold.
[0157] Furthermore, the metal mold for the outer panel component of an automobile is illustrated as the metal mold in the specific example described above, the application target of the present disclosure is not limited to this example. The present disclosure can be applied to metal molds for inner panel components, metal molds for frame components, and any other metal molds. In addition, the method according to the present disclosure is useful not only at the time of new production of a metal mold but also at the time of maintenance of a metal mold such as a repair of secular change.
[0158] Furthermore, although the structure that uses the closest points H on the curved surface model S are illustrated as the deformation target points in the embodiment described above, the present disclosure is not limited to this structure. Points other than the closest points H can be the deformation target points.
[0159] In addition, although a computer having one CPU 3 is illustrated as an example of the computer 1 in the embodiment described above, the structure of the computer 1 is not limited to this structure. The computer 1 also may be a parallel computer such as a supercomputer or a PC cluster. When the computer 1 is a parallel computer, the curved surface fitting program 29 is executed by a plurality of calculators.
[0160] As described above, the present disclosure is useful for manufacturing and maintaining various metal molds such as metal molds for outer panel components and has industrial applicability.