WO2017168872A1 - 自動フィレット作成システム及びプログラム - Google Patents

自動フィレット作成システム及びプログラム Download PDF

Info

Publication number
WO2017168872A1
WO2017168872A1 PCT/JP2016/087568 JP2016087568W WO2017168872A1 WO 2017168872 A1 WO2017168872 A1 WO 2017168872A1 JP 2016087568 W JP2016087568 W JP 2016087568W WO 2017168872 A1 WO2017168872 A1 WO 2017168872A1
Authority
WO
WIPO (PCT)
Prior art keywords
fillet
line
ridge
area
calculated
Prior art date
Application number
PCT/JP2016/087568
Other languages
English (en)
French (fr)
Inventor
晃成 進藤
申久 越智
康義 梅津
渡辺 祐子
Original Assignee
株式会社Jsol
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
Application filed by 株式会社Jsol filed Critical 株式会社Jsol
Publication of WO2017168872A1 publication Critical patent/WO2017168872A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Definitions

  • the present invention relates to an automatic fillet creation system and program for automatically creating a fillet in a three-dimensional shape model in a CAD device.
  • a fillet having a predetermined fillet radius is created on the ridge line of the three-dimensional shape model to smoothly round the ridge line.
  • Fillets created in a 3D shape model are broadly divided into design fillets and molding fillets. When creating a fillet on a 3D shape model, fillets are formed on the entire edge of the 3D shape model. Because it is created, a very large number of fillets may be created.
  • a 3D shape model of the metal plate or the press tool is created, and a fillet on the forming is created on the entire edge of the 3D shape model of the press tool. If you do, you may create too many fillets.
  • creating a fillet for each ridge line requires a lot of man-hours, so after setting the fillet radius of the fillet to be created for the ridge line for the entire ridge line, There is a need to automatically create fillets at once and round them smoothly.
  • Patent Document 1 a merging point where a plurality of ridge lines merge is extracted and a divided ridge line is created by dividing each of the ridge lines into two, and the merging point and a plurality of divisions that merge with the merging point are created.
  • a ridgeline as one creation unit, for each creation unit, a fillet with a fillet radius set for each divided ridgeline is provisionally created, and the procedure for combining fillets at the confluence is determined based on the correlation between the provisionally created fillets.
  • a fillet producing apparatus is disclosed.
  • the fillet creating device also stores a plurality of types of patterns defining the synthesis procedure of the fillet at the confluence at the database, and the plurality of types stored in the database with reference to the database when determining the synthesis procedure of the fillet
  • the composition procedure to be applied to the creation unit is selected from the patterns.
  • a fillet can be created in a creation unit without considering a fillet created in another creation unit for each creation unit, so a fillet can be created in the entire three-dimensional shape model by batch processing. It is supposed to be possible.
  • a synthesis procedure to be applied to the creation unit is selected from a plurality of types of patterns defining the fillet synthesis procedure stored in the database.
  • a synthesis procedure to be applied to the creation unit is selected from a plurality of types of patterns defining the fillet synthesis procedure stored in the database.
  • the shape is not in the pattern, it may not be possible to select the fillet synthesis procedure.
  • an object of the present invention is to provide an automatic fillet creation system and program capable of reliably and automatically creating a fillet in a three-dimensional shape model without requiring a database.
  • a system according to the present invention is an automatic fillet creation system that automatically creates a fillet in a three-dimensional shape model, and extracts a ridge line from which a fillet is created from the three-dimensional shape model.
  • An extraction means for acquiring a fillet radius of a fillet created on the ridge line extracted by the ridge line extraction means, and a merging point where a plurality of ridge lines among the ridge lines extracted by the ridge line extraction means meet
  • a corner area for calculating a plurality of ridgelines that merge with each other to a boundary point that is separated from the merging point by a predetermined distance set based on the fillet radius acquired by the fillet radius acquisition means as a corner area of the ridgeline
  • the ridge line calculated by the calculating means and the corner area calculating means.
  • a cross-section line of the fillet is calculated based on the fillet radius acquired by the fillet radius acquisition means for each of the boundary points of the plurality of ridge lines that merge with the merge point, and a plurality of merge points with the merge point Fillet creating means for calculating an intermediate line connecting the cross-sectional lines calculated for the boundary points of the ridge line, and forming a fillet by forming a curved surface in a closed region surrounded by the cross-sectional line and the intermediate line;
  • the program according to the present invention is an automatic fillet creating program for automatically creating a fillet in a three-dimensional shape model, and the computer extracts a ridge line extracting means for extracting a ridge line from which the fillet is created from the three-dimensional shape model.
  • a fillet radius acquisition means for acquiring a fillet radius of a fillet created on the ridge line extracted by the ridge line extraction means, and a plurality of merging points at a merging point where a plurality of ridge lines meet among the ridge lines extracted by the ridge line extraction means
  • a corner area calculating means for calculating an area from the merging point to a boundary point separated by a predetermined distance set based on the fillet radius acquired by the fillet radius acquiring means as a corner area of the ridge line;
  • a cross-section line of the fillet is calculated based on the fillet radius acquired by the fillet radius acquisition means for each of the boundary points of the plurality of ridge lines that merge with the merge point, and a plurality of merge points with the merge point
  • a fillet creating means for calculating an intermediate line connecting the cross-sectional lines calculated for the boundary points of the ridge line, and forming a fille
  • FIG. 1 is a block diagram showing an overall configuration of an automatic fillet creation system according to a first embodiment of the present invention. It is a figure which shows the structure of the memory
  • the system according to aspect 1 of the present invention is an automatic fillet creation system that automatically creates a fillet in a three-dimensional shape model, and a ridge line extraction unit that extracts a ridge line from which a fillet is created from the three-dimensional shape model;
  • a fillet radius acquisition means for acquiring a fillet radius of a fillet created on the ridge line extracted by the ridge line extraction means, and a plurality of merging points at a merging point where a plurality of ridge lines of the ridge lines extracted by the ridge line extraction means meet
  • a corner area calculating means for calculating an area from the merging point to a boundary point separated by a predetermined distance set based on the fillet radius acquired by the fillet radius acquiring means as a corner area of the ridge line;
  • About the corner area of the ridge calculated by the corner area calculating means The cross-section line of the fillet is calculated based on the fillet radius acquired by the
  • the system according to aspect 2 of the present invention is the system according to aspect 1, in which the fillet creating means divides the closed area into the closed area surrounded by the cross-sectional line and the intermediate line.
  • a point is calculated, a dividing line for dividing the closed region by connecting the calculated dividing center point and the midpoint of the cross section line and the intermediate line is calculated, and the cross section line and the intermediate line are calculated.
  • a free-form surface is formed in each divided region surrounded by the calculated dividing line connected to the cross-sectional line and the midpoint of the intermediate line, thereby creating a fillet.
  • the system which concerns on aspect 3 of this invention is a system which concerns on aspect 1 or 2,
  • the angle between two ridgelines is predetermined at the junction where only two ridgelines merge among the said ridgelines extracted by the said ridgeline extraction means. For two ridges that are equal to or less than an angle, when a fillet of the fillet radius acquired by the fillet radius acquisition unit is created from the merging point to the two ridge lines, the area from the boundary where the fillets interfere with each other is reduced.
  • a reduced area calculating means for calculating as an area wherein the corner area calculating means is a ridge line excluding the reduced area calculated by the reduced area calculating means among the ridge lines extracted by the ridge line extracting means; For a plurality of ridgelines that merge at a merge point where a plurality of ridge lines merge, the fillet radius from the merge point An area up to a boundary point that is a predetermined distance set based on the fillet radius acquired by the acquisition unit is calculated as a corner area of a ridgeline, and the fillet creation unit is configured to calculate the reduced area calculation unit.
  • the fillet radius acquisition means prevents the fillets created on the two ridgelines where the angle between the two ridgelines is equal to or less than a predetermined angle at the junction where only two of the ridgelines merge from each other.
  • a fillet having a corrected fillet radius obtained by correcting the acquired fillet radius is created.
  • the system according to aspect 4 of the present invention is the system according to aspect 3, in which the ridge line and the other ridge line closest to the ridge line in the ridge line extracted by the ridge line extraction unit, excluding the corner region.
  • a fillet interference area calculating means for calculating an area where the fillets interfere with each other when the fillet is created based on the fillet radius acquired by the fillet radius acquiring means, and the fillet generating means Is obtained by the fillet radius acquisition means so that the fillet interference area of the ridge line calculated by the fillet interference area calculation means does not interfere with the fillet created between the ridge line and another ridge line closest to the ridge line. Correction that corrects the fillet radius Iretto to create a radius of the fillet.
  • the system according to aspect 5 of the present invention is the system according to aspect 4, in which the ridge line extracted by the ridge line extraction unit is a basic ridge line except for the degenerate area, the corner area, and the fillet interference area.
  • Basic area calculation means for calculating as an area, and the fillet creation means creates a fillet of the fillet radius acquired by the fillet radius acquisition means for the basic area of the ridge line calculated by the basic area calculation means To do.
  • the program according to the aspect 6 of the present invention is an automatic fillet creation program for automatically creating a fillet in a three-dimensional shape model, and the computer extracts a ridge line where a fillet is created from the three-dimensional shape model.
  • Corner area calculation that calculates, as a corner area of a ridgeline, a region from the merging point to a boundary point that is separated by a predetermined distance set based on the fillet radius acquired by the fillet radius acquisition unit for a plurality of ridgelines that merge
  • corner area calculation means For the corner area of the ridge line, calculate the cross-section line of the fillet based on the fillet radius acquired by the fillet radius acquisition means for each of the boundary points of the plurality of ridge lines that merge with the merge point, and merge with the merge point
  • a fillet that calculates an intermediate line connecting the cross-sectional lines calculated for the boundary points of a plurality of ridge lines, and forms a fillet in a closed region surrounded by the cross-sectional line and the intermediate line It functions as a creation means.
  • the program according to aspect 7 of the present invention is the program according to aspect 6, wherein when the computer functions as the fillet creating means, the closed area is enclosed within the closed area surrounded by the cross-sectional line and the intermediate line.
  • a dividing center point for dividing the closed region is calculated by connecting the calculated dividing center point and the midpoint of the cross-sectional line and the intermediate line, respectively,
  • Each of the divided regions surrounded by the sectional line and the intermediate line and the calculated dividing line connected to the calculated middle point of the sectional line and the intermediate line functions to form a fillet by forming a free-form surface.
  • the program according to aspect 8 of the present invention is the program according to aspect 6 or 7, wherein the computer is connected between two ridge lines at a merging point where only two ridge lines of the ridge lines extracted by the ridge line extraction unit merge. For two ridges having an angle equal to or less than a predetermined angle, an area from the merging point to a boundary point where the fillets interfere with each other when the fillet radius acquired by the fillet radius acquisition unit is created on the two ridges, respectively.
  • the fillet radius is functioned so as to calculate an area from the merging point to a boundary point separated by a predetermined distance set based on the fillet radius acquired by the fillet radius acquisition unit as a corner area of the ridgeline,
  • the angle between the two ridge lines is equal to or less than a predetermined angle at a merging point where only two of the ridge lines merge.
  • the fillet radius is corrected so as to create a fillet with a corrected fillet radius so that the fillets created on two ridge lines do not interfere with each other.
  • the program according to aspect 9 of the present invention is the program according to aspect 8, in which the computer is the closest to the ridge line and the ridge line with respect to the ridge line excluding the corner region among the ridge lines extracted by the ridge line extraction unit.
  • the area where the fillets interfere with each other functions as a fillet interference area calculation unit that calculates the fillet interference area of the ridge line.
  • the fillet interference area of the ridge line calculated by the fillet interference area calculation means Function is to to create a correct fillet radius fillet corrected for the acquired fillet radius me.
  • the program according to the tenth aspect of the present invention is the program according to the ninth aspect, wherein the ridgeline extracted by the ridgeline extraction unit is a ridgeline basic area excluding the degenerate area, the corner area, and the fillet interference area.
  • a ridge line is extracted from a three-dimensional shape model, a fillet radius of a fillet to be created on the extracted ridge line is acquired, and a merge point is merged among the extracted ridge lines.
  • a corner area For a plurality of ridge lines, an area from a junction point to a boundary point separated by a predetermined distance set based on the fillet radius is calculated as a corner area.
  • the fillet cross-section line is calculated based on the fillet radius for each of the boundary points of the plurality of ridge lines joining the confluence, and the intermediate line connecting the cross-section lines is calculated,
  • a fillet is created by forming a curved surface in a closed region surrounded by lines.
  • the fillet of the calculated fillet is calculated for each corner area where the fillets interfere with each other. Since the fillet can be formed by forming a curved surface in a closed region surrounded by the intermediate line connecting the cross-sectional lines and the cross-sectional lines, the fillet can be reliably and automatically applied to the three-dimensional shape model without requiring a database. Can be created.
  • the fillet shape varies depending on the order in which the fillets are created for the corner areas where the fillets interfere with each other, or the fillet itself cannot be created depending on the 3D shape model It is possible to prevent the occurrence of the fillet, and the fillet can be created surely and automatically in the three-dimensional shape model.
  • the division center point is calculated in the closed region surrounded by the cross-section line and the intermediate line, and the division center point and the mid-point of the cross-section line and the intermediate line are calculated.
  • a dividing line to be connected to each other is calculated, and a free-form surface is formed in each of the divided areas surrounded by the sectional line and the intermediate line and the dividing line connected to the middle point of the sectional line and the intermediate line, respectively, and a fillet is created.
  • a fillet can be reliably created in the three-dimensional shape model.
  • an area where the fillets interfere with each other is calculated as a fillet interference area.
  • a fillet having a corrected fillet radius is created by correcting the fillet radius so that the fillets do not interfere with each other.
  • the area excluding the degenerate area, the corner area, and the fillet interference area is calculated as the basic area for the ridge line, and the fillet radius fillet is created for the basic area of the ridge line.
  • a fillet with a fillet radius can be formed for the basic region, and a fillet can be reliably and automatically created in the three-dimensional shape model.
  • a ridge line for creating a fillet is extracted from data of a three-dimensional shape model created by a CAD device, and a fillet with a fillet radius set by the user is created in the ridge line
  • the basic area which is a degenerate area, a corner area, a fillet interference area, and an area other than these areas is calculated for each ridge line, and the fillet is automatically filled according to the degenerate area, the corner area, the fillet interference area, and the basic area for the entire ridge line.
  • FIG. 1 is a diagram showing a three-dimensional shape model for creating a fillet by creating an automatic fillet according to the first embodiment of the present invention.
  • a fillet is automatically created for the entire ridgeline of the three-dimensional shape model 1 as shown in FIG.
  • the three-dimensional shape model for example, a three-dimensional shape model such as a press tool can be used.
  • mesh data obtained by dividing a finite element from the data of the three-dimensional shape model 1 is created, and a ridgeline in which a fillet is created from the ridgeline extraction conditions set in advance from the data of the three-dimensional shape model 1 To extract.
  • FIG. 2 is an explanatory diagram for explaining extraction of a ridge line.
  • 2A is an enlarged view of the main part of FIG. 1, and
  • FIG. 2B shows a cross section of the three-dimensional shape model along the line Y 2B -Y 2B in FIG. 2A.
  • the three-dimensional shape model 1 is composed of a plurality of surfaces such as a surface F 1 , a surface F 2 , a surface F 3 , and a surface F 4 .
  • the surface includes a curved surface as well as a planar surface.
  • the surface F 1 is composed of a boundary line B 1 , a boundary line B 2 , a boundary line B 3 , and a boundary line B 4
  • the surface F 2 includes the boundary line B 1 , the boundary line B 5 , the boundary line B 6
  • the surface that is configured by the boundary line B 7 and that forms the three-dimensional shape model 1 is configured by a plurality of boundary lines.
  • the boundary line includes a curved boundary line in addition to a linear boundary line.
  • the normal angle between the two surfaces at the boundary line between two adjacent surfaces constituting the three-dimensional shape model 1 is equal to or larger than a predetermined fold determination angle set as the ridge line extraction condition.
  • a certain boundary line is extracted.
  • the normal angle between theta B1 of the normal N F2 normal N F1 and the surface F 2 of the surface F 1 at the boundary line B 1 adjacent faces F 1 and the surface F 2 is If it is greater than or equal to the folding determination angle ⁇ S1 such as 5 degrees, the boundary line B 1 is extracted.
  • a boundary line B 3 in which the angle between the normal lines of the two surfaces F 1 and F 3 is less than the folding determination angle at the boundary line between the two adjacent surfaces F 1 and F 3 is indicated by a two-dot chain line. ing.
  • the extracted boundary lines are grouped based on the boundary line grouping definition set as the ridge line extraction condition, and the grouped boundary lines are extracted as ridge lines.
  • a boundary line grouping definition if one boundary line is not connected to another boundary line, it is considered as one group, and if two boundary lines are C1 continuous (tangent continuous), Set to separate groups when two boundary lines are C0 continuous (position continuous), and set to separate groups when three or more boundary lines are connected. Yes.
  • the two boundary lines are assumed to be C1 continuous. Assume that two boundary lines are C0 continuous if the end points of the two boundary lines match and the angle formed by the tangents of the two boundary lines at the end points is equal to or greater than the folding determination angle ⁇ S1 .
  • Figure 3 is another explanatory diagram for explaining the extraction of ridge shows a three-dimensional shape model viewed from Y 3 direction in FIG. 2 (a).
  • the tangent S B8 tangent S B4 and border B 8 border B 4 at the end point P 1 with end point P 1 of the end point P 1 and the boundary line B 8 border B 4 matches
  • the two boundary lines B 4 and B 8 are made C1 continuous to form one group and extracted as one ridge line E 1 .
  • the angle theta P2 tangent S B5 tangent S B4 and border B 5 border B 4 at the end point P 2 together with the end point P 2 of the end point P 2 and the boundary line B 5 border B 4 matches the
  • the two boundary lines B 4 and B 5 are set as another group by making C0 continuous, and are extracted as a ridge line E 2 different from the ridge line E 1 .
  • the boundary lines extracted from the three-dimensional shape model 1 are grouped based on the boundary line grouping definition, and the grouped boundary lines are extracted as one ridge line.
  • the fillet radius of the fillet created on the ridge line Is displayed, and the fillet radius of the fillet to be created on the ridge line is input and set by the user. It is possible to input a constant fillet radius for all ridge lines, or to input a fillet radius for each ridge line.
  • the fillet radius is set for all ridge lines and the fillet radius of the fillet to be created for all ridge lines is acquired, for each ridge line, if the fillet is created based on the fillet radius set for the ridge line, other ridge lines
  • the area that interferes with the fillet is calculated as the ridgeline degenerate area, corner area, and fillet interference area, and the area excluding these areas is calculated as the ridgeline basic area.
  • the angle between the two ridge lines is equal to or less than a predetermined degeneration determination angle at a merging point where only two of the ridge lines merge (end point where only two ridge lines coincide).
  • the corner area of the ridge line As the corner area of the ridge line, the area from the merging point to the boundary point separated by a predetermined distance set based on the fillet radius obtained from the merging point with respect to the merging point where the plural ridge lines merge. calculate. In the calculation of the corner area, a predetermined distance set based on the fillet radius obtained from the merging point with respect to the ridge line excluding the degenerate area among the ridge lines and merging with the merging point where the plural ridge lines merge. The area up to the boundary point that is far away is calculated.
  • the fillet interference area of the ridge line for the ridge line excluding the corner area of the ridge line, if the fillet is created based on the fillet radius acquired for the ridge line and the other ridge line closest to the ridge line, the area where the fillets interfere with each other is the fillet. Calculated as an interference area.
  • the area excluding the degenerate area, the corner area, and the fillet interference area is calculated for the ridge line.
  • FIG. 4 is an explanatory diagram for explaining the calculation of the degenerate area of the ridge line, and shows the main part of FIG. 1 in an enlarged manner.
  • the boundary line B 11 between the surface F 11 and the surface F 13 is not extracted as a ridge line, but the boundary line between the surface F 11 and the surface F 12 is extracted as a ridge line E 11 and the surface F 12 when the boundary of the surface F 13 is extracted as the edge line E 12, two edge lines E 11, E 12 only at the joining point T 11 which are joined two edge lines E 11, E 12 between the angle, in particular 2
  • the angle ⁇ T11 formed by the tangents S E11 and S E12 of the two ridge lines E 11 and E 12 is equal to or smaller than the degeneration determination angle ⁇ S2 such as 5 degrees
  • the merging point T 11 is extracted as a degeneration reference point.
  • the boundary point where the fillets interfere is calculated as the degeneration boundary point
  • the degeneration reference point To the degenerate boundary point is calculated as the degenerate area of the ridgeline.
  • FIG. 5 is another explanatory diagram for explaining a degenerate region of a ridge line.
  • 5 (a) shows a cross section orthogonal to the ridge E 11 through the control points P 11 of the ridge line E 11 in FIG. 4,
  • FIG. 5 (b) shows the nearest point Q 12 of the ridge line E 12 in FIG. 4 through it shows a cross section perpendicular to the ridge E 12.
  • FIGS. 5 (a) and 5 (b) shows a cross section seen from the degeneracy reference point T 11 side in FIG. 4.
  • the distance D of the point Q 12 and R blind point Q 12 '12 can be represented by the equation shown in the equation (2) below.
  • the closest point distance D MIN (P11, Q12) is a distance D 11 and the distance control points P 11 becomes equal to the sum of D 12 is calculated using the equation shown by the following equation 3, the control points P 11
  • a fillet with fillet radii set on the two ridgelines E 11 and E 12 is created, it is calculated as a degenerate boundary point that is a boundary point where the fillets interfere with each other.
  • edge lines E 11 merging into degeneracy reference point T 11 to calculate the area of the degeneracy reference point T 11 to degeneracy boundary point P 11 as degenerate region of the ridge.
  • Edge lines E 12 merging into degeneracy reference point T 11 is also in the same manner as the ridge line E 11 merging into degeneracy reference point T 11, as shown in FIG. 8 to be described later, degenerate reference to calculate degenerate boundary points P 12 calculating the area from the point T 11 to degeneracy boundary point P 12 as degenerate region of the ridge.
  • a corrected fillet radius is calculated by correcting the fillet radius so that the fillets created on the two ridge lines joining the reduced reference point do not interfere with each other.
  • FIG. 6 is an explanatory diagram for explaining the calculation of the correction fillet radius in the degenerate region.
  • the correction fillet radius is calculated based on the distance proportionally distributed according to the fillet radius set to the two ridge lines that join the degenerate reference point.
  • the nearest point Q 12A of the ridge line E 12 corresponding to the constituent point P 11A is calculated and the nearest point distance to the nearest point Q 12A D MIN (P11A, Q12A) is calculated.
  • Figure 7 is another explanatory diagram for explaining the calculation of the correction fillet radius at degenerate region, it shows a cross section perpendicular to the ridge E 11 through the configuration point P 11A of the ridge line E 11 in FIG. As shown in FIG.
  • the closest point distance D MIN (P11A, Q12A) distance configuration point is distributed in proportion to the fillet radius R 12 set in the fillet radius R 11 and the edge line E 12 which is set to the ridge E 11 'to be equal to the distance D 11A
  • configuration point P 11A and R blind point P 11A' P 11A and R blind point P 11A distance D 11A of can also be expressed by the formula shown in formula 5 below.
  • the correction fillet radius R 11A corrected for the constituent point P 11A in the degenerate region of the ridge line E 11 is calculated using the equation shown in Equation 6 below.
  • the correction fillet radius is calculated in the same manner as the constituent point P 11A for the degenerate region of the ridge line E 11 .
  • FIG. 8 is still another explanatory diagram for explaining the calculation of the correction fillet radius in the degenerate region.
  • the degenerate boundary point P 12 of the ridge line E 12 that joins the degenerate reference point T 11 is calculated, and the region from the degenerate reference point T 11 to the degenerate boundary point P 12 is calculated as a degenerate region.
  • correction fillet radius R 12A is corrected configuration point P 12A in the degenerate region of the edge line E 12, like the calculation of the correction fillet radius at degenerate region of the edge line E 11, using a formula shown in the following equation 7 Calculated.
  • Correction fillet radius is calculated in the same manner as the control points P 12A respectively for degenerate region of the edge line E 12.
  • the fillet radius set to R 12 is represented as R 12
  • the fillet radius set to the ridge line E 11 is represented as R 11
  • a half of the angle formed by the surface F 12 and the surface F 13 is represented as ⁇ 12A .
  • the ridgeline degenerate region is calculated from the entire ridgeline, and the correction fillet radius is calculated for the ridgeline degenerate region.
  • the correction fillet radius in the contraction area of the ridge line is gradually reduced and corrected as the fillet radius set to the ridge line is moved from the contraction boundary point to the contraction reference point.
  • FIG. 9 is an explanatory diagram for explaining the calculation of the corner area of the ridgeline, and shows an enlarged main part of FIG.
  • a merging point where a plurality of ridge lines meet is extracted as a corner reference point.
  • the degeneration reference point that is the merging point that forms the degenerate area of the ridge line is excluded.
  • the boundary line between the surface F 21 and the surface F 22 is extracted as the ridge line E 21
  • the boundary line between the surface F 22 and the surface F 23 is extracted as the ridge line E 22
  • the surface F 23 and the surface F 21 are extracted.
  • the extraction border as ridge E 23, confluence T 21 in which a plurality of ridge line E 21, E 22, E 23 are joined may not be in a degraded reference point, it extracts the merge point T 21 as corner reference point.
  • a corner point separated from the corner reference point by a predetermined distance set based on the fillet radius set for each of a plurality of ridge lines that merge with the corner reference point is calculated as a corner boundary point
  • the corner boundary point is calculated from the corner reference point.
  • the area up to the point is calculated as the corner area of the ridgeline.
  • a boundary point separated from the corner reference point by a distance obtained by multiplying the maximum fillet radius by a predetermined coefficient ⁇ among the fillet radii set to each of a plurality of ridge lines that merge with the corner reference point is set as a corner boundary point. calculate.
  • fillet radii R 21 , R 22 , and R 23 are set to the ridge lines E 21 , E 22 , and E 23 for the ridge lines E 21 , E 22 , and E 23 that merge with the corner reference point T 21 , respectively. If the maximum fillet radius is R MAX (R21, R22, R23) among the fillet radii R 21 , R 22 , R 23 , the maximum from the corner reference point T 21 to the ridgelines E 21 , E 22 , E 23 respectively.
  • Boundary points P 21 , P 22 , P 23 separated by distances D 21 , D 22 , D 23 obtained by multiplying the fillet radius R MAX (R21, R21, R23) by a predetermined coefficient ⁇ are calculated as corner boundary points.
  • the distances D 21 , D 22 , and D 23 can be expressed by the following equation (8).
  • 1.2 is used as the predetermined coefficient ⁇ .
  • corner boundary points P 21, P 22, P 23 is calculated, the edge line E 21, E 22, respectively, for E 23, corner boundary point P 21 from the corner reference point T 21 which joins the corner reference point T 21, P
  • the region up to 22 and P 23 is calculated as the corner region of the ridgeline.
  • FIG. 10 is an explanatory diagram for explaining the interference determination of the corner area of the ridge line, and shows an enlarged main part of FIG.
  • the nearest corner reference point is extracted from the other corner reference points where multiple ridgelines that merge with the corner reference point merge, and the corner reference to the nearest corner reference point is extracted.
  • Calculate the distance between points, and whether the distance between corner reference points is less than the sum of the distance from the corner reference point to the corner boundary point and the distance from the nearest corner reference point to the corner boundary point corresponding to the nearest corner reference point Determine.
  • the corner reference point T 41 is the closest corner reference point T 41 among the other corner reference points T 41 and T 51 where the ridgelines E 31 , E 32 and E 33 meet.
  • the corner reference point T 41 is the region from the corner reference point T 41 until the corner boundary point P 41, P 42, P 43 are calculated as the corner regions of the ridge.
  • the fillet radii set for the ridgelines E 31 , E 32 , and E 33 are R 31 , R 32 , and R 33, and the maximum fillet radius of the fillet radii R 31 , R 32 , and R 33 is R MAX ( R 31 , R 32 , R33) and then, when the distance from the corner reference point T 31 until the corner boundary point P 33 and D 33, the distance D 33 may be expressed as shown in the following equation 9.
  • the fillet radii set for the ridgelines E 41 , E 42 , and E 43 are R 41 , R 42 , and R 43, and the maximum fillet radius among the fillet radii R 41 , R 42 , and R 43 is R MAX (R41, R42, R43) and then, when recently the distance from the corner reference point T 41 until the corner boundary point P 41 and D 41, the distance D 41 may be expressed as shown in following equation 10.
  • Corner reference point distance D (T31, T41) is than the sum of the distance D 41 from the distance D 33 between recently corner reference point T 41 from the corner reference point T 31 until the corner boundary point P 33 to the corner boundary point P 41 If it is determined to be smaller, the corner area calculated for the corner reference point T 31 is determined to interfere with the calculated corner regions for the other corner reference point.
  • the corrected corner area is calculated by correcting the corner area so as to avoid interference with the other corner area.
  • the corrected corner area it is based on the fillet radius set for multiple ridgelines that meet the corner reference point from the distance between the corner reference points and the fillet radius set for multiple ridgelines that meet the nearest corner reference point.
  • the boundary point separated by a predetermined distance is calculated as a corrected corner boundary point, and the area from the corner reference point to the corrected corner boundary point is calculated as a corrected corner area.
  • the maximum fillet radius of the fillet radius set to a plurality of ridgelines that merge the distance between corner reference points to the corner reference point and the maximum fillet of the fillet radius set to a plurality of ridgelines that merge to the nearest corner reference point is calculated as a corrected corner boundary point.
  • FIG. 11 is an explanatory diagram for explaining the calculation of the correction corner region, and shows the main part of FIG. 10 in an enlarged manner.
  • the distance D (T31, T41) ′ is calculated using the following equation (12 ) .
  • the edge line E 31, E 32, the ridgeline E 33 has recently corner reference point T 41 of E 33, the distance D (T31 corner reference point T 31 which joins the corner reference point T 31, T41) 'apart boundary point P 33' is calculated as the correction corner boundary point, the edge line E 33 with a recently corner reference point T 41 of the ridgeline E 31, E 32, E 33, which joins the corner reference point T 31
  • the corner area of the ridge line is calculated from the entire ridge line, and when it is determined that the corner area interferes with other corner areas, the corner area is corrected and the corrected corner area is calculated. Is done.
  • FIG. 12 is an explanatory diagram for explaining calculation of the fillet interference region of the ridge line, and shows an enlarged main part of FIG.
  • the interfering area is calculated as a fillet interference area.
  • the nearest point of the other ridge line excluding the corner area is calculated for each constituent point of the ridge line excluding the corner area and the nearest point distance is calculated, and the calculated nearest point distance is calculated as the constituent point and the constituent point.
  • a distance between a fillet radius R-stop created based on a fillet radius set on a ridge line having a radius and a fillet radius-stop point created based on a fillet radius set on a ridge line having the nearest point It is determined whether it is smaller than the sum of the distances, and an area composed of the constituent points of the ridge line determined to be small is calculated as a fillet interference area.
  • the boundary line between the surface F 51 and the surface F 52 is extracted as the ridge line E 51
  • the boundary line between the surface F 52 and the surface F 53 is extracted as the ridge line E 52
  • the surface F 53 and the surface F 54 are extracted. If the boundary line is extracted as the edge line E 53, e.g. nearest point Q 52 with the configuration point P 51 of the ridge E 51 calculates the closest point Q 52 other ridge E 52 closest to the control points P 51
  • the nearest point distance D MIN (P51, Q52) is calculated.
  • FIG. 13 is another explanatory diagram for explaining the calculation of the fillet interference region of the ridge line.
  • 13 (a) shows a cross section orthogonal to the ridge E 51 through the configuration point P 51 of the ridge line E 51 in FIG. 12, FIG. 13 (b), the nearest point Q 52 of the ridge line E 52 in FIG. 12 through it shows a cross section perpendicular to the ridge E 52.
  • the surface F 52 when creating a fillet FL 51 fillet radius R 51 configuration point P 51 of the ridge E 51 the R blind point side and P 51 ', the R blind point of the surface F 51 side and P 51'', the center of the fillet FL 51 and C 51, the angle between the surface F 51 and the surface F 52 one-half Is ⁇ 51 , the distance D 51 between the component point P 51 and the R stop point P 51 ′ can be expressed by the following equation (15).
  • closest point distance D MIN P51, Q52
  • the closest point distance D MIN P51, Q52
  • the distance D 52 it is determined whether or not the closest point distance D MIN (P51, Q52) is smaller than the sum of the distance D 51 and the distance D 52 , and it is determined whether the following equation 17 is satisfied. If closest point distance D MIN (P51, Q52) is determined to be smaller than the sum of the distance D 51 and the distance D 52, interfere with the fillet fillet to create the configuration point P 51 of the ridge E 51 creates the other ridge Then, it is determined.
  • a corrected fillet radius is calculated by correcting the fillet radius so that the fillet created between the ridge line and the other ridge line closest to the ridge line does not interfere with each other. To do.
  • Figure 14 is an explanatory diagram for explaining the calculation of the correction fillet radius at the fillet interference region, it shows a cross section perpendicular to the ridge E 51 through the configuration point P 51 of the ridge line E 51 in Figure 12.
  • the nearest point of the other ridge line closest to the constituent points of the fillet interference region of the ridge line is calculated, the nearest point distance is calculated, and the nearest point distance is converted into two ridge lines.
  • the correction fillet radius is calculated based on the distance proportionally distributed according to the set fillet radius.
  • the configuration point P 51 in the fillet interference region of the edge line E 51 similarly to the case of calculating the fillet interference region of the ridge, the nearest point of the other edge line E 52 closest to the configuration point P 51 Q 52 is calculated, and the closest point distance D MIN (P51, Q52) to the closest point Q 52 is calculated.
  • the correction fillet radius in the construction point P 51 of the ridge E 51 'and the fillet radius R 51' R 51 surface F 52 side of the R blind point when creating a fillet FL 51 'of the the P 51A 'and the R blind point of the surface F 51 side is P 51A''
  • fillet FL 51' 'when the configuration point P 51 and R blind point P 51A' the center of the C 51 distance D 51 of the ' Can be expressed by the following equation (18).
  • distance is distributed in proportion to the fillet radius R 52 that are set closest point distance D MIN to (P51, Q52) to the fillet radius R 51 and the ridge line E 52 set in the ridge line E 51 is configured and equal to 'distance D 51' of the point P 51 and R blind point P 51A, 'distance D 51 of the' control points P 51 and R blind point P 51A can also be expressed by the formula shown in the following equation 19 .
  • the corrected fillet radius R 51 ′ corrected for the component point P 51 in the fillet interference region of the ridge line E 51 is calculated using the equation shown in Equation 20 below.
  • the correction fillet radius is calculated in the same manner as the constituent point P 51 for the fillet interference region of the ridge line.
  • the fillet set to the ridge line The fillet interference area and the corrected fillet radius in the fillet interference area are calculated using the corrected fillet radius corrected for the degenerate area instead of the radius.
  • the fillet interference area of the ridge line is calculated from the entire ridge line, and the correction fillet radius is calculated for the fillet interference area of the ridge line.
  • the area excluding the reduced area, the corner area, and the fillet interference area is calculated as the basic area of the ridge line.
  • the degenerate area, corner area, fillet interference area and basic area are calculated for the ridge lines extracted from the three-dimensional shape model 1, the degenerate area, corner area, fillet interference area and basic area of the ridge line are automatically calculated. The fillet is created and the ridge is smoothly rounded.
  • a fillet with a fillet radius set to the ridgeline is created in the basic area of the ridgeline, a fillet with a corrected fillet radius corrected for the fillet radius set to the ridgeline is created in the degenerate area of the ridgeline, and a ridgeline in the fillet interference area of the ridgeline
  • a fillet with a corrected fillet radius corrected to the fillet radius set to is created, and in the corner area of the ridgeline, as described later, the corner shape as a fillet is based on the fillet radius set to the ridgeline joining the corner reference point Created.
  • FIG. 15 is a diagram illustrating a fillet created in the contracted area of the ridge line, and shows a fillet created in the contracted area of the ridge lines E 11 and E 12 joining the contraction reference point T 11 shown in FIG.
  • the edge line in the degenerate region of E 11 creates corrected fillet radius fillet FL 11A is a degenerate region of the edge line E 12 correct fillet radius fillet FL 12A is created.
  • fillets FL 11 fillet radius R 11 set in the ridge E 11 is created in the base region of the edge line E 11 apart than degenerate boundary point from degeneracy reference point T 11
  • fillet FL 12 of the fillet radius R 12 set in the edge line E 12 is created in the base region of the edge line E 12 away than.
  • FIG. 16 is a diagram showing fillets created in the fillet interference area of the ridge line, and shows fillets created in the fillet interference areas of the ridge lines E 51 , E 52 , and E 53 shown in FIG.
  • the fillet interference region of the edge line E 51 creates corrected fillet radius fillet FL 51A is a fillet interference region of the edge line E 52 creates corrected fillet radius fillet FL 52A is fillet edges E 53 In the interference region, a fillet FL 53A having a corrected fillet radius is created.
  • fillet FL 51 fillet radius R 51 set in the ridge line E 51 is created.
  • FIG. 17 is an explanatory diagram for explaining calculation of a cross-sectional line in a corner area of the ridge line, and shows an enlarged main part of FIG.
  • the edge line E S1 between the surface F S1, F S2, ridgeline E S2 between the surface F S2, F S3, edge lines E S3 between the surface F S3, F S1, corner from the corner reference point Tc When areas up to the boundary points P S1 , P S2 , and P S3 are calculated as corner areas, the ridgelines E S1 , E S2 , and E S3 that merge with the corner reference point Tc as the normal vector Vc of the corner reference point Tc
  • the average value of the normal vectors of the planes F S1 , F S2 , and F S3 constituted by is calculated.
  • the normal vector Vc of the corner reference point Tc is expressed by the following equation 21 when the normal vectors of the surfaces F S1 , F S2 , and F S3 at the corner reference point Tc are V S1 , V S2 , and V S3 , respectively. Is used to calculate. Unit vectors are used as the normal vectors V S1 , V S2 , and V S3 . Note that the ridgelines E S1 , E S2 , and E S3 are set so that the sign numbers increase counterclockwise with respect to the normal vector Vc of the corner reference point Tc.
  • the corner boundary points P S1 , P S2 , and P S3 of the ridge lines E S1 , E S2 , and E S3 that join the corner reference point Tc are obtained.
  • the fillet cross-sectional lines L S1 , L S2 , and L S3 are calculated based on the fillet radii set for the ridge lines E S1 , E S2 , and E S3 , respectively.
  • the sectional lines L S1 , L S2 , and L S3 are respectively the start points P S11 , P S21 , and P S31 on the counterclockwise rear side with respect to the normal vector Vc of the corner reference point Tc and the end point P S1E on the counterclockwise front side.
  • P S2E, P S3E have, when each R S1, R S2, R S3 fillet radius at the edge line E S1, E S2, the corner boundary point P S1 set in E S3, P S2, P S3 curvature It is formed in a circular arc shape with radii R S1 , R S2 , R S3 .
  • the start point P S11 and the end point P S1E of the cross section line L S1 are R stop points on the sides of the surfaces F S1 and F S2, respectively, and the start point P S21 and the end point P S2E of the cross section line L S2 are on the sides of the surfaces F S2 and F S3, respectively.
  • the R stop point, the start point P S31 and the end point P S3E of the cross-section line L S3 are the R stop points on the surfaces F S3 and F S1 side, respectively.
  • an intermediate line that connects between the cross-sectional lines adjacent to each other in the counterclockwise direction with respect to the normal vector of the corner reference point is calculated.
  • FIG. 18 is an explanatory diagram for explaining calculation of the intermediate line.
  • cross-sectional lines L S1 , L S2 , and L S3 are calculated for corner boundary points P S1 , P S2 , and P S3 of ridge lines E S1 , E S2 , and E S3 that join the corner reference point Tc, respectively.
  • direction vectors V 1M , V 2M , and V 3M toward the corner reference point Tc at the corner boundary points P S1 , P S2 , and P S3 are calculated.
  • Unit vectors are used as the direction vectors V 1M , V 2M , and V 3M .
  • the intermediate line L M1 connecting the adjacent cross-sectional lines L S1 and L S2 is calculated, and the intermediate line L M2 connecting the adjacent cross-sectional lines L S2 and L S3 is calculated and adjacent.
  • An intermediate line L M3 connecting the matching cross-sectional lines L S3 and L S1 is calculated.
  • FIG. 19 is another explanatory diagram for explaining the calculation of the intermediate line.
  • FIG. 19 shows a case where the intermediate line L M1 that connects the cross-sectional line L S1 and the cross-sectional line L S2 adjacent to each other in the counterclockwise direction with respect to the normal vector Vc of the corner reference point Tc is calculated.
  • the control point P S1EA is located at a position one third of the distance D (PS1E, PS21) between the starting points P S21 of the line L S2 in the direction of the direction vectors V 1M and V 2M from the start point P S21 to the corner reference point Tc. And PS21A are set.
  • the intermediate line L M2 connecting the section lines L S2 and L S3 and the intermediate line L M3 connecting the section lines L S3 and L S1 are also calculated in the same manner as the calculation of the intermediate line L M1 . In this way, when the intermediate line connecting the cross-sectional lines is calculated, a closed region surrounded by the cross-sectional line and the intermediate line is formed.
  • the intermediate line is calculated, it is determined whether or not to correct the intermediate line. Whether or not to modify the intermediate line is determined by whether or not a corner reference point exists in the closed region surrounded by the cross-sectional line and the intermediate line.
  • FIG. 20 is an explanatory diagram for explaining an intermediate line correction determination.
  • the closed region surrounded by the cross-sectional line and the intermediate line is projected through the corner reference point onto the XY plane where the normal vector of the corner reference point is the Z axis. Then, it is determined whether or not a corner reference point exists in the projection closed region surrounded by the projection section line and the projection intermediate line.
  • the sectional lines L S1 , L S2 and L S3 and the intermediate lines L M1 , L M2 and L M3 are calculated in the XYZ coordinate system
  • the sectional lines L S1 , L S2 , A closed region A 1 surrounded by L S3 and intermediate lines L M1 , L M2 , and L M3 passes through the corner reference point Tc and is projected onto the XY plane where the normal vector Vc of the corner reference point Tc is the Z axis.
  • a projection closed area A 1 ′ surrounded by the projection sectional lines L S1 ′, L S2 ′, L S3 ′ and the projection intermediate lines L M1 ′, L M2 ′, L M3 ′ is calculated.
  • the corner reference point Tc exists in the projection closed area A 1 ′ using a known inside / outside determination method. As shown in FIG. 20B, the corner reference is within the projection closed area A 1 ′ by the projection sectional lines L S1 ′, L S2 ′, L S3 ′ and the projection intermediate lines L M1 ′, L M2 ′, L M3 ′. if the point Tc is determined to be present, it is determined that the corner reference point Tc exists in closed area a 1 that is surrounded by the cross line L S1, L S2, L S3 and the intermediate line L M1, L M2, L M3 It is determined that the intermediate line is not corrected.
  • E S1 ′, E S2 ′, and E S3 ′ origin P S11 sectional line L S1, L S2, L S3 shown in, P S21, P S31 and the end point P S1E, P S2E, projected section line L S1 to P S3E is projected ', L S2', L S3 ' each P S11 projection start point and the projection end point of ', P S21', P S31 ' and P S1E', P S2E ', P S3E' is represented as.
  • FIG. 21 is another explanatory diagram for explaining the correction determination of the intermediate line.
  • the normal vector Vc of the corner reference point Tc passes through the corner reference point Tc and is projected onto the XY plane serving as the Z axis, and is projected with the projected cross-section lines L S1 ′, L S2 ′, and L S3 ′ shown in FIG.
  • a projection closed area A 1 ′ by the intermediate lines L M1 ′, L M2 ′, and L M3 ′ is calculated.
  • the corner reference point Tc when the corner reference point Tc does not exist in the projection closed region A 1 ′, the cross-sectional lines L S1 , L S2 , L S3 and the intermediate lines L M1 , L M2 , L M3 , corner reference point Tc is determined not to exist in the closed area a 1 by, is determined to modify the intermediate line.
  • the intermediate line to be corrected is specified from the intermediate line connecting the cross-section lines.
  • An intermediate line having a corner reference point in a closed region surrounded by the end points on both sides of the intermediate line and the intersection of the direction vectors to the corner reference points at the end points on both sides is specified as an intermediate line to be corrected.
  • FIG. 22 is an explanatory diagram for explaining identification of an intermediate line to be corrected.
  • the intermediate line to be corrected is specified, as shown in FIG. 22 (a)
  • the closed region by the sectional lines L S1 , L S2 and L S3 and the intermediate lines L M1 , L M2 and L M3 in the XYZ coordinate system is displayed.
  • the normal vector Vc of the corner reference point Tc passes through the corner reference point Tc and is projected onto the XY plane serving as the Z axis, and as shown in FIG. 22B, the projected cross-section lines L S1 ′, L S2 ′, L S3 ′ and projection intermediate lines L M1 ′, L M2 ′, and L M3 ′ are calculated.
  • the end point P S1E sectional line L S1, L S2, L S3 serving as one end point of the intermediate line L M1, L M2, L M3 , P S2E, P S3E and other Direction vectors V 1M and V 2M , V 2M and V 3M , V 3M and V 1M to the corner reference point Tc at the start points P S21 , P S31 , and P S11 of the cross-sectional lines L S2 , L S3 , and L S1.
  • the normal vector Vc of the corner reference point Tc is projected onto the XY plane serving as the Z axis, and as shown in FIG. 22B, the projection direction vectors V 1M ′ and V 2M ′, V 2M ′ and V 3M ′, V 3M ′ and V 1M ′ are calculated.
  • end points P S1E ′ and P S21 ′ on both sides of the projection intermediate line L M1 ′ are respectively directed to the projection direction vectors V 1M ′ and V 2M ′.
  • An intersection point P M1 ′ of the extending straight line is calculated, and a corner reference point is within the triangle closed region A M1 surrounded by the calculated end points P S1E ′ and P S21 ′ on both sides of the projection intermediate line L M1 ′ and the calculated intersection point P M1 ′.
  • Tc is determined using a known inside / outside determination method.
  • the projection intermediate lines L M2 ′ and L M3 ′ are also surrounded by the end points P S2E ′ and P S31 ′ on both sides of the projection intermediate line L M2 ′ and the intersection point P M2 ′.
  • each corner reference point Tc exists in the triangle closed region A M3 surrounded by the end points P S3E ′, P S11 ′ on both sides of the triangle closed region A M2 and the projection intermediate line L M3 ′ and the intersection point P M3 ′. Is determined using a known internal / external determination method.
  • the intermediate line to be corrected is specified, the intermediate line is corrected so that the corner reference point exists in the closed region by the cross-sectional line and the intermediate line for the specified intermediate line.
  • the control point set when calculating the intermediate line is changed to correct the intermediate line.
  • FIG. 23 is an explanatory diagram for explaining the correction of the intermediate line.
  • the corners respectively set from the end points P S3E and P S11 on both sides of the intermediate line L M3 to the end points P S3E and P S11 on both sides.
  • the straight points L E and L 1 extending in the directions of the direction vectors V 3M and V 1M to the reference point Tc are calculated, and the closest point at which the distance between the straight lines L E and L 1 on the straight lines L E and L 1 is the smallest PCE and PC1 are calculated.
  • control points P S3EA and P S11A are set at positions separated by one- tenth of the distances D E and D 1 between the points in the direction of the direction vectors V 3M and V 1M to the corner reference point Tc, respectively.
  • a cubic Bezier curve is calculated from the coordinates of the end points P S3E and P S11 and the coordinates of the control points P S3EA and P S11A in the same manner as the calculation of the intermediate line L M1. It is calculated as a corrected intermediate line L M3A obtained by correcting the intermediate line L M3 connecting S1 and L S3 .
  • the corrected intermediate line L M3A is calculated, the corrected intermediate line L M3A is used instead of the intermediate line L M3 , and the cross-section lines L S1 , L S2 , L S3 and the intermediate lines L M1 , L M2 , L M3A are closed. whether there is a corner reference point Tc in a region a 1A, corners reference to closed area a 1 by the cross-sectional line L S1, L S2, L S3 and the intermediate line L M1, L M2, L M3 described above The determination is made in the same manner as the determination as to whether or not the point Tc exists.
  • the modified intermediate line L M3A is used as an intermediate line instead of the intermediate line L M3 , but the corner reference point Tc is present in the closed region A 1A . If it is determined that it does not exist, the intermediate line is corrected again.
  • the distance between the end points P S3E and P S11 to the corner reference point Tc in the direction of the direction vectors V 3M and V 1M is only one tenth of the inter-point distances D E and D 1. That is, control points P S3EA and P S11A are set at positions separated by a sufficient distance of two distances between the points D E and D 1 , respectively, and the coordinates of the end points P S3E and P S11 and the control points P S3EA and P S11A are set.
  • the corrected intermediate line L M3A obtained by correcting the intermediate line L M3 connecting the cross-sectional lines L S1 and L S3 is calculated from the coordinates.
  • the modified intermediate line L M3A is used in place of the intermediate line L M3 again, and the corner reference point Tc exists in the closed region A 1A defined by the cross-sectional lines L S1 , L S2 , L S3 and the intermediate lines L M1 , L M2 , L M3A. 23, and is repeated until the corner reference point Tc exists in the closed region A 1A formed by the cross-sectional lines L S1 , L S2 , L S3 and the intermediate lines L M1 , L M2 , L M3A . (b), calculated sectional line L S1, L S2, L S3 and the intermediate line L M1, L M2, L modified intermediate line L M3A that there are corner reference point Tc to the closed region a 1A according M3A Is done.
  • FIG. 24 is an explanatory diagram for explaining calculation of the midpoint of the cross-section line and the intermediate line and the direction vector from the midpoint to the corner reference point.
  • the sectional lines L S1 , L S2 , and L S3 and the intermediate lines L M1 , L M2 , and L M3 are calculated in the XYZ coordinate system
  • the sectional lines L S1 , L S2 , L S3 respectively midpoint P S1M for, P S2M, P S3M are calculated
  • V S2M , V S3M are directional vectors V 1M , V 2M , V 3M toward the corner reference point Tc at the corner boundary points P S1 , P S2 , P S3 corresponding to the cross-sectional lines L S1 , L S2 , L S3.
  • the midpoints P M1M , P M2M , and P M3M are calculated for the intermediate lines L M1 , L M2 , and L M3 , respectively.
  • the end point P of the cross-sectional lines L S1 , L S2 , and L S3 S1E, P S2E, corner boundary point P S1, P S2, toward the P S3 tangent vector V LS1E in P S3E, V LS2E, with V LS3E is calculated, the cross-sectional line L S2, L S3, L S1 Tangential vectors V LS21 , V LS31 , and V LS11 in the directions toward the corner boundary points P S2 , P S3 , and P S1 at the start points P S21 , P
  • the end point P S2E sectional line L S2, L S3 is an end point of the counterclockwise rear side with respect to the normal vector Vc corner reference point Tc of L M3, tangent vector V LS2E in P S3E, and V LS3E , Tangent vectors V LS31 at the start points P S31 and P S11 of the cross-sectional lines L S3 and L S1 , which are end points on the counterclockwise front side with respect to the normal vector Vc of the corner reference point Tc of the intermediate lines L M2 and L M3 , An average value of V LS11 is calculated.
  • the direction vector toward the corner reference point at the midpoint of the cross section line and the intermediate line and the midpoint of the cross section line and the intermediate line is calculated.
  • a direction vector toward the midpoint and the corner reference point at the midpoint is calculated for the corrected intermediate line.
  • a corner type is calculated for the closed region surrounded by the cross-section line and the intermediate line, and division for dividing the closed region into the closed region surrounded by the cross-section line and the intermediate line according to the calculated corner type. Calculate the center point.
  • the modified intermediate line is not used as the intermediate line for the closed region surrounded by the cross-section line and the intermediate line, and the midpoint of the cross-section line goes to the corner reference point.
  • the projection direction vector obtained by projecting the direction vector onto the XY plane whose normal vector of the corner reference point is the Z axis the largest maximum angle among the angles formed by the two projection direction vectors is a predetermined angle, specifically 135 degrees or more. It is determined whether or not.
  • FIG. 25 is an explanatory diagram for explaining calculation of a corner type.
  • the sectional lines L S1 , L S2 , L S3 and the intermediate lines L M1 , L M2 in the XYZ coordinate system are used.
  • L M3 pass through the corner reference point Tc and are projected onto the XY plane where the normal vector Vc of the corner reference point Tc is the Z axis, and as shown in FIG. 25 (b), projected sectional lines L S1 ′, L S2 ′, L S3 ′ and projection intermediate lines L M1 ′, L M2 ′, L M3 ′ are calculated.
  • Direction vectors V S1M , V S2M , and V S3M are projected onto the XY plane through the corner reference point Tc and the normal vector Vc of the corner reference point Tc as the Z axis, as shown in FIG.
  • the projection midpoints P S1M ′, P S2M ′, P S3M ′ and projection direction vectors V S1M ′, V S2M ′, V S3M ′ are calculated.
  • the angle formed by the two projection direction vectors can be calculated using the inner product of the two projection direction vectors.
  • the angle formed by the projection direction vectors V S2M ′ and V S3M ′ is the maximum angle ⁇ MAX and is 135 degrees or more
  • the maximum angle among the angles formed by the two projection direction vectors is 135 degrees or more. Determined.
  • the corner type is calculated as the first type.
  • the corner type is calculated as the first type.
  • the corner type is calculated as the second type.
  • FIG. 26 is another explanatory diagram for explaining calculation of the corner type. It is determined that the corrected intermediate line is not used as the intermediate line, and the corners at the midpoints P S1M , P S2M , and P S3M of the cross-sectional lines L S1 , L S2 , and L S3 as shown in FIG.
  • the direction vectors V S1M , V S2M , and V S3M to the reference point Tc pass through the corner reference point Tc and the normal vector Vc of the corner reference point Tc is the Z axis as shown in FIG.
  • the projection direction vectors V S1M ′, V S2M ′, and V S3M ′ projected on the projection direction vectors V S1M ′ and V S3M ′ are determined to be the maximum angle ⁇ MAX and not more than 135 degrees, and When it is determined that there are not two ridge lines that meet the corner reference point Tc, the corner type is calculated as the second type.
  • the corner type is calculated as the third type.
  • the division center point is calculated according to the corner type in the closed region surrounded by the cross-section line and the intermediate line.
  • FIG. 27 is an explanatory diagram for explaining the calculation of the first type of division center point.
  • the direction vector to the corner reference point at the midpoint of the cross section line passes through the corner reference point and is projected onto the XY plane where the normal vector of the corner reference point is the Z axis.
  • the frame line to be calculated is calculated, and the midpoint of the frame line is calculated as the division center point.
  • Frame line L F (S2, S3) includes two midpoint P S2M, from the coordinates of P S3M, two midpoint P S2M, direction vector V S2M to the corner reference point Tc at P S3M, and V S3M, The calculation is performed in the same manner as the calculation of the intermediate line L M1 .
  • the midpoint PMF (S2, S3) of the frame line LF (S2, S3) is calculated, and the calculated midpoint PMF (S2, S3) is calculated as the division center point Pz.
  • FIG. 28 is an explanatory diagram for explaining the calculation of the second type division center point.
  • the cross-section line and the normal vector of the corner reference point on the cross-section line adjacent to the cross-section line counterclockwise with respect to the normal vector of the corner reference point.
  • the intermediate lines connected in the counterclockwise direction are each paired, and the frame lines connecting the midpoints of the cross section lines and the intermediate lines constituting the pair are calculated, the midpoints of the framelines are calculated, and the midpoints of the framelines are calculated.
  • the point at the average coordinate is calculated as the division center point.
  • the cross-sectional lines L S1, L S2 , and L S3 and the intermediate lines L M2 , L M3 , and L M1 are paired, and the cross-sectional lines L S1 , L S2 , and L S3 that form the pair Frame lines LF (S1, M2) , LF (S2, ... ) Connecting the points P S1M , P S2M , P S3M and the midpoints P M2M , P M3M , P M1M of the intermediate lines L M2 , L M3 , L M1 respectively . M3) and LF (S3, M1) are calculated.
  • the frame lines LF (S1, M2) , LF (S2, M3) , and LF (S3, M1) are calculated in the same manner as the calculation of the frame line LF (S2, S3) in the first type.
  • the midpoints P MF (S1, M2) , P MF (S2, M3) , P MF (S3 ) of the frame lines LF (S1, M2) , LF (S2, M3) , LF (S3, M1) , M1) are calculated, the average coordinates of the midpoints P MF (S1, M2) , P MF (S2, M3) , P MF (S3, M1) are calculated, and the point at the average coordinates is the division center point Calculated as Pz.
  • FIG. 29 is an explanatory diagram for explaining the calculation of the third type division center point.
  • the corner at the midpoint of the corrected intermediate line is the projection intermediate vector and the projection direction vector in which the direction vector to the corner reference point at the midpoint of the cross section line is projected.
  • modified intermediate line L M3A of the direction vector V M3MA to the corner reference point Tc at the midpoint P M3MA, cross line L S1, L S2, L S3 midpoint P S1M, P Direction vectors V S1M , V S2M , and V S3M to the corner reference point Tc in S2M and P S3M pass through the corner reference point Tc and are projected onto the XY plane where the normal vector Vc of the corner reference point Tc is the Z axis.
  • the projection direction vector V M3MA ′ and the projection direction vectors V S1M ′, V S2M ′, and V S3M ′ are calculated.
  • the corrected intermediate line L M3A and the cross-sectional line L S2 corresponding to the calculated projection direction vector V S2M ′ are paired. 29A , the frame line LF (S2, M3A) connecting the midpoint P M3MA of the modified intermediate line L M3A and the midpoint P S2M of the cross-sectional line L S2 is calculated.
  • the frame line LF (S2, M3A) is calculated in the same manner as the calculation of the frame line LF (S2, S3) in the first type.
  • the midpoint PMF (S2, M3A) of the frame line LF (S2, M3A) is calculated, and the calculated midpoint PMF (S2, M3A) is calculated as the division center point Pz.
  • the division center point is calculated in the closed area surrounded by the cross section line and the intermediate line according to the corner type, the division center point is connected to the cross section line and the mid point of the intermediate line, respectively.
  • a division line that divides the enclosed region is calculated.
  • FIG. 30 is another explanatory diagram for explaining the calculation of the first type of division lines.
  • the dividing line for the first type as shown in FIG. 30A , to the corner reference point Tc at the midpoints P S1M , P S2M , P S3M of the cross-sectional lines L S1 , L S2 , L S3 .
  • Direction vectors V S1M , V S2M , V S3M, and the direction vectors V M1M , V M2M , V to the corner reference point Tc at the midpoints P M1M , P M2M , P M3M of the intermediate lines L M1 , L M2 , L M3 M3M passes through the corner reference point Tc and is projected onto the XY plane where the normal vector Vc of the corner reference point Tc becomes the Z axis, and as shown in FIG. 30B , the projection direction vectors V S1M ′, V S2M ', V S3M ' and projection direction vectors V M1M ', V M2M ', V M3M 'are calculated.
  • the cross-sectional line L S1 and the intermediate line L excluding the cross-sectional lines L S2 and L S3 constituting this pair M1, L M2, L M3 respectively for the projection direction vector V S1M respectively corresponding to the the cross section line L S1 and the intermediate line L M1, L M2, L M3 ', V M1M', V M2M ', V M3M' Are set as a pair of other cross-sectional lines and intermediate lines corresponding to other projection direction vectors having the largest angle with the other cross-sectional lines and projection direction vectors corresponding to the intermediate lines.
  • sectional lines L S1 , L S2 , L S3 and the intermediate lines L M1 , L M2 , L M3 shown in FIG. 30A in addition to the pair of the sectional lines L S2 , L S3 , the sectional line L S1 and the intermediate line L A pair of M2, a pair of intermediate line L M1 and intermediate line L M2, and a pair of intermediate line L M3 and intermediate line L M2 are set.
  • FIG. 31 is another explanatory diagram for explaining the calculation of the first type of division lines.
  • M2 is calculated.
  • the calculation of the frame lines LF (S1, M2) , LF (M1, M2) , and LF (M3, M2) is performed in the same manner as the calculation of the frame lines LF (S2, S3) .
  • S1, M2) , PMF (M1, M2) , PMF (M3, M2) are calculated, and each midpoint PMF (S2, S3) , PMF (S1, M2) , PMF (M1, M2) M2), P MF (M3, M2) each frame in the line L F (S2, S3), L F (S1, M2), L F (M1, M2), one end point of L F (M3, M2) Tangent vectors V 1MF (S2, S3) , V 1MF (S1, M2) , V 1MF (M1, M2) , V 1MF (M3, M2) and tangent vectors V 2MF in the direction toward the other end (S2, S3) , V 2MF (S1, M2) , V 2MF ( M1, M2) and V2MF (M1,
  • FIG. 32 is still another explanatory diagram for explaining the calculation of the first type of division lines.
  • the calculated tangent vectors V 1MF (S1, M2) , V 1MF (S2 ) are obtained as shown in FIG. , S3) , V2MF (S2, S3) , V1MF (M1, M2) , V2MF (S1, M2) , V1MF (M3, M2) are one side and the other side of each frame line at the division center point Pz.
  • the cross section corresponding to the projection direction vector having the largest angle formed by the cross section line or intermediate line and the projection direction vector is the tangent in the direction toward the midpoint of the cross section line or the midline Set as a vector.
  • the frame line LF (S1, M2) connecting the intermediate line L M2 and the cross-sectional line L S1 corresponding to the projection direction vector having the largest angle formed by the projection direction vector.
  • midpoint P MF frameline L F in (S1, M2) (S1, M2) toward the midpoint of the middle line L M2 of tangent vector V 2MF (S1, M2) is an intermediate line in the split center point Pz L It is set as a tangent vector in the direction toward the middle point P M2M of M2 .
  • Division line L S1D connecting the midpoint P S1M of dividing central point Pz and cross line L S1 includes the coordinates of the middle point P S1M of dividing central point Pz and cross line L S1, cross line L S1 in the divided center point Pz and the midpoint P S1M-going direction of the tangent vector V 1MF (S1, M2), and a direction vector V S1M to the corner reference point Tc at the midpoint P S1M sectional line L S1, the calculation of the intermediate line L M1 It is calculated in the same way.
  • the other divided lines L S2D , L S3D , L M1D , L M2D , and L M3D are calculated in the same manner as the divided lines L S1D .
  • FIG. 33 is an explanatory diagram for explaining the calculation of the second type of division lines.
  • the cross-section line and the cross-section line adjacent to the cross-section line counterclockwise with respect to the normal vector of the corner reference point
  • the intermediate lines connected counterclockwise with respect to the normal vector of the corner reference point are set as a pair.
  • Each frame line L F (S1, M2), L F (S2, M3), the midpoint P MF (S1, M2) of L F (S3, M1), P MF (S2, M3), P MF ( S3, M1) is calculated, and each frame line L F (S1, M2) , L F at each midpoint P MF (S1, M2) , P MF (S2, M3) , P MF (S3, M1) (S2, M3), L F (S3, M1) one side direction of the tangent vector V 1MF (S1, M2) toward the end point of the, V 1MF (S2, M3) , V 1MF (S3, M1) and the other side
  • the tangent vectors V 2MF (S1, M2) , V 2MF (S2, M3) , V 2MF (S3, M1 ) in the direction toward the end point are calculated.
  • FIG. 34 is another explanatory diagram for explaining the calculation of the second type of division lines.
  • V 1MF (S1, M2) , V 1MF (S2 ) are obtained as shown in FIG. , M3) , V1MF (S3, M1) , V2MF (S3, M1) , V2MF (S1, M2) , V2MF (S2, M3) are one side and the other side of each frame line at the division center point Pz.
  • the division center point Pz and the midpoints P S1M , P of the section lines L S1 , L S2 , L S3 , the intermediate lines L M1 , L M2 , L M3 are used .
  • S2M, P S3M, P M1M, P M2M, the division line L S1D connecting the P M3M, L S2D, L S3D , L M1D, L M2D, L M3D is calculated.
  • the division lines L S1D , L M1D , L S2D , L M2D , L S3D , and L M3D are calculated in the same manner as the first type division line L S1D .
  • FIG. 35 is an explanatory diagram for explaining the calculation of the third type of division lines.
  • the dividing line for the third type as shown in FIG. 35A , to the corner reference point Tc at the midpoints P S1M , P S2M , P S3M of the cross-sectional lines L S1 , L S2 , L S3 .
  • direction vectors V S1M, V S2M, and V S3M intermediate line L M1, L M2, L M3A midpoint P M1M, P M2M, direction vector V M1M to the corner reference point Tc at P M3MA, V M2M, V M3MA passes through the corner reference point Tc and is projected onto the XY plane where the normal vector Vc of the corner reference point Tc is the Z axis.
  • projection direction vectors V S1M ′ and V S2M are projected.
  • V S3M ', and projection direction vectors V M1M ', V M2M ', V M3MA ' are calculated.
  • cross line L S1 except intermediate line L M3A and cross line L S2 constituting the pair, L S3 and the intermediate line L M1, L M2 respectively for each corresponding projection direction vector V S1M to the cross section line L S1, L S3 and the intermediate line L M1, L M2 ', V S3M', V M1M ', V M2M' Are set as a pair of other cross-sectional lines and intermediate lines corresponding to other projection direction vectors having the largest angle with the other cross-sectional lines and projection direction vectors corresponding to the intermediate lines.
  • the cross sectional line L S1 , L S2 , L S3 and the intermediate lines L M1 , L M2 , L M3A shown in FIG. 35A in addition to the pair of the intermediate line L M3A and the cross sectional line L S2 , the cross sectional line L S1 and the intermediate line A pair of line L M3A, a pair of cross-sectional line L S3 and intermediate line L M3A, a pair of intermediate line L M1 and intermediate line L M3A, a pair of intermediate line L M2 and intermediate line L M3A are set.
  • FIG. 36 is another explanatory diagram for explaining the calculation of the third type of division lines.
  • the intermediate line L M3A and the cross-sectional line L S2 the cross-sectional line L S1 and the intermediate line L M3A , the cross-sectional line L S3, and the intermediate line L M3A, intermediate line L M1 and the intermediate line L M3A, frame line connecting the respective center point for the middle line L M2 and the intermediate line L M3A
  • L F (M3A, S2 ) L F (S1, M3A), L F (S3, M3A), LF (M1, M3A) , and LF (M2, M3A) are calculated.
  • the calculation of the frame lines LF (S1, M3A), LF (S3, M3A), LF (M1, M3A) , LF (M2, M3A) is the same as the calculation of the frame lines LF (M3A, S2). Is calculated as follows.
  • each frame line LF (M3A, S2) , LF (S1, M3A) , LF (S3, M3A) , LF (M1, M3A) , LF (M2, M3A) M3A, S2) , PMF (S1, M3A), PMF (S3, M3A) , PMF (M1, M3A) , PMF (M2, M3A) are calculated and each midpoint PMF (M3A, S2) , PMF (S1, M3A), PMF (S3, M3A), PMF (M1, M3A) , PMF (M2, M3A) , each frame line LF (M3A, S2) , LF (S1 ) , M3A), LF (S3, M3A), LF (M1, M3A), LF (M2, M3A) , the tangent vector in the direction toward one end point and the tangent vector in the direction toward the other end point Calculated
  • FIG. 37 is still another explanatory diagram for explaining the calculation of the third type of division lines.
  • the calculated tangent vectors V 1MF (S1, M3A) , V 2MF (M3A ) as shown in FIG. , S2) , V1MF (S3, M3A) , V1MF (M1, M3A) , V1MF (M2, M3A) , V1MF (M3A, S2) are one side and the other side of each frame line at the division center point Pz.
  • the third type when there are a plurality of tangent vectors in the direction toward the midpoint of one cross-sectional line or intermediate line at the division center point, the cross-sectional line or intermediate line and the projection direction vector
  • the tangent vector in the direction toward the midpoint of the frame line cross-section line or intermediate line at the midpoint of the frame line connecting the cross-section line or intermediate line corresponding to the projection direction vector having the largest angle is It is set as a tangent vector in the direction toward the midpoint of the section line or the intermediate line.
  • the angle formed by the intermediate line L M3A and the projection direction vector intermediate line L but the largest center point P MF (M3A, S2) frame lines in L F of the projection direction frame line connecting the cross-sectional line L S2 corresponding to the vector L F (M3A, S2) ( M3A, S2) toward the midpoint of the M3A tangent vector V 1MF (M3A, S2) is set as the tangent vector in the direction toward the midpoint P M3MA the intermediate line L M3A in the divided center point Pz.
  • the closed region surrounded by the cross-sectional line and the intermediate line is divided by the dividing line and surrounded by the cross-sectional line and the intermediate line and the dividing line connected to the cross-sectional line and the midpoint of the intermediate line, respectively.
  • a plurality of divided areas are formed, and a free-form surface is formed in each divided area to create a fillet.
  • FIG. 38 is an explanatory diagram for explaining the formation of a curved surface in a closed region surrounded by a cross-sectional line and an intermediate line.
  • cross line L S1, L S2, L S3 and the intermediate line L M1, L M2, L M3 is closed area A 1 division line surrounded by A plurality of divided areas A 11 to A 16 are formed by being divided by L S1D , L S2D , L S3D , L M1D , L M2D , and L M3D .
  • each of the divided regions A 11 ⁇ A 16 direction toward the inner side of the divided regions A 11 section lines constituting the ⁇ A 16, divided perpendicular to an intermediate line and two divided line regions A 11 ⁇ A 16 are calculated.
  • the gradient vector in the orthogonal direction at the end points on both sides is calculated for each of the cross-sectional line, the intermediate line, and the two divided lines constituting the divided regions A 11 to A 16 .
  • the intermediate line L M2 as the direction of the gradient vector orthogonal, the direction of the tangent vector V LS2E toward the corner boundary point P S2 at the end P S2E sectional line L S2 is the end point P S2E is calculated in one of the end points P S2E is, as the direction of the gradient vector orthogonal in other endpoint P M2M, direction vector V M2M to the corner reference point Tc at the end point P M2M is calculated.
  • a tangent vector V LM2M in the direction toward the inner side of the division area A 13 at the middle point P M2M of the intermediate line L M2 is calculated as a gradient vector in the orthogonal direction at one end point P M2M .
  • the tangent vector V 1MF (S2, M3) in the direction toward the middle point P S2M of the sectional line L S2 at the division center point Pz is calculated as the gradient vector in the orthogonal direction at the division center point Pz that is the other end point. .
  • a tangent vector V 2MF (S1,%) In the direction toward the middle point P M2M of the intermediate line L M2 at the dividing center point Pz is used as a gradient vector in the orthogonal direction at the dividing center point Pz that is one end point . M2) is calculated, and a tangent vector V LS2M in the direction toward the inner side of the divided area A 13 at the midpoint P S2M of the cross-sectional line L S2 is calculated as a gradient vector in the orthogonal direction at the other end point P S2M . .
  • both sides of the end point P S2M sectional line L S2 the direction of the gradient vector V toward the inner side of the divided regions A 13 in the direction orthogonal to the inter-P S2E S22, both sides of the end point P S2M, orthogonal direction of the gradient vector V S2M in P S2E, interpolation from V S2M, is specifically calculated using linear interpolation.
  • the Coons curved surface is generated in the divided areas A 11 to A 16 using the shape and the gradient vector of each line.
  • a known free-form surface such as a free-form surface is formed to form a corner-shaped curved surface, and a fillet is created in the corner area of the ridgeline.
  • a free-form surface is formed in each of the divided regions surrounded by the sectional line and the intermediate line and the dividing line connected to the middle point of the sectional line and the intermediate line by dividing the closed region surrounded by the sectional line and the intermediate line by the dividing line.
  • a fillet is formed in the corner area of the ridgeline.
  • FIG. 39 is a diagram showing a fillet formed in a corner area of a ridge line.
  • FIG. 39 (a) shows the case where the corner type shown in FIG. 32 (b) is the first type
  • FIG. 39 (b) shows the case where the corner type shown in FIG. 34 (b) is the second type
  • FIG. 39C shows the case where the corner type shown in FIG. 37B is the third type.
  • FIG. 39 shows a state in which a mesh that divides each divided region into four elements is formed.
  • free curved surfaces are respectively formed in the divided areas obtained by dividing the closed area surrounded by the sectional line and the intermediate line by the dividing line.
  • a corner shape as a fillet is created in the corner area of the ridgeline.
  • the fillet section line is calculated based on the fillet radius set to the ridge line at the corner boundary points of the plurality of ridge lines that merge with the corner reference point, and the middle connecting the section lines A line is calculated, and a fillet is created by forming a curved surface in a closed region surrounded by a cross-sectional line and an intermediate line.
  • a corner region where three ridge lines merge with the corner reference point is described.
  • a fillet is created for the corner area of the ridge line in the same manner as the corner area where the three ridge lines meet the corner reference point.
  • the ridgeline for creating the fillet is extracted from the data of the three-dimensional shape model, and when creating the fillet with the fillet radius set to the ridgeline, the ridgeline is degenerated.
  • An area, a corner area, a fillet interference area, and a basic area are calculated, and fillets are automatically created for the entire ridge line according to the degenerate area, corner area, fillet interference area, and basic area.
  • mesh data obtained by dividing a finite element from the three-dimensional shape model 1 is created, ridge lines are extracted from the three-dimensional shape model 1, and a degenerate region, a corner region, a fillet interference region, and a basic region are calculated for each ridge line.
  • the fillet mesh data is created by automatically creating fillets for the entire ridge line in accordance with the reduced region, corner region, fillet interference region, and basic region. Then, the fillet mesh data is combined with the mesh data obtained by dividing the three-dimensional shape model 1 into finite elements, and mesh data of the three-dimensional shape model in which the fillet is created is created.
  • the portion in which the fillet is created using the fillet radius obtained by correcting the fillet radius set in the ridge line by the user Specifically, the fillet formed in the ridgeline degeneration region, fillet interference region, and correction corner region is highlighted to notify the user.
  • FIG. 40 is a block diagram showing the overall configuration of the automatic fillet creation system according to the first embodiment of the present invention.
  • the automatic fillet creation system according to the first embodiment of the present invention is configured to create an automatic fillet according to the above-described embodiment.
  • the automatic fillet creation system is configured around a computer 100.
  • the computer 100 inputs a central processing unit 101 and a keyboard or the like for inputting a fillet radius of a fillet to be created on a ridge line.
  • an output device 105 such as a printer for outputting a three-dimensional shape model in which a fillet is created.
  • the central processing unit 101 controls the input device 102, the display device 103, and the output device 105 and is configured to be accessible to the storage device 104.
  • Information input via the input device 102 and the information stored in the storage device 104 are stored in the central processing unit 101. It is configured to automatically create a fillet in the three-dimensional shape model using the existing program and data, and to store the three-dimensional shape model in which the fillet is created in the storage device 104.
  • FIG. 41 is a diagram showing the configuration of the storage device of the system shown in FIG.
  • the storage device 104 includes a program storage unit and a data storage unit.
  • the program storage unit includes an automatic fillet creation program that automatically creates a fillet in the 3D shape model, a mesh creation program that creates a mesh by dividing the 3D shape model into finite elements, and a ridge line that extracts a ridge line from the 3D shape model Extraction program, reduced area calculation program for calculating the ridgeline reduced area, corner area calculation program for calculating the corner area of the ridgeline, fillet interference area calculation program for calculating the fillet interference area of the ridgeline, basic area for calculating the basic area of the ridgeline
  • a calculation program, a fillet creation program for creating fillets on each ridgeline, a display program for displaying a three-dimensional shape model, and the like are stored.
  • the data storage unit stores a 3D shape model data file in which data of the 3D shape model is stored, a condition data file in which edge line extraction condition data and degeneration determination angle data are stored, mesh data of the 3D shape model A mesh data file that stores the mesh data of the 3D shape model in which the fillet is created, a ridge line data file that stores the extracted ridge line data, and a fillet radius data file that stores the fillet radius data set for the ridge line , A degenerate area data file in which a ridgeline degenerate area is stored, a corner area data file in which a ridgeline corner area is stored, a fillet interference area data file in which a ridgeline fillet interference area is stored, and a basic ridgeline area are stored Basic area data file and fillet Such as fillet mesh data file Sshudeta is stored is stored.
  • FIG. 42 is a flowchart showing an automatic fillet creation operation by the automatic fillet creation system.
  • the computer 100 stores the data of the three-dimensional shape model in the three-dimensional shape model data file by the user, and also determines the fold determination angle as the edge line extraction condition data. Data, boundary line grouping definition data, and degeneration determination angle data are recorded in the condition data file.
  • Various data for automatically creating fillets in the 3D shape model specifically 3D shape model data, fold detection angle data as boundary extraction conditions, boundary line grouping definition data, and degeneration determination angle data
  • a calculation for automatically creating a fillet in the three-dimensional shape model is performed in the stored state.
  • step S1 various data for automatically creating a fillet in the three-dimensional shape model is acquired.
  • data of a three-dimensional shape model is acquired (step S1)
  • fold determination angle data, boundary line grouping definition data, and degeneration determination angle data are acquired as ridge line extraction condition data (step S2).
  • step S3 mesh data obtained by dividing the three-dimensional shape model into finite elements is created (step S3), and the created mesh data is stored in a mesh data file.
  • a ridge line where a fillet is created is extracted from the data of the three-dimensional shape model based on the ridge line extraction condition data (step S4).
  • Boundary lines greater than the fold detection angle are extracted from the 3D shape model data based on the fold detection angle as the ridge line extraction condition, and the extracted boundary lines are grouped based on the boundary line grouping definition as the ridge line extraction condition And extracted as a ridgeline.
  • the extracted ridge line is stored in a ridge line data file.
  • the extracted ridge lines are displayed on the display device 103 together with the three-dimensional shape model 1, and then the fillet radii set for the ridge lines by the user via the input device 102 are acquired (step S5). ).
  • the fillet radius set for each ridge line is acquired, the fillet radius is stored in the fillet radius data file, and the degenerate area of the ridge line is calculated (step S6).
  • FIG. 43 is a flowchart showing a degenerate area calculation operation.
  • a reduced reference point is extracted from the ridge line extracted in step S4 (step S21).
  • a merging point at which only two ridge lines meet and the angle between the two ridge lines is equal to or smaller than the degeneration determination angle acquired in step S2 is extracted as a degeneration reference point.
  • a degeneration boundary point is calculated (step S22). For the two ridge lines that merge with the degeneration reference point, a boundary point where fillets created from the degeneration reference point to the two ridge lines interfere with each other is calculated as a degeneration boundary point.
  • an area from the degenerate reference point to the degenerate boundary point is calculated as a degenerate area (step S23).
  • the correction fillet radius is calculated for the reduced area (step S24).
  • the nearest point of the other ridge line is calculated and the closest point distance is calculated for the constituent points in the reduced region of one ridge line that merges with the degenerate reference point, and the nearest point distance is set to two ridge lines that merge with the degenerate reference point
  • the corrected fillet radius is calculated based on the distance proportionally distributed according to the fillet radius.
  • the calculated reduced area and corrected fillet radius are stored in the reduced area data file.
  • the corner area of the ridge line is calculated as shown in FIG. 42 (step S7).
  • FIG. 44 is a flowchart showing the corner area calculation operation.
  • a corner reference point is extracted from the ridge line extracted in step S4 (step S31).
  • a merging point where a plurality of ridge lines merge and a merging point excluding the degeneracy reference point extracted in step S21 is extracted as a corner reference point.
  • a corner boundary point is calculated (step S32). Boundary points that are separated by a predetermined distance set based on fillet radii respectively set on a plurality of ridge lines that meet the corner reference point are calculated as corner boundary points. When the corner boundary point is calculated, an area from the corner reference point to the corner boundary point is calculated as a corner area of the ridge line (step S33).
  • step S34 it is determined whether or not the corner area interferes with the corner area calculated for other corner reference points.
  • the nearest corner reference point is extracted from the other corner reference points where multiple ridges that meet the corner reference point meet, and the distance between the corner reference points is calculated. It is determined whether the distance between the corner reference points is smaller than the sum of the distance from the corner reference point to the corner boundary point and the distance from the nearest corner reference point to the corner boundary point.
  • step S34 determines whether the distance between the corner reference points is not smaller than the sum of the distance from the corner reference point to the corner boundary point and the distance from the nearest corner reference point to the corner boundary point. If it is determined that the corner area does not interfere, the corner area calculated in step S33 is used as the corner area, and the fillet interference area of the ridge line is calculated as shown in FIG. 42 (step S8).
  • step S34 determines whether the corner area interferes. If it is determined that the corner area interferes, a corrected corner area is calculated for the corner area (step S35).
  • the correction corner area is calculated based on the fillet radius set for multiple ridgelines that meet the corner reference point from the distance between corner reference points and the fillet radius set for multiple ridgelines that meet the nearest corner reference point.
  • a corrected corner boundary point separated by a predetermined distance is calculated, and an area from the corner reference point to the corrected corner boundary point is calculated as a corrected corner area.
  • the correction corner area is used as the corner area.
  • the calculated corner area and corrected corner area are stored in a corner area data file. Then, as shown in FIG. 42, calculation of the fillet interference area of the ridge line is performed (step S8).
  • FIG. 45 is a flowchart showing the calculation operation of the fillet interference area.
  • the fillet interference region is calculated from the ridge line extracted in step S4 (step S41).
  • the nearest point of the other ridge lines excluding the corner area is calculated and the nearest point distance is calculated for each constituent point of the ridge line. Whether the distance is smaller than the sum of the distance between the component point and the R stop point of the fillet created on the ridge line having the component point, and the distance between the closest point and the R stop point of the fillet created on the ridge line having the nearest point It is determined whether or not, and an area formed by composing points of the ridge line determined to be small is calculated as a fillet interference area.
  • a corrected fillet radius is calculated for the fillet interference area (step S42).
  • the nearest point of the nearest other ridge line is calculated for the constituent points of the fillet interference area of the ridge line, the nearest point distance is calculated, and the distance between the closest point points is proportionally distributed according to the fillet radius set for the two ridge lines
  • the correction fillet radius is calculated based on The calculated fillet interference area and corrected fillet radius are stored in a fillet interference area data file.
  • the fillet interference area is corrected using the corrected fillet radius corrected for the degenerate area instead of the fillet radius set in the ridge line. And a corrected fillet radius in the fillet interference region is calculated.
  • the basic area of the ridge line is calculated as shown in FIG. 42 (step S9).
  • an area excluding the degenerate area, the corner area, and the fillet interference area from the ridge line extracted in step S4 is calculated as the basic area of the ridge line.
  • the calculated basic area is stored in a basic area data file.
  • fillets are automatically created for the reduced area, corner area, fillet interference area, and basic area of the ridgeline (steps S10 to S13). ).
  • step S10 a fillet is created for the reduced area of the ridgeline, and a fillet of the corrected fillet radius calculated in step S24 is created for the reduced area of the ridgeline.
  • a fillet with a corrected fillet radius is created for each degenerate region of the ridgeline.
  • a fillet is created for the corner area of the ridgeline in step S11.
  • FIG. 46 is a flowchart showing the fillet creation operation of the corner area.
  • the normal vector of the corner reference point is calculated (step S51).
  • An average normal vector of a surface constituted by a plurality of ridge lines meeting the corner reference point is calculated as a normal vector of the corner reference point.
  • the fillet cross-section line is calculated based on the fillet radius set to the ridgeline at the corner boundary point of the ridgeline that merges with the corner reference point (step S52).
  • the fillet cross section line is calculated using the corrected fillet radius corrected for the fillet interference area instead of the fillet radius set in the ridge line. .
  • an intermediate line connecting the cross-section lines adjacent to each other in the counterclockwise direction with respect to the normal vector of the corner reference point is calculated (step S53).
  • the direction vector to the corner reference point at the corner boundary point is set as the direction vector to the corner reference point at the start point and end point of the cross section line, and at the start point and end point of the adjacent cross section line, and at the start point and end point
  • An intermediate line is calculated from the direction vector to the corner reference point using a cubic Bezier curve.
  • step S54 it is determined whether or not to correct the intermediate line.
  • the correction of the intermediate line is determined by whether or not a corner reference point exists in the closed region surrounded by the cross-sectional line and the intermediate line. If it is determined that the corner reference point does not exist in the closed region, the intermediate line is determined. Is determined to be corrected.
  • step S54 determines whether there is no corner reference point in the closed region surrounded by the cross-sectional line and the intermediate line and it is determined that the intermediate line is to be corrected. If the determination result in step S54 is yes, that is, if it is determined that there is no corner reference point in the closed region surrounded by the cross-sectional line and the intermediate line and it is determined that the intermediate line is to be corrected, the calculation is performed in step S53. The intermediate line is corrected (step S55).
  • the intermediate line to be corrected is specified from the intermediate line connecting the cross-sectional lines, and the intermediate line is set so that the corner reference point exists in the closed region by the cross-sectional line and the intermediate line for the specified intermediate line. Is fixed.
  • the direction vector to the corner reference point at the midpoint of the cross-sectional line and the intermediate line is calculated (step S56).
  • step S54 determines whether a corner reference point exists in the closed region surrounded by the cross-sectional line and the intermediate line, and it is determined not to correct the intermediate line.
  • the intermediate line is corrected. Instead, the direction vector to the corner reference point at the midpoint of the cross-sectional line and the intermediate line is calculated (step S56). Then, the corner type is calculated for the closed region surrounded by the cross-sectional line and the intermediate line (step S57).
  • FIG. 47 is a flowchart showing the corner type calculation operation. In the calculation of the corner type, as shown in FIG. 47, it is determined whether or not the intermediate line has been corrected for the closed region surrounded by the cross-sectional line and the intermediate line (step S71).
  • step S71 When the determination result in step S71 is no, that is, when it is determined that the intermediate line is not corrected for the closed region surrounded by the cross-sectional line and the intermediate line, the direction vector to the corner reference point at the midpoint of the cross-sectional line It is determined whether or not the maximum angle is 135 degrees or more (step S72). Whether or not the maximum angle between the direction vectors to the corner reference point is 135 degrees or more is determined by using two projection direction vectors for the projection direction vector on which the direction vector to the corner reference point is projected at the midpoint of the section line. It is determined whether or not the maximum angle is 135 degrees or more.
  • step S72 determines whether the maximum angle between the direction vectors to the corner reference point at the midpoint of the cross-section line is 135 degrees or more, the closed region surrounded by the cross-section line and the intermediate line
  • the corner type is calculated as the first type for the region (step S73).
  • step S72 determines whether or not there are two (step S74), and it is determined whether or not there are two cross-sectional lines.
  • step S74 Even in the case where the determination result in step S74 is yes, that is, in the case where it is determined that there are two ridge lines joining the corner reference point, the corner type is the first for the closed region surrounded by the cross-sectional line and the intermediate line. The type is calculated (step S73).
  • step S74 determines whether there are not two ridgelines that meet the corner reference point. If the determination result in step S74 is no, that is, if it is determined that there are not two ridgelines that meet the corner reference point, the corner type is set as the second type for the closed region surrounded by the cross-sectional line and the intermediate line. Calculated (step S75).
  • step S71 determines whether the intermediate line has been corrected for the closed region surrounded by the cross-sectional line and the intermediate line. If the determination result in step S71 is yes, that is, if it is determined that the intermediate line has been corrected for the closed region surrounded by the cross-sectional line and the intermediate line, the corner type is set for the closed region surrounded by the cross-sectional line and the intermediate line. Calculated as the third type (step S76).
  • Step S58 When the corner type is calculated for the closed region surrounded by the cross-sectional line and the intermediate line, the division center point is calculated in the closed region surrounded by the cross-sectional line and the intermediate line according to the corner type calculated in step S57 ( Step S58).
  • the division line that divides the closed area surrounded by the cross-section line and the intermediate line is calculated by connecting the division center point and the mid-point of the cross-section line and the intermediate line according to the corner type. (Step S59).
  • the closed region surrounded by the cross-sectional line and the intermediate line is divided by the dividing line and surrounded by the cross-sectional line and the intermediate line and the dividing line connected to the cross-sectional line and the midpoint of the intermediate line, respectively.
  • a plurality of divided areas are formed, free-form surfaces are formed in the divided areas, and fillets are created for the corner areas of the ridgeline (step S60). For each corner reference point, a fillet is created for the corner area of the ridgeline that meets the corner reference point.
  • a fillet is created for the ridge line fillet interference region in step S12, and a fillet having the corrected fillet radius calculated in step S41 is created for the ridge line fillet interference region.
  • a fillet having a corrected fillet radius is created for each fillet interference region of the ridge line.
  • step S13 a fillet is created for the basic area of the ridgeline, and a fillet with a fillet radius set to the ridgeline is created for the basic area of the ridgeline.
  • a fillet with a fillet radius set for each ridgeline is created for each basic area of the ridgeline.
  • the fillet mesh data created for the ridgeline degenerate region, corner region, fillet interference region and basic region calculated in steps S10 to S13 is stored in the fillet mesh data.
  • the mesh data of the created fillet is combined with the mesh data divided into finite elements from the 3D shape model to create a 3D shape.
  • the mesh data of the model is changed, and mesh data of the three-dimensional shape model in which the fillet is created is created (step S14).
  • a ridge line for creating a fillet is extracted from the three-dimensional shape model, a degenerate area, a corner area, a fillet interference area, and a basic area are calculated for each ridge line, and a degenerate area, a corner area, and a fillet interference area are calculated for the entire ridge line.
  • a fillet is automatically created according to the basic area.
  • a reduced area, a corner area, a fillet interference area, and a basic area are calculated for each ridge line, and fillets are created for the entire ridge line according to the reduced area, the corner area, the fillet interference area, and the basic area. It is also possible to calculate at least one of a degenerate area, a corner area, and a fillet interference area for the ridgeline, and create a fillet according to the calculated area.
  • the ridge line is extracted from the three-dimensional shape model, the fillet radius of the fillet to be created in the extracted ridge line is acquired, and the merge point is merged among the extracted ridge lines.
  • an area from the joining point to a boundary point separated by a predetermined distance set based on the fillet radius is calculated as a corner area.
  • the fillet cross-section line is calculated based on the fillet radius for each of the boundary points of the plurality of ridge lines joining the confluence, and the intermediate line connecting the cross-section lines is calculated,
  • a fillet is created by forming a curved surface in a closed region surrounded by lines.
  • the fillet of the calculated fillet is calculated for each corner area where the fillets interfere with each other. Since the fillet can be formed by forming a curved surface in a closed region surrounded by the intermediate line connecting the cross-sectional lines and the cross-sectional lines, the fillet can be reliably and automatically applied to the three-dimensional shape model without requiring a database. Can be created.
  • the fillet shape varies depending on the order in which the fillets are created for the corner areas where the fillets interfere with each other, or the fillet itself cannot be created depending on the 3D shape model It is possible to prevent the occurrence of the fillet, and the fillet can be created surely and automatically in the three-dimensional shape model.
  • a division center point is calculated in a closed region surrounded by the cross-section line and the intermediate line, and a division line connecting the division center point, the cross-section line, and the midpoint of the intermediate line is calculated.
  • a free-form surface is formed in each of the divided areas surrounded by the cross-section line and the intermediate line and the division line connected to the mid-point of the cross-section line and the intermediate line, thereby creating a fillet. A fillet can be created.
  • the area from the merge point to the boundary point where the fillets interfere when the fillet is created on each of the two ridgelines Is calculated as a degenerate area, and a fillet with a corrected fillet radius is created by correcting the fillet radius so that the fillets do not interfere with each other in the degenerate area of the ridgeline.
  • the fillet interference area is calculated as the fillet interference area.
  • a fillet having a corrected fillet radius obtained by correcting the fillet radius so as not to interfere is created.
  • a region excluding the degenerate region, the corner region, and the fillet interference region is calculated as a basic region, and a fillet radius fillet is created for the basic region of the ridge line.
  • a fillet with a fillet radius can be formed for the basic region, and a fillet can be reliably and automatically created in the three-dimensional shape model.
  • FIG. 48 is an explanatory diagram for explaining calculation of a division line by creating an automatic fillet according to the second embodiment of the present invention. Also in the creation of the automatic fillet according to the second embodiment of the present invention, when calculating the dividing line, as shown in FIG. 48A, the sectional lines L S1 , L S2 , L S3 at the dividing center point Pz.
  • V 1MF (S1, M2) , V 1MF (S2, M2) in the direction toward the middle points P M1 , L M2 , L M3 , P S1M , P S2M , P S3M , P M1M , P M2M , P M3M S3) , V1MF (S3, M1) , V2MF (S3, M1) , V2MF (S1, M2) , V2MF (S2, M3) are calculated.
  • the tangent vector V 1MF (S1, M2 ) is the outer product vector V 1MF (S1, M2) with the adjacent tangent vector V 2MF (S3, M1 ). * V2MF (S3, M1) is calculated.
  • the other tangent vectors V 2MF (S3, M1) , V 1MF (S2, M3) , V 2MF (S1, M2) , V 1MF (S3, M1) , and V 2MF (S2, M3) are also in the same direction.
  • Cross product vectors of adjacent tangent vectors V 1MF (S2, M3) , V 2MF (S1, M2) , V 1MF (S3, M1) , V 2MF (S2, M3) , V 1MF (S1, M2) are calculated.
  • the average value of the outer product vectors with the adjacent tangent vectors calculated for each tangent vector is calculated, and the average value of the outer product vectors is calculated as the normal vector Vz of the division center point Pz.
  • FIG. 49 is another explanatory diagram for explaining calculation of the division line by creating the automatic fillet.
  • the normal vector Vz of the division center point Pz is calculated, as shown in FIG. 49A , tangent vectors V 1MF (S1, M2) , V 1MF (S2, M3) , V 1MF (S3, M1) , V 2MF (S3, M1) , V 2MF (S1, M2) , V 2MF (S2, M3) are projected onto a plane orthogonal to the normal vector Vz of the division center point Pz through the division center point Pz.
  • V 1MF (S1, M2) ' , V 1MF (S2, M3)', V 1MF (S3, M1) ', V 2MF (S3, M1)', V 2MF (S1, M2) ' , V 2MF (S2, M3) ′ is calculated.
  • the plane F XY (plane indicated by a two-dot chain line) in which the tangent vector V 1MF (S1, M2) passes through the division center point Pz and is orthogonal to the normal vector Vz of the division center point Pz.
  • the corrected tangent vector V 1MF (S1, M2) ′ projected and corrected to is calculated.
  • Other correction tangent vectors V 1MF (S2, M3) ′, V 1MF (S3, M1) ′, V 2MF (S3, M1) ′, V 2MF (S1, M2) ′, V 2MF (S2, M3) ′ Is similarly calculated.
  • dividing line When the dividing line is calculated, a plurality of divided areas are formed by dividing the closed area surrounded by the cross-section line and the intermediate line by the dividing line, and a free-form surface is formed in each divided area to create a fillet.
  • the corrected tangent vector corrected by projecting the tangent vector in the direction toward the midpoint of the section line and the intermediate line at the division center point onto the same plane is used.
  • the divided areas can be smoothly connected at the division center point, so that the fillet can be formed smoothly at the division center point.
  • FIG. 50 is an explanatory diagram for explaining the formation of a curved surface in a closed region surrounded by a sectional line and an intermediate line by creating an automatic fillet according to the third embodiment of the present invention.
  • the closed region A 1 surrounded by the cross-sectional lines L S1 , L S2 , L S3 and the intermediate lines L M1 , L M2 , L M3 is divided into the division lines L S1D ′, L S2D ′, L S3D.
  • a plurality of divided areas A 11 ′ to A 16 ′ are formed by being divided by ', L M1D ', L M2D ', and L M3D '.
  • FIG. 51 is another explanatory diagram for explaining the formation of a curved surface in a closed region surrounded by a cross-sectional line and an intermediate line by the creation of the automatic fillet.
  • the gradient vector in the orthogonal direction at the end points on both sides is calculated for each of the cross-sectional line, the intermediate line, and the two divided lines constituting the divided regions A 11 ′ to A 16 ′.
  • one end point of the sectional line L S2 as the direction of the gradient vector perpendicular in P S2M, direction vector V S2M to the corner reference point Tc is calculated in the end point P S2M, as the direction of the gradient vector orthogonal in other endpoint P S2E, corner reference point in the end point P S2E
  • a direction vector V S2M to Tc is calculated.
  • the intermediate line L M2 as the direction of the gradient vector orthogonal, the direction of the tangent vector V LS2E toward the corner boundary point P S2 at the end P S2E sectional line L S2 is the end point P S2E is calculated in one of the end points P S2E is, as the direction of the gradient vector orthogonal in other endpoint P M2M, direction vector V M2M to the corner reference point Tc at the end point P M2M is calculated.
  • the gradient vector in the direction orthogonal to the one end point P M2M has a direction toward the inner side of the dividing area A 13 ′ at the middle point P M2M of the intermediate line L M2 .
  • the tangent vector VLM2M1 is calculated, and the outer product of the corrected tangent vector V2MF (S1, M2) ′ and the normal vector Vz of the split center point Pz as the gradient vector in the orthogonal direction at the split center point Pz that is the other end point.
  • the vector V 2MF (S1, M2) ′ ⁇ Vz is calculated.
  • the normal vector Vz of the dividing center point Pz and the corrected tangent vector V 1MF (S2, M3) 'outer product vector Vz ⁇ V 1 mF and (S2, M3)' is calculated, as the direction of the gradient vector orthogonal in other endpoint P S2M, split at the midpoint P S2M sectional line L S2 A tangent vector V LS2M2 in the direction toward the inner side of the region A 13 ′ is calculated.
  • division ' the sides of the end point P S2M sectional line L S2
  • the gradient vector V M21 in the direction toward the inward side of the divided region A 13 ′ that is orthogonal between the end points P S2E and P M2M on both sides of the intermediate line L M2 is represented by the end points P S2E and P on both sides. It is calculated from the gradient vectors V LS2E and V M2M in the orthogonal direction in M2M using an interpolation method.
  • Division line L M2D 'For the division line L M2D' both sides of the end point P M2M the 'direction of the gradient vector V M2D1 toward the inner side of the' divided regions A 13 perpendicular about between Pz are on both sides of the end point P M2M , Pz are calculated from the gradient vectors V LM2M1 and V 2MF (S1, M2) ′ ⁇ Vz in the orthogonal direction using an interpolation method.
  • the gradient vector V S2D2 ′ in the direction toward the inner side of the divided area A 13 ′ orthogonal to the end points Pz and P S2M on both sides of the dividing line L S2D ′ direction of the gradient vector Vz ⁇ V 1 mF perpendicular in P S2M (S2, M3) ' , is calculated using the interpolation from the V LS2M2.
  • the divided areas A 11 ′, A 12 ′, and A 14 ′ to A 16 ′ are divided at right angles to the sectional line, the intermediate line, and the two divided lines that constitute the divided area.
  • a gradient vector in the direction toward the inward side of the region is calculated.
  • the gradient vector V M2D2 ′ in the direction toward the inner side of the divided region A 14 ′ that is orthogonal between the end points P M2M and Pz on both sides of the dividing line L M2D ′ is a direction orthogonal to the end points P M2M and Pz on both sides.
  • the gradient vector V LM2M2 , Vz ⁇ V 2MF (S1, M2) ′ is calculated using an interpolation method.
  • Gradient vectors V LM2M2 and Vz ⁇ V 2MF (S1, M2) ′ in the orthogonal directions at the end points P M2M and Pz on both sides of the dividing line L M2D ′ constituting the dividing area A 14 ′ respectively represent the dividing area A 13 ′. It is calculated as an inverse vector of gradient vectors V LM2M1 , V 2MF (S1, M2) ′ ⁇ Vz in the orthogonal directions at the end points P M2M , Pz on both sides of the constituting divided line L M2D ′, and constitutes a divided region A 14 ′.
  • Vz is calculated, and a tangent vector V LM2M1 in the direction toward the inward side of the divided region A 12 ′ at the midpoint P S2M of the cross-sectional line L S2 is calculated as a gradient vector in the orthogonal direction at the other end point P S2M . .
  • the gradient vector V S2D1 ′ in the direction toward the inner side of the divided region A 12 ′ that is orthogonal between the end points Pz and P S2M on both sides of the dividing line L S2D ′ is the direction orthogonal to the end points Pz and P S2M on both sides.
  • the gradient vector V 1MF (S2, M3) ′ ⁇ Vz, V LS2M1 is calculated using an interpolation method.
  • the gradient areas V 1MF (S2, M3) ′ ⁇ Vz and V LS2M1 in the orthogonal directions at the end points Pz, P S2M on both sides of the dividing line L S2D ′ constituting the divided area A 12 ′ are also divided areas A 13 ′.
  • the direction of the gradient vector directed inward of the divided regions A 11 section lines constituting the ' ⁇ A 16', divided areas A 11 perpendicular to an intermediate line and the two split lines ' ⁇ A 16' Is calculated, the gradient vector in the direction toward the inward side of the divided region orthogonal to the divided line is calculated as an inverse vector for the divided regions adjacent to each other with the divided line interposed therebetween.
  • the gradient vector in the direction toward the inward side of each divided region orthogonal to the divided line is calculated as an inverse vector for the divided regions adjacent to each other with the divided line interposed therebetween.
  • the division line is calculated using the corrected tangent vector in which the tangent vector in the direction toward the midpoint of the cross-sectional line and the intermediate line at the division center point Pz is calculated, and the division line is orthogonal to the division line.
  • the gradient vector in the direction toward the side is calculated, but instead of the corrected tangent vector in which the tangent vector in the direction toward the midpoint of the cross-sectional line and the intermediate line at the division center point Pz is corrected, the first embodiment is used.
  • the cross-section line and intermediate line at the division center point Pz according to the first embodiment.
  • the division vector is calculated using the tangent vector in the direction toward the point, and the gradient vector in the direction toward the inward side of the division area orthogonal to the division line is calculated. It is also possible to calculate the LE.
  • adjacent gradient areas in the direction toward the inner side of the divided areas orthogonal to the divided lines are calculated as inverse vectors for adjacent divided areas with the divided lines interposed therebetween.
  • the fillet can be formed more smoothly with respect to the divided areas to be performed.
  • calculation is performed for each constituent point of the ridge line extracted from the three-dimensional shape model.
  • calculation is performed using sampling points set at predetermined intervals on the ridge line, and linearity is obtained between the sampling points. It is also possible to calculate using an interpolation method such as an interpolation method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

三次元形状モデルから稜線を抽出し、稜線に作成するフィレットのフィレット半径を取得し、稜線のうち合流点に合流する複数の稜線について、合流点からフィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出し、稜線のコーナー領域について、合流点に合流する複数の稜線の境界点についてそれぞれフィレット半径に基づいてフィレットの断面ラインを算出し、断面ライン間を接続する中間ラインを算出し、断面ラインと中間ラインによって囲まれる閉領域内に曲面を形成してフィレットを作成する。

Description

自動フィレット作成システム及びプログラム
 本発明は、CAD装置において三次元形状モデルに自動的にフィレットを作成する自動フィレット作成システム及びプログラムに関する。
 三次元形状モデルを作成するCAD装置では、三次元形状モデルについて稜線に所定のフィレット半径を有するフィレットを作成して稜線を滑らかに丸めることが一般に行われている。
 三次元形状モデルに作成されるフィレットは、デザイン上のフィレットと成形上のフィレットとに大別され、三次元形状モデルに成形上のフィレットを作成する場合は三次元形状モデルの稜線全体にフィレットが作成されることから非常に多くのフィレットが作成されることがある。
 例えば有限要素法を用いて金属板のプレス成形をシミュレーションする成形シミュレーションにおいて、金属板やプレス工具の三次元形状モデルを作成し、プレス工具の三次元形状モデルの稜線全体に成形上のフィレットを作成する場合、非常に多くのフィレットを作成することがある。
 このように多くのフィレットを作成する場合などでは、稜線ごとにフィレットを作成することは多大な工数を必要とすることから、稜線に作成するフィレットのフィレット半径を稜線全体について設定した後に稜線全体について一括して自動的にフィレットを作成して滑らかに丸めることが求められている。
 しかしながら、複数の稜線に単にフィレットを作成するだけでは、複数の稜線が合流する合流部で各稜線のフィレットどうしが干渉することとなる。従来のCAD装置では、フィレットを作成する順番を設定するようにしたものが知られているが、フィレットを作成する順番が異なると合流部におけるフィレットの形状が異なったり三次元形状モデルによっては合流部にフィレットを作成すること自体ができなくなったりする場合がある。
 これに対し、例えば特許文献1には、複数の稜線が合流する合流点を抽出すると共に稜線の各々を2つに分割した分割稜線を作成し、合流点及び該合流点に合流する複数の分割稜線を1つの作成単位として、作成単位ごとに、各分割稜線に設定されたフィレット半径のフィレットを仮作成するとともに仮作成したフィレットどうしの相関に基づいて合流点におけるフィレットの合成手順を決定するようにしたフィレット作成装置が開示されている。
 前記フィレット作成装置はまた、合流点におけるフィレットの合成手順を定義するパターンをデータベースに複数種類記憶させておき、フィレットの合成手順を決定する際に、データベースを参照してデータベースに記憶された複数種類のパターンの中から作成単位に適用する合成手順を選択するようになっている。
 このフィレット作成装置によれば、作成単位ごとに、他の作成単位に作成するフィレットを考慮することなく作成単位内でフィレットを作成できるので、バッチ処理によって三次元形状モデル全体にフィレットを作成することができるとされている。
特許第4179355号公報
 前記特許文献1に記載のフィレット作成装置では、フィレットの合成手順を決定する際に、データベースに記憶されたフィレットの合成手順を定義する複数種類のパターンの中から作成単位に適用する合成手順を選択するようになっているが、三次元形状モデルによってはパターンにない形状の場合には選択することができずにフィレットの合成手順を決定することができないおそれがある。
 また、あらゆる三次元形状モデルについてフィレットの合成手順を決定することができるようにフィレットの合成手順を定義するパターンをすべて準備してデータベースに記憶させておくことは、非常に多大な手間を要することとなる。
 そこで、本発明は、データベースを要することなく、三次元形状モデルに確実に且つ自動的にフィレットを作成することができる自動フィレット作成システム及びプログラムを提供することを課題とする。
 前記課題を解決するため、本発明に係るシステムは、三次元形状モデルに自動的にフィレットを作成する自動フィレット作成システムであって、前記三次元形状モデルからフィレットが作成される稜線を抽出する稜線抽出手段と、前記稜線抽出手段によって抽出された前記稜線に作成するフィレットのフィレット半径を取得するフィレット半径取得手段と、前記稜線抽出手段によって抽出された前記稜線のうち複数の稜線が合流する合流点に合流する複数の稜線について、前記合流点から前記フィレット半径取得手段によって取得された前記フィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出するコーナー領域算出手段と、前記コーナー領域算出手段によって算出された前記稜線のコーナー領域について、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径に基づいてフィレットの断面ラインを算出し、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ算出された前記断面ライン間を接続する中間ラインを算出し、前記断面ラインと前記中間ラインによって囲まれる閉領域内に曲面を形成してフィレットを作成するフィレット作成手段とを有する。
 さらに、本発明に係るプログラムは、三次元形状モデルに自動的にフィレットを作成する自動フィレット作成プログラムであって、コンピュータを、前記三次元形状モデルからフィレットが作成される稜線を抽出する稜線抽出手段、前記稜線抽出手段によって抽出された前記稜線に作成するフィレットのフィレット半径を取得するフィレット半径取得手段、前記稜線抽出手段によって抽出された前記稜線のうち複数の稜線が合流する合流点に合流する複数の稜線について、前記合流点から前記フィレット半径取得手段によって取得された前記フィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出するコーナー領域算出手段、及び前記コーナー領域算出手段によって算出された前記稜線のコーナー領域について、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径に基づいてフィレットの断面ラインを算出し、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ算出された前記断面ライン間を接続する中間ラインを算出し、前記断面ラインと前記中間ラインによって囲まれる閉領域内に曲面を形成してフィレットを作成するフィレット作成手段として機能させる。 
 
本発明の第1実施形態に係る自動フィレットの作成によってフィレットを作成する三次元形状モデルを示す図である。 稜線の抽出を説明するための説明図である。 稜線の抽出を説明するための別の説明図である。 稜線の縮退領域の算出を説明するための説明図である。 稜線の縮退領域の算出を説明するための別の説明図である。 縮退領域における補正フィレット半径の算出を説明するための説明図である。 縮退領域における補正フィレット半径の算出を説明するための別の説明図である。 縮退領域における補正フィレット半径の算出を説明するための更に別の説明図である。 稜線のコーナー領域の算出を説明するための説明図である。 稜線のコーナー領域の干渉判定を説明するための説明図である。 補正コーナー領域の算出を説明するための説明図である。 稜線のフィレット干渉領域の算出を説明するための説明図である。 稜線のフィレット干渉領域の算出を説明するための別の説明図である。 フィレット干渉領域における補正フィレット半径の算出を説明するための説明図である。 稜線の縮退領域に作成されるフィレットを示す図である。 稜線のフィレット干渉領域に作成されるフィレットを示す図である。 稜線のコーナー領域における断面ラインの算出を説明するための説明図である。 中間ラインの算出を説明するための説明図である。 中間ラインの算出を説明するための別の説明図である。 中間ラインの修正判定を説明するための説明図である。 中間ラインの修正判定を説明するための別の説明図である。 修正する中間ラインの特定を説明するための説明図である。 中間ラインの修正を説明するための説明図である。 断面ライン及び中間ラインの中点及び該中点からコーナー基準点への方向ベクトルの算出を説明するための説明図である。 コーナータイプの算出を説明するための説明図である。 コーナータイプの算出を説明するための別の説明図である。 第1タイプの分割中心点の算出を説明するための説明図である。 第2タイプの分割中心点の算出を説明するための説明図である。 第3タイプの分割中心点の算出を説明するための説明図である。 第1タイプの分割ラインの算出を説明するための説明図である。 第1タイプの分割ラインの算出を説明するための別の説明図である。 第1タイプの分割ラインの算出を説明するための更に別の説明図である。 第2タイプの分割ラインの算出を説明するための説明図である。 第2タイプの分割ラインの算出を説明するための別の説明図である。 第3タイプの分割ラインの算出を説明するための説明図である。 第3タイプの分割ラインの算出を説明するための別の説明図である。 第3タイプの分割ラインの算出を説明するための更に別の説明図である。 断面ラインと中間ラインによって囲まれる閉領域内の曲面の形成を説明するための説明図である。 稜線のコーナー領域に形成されるフィレットを示す図である。 本発明の第1実施形態に係る自動フィレット作成システムの全体構成を示すブロック図である。 図40に示すシステムの記憶装置の構成を示す図である。 自動フィレット作成システムによる自動フィレット作成動作を示すフローチャートである。 縮退領域の算出動作を示すフローチャートである。 コーナー領域の算出動作を示すフローチャートである。 フィレット干渉領域の算出動作を示すフローチャートである。 コーナー領域のフィレット作成動作を示すフローチャートである。 コーナータイプの算出動作を示すフローチャートである。 本発明の第2実施形態に係る自動フィレットの作成による分割ラインの算出を説明するための説明図である。 前記自動フィレットの作成による分割ラインの算出を説明するための別の説明図である。 本発明の第3実施形態に係る自動フィレットの作成による断面ラインと中間ラインによって囲まれる閉領域内の曲面の形成を説明するための説明図である。 前記自動フィレットの作成による断面ラインと中間ラインによって囲まれる閉領域内の曲面の形成を説明するための別の説明図である。
発明の詳細な説明
 はじめに、本発明の全般的な説明を行う。
  本発明の態様1に係るシステムは、三次元形状モデルに自動的にフィレットを作成する自動フィレット作成システムであって、前記三次元形状モデルからフィレットが作成される稜線を抽出する稜線抽出手段と、前記稜線抽出手段によって抽出された前記稜線に作成するフィレットのフィレット半径を取得するフィレット半径取得手段と、前記稜線抽出手段によって抽出された前記稜線のうち複数の稜線が合流する合流点に合流する複数の稜線について、前記合流点から前記フィレット半径取得手段によって取得された前記フィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出するコーナー領域算出手段と、前記コーナー領域算出手段によって算出された前記稜線のコーナー領域について、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径に基づいてフィレットの断面ラインを算出し、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ算出された前記断面ライン間を接続する中間ラインを算出し、前記断面ラインと前記中間ラインによって囲まれる閉領域内に曲面を形成してフィレットを作成するフィレット作成手段とを有する。
 また、本発明の態様2に係るシステムは、態様1に係るシステムにおいて、前記フィレット作成手段は、前記断面ラインと前記中間ラインによって囲まれる閉領域内に該閉領域内を分割するための分割中心点を算出し、算出された前記分割中心点と前記断面ライン及び前記中間ラインの中点とをそれぞれ接続して前記閉領域内を分割する分割ラインを算出し、前記断面ライン及び前記中間ラインと算出された前記断面ライン及び前記中間ラインの中点とにそれぞれ接続する前記分割ラインとによって囲まれる分割領域にそれぞれ自由曲面を形成してフィレットを作成する。
 また、本発明の態様3に係るシステムは、態様1又は2に係るシステムにおいて、前記稜線抽出手段によって抽出された前記稜線のうち2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線について、前記合流点から前記2つの稜線にそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径のフィレットを作成するとフィレットどうしが干渉する境界点までの領域を稜線の縮退領域として算出する縮退領域算出手段を有し、前記コーナー領域算出手段は、前記稜線抽出手段によって抽出された前記稜線のうち前記縮退領域算出手段によって算出された前記縮退領域を除く稜線であって、複数の稜線が合流する合流点に合流する複数の稜線について、前記合流点から前記フィレット半径取得手段によって取得された前記フィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出し、前記フィレット作成手段は、前記縮退領域算出手段によって算出された前記稜線の縮退領域について、前記稜線のうち2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線に作成するフィレットどうしが干渉しないように前記フィレット半径取得手段によって取得された前記フィレット半径を補正した補正フィレット半径のフィレットを作成する。
 また、本発明の態様4に係るシステムは、態様3に係るシステムにおいて、前記稜線抽出手段によって抽出された前記稜線のうち前記コーナー領域を除く稜線について、該稜線と該稜線に最も近い他の稜線とにそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径に基づいてフィレットを作成するとフィレットどうしが干渉する領域を稜線のフィレット干渉領域として算出するフィレット干渉領域算出手段を有し、前記フィレット作成手段は、前記フィレット干渉領域算出手段によって算出された稜線のフィレット干渉領域について、該稜線と該稜線に最も近い他の稜線とにそれぞれ作成するフィレットどうしが干渉しないように前記フィレット半径取得手段によって取得された前記フィレット半径を補正した補正フィレット半径のフィレットを作成する。
 また、本発明の態様5に係るシステムは、態様4に係るシステムにおいて、前記稜線抽出手段によって抽出された前記稜線について、前記縮退領域、前記コーナー領域及び前記フィレット干渉領域を除く領域を稜線の基本領域として算出する基本領域算出手段を有し、前記フィレット作成手段は、前記基本領域算出手段によって算出された前記稜線の基本領域について、前記フィレット半径取得手段によって取得された前記フィレット半径のフィレットを作成する。
 さらに、本発明の態様6に係るプログラムは、三次元形状モデルに自動的にフィレットを作成する自動フィレット作成プログラムであって、コンピュータを、前記三次元形状モデルからフィレットが作成される稜線を抽出する稜線抽出手段、前記稜線抽出手段によって抽出された前記稜線に作成するフィレットのフィレット半径を取得するフィレット半径取得手段、前記稜線抽出手段によって抽出された前記稜線のうち複数の稜線が合流する合流点に合流する複数の稜線について、前記合流点から前記フィレット半径取得手段によって取得された前記フィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出するコーナー領域算出手段、及び前記コーナー領域算出手段によって算出された前記稜線のコーナー領域について、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径に基づいてフィレットの断面ラインを算出し、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ算出された前記断面ライン間を接続する中間ラインを算出し、前記断面ラインと前記中間ラインによって囲まれる閉領域内に曲面を形成してフィレットを作成するフィレット作成手段として機能させる。
 また、本発明の態様7に係るプログラムは、態様6に係るプログラムにおいて、コンピュータを、前記フィレット作成手段として機能させるときは、前記断面ラインと前記中間ラインによって囲まれる閉領域内に該閉領域内を分割するための分割中心点を算出し、算出された前記分割中心点と前記断面ライン及び前記中間ラインの中点とをそれぞれ接続して前記閉領域内を分割する分割ラインを算出し、前記断面ライン及び前記中間ラインと算出された前記断面ライン及び前記中間ラインの中点とにそれぞれ接続する前記分割ラインとによって囲まれる分割領域にそれぞれ自由曲面を形成してフィレットを作成するように機能させる。
 また、本発明の態様8に係るプログラムは、態様6又は7に係るプログラムにおいて、コンピュータを、前記稜線抽出手段によって抽出された前記稜線のうち2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線について、前記合流点から前記2つの稜線にそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径のフィレットを作成するとフィレットどうしが干渉する境界点までの領域を稜線の縮退領域として算出する縮退領域算出手段として機能させ、前記コーナー領域算出手段として機能させるときは、前記稜線抽出手段によって抽出された前記稜線のうち前記縮退領域算出手段によって算出された前記縮退領域を除く稜線であって、複数の稜線が合流する合流点に合流する複数の稜線について、前記合流点から前記フィレット半径取得手段によって取得された前記フィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出するように機能させ、前記フィレット作成手段として機能させるときは、前記縮退領域算出手段によって算出された前記稜線の縮退領域について、前記稜線のうち2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線に作成するフィレットどうしが干渉しないように前記フィレット半径取得手段によって取得された前記フィレット半径を補正した補正フィレット半径のフィレットを作成するように機能させる。
 また、本発明の態様9に係るプログラムは、態様8に係るプログラムにおいて、コンピュータを、前記稜線抽出手段によって抽出された前記稜線のうち前記コーナー領域を除く稜線について、該稜線と該稜線に最も近い他の稜線とにそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径に基づいてフィレットを作成するとフィレットどうしが干渉する領域を稜線のフィレット干渉領域として算出するフィレット干渉領域算出手段として機能させ、前記フィレット作成手段として機能させるときは、前記フィレット干渉領域算出手段によって算出された稜線のフィレット干渉領域について、該稜線と該稜線に最も近い他の稜線とにそれぞれ作成するフィレットどうしが干渉しないように前記フィレット半径取得手段によって取得された前記フィレット半径を補正した補正フィレット半径のフィレットを作成するように機能させる。
 また、本発明の態様10に係るプログラムは、態様9に係るプログラムにおいて、前記稜線抽出手段によって抽出された前記稜線について、前記縮退領域、前記コーナー領域及び前記フィレット干渉領域を除く領域を稜線の基本領域として算出する基本領域算出手段として機能させ、前記フィレット作成手段として機能させるときは、前記基本領域算出手段によって算出された前記稜線の基本領域について、前記フィレット半径取得手段によって取得された前記フィレット半径のフィレットを作成するように機能させる。
 以上の構成により、本発明の各態様によれば、次の効果が得られる。
 まず、本発明の態様1に係るシステムによれば、三次元形状モデルから稜線が抽出され、抽出された稜線に作成するフィレットのフィレット半径が取得され、抽出された稜線のうち合流点に合流する複数の稜線について、合流点からフィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域がコーナー領域として算出される。そして、稜線のコーナー領域について、合流点に合流する複数の稜線の境界点についてそれぞれフィレット半径に基づいてフィレットの断面ラインが算出され、断面ライン間を接続する中間ラインが算出され、断面ラインと中間ラインによって囲まれる閉領域内に曲面が形成されてフィレットが作成される。
 これにより、三次元形状モデルのフィレットが作成される稜線のうち合流点に合流する複数の稜線にフィレットを作成するとフィレットどうしが干渉するコーナー領域について、コーナー領域の境界点についてそれぞれ算出されたフィレットの断面ラインと断面ライン間を接続する中間ラインによって囲まれる閉領域内に曲面を形成してフィレットを形成することができるので、データベースを要することなく、三次元形状モデルに確実に且つ自動的にフィレットを作成することができる。
 合流点に合流する複数の稜線にフィレットを作成するとフィレットどうしが干渉するコーナー領域について、フィレットを作成する順番によってフィレットの形状が異なったり三次元形状モデルによってはフィレットを作成すること自体ができなくなったりすることを防止することができ、三次元形状モデルに確実に且つ自動的にフィレットを作成することができる。
 また、態様2に係るシステムによれば、稜線のコーナー領域について、断面ラインと中間ラインによって囲まれる閉領域内に分割中心点が算出され、分割中心点と断面ライン及び中間ラインの中点とをそれぞれ接続する分割ラインが算出され、断面ライン及び中間ラインと断面ライン及び中間ラインの中点とにそれぞれ接続する分割ラインとによって囲まれる分割領域にそれぞれ自由曲面が形成されてフィレットが作成されることにより、三次元形状モデルに確実にフィレットを作成することができる。
 また、態様3に係るシステムによれば、2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線について、合流点から2つの稜線にそれぞれフィレットを作成するとフィレットどうしが干渉する境界点までの領域が縮退領域として算出され、稜線の縮退領域について、フィレットどうしが干渉しないようにフィレット半径を補正した補正フィレット半径のフィレットが作成される。これにより、2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線にフィレットを作成するとフィレットどうしが干渉する縮退領域について、フィレットどうしが干渉することを回避してフィレットを作成することができる。
 また、態様4に係るシステムによれば、コーナー領域を除く稜線について、稜線と該稜線に最も近い他の稜線とにそれぞれフィレットを作成するとフィレットどうしが干渉する領域がフィレット干渉領域として算出され、稜線のフィレット干渉領域について、フィレットどうしが干渉しないようにフィレット半径を補正した補正フィレット半径のフィレットが作成される。これにより、稜線と該稜線に最も近い他の稜線とにそれぞれフィレットを作成するとフィレットどうしが干渉するフィレット干渉領域について、フィレットどうしが干渉することを回避してフィレットを作成することができる。
 また、態様5に係るシステムによれば、稜線について、縮退領域、コーナー領域及びフィレット干渉領域を除く領域が基本領域として算出され、稜線の基本領域について、フィレット半径のフィレットが作成される。これにより、稜線についてそれぞれフィレットどうしが干渉する縮退領域、コーナー領域及びフィレット干渉領域とそれ以外の基本領域とに分類し、縮退領域、コーナー領域及びフィレット干渉領域についてはフィレットどうしの干渉を回避してフィレットを作成すると共に基本領域についてはフィレット半径のフィレットを形成することができ、三次元形状モデルに確実に且つ自動的にフィレットを作成することができる。
 そして、態様6~10に係る自動フィレット作成プログラムによれば、これをコンピュータで実行することにより、態様1~5に係る自動フィレット作成システムと同様の効果を奏することができる。
 次に、本発明の実施形態について添付図面を参照しながら説明する。
 本発明の実施形態に係る自動フィレットの作成では、CAD装置で作成された三次元形状モデルのデータからフィレットを作成する稜線を抽出し、稜線にユーザによって設定されたフィレット半径のフィレットを作成する際に、稜線についてそれぞれ縮退領域、コーナー領域、フィレット干渉領域及びこれら領域以外の領域である基本領域を算出し、稜線全体について縮退領域、コーナー領域、フィレット干渉領域及び基本領域に応じて自動的にフィレットを作成する。
 図1は、本発明の第1実施形態に係る自動フィレットの作成によってフィレットを作成する三次元形状モデルを示す図である。本発明の第1実施形態に係る自動フィレットの作成では、図1に示すような三次元形状モデル1の稜線全体について自動的にフィレットを作成する。三次元形状モデルとしては、例えばプレス工具などの三次元形状モデルを用いることができる。
 自動フィレットの作成では、三次元形状モデル1のデータから有限要素分割したメッシュデータを作成し、また、三次元形状モデル1のデータから予め設定された稜線抽出条件に基づいてフィレットが作成される稜線を抽出する。
 図2は、稜線の抽出を説明するための説明図である。図2(a)は、図1の要部を拡大して示し、図2(b)は、図2(a)におけるY2B-Y2B線に沿った三次元形状モデルの断面を示している。図2(a)に示すように、三次元形状モデル1は、面F、面F、面F、面Fなどの複数の面によって構成されている。なお、面には平面状の面のほか曲面状の面も含まれる。
 また、面Fは、境界線B、境界線B、境界線B、境界線Bによって構成され、面Fは、境界線B、境界線B、境界線B、境界線Bによって構成され、三次元形状モデル1を構成する面は、複数の境界線によって構成されている。なお、境界線には直線状の境界線のほか曲線状の境界線も含まれる。
 稜線を抽出する際には、三次元形状モデル1を構成する隣接する2つの面の境界線において該2つの面の法線間角度が、稜線抽出条件として設定された所定の折れ判定角度以上である境界線を抽出する。図2(b)に示すように、隣接する面Fと面Fの境界線Bにおいて面Fの法線NF1と面Fの法線NF2の法線間角度θB1が5度などの折れ判定角度θS1以上である場合には境界線Bを抽出する。
 一方、隣接する面Fと面Fの境界線Bにおける面Fの法線NF1と面Fの法線NF3の法線間角度θB3が折れ判定角度θS1未満である場合には境界線Bを抽出しない。境界線は、境界線上の少なくとも1つの構成点における法線間角度が折れ判定角度θS1以上である場合に抽出する。なお、図2では、隣接する2つの面F、Fの境界線において2つの面F、Fの法線間角度が折れ判定角度未満である境界線Bを二点鎖線で示している。
 次に、抽出した境界線を稜線抽出条件として設定された境界線グループ化定義に基づいてグループ化し、グループ化された境界線を稜線として抽出する。境界線グループ化定義として、1つの境界線が他の境界線と接続していない場合は1つのグループとすることと、2つの境界線がC1連続(接線連続)である場合は1つのグループとすることと、2つの境界線がC0連続(位置連続)である場合は別のグループとすることと、3つ以上の境界線が接続する場合はそれぞれ別々のグループとすることとが設定されている。
 本実施形態では、2つの境界線の端点が一致すると共に該端点で2つの境界線の接線のなす角度が折れ判定角度θS1未満である場合に2つの境界線がC1連続であるとし、2つの境界線の端点が一致すると共に該端点で2つの境界線の接線のなす角度が折れ判定角度θS1以上である場合に2つの境界線がC0連続であるとする。
 図3は、稜線の抽出を説明するための別の説明図であり、図2(a)におけるY方向から見た三次元形状モデルを示している。図3に示すように、境界線Bの端点Pと境界線Bの端点Pが一致すると共に端点Pで境界線Bの接線SB4と境界線Bの接線SB8のなす角度θP1が折れ判定角度θS1未満である場合、2つの境界線B、BがC1連続とされて1つのグループとされ、1つの稜線Eとして抽出される。
 一方、境界線Bの端点Pと境界線Bの端点Pが一致すると共に端点Pで境界線Bの接線SB4と境界線Bの接線SB5のなす角度θP2が折れ判定角度θS1以上である場合、2つの境界線B、BがC0連続とされて別のグループとされ、稜線Eとは別の稜線Eとして抽出される。このように、三次元形状モデル1から抽出された境界線を境界線グループ化定義に基づいてグループ化し、グループ化された境界線をそれぞれ1つの稜線として抽出する。
 前記自動フィレットの作成では、XYZ座標系で三次元形状モデル1と共に抽出した稜線を表示装置に表示した後に、表示装置に表示した稜線がユーザによって選択されると、稜線に作成するフィレットのフィレット半径の入力画面が表示され、ユーザによって稜線に作成するフィレットのフィレット半径が入力されて設定される。全稜線について一定のフィレット半径を入力することも、各稜線にフィレット半径を入力することも可能である。
 そして、全稜線についてフィレット半径が設定されて全稜線に作成するフィレットのフィレット半径が取得されると、稜線のそれぞれについて、稜線に設定されたフィレット半径に基づいてフィレットを作成した場合に他の稜線に作成されるフィレットと干渉する領域を稜線の縮退領域、コーナー領域及びフィレット干渉領域として算出し、これらの領域を除く領域を稜線の基本領域として算出する。
 本実施形態では、稜線の縮退領域として、稜線のうち2つの稜線のみが合流する合流点(2つの稜線のみの端点が一致する端点)で2つの稜線間角度が所定の縮退判定角度以下である2つの稜線について、合流点から2つの稜線にそれぞれ取得されたフィレット半径のフィレットを作成するとフィレットどうしが干渉する境界点までの領域を算出する。
 稜線のコーナー領域として、稜線のうち複数の稜線が合流する合流点に合流する複数の稜線について、合流点から取得されたフィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を算出する。コーナー領域の算出では、稜線のうち縮退領域を除く稜線であって、複数の稜線が合流する合流点に合流する複数の稜線について、合流点から取得されたフィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を算出する。
 稜線のフィレット干渉領域として、稜線のうちコーナー領域を除く稜線について、稜線と該稜線に最も近い他の稜線とにそれぞれ取得されたフィレット半径に基づいてフィレットを作成するとフィレットどうしが干渉する領域をフィレット干渉領域として算出する。
 稜線の基本領域として、稜線について、縮退領域、コーナー領域及びフィレット干渉領域を除く領域を算出する。
 次に、稜線の縮退領域、コーナー領域、フィレット干渉領域及び基本領域の算出について具体的に説明する。
 図4は、稜線の縮退領域の算出を説明するための説明図であり、図1の要部を拡大して示している。稜線の縮退領域を算出する際には、稜線のうち2つの稜線のみが合流する合流点で2つの稜線間角度が予め設定された縮退判定角度以下である合流点を縮退基準点として抽出する。
 図4に示すように、面F11と面F13の境界線B11が稜線として抽出されることなく面F11と面F12の境界線が稜線E11として抽出されると共に面F12と面F13の境界線が稜線E12として抽出されるときに、2つの稜線E11、E12のみが合流する合流点T11で2つの稜線E11、E12間角度、具体的には2つの稜線E11、E12の接線SE11、SE12のなす角度θT11が5度などの縮退判定角度θS2以下である場合、合流点T11を縮退基準点として抽出する。
 そして、縮退基準点に合流する2つの稜線について、縮退基準点から2つの稜線にそれぞれ設定されたフィレット半径のフィレットを作成するとフィレットどうしが干渉する境界点を縮退境界点として算出し、縮退基準点から縮退境界点までの領域を稜線の縮退領域として算出する。
 図4に示すように、縮退基準点T11に合流する2つの稜線E11、E12のうち一方の稜線E11について、縮退基準点T11から所定距離離れた構成点P11に対応する他方の稜線E12の最近点Q12を算出すると共に最近点Q12までの最近点距離DMIN(P11,Q12)を算出する。
 図5は、稜線の縮退領域を説明するための別の説明図である。図5(a)は、図4における稜線E11の構成点P11を通って稜線E11に直交する断面を示し、図5(b)は、図4における稜線E12の最近点Q12を通って稜線E12に直交する断面を示している。なお、図5(a)及び図5(b)では、図4における縮退基準点T11側から見た断面を示している。
 図5(a)に示すように、稜線E11にフィレット半径R11が設定されている場合、フィレット半径R11のフィレットFL11を作成したときの面F12側のR止まり点をP11´とし、面F11側のR止まり点をP11´´とし、フィレットFL11の中心をC11とし、面F11と面F12のなす角度の二分の一をθ11とすると、構成点P11とR止まり点P11´の距離D11は、以下の数1に示す式で表すことができる。
Figure JPOXMLDOC01-appb-M000001
 また、図5(b)に示すように、稜線E12にフィレット半径R12が設定されている場合、フィレット半径R12のフィレットFL12を作成したときの面F12側のR止まり点をQ12´とし、面F13側のR止まり点をQ12´´とし、フィレットFL12の中心をC12とし、面F12と面F13のなす角度の二分の一をθ12とすると、最近点Q12とR止まり点Q12´の距離D12は、以下の数2に示す式で表すことができる。
Figure JPOXMLDOC01-appb-M000002
 そして、最近点距離DMIN(P11,Q12)が距離D11と距離D12の和と等しくなる構成点P11が、以下の数3で示す式を用いて算出され、この構成点P11を、2つの稜線E11、E12にそれぞれ設定されたフィレット半径のフィレットを作成するとフィレットどうしが干渉する境界点である縮退境界点として算出する。縮退境界点P11が算出されると、縮退基準点T11に合流する稜線E11について、縮退基準点T11から縮退境界点P11までの領域を稜線の縮退領域として算出する。
Figure JPOXMLDOC01-appb-M000003
 縮退基準点T11に合流する稜線E12についても、縮退基準点T11に合流する稜線E11と同様にして、後述する図8に示すように、縮退境界点P12を算出して縮退基準点T11から縮退境界点P12までの領域を稜線の縮退領域として算出する。
 稜線の縮退領域が算出されると、稜線の縮退領域について、縮退基準点に合流する2つの稜線に作成するフィレットどうしが干渉しないようにフィレット半径を補正した補正フィレット半径を算出する。
 図6は、縮退領域における補正フィレット半径の算出を説明するための説明図である。縮退領域における補正フィレット半径を算出する際には、縮退基準点に合流する一方の稜線の縮退領域にある構成点について他方の稜線の最近点を算出すると共に最近点距離を算出し、最近点距離を縮退基準点に合流する2つの稜線に設定されたフィレット半径に応じて比例配分した距離に基づいて補正フィレット半径を算出する。
 図6に示すように、稜線E11の縮退領域にある構成点P11Aについて、該構成点P11Aに対応する稜線E12の最近点Q12Aを算出すると共に最近点Q12Aまでの最近点距離DMIN(P11A,Q12A)を算出する。
 図7は、縮退領域における補正フィレット半径の算出を説明するための別の説明図であり、図6における稜線E11の構成点P11Aを通って稜線E11に直交する断面を示している。図7に示すように、稜線E11の構成点P11Aにおける補正フィレット半径をR11Aとし、フィレット半径R11AのフィレットFL11Aを作成したときの面F12側のR止まり点をP11A´とし、面F12側のR止まり点をP11A´´とし、フィレットFL11Aの中心をC11Aとし、面F11と面F12のなす角度の二分の一をθ11Aとすると、構成点P11AとR止まり点P11A´の距離D11Aは、以下の数4に示す式で表すことができる。
Figure JPOXMLDOC01-appb-M000004
 本実施形態では、最近点距離DMIN(P11A,Q12A)を稜線E11に設定されたフィレット半径R11と稜線E12に設定されたフィレット半径R12に応じて比例配分させた距離が構成点P11AとR止まり点P11A´の距離D11Aに等しいものとし、構成点P11AとR止まり点P11A´の距離D11Aは、以下の数5に示す式でも表すことができる。
Figure JPOXMLDOC01-appb-M000005
 前記数4、数5で示す式から、稜線E11の縮退領域にある構成点P11Aについて補正される補正フィレット半径R11Aは、以下の数6で示す式を用いて算出される。稜線E11の縮退領域についてそれぞれ構成点P11Aと同様にして補正フィレット半径が算出される。
Figure JPOXMLDOC01-appb-M000006
 図8は、縮退領域における補正フィレット半径の算出を説明するための更に別の説明図である。図8に示すように、縮退基準点T11に合流する稜線E12の縮退境界点P12を算出して縮退基準点T11から縮退境界点P12までの領域が縮退領域として算出される場合、稜線E12の縮退領域にある構成点P12Aについて補正される補正フィレット半径R12Aは、稜線E11の縮退領域における補正フィレット半径の算出と同様に、以下の数7で示す式を用いて算出される。稜線E12の縮退領域についてそれぞれ構成点P12Aと同様にして補正フィレット半径が算出される。
Figure JPOXMLDOC01-appb-M000007
 なお、稜線E12の縮退領域にある構成点P12Aに対応する稜線E11の最近点をQ11Aとし、最近点Q11Aまでの最近点距離をDMIN(P12A,Q11A)とし、稜線E12に設定されたフィレット半径をR12とし、稜線E11に設定されたフィレット半径をR11とし、面F12と面F13のなす角度の二分の一をθ12Aとして表している。
 このようにして、三次元形状モデル1について、稜線全体から稜線の縮退領域が算出されると共に稜線の縮退領域について補正フィレット半径が算出される。稜線の縮退領域における補正フィレット半径は、縮退境界点から縮退基準点に向かうにつれて稜線に設定されたフィレット半径が徐々に縮小補正される。
 図9は、稜線のコーナー領域の算出を説明するための説明図であり、図1の要部を拡大して示している。稜線のコーナー領域を算出する際には、稜線のうち複数の稜線が合流する合流点をコーナー基準点として抽出する。コーナー領域の算出では、複数の稜線が合流する合流点であっても、稜線の縮退領域を形成する合流点である縮退基準点は除くものとする。
 図9に示すように、面F21と面F22の境界線が稜線E21として抽出され、面F22と面F23の境界線が稜線E22として抽出され、面F23と面F21の境界線が稜線E23として抽出され、複数の稜線E21、E22、E23が合流する合流点T21が縮退基準点ではない場合、合流点T21をコーナー基準点として抽出する。
 そして、コーナー基準点から、コーナー基準点に合流する複数の稜線にそれぞれ設定されたフィレット半径に基づいて設定された所定距離だけ離れた境界点をコーナー境界点として算出し、コーナー基準点からコーナー境界点までの領域を稜線のコーナー領域として算出する。本実施形態では、コーナー基準点から、コーナー基準点に合流する複数の稜線にそれぞれ設定されたフィレット半径のうち最大フィレット半径に所定の係数αを掛けた距離だけ離れた境界点をコーナー境界点として算出する。
 図9に示すように、コーナー基準点T21に合流する稜線E21、E22、E23について、稜線E21、E22、E23にそれぞれフィレット半径R21、R22、R23が設定されている場合、フィレット半径R21、R22、R23のうち最大フィレット半径をRMAX(R21、R22、R23)とすると、コーナー基準点T21から稜線E21、E22、E23にそれぞれ最大フィレット半径RMAX(R21、R21、R23)に所定の係数αを掛けた距離D21、D22、D23だけ離れた境界点P21、P22、P23がコーナー境界点として算出される。距離D21、D22、D23は、以下の数8に示す式で表すことができ、本実施形態では所定の係数αとしてα=1.2が用いられる。
Figure JPOXMLDOC01-appb-M000008
 コーナー境界点P21、P22、P23が算出されると、コーナー基準点T21に合流する稜線E21、E22、E23についてそれぞれ、コーナー基準点T21からコーナー境界点P21、P22、P23までの領域が稜線のコーナー領域として算出される。
 本実施形態ではまた、複数の稜線が合流するコーナー基準点について算出されたコーナー領域が他のコーナー基準点について算出されたコーナー領域と干渉するか否かを判定する。
 図10は、稜線のコーナー領域の干渉判定を説明するための説明図であり、図1の要部を拡大して示している。稜線のコーナー領域の干渉を判定する際には、コーナー基準点に合流する複数の稜線が合流する他のコーナー基準点のうち最も近い最近コーナー基準点を抽出して最近コーナー基準点とのコーナー基準点間距離を算出し、コーナー基準点間距離がコーナー基準点からコーナー境界点までの距離と最近コーナー基準点から該最近コーナー基準点に対応するコーナー境界点までの距離の和より小さいか否かを判定する。
 図10に示すように、稜線E31、E32、E33が合流するコーナー基準点T31についてコーナー基準点T31からコーナー境界点P31、P32、P33までの領域がコーナー領域として算出されている場合、稜線E31、E32、E33が合流する他のコーナー基準点T41、T51のうち最も近いコーナー基準点T41が最近コーナー基準点として抽出される。なお、図10では、コーナー基準点T41についてコーナー基準点T41からコーナー境界点P41、P42、P43までの領域が稜線のコーナー領域として算出されている。
 そして、コーナー基準点T31から最近コーナー境界点T41までのコーナー基準点間距離D(T31、T41)が算出され、コーナー基準点間距離D(T31、T41)が、コーナー基準点T31からコーナー境界点P33までの距離と、最近コーナー基準点T41からコーナー境界点P41までの距離の和より小さいか否かが判定される。
 稜線E31、E32、E33にそれぞれ設定されるフィレット半径をR31、R32、R33とし、フィレット半径R31、R32、R33のうち最大フィレット半径をRMAX(R31、R32、R33)とし、コーナー基準点T31からコーナー境界点P33までの距離をD33とすると、距離D33は以下の数9に示す式で表すことができる。
Figure JPOXMLDOC01-appb-M000009
 また、稜線E41、E42、E43にそれぞれ設定されるフィレット半径をR41、R42、R43とし、フィレット半径R41、R42、R43のうち最大フィレット半径をRMAX(R41、R42、R43)とし、最近コーナー基準点T41からコーナー境界点P41までの距離をD41とすると、距離D41は以下の数10に示す式で表すことができる。
Figure JPOXMLDOC01-appb-M000010
 そして、コーナー基準点間距離D(T31、T41)が、コーナー基準点T31からコーナー境界点P33までの距離D33と最近コーナー基準点T41からコーナー境界点P41までの距離D41の和より小さいか否かが判定され、以下の数11に示す式が成立するか否かが判定される。
Figure JPOXMLDOC01-appb-M000011
 コーナー基準点間距離D(T31、T41)が、コーナー基準点T31からコーナー境界点P33までの距離D33と最近コーナー基準点T41からコーナー境界点P41までの距離D41の和より小さいと判定されると、コーナー基準点T31について算出されたコーナー領域が他のコーナー基準点について算出されたコーナー領域と干渉すると判定される。
 コーナー領域が他のコーナー領域と干渉すると判定されると、他のコーナー領域との干渉を回避するようにコーナー領域を補正して補正コーナー領域を算出する。補正コーナー領域を算出する際には、コーナー基準点間距離からコーナー基準点に合流する複数の稜線に設定されたフィレット半径と最近コーナー基準点に合流する複数の稜線に設定されたフィレット半径に基づいて設定された所定距離だけ離れた境界点を補正コーナー境界点として算出し、コーナー基準点から補正コーナー境界点までの領域を補正コーナー領域として算出する。
 本実施形態では、コーナー基準点間距離をコーナー基準点に合流する複数の稜線に設定されたフィレット半径の最大フィレット半径と最近コーナー基準点に合流する複数の稜線に設定されたフィレット半径の最大フィレット半径に応じて比例配分させた距離だけ離れた境界点を補正コーナー境界点として算出する。
 図11は、補正コーナー領域の算出を説明するための説明図であり、図10の要部を拡大して示している。コーナー基準点T31について、コーナー基準点間距離D(T31、T41)をコーナー基準点T31に合流する稜線E31、E32、E33に設定されたフィレット半径の最大フィレット半径RMAX(R31、R32、R33)と最近コーナー基準点T41に合流する稜線E41、E42、E43に設定されたフィレット半径の最大フィレット半径RMAX(R41、R42、R43)とに応じて比例配分させた距離をD(T31、T41)´とすると、距離D(T31、T41)´は、以下の数12で示す式を用いて算出される。
Figure JPOXMLDOC01-appb-M000012
 図11に示すように、コーナー基準点T31に合流する稜線E31、E32、E33のうち最近コーナー基準点T41を有する稜線E33では、コーナー基準点T31から距離D(T31、T41)´だけ離れた境界点P33´が補正コーナー境界点として算出され、コーナー基準点T31に合流する稜線E31、E32、E33のうち最近コーナー基準点T41を有する稜線E33を除く稜線E32、E33ではコーナー基準点T31から距離D(T31、T41)´に所定の係数αを掛けた距離だけ離れた境界点P31´、P32´が補正コーナー境界点として算出される。
 コーナー基準点T31から補正コーナー境界点P33´までの距離をD33´とすると、距離D33´は以下の数13で示す式で表すことができ、コーナー基準点T31から補正コーナー境界点P31´、P32´までの距離をそれぞれD31´、D32´とすると、距離D31´、D32´は以下の数14で示す式で表すことができる。
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000014
 補正コーナー境界点P31´、P32´、P33´が算出されると、コーナー基準点T31に合流する稜線E31、E32、E33についてそれぞれ、コーナー基準点T31から補正コーナー境界点P31´、P32´、P33´までの領域が補正コーナー領域として算出される。
 このようにして、三次元形状モデル1について、稜線全体から稜線のコーナー領域が算出され、コーナー領域が他のコーナー領域と干渉すると判定される場合にはコーナー領域が補正されて補正コーナー領域が算出される。
 図12は、稜線のフィレット干渉領域の算出を説明するための説明図であり、図1の要部を拡大して示している。稜線のフィレット干渉領域を算出する際には、稜線のうちコーナー領域を除く稜線について、稜線と該稜線に最も近い他の稜線とにそれぞれ設定されたフィレット半径に基づいてフィレットを作成するとフィレットどうしが干渉する領域をフィレット干渉領域として算出する。
 本実施形態では、コーナー領域を除く稜線の各構成点についてコーナー領域を除く他の稜線の最近点を算出すると共に最近点距離を算出し、算出された最近点距離が、構成点と該構成点を有する稜線に設定されたフィレット半径に基づいて作成するフィレットのR止まり点との距離と、最近点と該最近点を有する稜線に設定されたフィレット半径に基づいて作成するフィレットのR止まり点との距離の和より小さいか否かを判定し、小さいと判定される稜線の構成点からなる領域をフィレット干渉領域として算出する。
 図12に示すように、面F51と面F52の境界線が稜線E51として抽出され、面F52と面F53の境界線が稜線E52として抽出され、面F53と面F54の境界線が稜線E53として抽出されている場合、例えば稜線E51の構成点P51について該構成点P51に最も近い他の稜線E52の最近点Q52を算出すると共に最近点Q52までの最近点距離DMIN(P51,Q52)を算出する。
 図13は、稜線のフィレット干渉領域の算出を説明するための別の説明図である。図13(a)は、図12における稜線E51の構成点P51を通って稜線E51に直交する断面を示し、図13(b)は、図12における稜線E52の最近点Q52を通って稜線E52に直交する断面を示している。
 図13(a)に示すように、稜線E51にフィレット半径R51が設定されている場合、稜線E51の構成点P51についてフィレット半径R51のフィレットFL51を作成したときの面F52側のR止まり点をP51´とし、面F51側のR止まり点をP51´´とし、フィレットFL51の中心をC51とし、面F51と面F52のなす角度の二分の一をθ51とすると、構成点P51とR止まり点P51´の距離D51は、以下の数15で示す式で表すことができる。
Figure JPOXMLDOC01-appb-M000015
 また、図13(b)に示すように、稜線E52にフィレット半径R52が設定されている場合、稜線E52の最近点Q52についてフィレット半径R52のフィレットFL52を作成したときの面F52側のR止まり点をQ52´とし、面F53側のR止まり点をQ52´´とし、フィレットFL52の中心をC52とし、面F52と面F53のなす角度の二分の一をθ52とすると、最近点Q52とR止まり点Q52´の距離D52は、以下の数16で示す式で表すことができる。
Figure JPOXMLDOC01-appb-M000016
 そして、最近点距離DMIN(P51,Q52)が距離D51と距離D52の和より小さいか否かが判定され、以下の数17に示す式が成立するか否かが判定される。最近点距離DMIN(P51,Q52)が距離D51と距離D52の和より小さいと判定されると、稜線E51の構成点P51に作成するフィレットが他の稜線に作成するフィレットと干渉すると判定される。
Figure JPOXMLDOC01-appb-M000017
 コーナー領域を除く稜線について、稜線の各構成点について、稜線E51の構成点P51と同様に、稜線の各構成点に作成するフィレットが他の稜線に作成するフィレットと干渉するか否かが判定され、他の稜線に作成するフィレットと干渉すると判定される稜線の構成点からなる領域がフィレット干渉領域として算出される。
 稜線のフィレット干渉領域が算出されると、稜線のフィレット干渉領域について、稜線と該稜線に最も近い他の稜線とにそれぞれ作成するフィレットどうしが干渉しないようにフィレット半径を補正した補正フィレット半径を算出する。
 図14は、フィレット干渉領域における補正フィレット半径の算出を説明するための説明図であり、図12における稜線E51の構成点P51を通って稜線E51に直交する断面を示している。フィレット干渉領域における補正フィレット半径を算出する際には、稜線のフィレット干渉領域の構成点について最も近い他の稜線の最近点を算出すると共に最近点距離を算出し、最近点距離を2つの稜線に設定されたフィレット半径に応じて比例配分させた距離に基づいて補正フィレット半径を算出する。
 図12に示すように、稜線E51のフィレット干渉領域にある構成点P51について、稜線のフィレット干渉領域を算出する場合と同様に、構成点P51に最も近い他の稜線E52の最近点Q52を算出すると共に最近点Q52までの最近点距離DMIN(P51,Q52)を算出する。
 そして、図14に示すように、稜線E51の構成点P51における補正フィレット半径をR51´とし、フィレット半径R51´のフィレットFL51´を作成したときの面F52側のR止まり点をP51A´とし、面F51側のR止まり点をP51A´´とし、フィレットFL51´の中心をC51´とすると、構成点P51とR止まり点P51A´の距離D51´は、以下の数18に示す式で表すことができる。
Figure JPOXMLDOC01-appb-M000018
 本実施形態では、最近点距離DMIN(P51,Q52)を稜線E51に設定されたフィレット半径R51と稜線E52に設定されたフィレット半径R52とに応じて比例配分させた距離が構成点P51とR止まり点P51A´の距離D51´に等しいものとし、構成点P51とR止まり点P51A´の距離D51´は、以下の数19に示す式でも表すことができる。
Figure JPOXMLDOC01-appb-M000019
 前記数18、数19で示す式から、稜線E51のフィレット干渉領域にある構成点P51について補正される補正フィレット半径R51´は、以下の数20で示す式を用いて算出される。稜線のフィレット干渉領域についてそれぞれ構成点P51と同様にして補正フィレット半径が算出される。
Figure JPOXMLDOC01-appb-M000020
 フィレット干渉領域の算出やフィレット干渉領域における補正フィレット半径の算出では、稜線の構成点や稜線の構成点に対応する他の稜線の最近点が稜線の縮退領域にある場合、稜線に設定されたフィレット半径に代えて縮退領域について補正された補正フィレット半径を用いてフィレット干渉領域やフィレット干渉領域における補正フィレット半径が算出される。
 このようにして、三次元形状モデル1について、稜線全体から稜線のフィレット干渉領域が算出されると共に稜線のフィレット干渉領域について補正フィレット半径が算出される。
 稜線についてそれぞれ、縮退領域、コーナー領域及びフィレット干渉領域が算出されると、縮退領域、コーナー領域及びフィレット干渉領域を除く領域が稜線の基本領域として算出される。
 三次元形状モデル1から抽出された稜線についてそれぞれ、縮退領域、コーナー領域、フィレット干渉領域及び基本領域が算出されると、稜線の縮退領域、コーナー領域、フィレット干渉領域及び基本領域についてそれぞれ自動的にフィレットを作成して稜線が滑らかに丸められる。
 稜線の基本領域では稜線に設定されたフィレット半径のフィレットが作成され、稜線の縮退領域では稜線に設定されたフィレット半径が補正された補正フィレット半径のフィレットが作成され、稜線のフィレット干渉領域では稜線に設定されたフィレット半径が補正された補正フィレット半径のフィレットが作成され、稜線のコーナー領域では後述するようにコーナー基準点に合流する稜線に設定されたフィレット半径に基づいてフィレットとしてのコーナー形状が作成される。
 図15は、稜線の縮退領域に作成されるフィレットを示す図であり、図4に示す縮退基準点T11に合流する稜線E11、E12の縮退領域に作成されるフィレットを示している。図15に示すように、稜線E11の縮退領域では補正フィレット半径のフィレットFL11Aが作成され、稜線E12の縮退領域では補正フィレット半径のフィレットFL12Aが作成される。一方、縮退基準点T11から縮退境界点よりも離れた稜線E11の基本領域では稜線E11に設定されたフィレット半径R11のフィレットFL11が作成され、縮退基準点T11から縮退境界点よりも離れた稜線E12の基本領域では稜線E12に設定されたフィレット半径R12のフィレットFL12が作成される。
 図16は、稜線のフィレット干渉領域に作成されるフィレットを示す図であり、図12に示す稜線E51、E52、E53のフィレット干渉領域に作成されるフィレットを示している。図16に示すように、稜線E51のフィレット干渉領域では補正フィレット半径のフィレットFL51Aが作成され、稜線E52のフィレット干渉領域では補正フィレット半径のフィレットFL52Aが作成され、稜線E53のフィレット干渉領域では補正フィレット半径のフィレットFL53Aが作成される。一方、稜線E51のフィレット干渉領域の両側の基本領域では稜線E51に設定されたフィレット半径R51のフィレットFL51が作成される。
 次に、稜線のコーナー領域におけるフィレットの作成について説明する。
 稜線のコーナー領域にフィレットを作成する際には先ず、コーナー基準点に合流する複数の稜線によって構成される複数の面の平均法線ベクトルをコーナー基準点の法線ベクトルとして算出した後に、コーナー基準点に合流する稜線のコーナー境界点について稜線に設定されたフィレット半径に基づいてフィレットの断面ラインを算出する。稜線のコーナー境界点が縮退領域にある場合、稜線に設定されたフィレット半径に代えて縮退領域について補正された補正フィレット半径を用いて断面ラインを算出する。
 図17は、稜線のコーナー領域における断面ラインの算出を説明するための説明図であり、図1の要部を拡大して示している。図17に示すように、面FS1、FS2間の稜線ES1、面FS2、FS3間の稜線ES2、面FS3、FS1間の稜線ES3について、コーナー基準点Tcからコーナー境界点PS1、PS2、PS3までの領域がコーナー領域として算出されている場合、コーナー基準点Tcの法線ベクトルVcとして、コーナー基準点Tcに合流する稜線ES1、ES2、ES3によって構成される面FS1、FS2、FS3の法線ベクトルの平均値が算出される。
 コーナー基準点Tcの法線ベクトルVcは、コーナー基準点Tcにおける面FS1、FS2、FS3の法線ベクトルをそれぞれVS1、VS2、VS3とすると、以下の数21で示す式を用いて算出される。法線ベクトルVS1、VS2、VS3としては単位ベクトルが用いられる。なお、稜線ES1、ES2、ES3はコーナー基準点Tcの法線ベクトルVcに対して反時計回りに符号の数字が大きくなるように設定されている。
Figure JPOXMLDOC01-appb-M000021
 コーナー基準点Tcの法線ベクトルVcが算出されると、図17に示すように、コーナー基準点Tcに合流する稜線ES1、ES2、ES3のコーナー境界点PS1、PS2、PS3についてそれぞれ稜線ES1、ES2、ES3に設定されたフィレット半径に基づいてフィレットの断面ラインLS1、LS2、LS3が算出される。
 断面ラインLS1、LS2、LS3はそれぞれ、コーナー基準点Tcの法線ベクトルVcに対して反時計回り後方側の始点PS11、PS21、PS31と反時計回り前方側の終点PS1E、PS2E、PS3Eを有し、稜線ES1、ES2、ES3に設定されたコーナー境界点PS1、PS2、PS3におけるフィレット半径をそれぞれRS1、RS2、RS3とすると曲率半径RS1、RS2、RS3の円弧形状に形成される。
 断面ラインLS1の始点PS11及び終点PS1Eはそれぞれ面FS1及びFS2側のR止まり点であり、断面ラインLS2の始点PS21及び終点PS2Eはそれぞれ面FS2及びFS3側のR止まり点であり、断面ラインLS3の始点PS31及び終点PS3Eはそれぞれ面FS3及びFS1側のR止まり点である。
 コーナー基準点に合流する稜線のコーナー境界点についてそれぞれフィレットの断面ラインが算出されると、コーナー基準点の法線ベクトルに対して反時計回りに隣り合う断面ライン間を接続する中間ラインを算出する。
 図18は、中間ラインの算出を説明するための説明図である。図18に示すように、コーナー基準点Tcに合流する稜線ES1、ES2、ES3のコーナー境界点PS1、PS2、PS3についてそれぞれ断面ラインLS1、LS2、LS3が算出されると、コーナー境界点PS1、PS2、PS3におけるコーナー基準点Tcに向かう方向ベクトルV1M、V2M、V3Mが算出される。方向ベクトルV1M、V2M、V3Mとして単位ベクトルが用いられる。
 そして、断面ラインLS1、LS2、LS3の始点PS11、PS21、PS31及び終点PS1E、PS2E、PS3Eにおけるコーナー基準点Tcに向かう方向ベクトルとして、断面ラインLS1、LS2、LS3に対応するコーナー境界点PS1、PS2、PS3における方向ベクトルV1M、V2M、V3Mがそれぞれ設定され、隣り合う断面ラインの始点及び終点の座標と、隣り合う断面ラインの始点及び終点におけるコーナー基準点に向かう方向ベクトルとから、隣り合う断面ライン間を接続する中間ラインが算出される。
 図18に示すように、隣り合う断面ラインLS1、LS2間を接続する中間ラインLM1が算出され、隣り合う断面ラインLS2、LS3間を接続する中間ラインLM2が算出され、隣り合う断面ラインLS3、LS1間を接続する中間ラインLM3が算出される。
 図19は、中間ラインの算出を説明するための別の説明図である。図19では、コーナー基準点Tcの法線ベクトルVcに対して反時計回りに隣り合う断面ラインLS1と断面ラインLS2とを接続する中間ラインLM1を算出する場合について示している。
 中間ラインLM1を算出する際には、図19(a)に示すように、コーナー基準点Tcへの方向ベクトルV1Mが設定された断面ラインLS1の終点PS1Eとコーナー基準点Tcへの方向ベクトルV2Mが設定された断面ラインLS2の始点PS21の点間距離D(PS1E,PS21)が算出され、図19(b)に示すように、断面ラインLS1の終点PS1E及び断面ラインLS2の始点PS21からそれぞれコーナー基準点Tcへの方向ベクトルV1M及びV2Mの方向に点間距離D(PS1E,PS21)の三分の一の距離だけ離れた位置に制御点PS1EA及びPS21Aが設定される。
 そして、図19(c)に示すように、断面ラインLS1の終点PS1E及び断面ラインLS2の始点PS2の座標と、制御点PS1EA及びPS21Aの座標とから、断面ラインLS1の終点PS1Eと断面ラインLS2の始点PS21を接続する補間曲線として3次のベジエ曲線が算出され、この曲線が断面ラインLS1、LS2間を接続する中間ラインLM1として算出される。
 断面ラインLS2、LS3間を接続する中間ラインLM2及び断面ラインLS3、LS1間を接続する中間ラインLM3についても、中間ラインLM1の算出と同様にして算出される。このようにして、断面ライン間を接続する中間ラインが算出されると、断面ラインと中間ラインによって囲まれる閉領域が形成される。
 中間ラインが算出されると、中間ラインを修正するか否かを判定する。中間ラインを修正するか否かは、断面ラインと中間ラインによって囲まれる閉領域内にコーナー基準点が存在するか否かで判定する。
 図20は、中間ラインの修正判定を説明するための説明図である。中間ラインを修正するか否かを判定する際には、断面ラインと中間ラインによって囲まれる閉領域を、コーナー基準点を通ってコーナー基準点の法線ベクトルがZ軸となるXY平面に投影させ、投影断面ラインと投影中間ラインによって囲まれる投影閉領域内にコーナー基準点が存在するか否かが判定される。
 図20(a)に示すように、XYZ座標系において断面ラインLS1、LS2、LS3及び中間ラインLM1、LM2、LM3が算出されている場合、断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3によって囲まれる閉領域Aが、コーナー基準点Tcを通ってコーナー基準点Tcの法線ベクトルVcがZ軸となるXY平面に投影され、図20(b)に示すように、投影断面ラインLS1´、LS2´、LS3´と投影中間ラインLM1´、LM2´、LM3´によって囲まれる投影閉領域A´が算出される。
 そして、投影閉領域A´内にコーナー基準点Tcが存在するか否かが、既知の内外判定法を用いて判定される。図20(b)に示すように、投影断面ラインLS1´、LS2´、LS3´と投影中間ラインLM1´、LM2´、LM3´による投影閉領域A´内にコーナー基準点Tcが存在すると判定される場合、断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3とによって囲まれる閉領域A内にコーナー基準点Tcが存在すると判定され、中間ラインを修正しないと判定される。
 なお、図20(b)では、図20(a)に示す稜線ES1、ES2、ES3が投影された投影稜線をES1´、ES2´、ES3´とし、図20(a)に示す断面ラインLS1、LS2、LS3の始点PS11、PS21、PS31及び終点PS1E、PS2E、PS3Eが投影された投影断面ラインLS1´、LS2´、LS3´の投影始点及び投影終点をそれぞれPS11´、PS21´、PS31´及びPS1E´、PS2E´、PS3E´として表している。
 図21は、中間ラインの修正判定を説明するための別の説明図である。図21に示す三次元形状モデルについても、図21(a)に示すXYZ座標系において断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3による閉領域Aが、コーナー基準点Tcを通ってコーナー基準点Tcの法線ベクトルVcがZ軸となるXY平面に投影され、図21(b)に示す投影断面ラインLS1´、LS2´、LS3´と投影中間ラインLM1´、LM2´、LM3´による投影閉領域A´が算出される。
 図21(b)に示すように、投影閉領域A´内にコーナー基準点Tcが存在しない場合は、断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3とによる閉領域A内にコーナー基準点Tcが存在しないと判定され、中間ラインを修正すると判定される。
 中間ラインを修正すると判定されると、断面ライン間を接続する中間ラインから修正する中間ラインを特定する。中間ラインの両側の端点と該両側の端点におけるコーナー基準点への方向ベクトルの交点とによって囲まれる閉領域内にコーナー基準点が存在する中間ラインを修正する中間ラインとして特定する。
 図22は、修正する中間ラインの特定を説明するための説明図である。修正する中間ラインを特定する際には、図22(a)に示すように、XYZ座標系における断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3による閉領域が、コーナー基準点Tcを通ってコーナー基準点Tcの法線ベクトルVcがZ軸となるXY平面に投影され、図22(b)に示すように、投影断面ラインLS1´、LS2´、LS3´と投影中間ラインLM1´、LM2´、LM3´が算出される。
 また、図22(a)に示すように、中間ラインLM1、LM2、LM3の一方の端点となる断面ラインLS1、LS2、LS3の終点PS1E、PS2E、PS3E及び他方の端点となる断面ラインLS2、LS3、LS1の始点PS21、PS31、PS11におけるコーナー基準点Tcへの方向ベクトルV1M及びV2M、V2M及びV3M、V3M及びV1Mが、コーナー基準点Tcを通ってコーナー基準点Tcの法線ベクトルVcがZ軸となるXY平面に投影され、図22(b)に示すように、投影方向ベクトルV1M´及びV2M´、V2M´及びV3M´、V3M´及びV1M´が算出される。
 そして、投影中間ラインについてそれぞれ、投影中間ラインの両側の端点から投影方向ベクトルの方向に延びる直線の交点が算出され、投影中間ラインの両側の端点と算出された交点とによって囲まれる三角形閉領域内にコーナー基準点が存在するか否かが既知の内外判定法を用いて判定される。
 図22(b)に示すように、投影中間ラインLM1´について、投影中間ラインLM1´の両側の端点PS1E´、PS21´からそれぞれ投影方向ベクトルV1M´、V2M´の方向に延びる直線の交点PM1´が算出され、投影中間ラインLM1´の両側の端点PS1E´、PS21´と算出された交点PM1´とによって囲まれる三角形閉領域AM1内にコーナー基準点Tcが存在するか否かが既知の内外判定法を用いて判定される。
 投影中間ラインLM2´及びLM3´についても、投影中間ラインLM1´と同様にして、投影中間ラインLM2´の両側の端点PS2E´、PS31´と交点PM2´とによって囲まれる三角形閉領域AM2及び投影中間ラインLM3´の両側の端点PS3E´、PS11´と交点PM3´とによって囲まれる三角形閉領域AM3内にそれぞれコーナー基準点Tcが存在するか否かが既知の内外判定法を用いて判定される。
 図22(b)に示すように、三角形閉領域AM1、AM2内にコーナー基準点Tcが存在せず、三角形閉領域AM3内にコーナー基準点Tcが存在すると判定される場合、三角形閉領域AM3を構成する2つの端点PS3E´、PS11´を有する投影中間ラインLM3´に対応する中間ラインLM3が、修正する中間ラインとして特定される。
 修正する中間ラインが特定されると、特定された中間ラインについて、断面ライン及び中間ラインによる閉領域内にコーナー基準点が存在するように中間ラインを修正する。中間ラインを修正する際には、中間ラインを算出する際に設定された制御点を変更して中間ラインを修正する。
 図23は、中間ラインの修正を説明するための説明図である。図23(a)に示すように、XYZ座標系において修正する中間ラインLM3について、中間ラインLM3の両側の端点PS3E、PS11から両側の端点PS3E、PS11にそれぞれ設定されたコーナー基準点Tcへの方向ベクトルV3M、V1Mの方向に延びる直線L、Lが算出されると共に、直線L、Lにおける直線L、L間の距離が最小となる最近点PCE、PC1が算出される。
 次に、直線L、Lについてそれぞれ中間ラインLM3の端点PS3E、PS11と最近点PCE、PC1の点間距離D、Dが算出され、端点PS3E、PS11からそれぞれコーナー基準点Tcへの方向ベクトルV3M、V1Mの方向に点間距離D、Dの十分の一の距離だけ離れた位置に制御点PS3EA、PS11Aが設定される。
 そして、端点PS3E、PS11の座標と、制御点PS3EA、PS11Aの座標とから、中間ラインLM1の算出と同様にして、3次のベジエ曲線が算出され、この曲線が断面ラインLS1、LS3間を接続する中間ラインLM3を補正した修正中間ラインLM3Aとして算出される。
 修正中間ラインLM3Aが算出されると、中間ラインLM3に代えて修正中間ラインLM3Aを用い、断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3Aとによる閉領域A1A内にコーナー基準点Tcが存在するか否かについて、前述した断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3とによる閉領域A内にコーナー基準点Tcが存在するか否かについての判定と同様にして判定される。
 閉領域A1A内にコーナー基準点Tcが存在すると判定される場合は、中間ラインLM3に代えて修正中間ラインLM3Aが中間ラインとして用いられるが、閉領域A1A内にコーナー基準点Tcが存在しないと判定される場合は、再度中間ラインが修正される。
 再度中間ラインを修正する際には、端点PS3E、PS11からそれぞれコーナー基準点Tcへの方向ベクトルV3M、V1Mの方向にさらに点間距離D、Dの十分の一の距離だけ、すなわち点間距離D、Dの十分の二の距離だけ離れた位置にそれぞれ制御点PS3EA、PS11Aが設定され、端点PS3E、PS11の座標と、制御点PS3EA、PS11Aの座標とから、断面ラインLS1、LS3間を接続する中間ラインLM3を補正した修正中間ラインLM3Aが算出される。
 再び中間ラインLM3に代えて修正中間ラインLM3Aを用い、断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3Aによる閉領域A1A内にコーナー基準点Tcが存在するか否かについて判定され、断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3Aとによる閉領域A1A内にコーナー基準点Tcが存在するまで繰り返され、図23(b)に示すように、断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3Aによる閉領域A1A内にコーナー基準点Tcが存在する修正中間ラインLM3Aが算出される。
 このようにして、コーナー基準点に合流する稜線のコーナー領域について断面ライン及び中間ラインが算出されると、断面ライン及び中間ラインの中点を算出すると共に断面ライン及び中間ラインの中点におけるコーナー基準点Tcに向かう方向ベクトルを算出する。
 図24は、断面ライン及び中間ラインの中点及び該中点からコーナー基準点への方向ベクトルの算出を説明するための説明図である。図24(a)に示すように、XYZ座標系において断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3が算出されている場合、断面ラインLS1、LS2、LS3についてそれぞれ中点PS1M、PS2M、PS3Mが算出され、断面ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3Mにおけるコーナー基準点Tcに向かう方向ベクトルVS1M、VS2M、VS3Mとして、断面ラインLS1、LS2、LS3に対応するコーナー境界点PS1、PS2、PS3におけるコーナー基準点Tcに向かう方向ベクトルV1M、V2M、V3Mがそれぞれ設定されて算出される。
 図24(b)に示すように、中間ラインLM1、LM2、LM3についてもそれぞれ中点PM1M、PM2M、PM3Mが算出される。中間ラインLM1、LM2、LM3の中点PM1M、PM2M、PM3Mにおけるコーナー基準点Tcに向かう方向ベクトルを算出する際には、断面ラインLS1、LS2、LS3の終点PS1E、PS2E、PS3Eにおけるコーナー境界点PS1、PS2、PS3に向かう方向の接線ベクトルVLS1E、VLS2E、VLS3Eが算出されると共に、断面ラインLS2、LS3、LS1の始点PS21、PS31、PS11におけるコーナー境界点PS2、PS3、PS1に向かう方向の接線ベクトルVLS21、VLS31、VLS11が算出される。
 そして、中間ラインLM1の中点PM1Mにおけるコーナー基準点Tcに向かう方向ベクトルVM1Mとして、以下の数22で示す式を用いて、中間ラインLM1のコーナー基準点Tcの法線ベクトルVcに対して反時計回り後方側の端点である断面ラインLS1の終点PS1Eにおける接線ベクトルVLS1Eと、中間ラインLM1のコーナー基準点Tcの法線ベクトルVcに対して反時計回り前方側の端点である断面ラインLS2の始点PS21における接線ベクトルVLS21の平均値が算出される。
Figure JPOXMLDOC01-appb-M000022
 中間ラインLM2、LM3の中点PM2M、PM3Mにおけるコーナー基準点Tcに向かう方向ベクトルVM2M、VM3Mについても同様に、以下の数23、数24で示す式を用いて、中間ラインLM2、LM3のコーナー基準点Tcの法線ベクトルVcに対して反時計回り後方側の端点である断面ラインLS2、LS3の終点PS2E、PS3Eにおける接線ベクトルVLS2E、VLS3Eと、中間ラインLM2、LM3のコーナー基準点Tcの法線ベクトルVcに対して反時計回り前方側の端点である断面ラインLS3、LS1の始点PS31、PS11における接線ベクトルVLS31、VLS11の平均値が算出される。
Figure JPOXMLDOC01-appb-M000023
Figure JPOXMLDOC01-appb-M000024
 このようにして、断面ライン及び中間ラインの中点と断面ライン及び中間ラインの中点におけるコーナー基準点に向かう方向ベクトルが算出される。中間ラインが修正された場合は、修正中間ラインについて中点と該中点におけるコーナー基準点に向かう方向ベクトルが算出される。
 次に、断面ラインと中間ラインによって囲まれる閉領域についてコーナータイプを算出し、算出されたコーナータイプに応じて断面ラインと中間ラインによって囲まれる閉領域内に該閉領域内を分割するための分割中心点を算出する。
 コーナータイプを算出する際には、断面ラインと中間ラインによって囲まれる閉領域について、中間ラインとして修正中間ラインが用いられていないと判定されると共に、断面ラインの中点からそれぞれコーナー基準点に向かう方向ベクトルをコーナー基準点の法線ベクトルがZ軸となるXY平面に投影させた投影方向ベクトルについて2つの投影方向ベクトルのなす角度のうち最も大きい最大角度が所定角度、具体的には135度以上であるか否かが判定される。
 図25は、コーナータイプの算出を説明するための説明図である。中間ラインとして修正中間ラインが用いられていないと判定される場合に、図25(a)に示すように、XYZ座標系における断面ラインLS1、LS2、LS3及び中間ラインLM1、LM2、LM3が、コーナー基準点Tcを通ってコーナー基準点Tcの法線ベクトルVcがZ軸となるXY平面に投影され、図25(b)に示すように、投影断面ラインLS1´、LS2´、LS3´及び投影中間ラインLM1´、LM2´、LM3´が算出される。
 また、図25(a)に示すように、断面ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3M及び該中点PS1M、PS2M、PS3Mにおけるコーナー基準点Tcへの方向ベクトルVS1M、VS2M、VS3Mがそれぞれ、コーナー基準点Tcを通ってコーナー基準点Tcの法線ベクトルVcがZ軸となるXY平面に投影され、図25(b)に示すように、投影中点PS1M´、PS2M´、PS3M´及び投影方向ベクトルVS1M´、VS2M´、VS3M´が算出される。
 そして、投影方向ベクトルVS1M´、VS2M´、VS3M´について2つの投影方向ベクトルのなす角度のうち最も大きい最大角度が135度以上であるか否かが判定される。2つの投影方向ベクトルのなす角度は、2つの投影方向ベクトルの内積を用いて算出することができる。
 図25(b)に示すように、投影方向ベクトルVS1M´、VS2M´のなす角度及び投影方向ベクトルVS3M´、VS1M´のなす角度よりも投影方向ベクトルVS2M´、VS3M´のなす角度が大きく投影方向ベクトルVS2M´、VS3M´のなす角度が最大角度θMAXであり135度以上である場合、2つの投影方向ベクトルのなす角度のうち最大角度が135度以上であると判定される。
 断面ラインと中間ラインによって囲まれる閉領域について、中間ラインとして修正中間ラインが用いられていないと判定され、断面ラインの中点におけるコーナー基準点への方向ベクトルが投影された投影方向ベクトルについて投影方向ベクトルのなす角度のうち最大角度が135度以上であると判定される場合、コーナータイプが第1タイプとして算出される。
 本実施形態では、断面ラインと中間ラインによって囲まれる閉領域について、中間ラインとして修正中間ラインが用いられていないと判定され、断面ラインの中点におけるコーナー基準点への方向ベクトルが投影された投影方向ベクトルについて投影方向ベクトルのなす角度のうち最大角度が135度以上ではないと判定される場合についても、コーナー基準点に合流する稜線が2つ、すなわち断面ラインが2つであると判定される場合にはコーナータイプが第1タイプとして算出される。
 一方、中間ラインとして修正中間ラインが用いられていないと判定されると共に、断面ラインの中点におけるコーナー基準点への方向ベクトルが投影された投影方向ベクトルについて投影方向ベクトルのなす角度のうち最大角度が135度以上ではないと判定され、コーナー基準点に合流する稜線が2つではないと判定される場合、コーナータイプが第2タイプとして算出される。
 図26は、コーナータイプの算出を説明するための別の説明図である。中間ラインとして修正中間ラインが用いられていないと判定されると共に、図26(a)に示すように、断面ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3Mにおけるコーナー基準点Tcへの方向ベクトルVS1M、VS2M、VS3Mが、図26(b)に示すように、コーナー基準点Tcを通ってコーナー基準点Tcの法線ベクトルVcがZ軸となるXY平面に投影された投影方向ベクトルVS1M´、VS2M´、VS3M´について、投影方向ベクトルVS1M´、VS3M´のなす角度が最大角度θMAXであり135度以上ではないと判定され、且つコーナー基準点Tcに合流する稜線が2つではないと判定される場合、コーナータイプが第2タイプとして算出される。
 また、断面ラインと中間ラインによって囲まれる閉領域について中間ラインとして修正中間ラインが用いられていると判定される場合、コーナータイプが第3タイプとして算出される。
 断面ラインと中間ラインによって囲まれる閉領域についてそれぞれコーナータイプが算出されると、断面ラインと中間ラインによって囲まれる閉領域内にコーナータイプに応じて分割中心点を算出する。
 図27は、第1タイプの分割中心点の算出を説明するための説明図である。第1タイプについて分割中心点を算出する際には、断面ラインの中点におけるコーナー基準点への方向ベクトルがコーナー基準点を通ってコーナー基準点の法線ベクトルがZ軸となるXY平面に投影された投影方向ベクトルについて、2つの投影方向ベクトルのなす角度のうち最大角度となる2つの投影方向ベクトルに対応する2つの断面ラインをペアとして、ペアを構成する2つの断面ラインの中点を接続するフレームラインが算出され、フレームラインの中点が分割中心点として算出される。
 図27に示すように、断面ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3Mにおけるコーナー基準点Tcへの方向ベクトルが投影された投影方向ベクトルについて2つの投影方向ベクトルのなす角度のうち最大角度となる2つの投影方向ベクトルに対応する2つの断面ラインLS2、LS3をペアとして、ペアを構成する2つの断面ラインLS2、LS3の中点PS2M、PS3Mを接続するフレームラインLF(S2、S3)が算出される。
 フレームラインLF(S2、S3)は、2つの中点PS2M、PS3Mの座標と、2つの中点PS2M、PS3Mにおけるコーナー基準点Tcへの方向ベクトルVS2M、VS3Mとから、中間ラインLM1の算出と同様にして算出される。
 そして、フレームラインLF(S2、S3)の中点PMF(S2、S3)が算出され、算出された中点PMF(S2、S3)が分割中心点Pzとして算出される。
 図28は、第2タイプの分割中心点の算出を説明するための説明図である。第2タイプについて分割中心点を算出する際には、断面ラインと、該断面ラインにコーナー基準点の法線ベクトルに対して反時計回りに隣り合う断面ラインにコーナー基準点の法線ベクトルに対して反時計回りに接続される中間ラインをそれぞれペアとして、ペアを構成する断面ライン及び中間ラインの中点を接続するフレームラインが算出され、フレームラインの中点が算出され、フレームラインの中点の平均座標にある点が分割中心点として算出される。
 図28に示すように、断面ラインLS1、S2、LS3と中間ラインLM2、LM3、LM1がそれぞれペアとされ、ペアを構成する断面ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3Mと中間ラインLM2、LM3、LM1の中点PM2M、PM3M、PM1Mをそれぞれ接続するフレームラインLF(S1、M2)、LF(S2、M3)、LF(S3、M1)が算出される。フレームラインLF(S1、M2)、LF(S2、M3)、LF(S3、M1)は、第1タイプにおけるフレームラインLF(S2、S3)の算出と同様にして算出される。
 そして、フレームラインLF(S1、M2)、LF(S2、M3)、LF(S3、M1)の中点PMF(S1、M2)、PMF(S2、M3)、PMF(S3、M1)がそれぞれ算出され、中点PMF(S1、M2)、PMF(S2、M3)、PMF(S3、M1)の平均座標が算出され、該平均座標にある点が分割中心点Pzとして算出される。
 図29は、第3タイプの分割中心点の算出を説明するための説明図である。第3タイプについて分割中心点を算出する際には、修正中間ラインと、断面ラインの中点におけるコーナー基準点への方向ベクトルが投影された投影方向ベクトルのうち、修正中間ラインの中点におけるコーナー基準点への方向ベクトルが投影された投影方向ベクトルとのなす角度が最も大きい投影方向ベクトルに対応する断面ラインをペアとして、ペアを構成する修正中間ライン及び断面ラインの中点を接続するフレームラインが算出され、フレームラインの中点が分割中心点として算出される。
 図29(a)に示すように、修正中間ラインLM3Aの中点PM3MAにおけるコーナー基準点Tcへの方向ベクトルVM3MAと、断面ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3Mにおけるコーナー基準点Tcへの方向ベクトルVS1M、VS2M、VS3Mとがそれぞれ、コーナー基準点Tcを通ってコーナー基準点Tcの法線ベクトルVcがZ軸となるXY平面に投影され、図29(b)に示すように、投影方向ベクトルVM3MA´と投影方向ベクトルVS1M´、VS2M´、VS3M´とが算出される。
 そして、図29(b)に示すように、断面ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3Mにおけるコーナー基準点Tcへの方向ベクトルVS1M、VS2M、VS3Mが投影された投影方向ベクトルVS1M´、VS2M´、VS3M´のうち、修正中間ラインLM3Aの中点PM3MAにおけるコーナー基準点Tcへの方向ベクトルVM3MAが投影された投影方向ベクトルVM3MA´とのなす角度が最も大きい投影方向ベクトルVS2M´が算出される。
 投影方向ベクトルVM3MA´とのなす角度が最も大きい投影方向ベクトルVS2M´が算出されると、修正中間ラインLM3Aと算出された投影方向ベクトルVS2M´に対応する断面ラインLS2をペアとして、図29(a)に示すように、ペアを構成する修正中間ラインLM3Aの中点PM3MAと断面ラインLS2の中点PS2Mを接続するフレームラインLF(S2、M3A)が算出される。フレームラインLF(S2、M3A)は、第1タイプにおけるフレームラインLF(S2、S3)の算出と同様にして算出される。
 そして、フレームラインLF(S2、M3A)の中点PMF(S2、M3A)が算出され、算出された中点PMF(S2、M3A)が分割中心点Pzとして算出される。
 コーナータイプに応じて断面ラインと中間ラインによって囲まれる閉領域内に分割中心点が算出されると、分割中心点と断面ライン及び中間ラインの中点とをそれぞれ接続して断面ラインと中間ラインによって囲まれる閉領域内を分割する分割ラインを算出する。
 分割ラインを算出する際には、断面ライン及び中間ラインのラインについてそれぞれペアを設定し、ペアを構成するラインの中点を接続するフレームラインを算出し、フレームラインの中点におけるフレームラインの両側の端点である断面ライン、中間ラインの中点に向かう方向の接線ベクトルを算出し、フレームラインの中点における断面ライン、中間ラインの中点に向かう方向の接線ベクトルを分割中心点における断面ライン、中間ラインの中点に向かう方向の接線ベクトルとして設定し、分割中心点における断面ライン、中間ラインの中点に向かう方向の接線ベクトルを用いて分割中心点と断面ライン、中間ラインの中点とを接続する分割ラインを算出する。
 図30は、第1タイプの分割ラインの算出を説明するための別の説明図である。第1タイプについて分割ラインを算出する際には、図30(a)に示すように、断面ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3Mにおけるコーナー基準点Tcへの方向ベクトルVS1M、VS2M、VS3Mと、中間ラインLM1、LM2、LM3の中点PM1M、PM2M、PM3Mにおけるコーナー基準点Tcへの方向ベクトルVM1M、VM2M、VM3Mがそれぞれ、コーナー基準点Tcを通ってコーナー基準点Tcの法線ベクトルVcがZ軸となるXY平面に投影され、図30(b)に示すように、投影方向ベクトルVS1M´、VS2M´、VS3M´と投影方向ベクトルVM1M´、VM2M´、VM3M´が算出される。
 そして、分割中心点Pzを算出する際に算出された2つの断面ラインLS2、LS3のペアに加え、このペアを構成する断面ラインLS2、LS3を除く断面ラインLS1と中間ラインLM1、LM2、LM3とについてそれぞれ、該断面ラインLS1と中間ラインLM1、LM2、LM3とにそれぞれ対応する投影方向ベクトルVS1M´、VM1M´、VM2M´、VM3M´が他の断面ライン、中間ラインに対応する投影方向ベクトルとのなす角度が最も大きい他の投影方向ベクトルに対応する他の断面ライン、中間ラインがペアとして設定される。
 図30(a)に示す断面ラインLS1、LS2、LS3及び中間ラインLM1、LM2、LM3では、断面ラインLS2、LS3のペアに加え、断面ラインLS1と中間ラインLM2のペア、中間ラインLM1と中間ラインLM2のペア、中間ラインLM3と中間ラインLM2のペアが設定される。
 図31は、第1タイプの分割ラインの算出を説明するための別の説明図である。断面ライン、中間ラインについてペアが設定されると、図31に示すように、ペアを構成する断面ラインLS2及び断面ラインLS3、断面ラインLS1及び中間ラインLM2、中間ラインLM1及び中間ラインLM2、中間ラインLM3及び中間ラインLM2についてそれぞれ中点を接続するフレームラインLF(S2、S3)、LF(S1、M2)、LF(M1、M2)、LF(M3、M2)が算出される。フレームラインLF(S1、M2)、LF(M1、M2)、LF(M3、M2)の算出は、フレームラインLF(S2、S3)の算出と同様にして算出される。
 そして、各フレームラインLF(S2、S3)、LF(S1、M2)、LF(M1、M2)、LF(M3、M2)の中点PMF(S2、S3)、PMF(S1、M2)、PMF(M1、M2)、PMF(M3、M2)が算出されると共に、各中点PMF(S2、S3)、PMF(S1、M2)、PMF(M1、M2)、PMF(M3、M2)における各フレームラインLF(S2、S3)、LF(S1、M2)、LF(M1、M2)、LF(M3、M2)の一方側の端点に向かう方向の接線ベクトルV1MF(S2、S3)、V1MF(S1、M2)、V1MF(M1、M2)、V1MF(M3、M2)と他方側の端点に向かう方向の接線ベクトルV2MF(S2、S3)、V2MF(S1、M2)、V2MF(M1、M2)、V2MF(M3、M2)が算出される。
 図32は、第1タイプの分割ラインの算出を説明するための更に別の説明図である。各フレームラインの一方側及び他方側の端点に向かう方向の接線ベクトルが算出されると、図32(a)に示すように、算出された接線ベクトルV1MF(S1、M2)、V1MF(S2、S3)、V2MF(S2、S3)、V1MF(M1、M2)、V2MF(S1、M2)、V1MF(M3、M2)が、分割中心点Pzにおける各フレームラインの一方側及び他方側の端点である断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3の中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3Mに向かう方向の接線ベクトルとして設定される。
 分割中心点における1つの断面ライン又は中間ラインの中点に向かう方向の接線ベクトルが複数存在する場合、この断面ライン又は中間ラインと、投影方向ベクトルのなす角度が最も大きい投影方向ベクトルに対応する断面ライン又は中間ラインとを接続するフレームラインの中点におけるフレームラインの断面ライン又は中間ラインの中点に向かう方向の接線ベクトルが、分割中心点における断面ライン又は中間ラインの中点に向かう方向の接線ベクトルとして設定される。
 図31に示すように、中間ラインLM2の中点PM2Mに向かう方向の接線ベクトルV2MF(S1、M2)、V2MF(M1、M2)、V2MF(M3、M2)が複数存在する場合、図32(a)に示すように、中間ラインLM2と、投影方向ベクトルのなす角度が最も大きい投影方向ベクトルに対応する断面ラインLS1とを接続するフレームラインLF(S1、M2)の中点PMF(S1、M2)におけるフレームラインLF(S1、M2)の中間ラインLM2の中点に向かう方向の接線ベクトルV2MF(S1、M2)が、分割中心点Pzにおける中間ラインLM2の中点PM2Mに向かう方向の接線ベクトルとして設定される。
 次に、分割中心点Pzにおける断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3の中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3Mに向かう方向の接線ベクトルV1MF(S1、M2)、V1MF(S2、S3)、V2MF(S2、S3)、V1MF(M1、M2)、V2MF(S1、M2)、V1MF(M3、M2)を用いて、図32(b)に示すように、分割中心点Pzと、断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3の中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3Mを接続する分割ラインLS1D、LS2D、LS3D、LM1D、LM2D、LM3Dが算出される。
 分割中心点Pzと断面ラインLS1の中点PS1Mを接続する分割ラインLS1Dは、分割中心点Pzと断面ラインLS1の中点PS1Mの座標と、分割中心点Pzにおける断面ラインLS1の中点PS1Mに向かう方向の接線ベクトルV1MF(S1、M2)と、断面ラインLS1の中点PS1Mにおけるコーナー基準点Tcへの方向ベクトルVS1Mとから、中間ラインLM1の算出と同様にして算出される。他の分割ラインLS2D、LS3D、LM1D、LM2D、LM3Dについても、分割ラインLS1Dと同様にして算出される。
 図33は、第2タイプの分割ラインの算出を説明するための説明図である。第2タイプについて分割ラインを算出する際には、分割中心点を算出するときと同様に、断面ラインと、該断面ラインにコーナー基準点の法線ベクトルに対して反時計回りに隣り合う断面ラインにコーナー基準点の法線ベクトルに対して反時計回りに接続される中間ラインがそれぞれペアとして設定される。
 断面ライン、中間ラインについてそれぞれペアが設定されると、分割中心点を算出するときと同様に、図33に示すように、ペアを構成する断面ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3Mと中間ラインLM2、LM3、LM1の中点PM2M、PM3M、PM1Mをそれぞれ接続するフレームラインLF(S1、M2)、LF(S2、M3)、LF(S3、M1)が算出される。
 そして、各フレームラインLF(S1、M2)、LF(S2、M3)、LF(S3、M1)の中点PMF(S1、M2)、PMF(S2、M3)、PMF(S3、M1)が算出されると共に、各中点PMF(S1、M2)、PMF(S2、M3)、PMF(S3、M1)における各フレームラインLF(S1、M2)、LF(S2、M3)、LF(S3、M1)の一方側の端点に向かう方向の接線ベクトルV1MF(S1、M2)、V1MF(S2、M3)、V1MF(S3、M1)と他方側の端点に向かう方向の接線ベクトルV2MF(S1、M2)、V2MF(S2、M3)、V2MF(S3、M1が算出される。
 図34は、第2タイプの分割ラインの算出を説明するための別の説明図である。各フレームラインの一方側及び他方側の端点に向かう方向の接線ベクトルが算出されると、図34(a)に示すように、算出された接線ベクトルV1MF(S1、M2)、V1MF(S2、M3)、V1MF(S3、M1)、V2MF(S3、M1)、V2MF(S1、M2)、V2MF(S2、M3)が、分割中心点Pzにおける各フレームラインの一方側及び他方側の端点である断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3の中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3Mに向かう方向の接線ベクトルとして設定される。
 次に、分割中心点Pzにおける断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3の中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3Mに向かう方向の接線ベクトルV1MF(S1、M2)、V1MF(S2、M3)、V1MF(S3、M1)、V2MF(S3、M1)、V2MF(S1、M2)、V2MF(S2、M3)を用いて、図34(b)に示すように、分割中心点Pzと、断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3の中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3Mを接続する分割ラインLS1D、LS2D、LS3D、LM1D、LM2D、LM3Dが算出される。分割ラインLS1D、LM1D、LS2D、LM2D、LS3D、LM3Dは、第1タイプの分割ラインLS1Dと同様にして算出される。
 図35は、第3タイプの分割ラインの算出を説明するための説明図である。第3タイプについて分割ラインを算出する際には、図35(a)に示すように、断面ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3Mにおけるコーナー基準点Tcへの方向ベクトルVS1M、VS2M、VS3Mと、中間ラインLM1、LM2、LM3Aの中点PM1M、PM2M、PM3MAにおけるコーナー基準点Tcへの方向ベクトルVM1M、VM2M、VM3MAがそれぞれ、コーナー基準点Tcを通ってコーナー基準点Tcの法線ベクトルVcがZ軸となるXY平面に投影され、図35(b)に示すように、投影方向ベクトルVS1M´、VS2M´、VS3M´と投影方向ベクトルVM1M´、VM2M´、VM3MA´が算出される。
 そして、分割中心点Pzを算出する際に算出された中間ラインLM3A及び断面ラインLS2のペアに加え、このペアを構成する中間ラインLM3A及び断面ラインLS2を除く断面ラインLS1、LS3と中間ラインLM1、LM2についてそれぞれ、該断面ラインLS1、LS3と中間ラインLM1、LM2にそれぞれ対応する投影方向ベクトルVS1M´、VS3M´、VM1M´、VM2M´が他の断面ライン、中間ラインに対応する投影方向ベクトルとのなす角度が最も大きい他の投影方向ベクトルに対応する他の断面ライン、中間ラインがペアとして設定される。
 図35(a)に示す断面ラインLS1、LS2、LS3及び中間ラインLM1、LM2、LM3Aでは、中間ラインLM3A及び断面ラインLS2のペアに加え、断面ラインLS1及び中間ラインLM3Aのペア、断面ラインLS3及び中間ラインLM3Aのペア、中間ラインLM1及び中間ラインLM3Aのペア、中間ラインLM2及び中間ラインLM3Aのペアが設定される。
 図36は、第3タイプの分割ラインの算出を説明するための別の説明図である。断面ライン、中間ラインについてペアが設定されると、図36に示すように、ペアを構成する中間ラインLM3A及び断面ラインLS2、断面ラインLS1及び中間ラインLM3A、断面ラインLS3及び中間ラインLM3A、中間ラインLM1及び中間ラインLM3A、中間ラインLM2及び中間ラインLM3Aについてそれぞれ中点を接続するフレームラインLF(M3A、S2)、LF(S1、M3A)、LF(S3、M3A)、LF(M1、M3A)、LF(M2、M3A)が算出される。フレームラインLF(S1、M3A)、LF(S3、M3A)、LF(M1、M3A)、LF(M2、M3A)の算出は、フレームラインLF(M3A、S2)の算出と同様にして算出される。
 そして、各フレームラインLF(M3A、S2)、LF(S1、M3A)、LF(S3、M3A)、LF(M1、M3A)、LF(M2、M3A)の中点PMF(M3A、S2)、PMF(S1、M3A)、PMF(S3、M3A)、PMF(M1、M3A)、PMF(M2、M3A)が算出されると共に、各中点PMF(M3A、S2)、PMF(S1、M3A)、PMF(S3、M3A)、PMF(M1、M3A)、PMF(M2、M3A)における各フレームラインLF(M3A、S2)、LF(S1、M3A)、LF(S3、M3A)、LF(M1、M3A)、LF(M2、M3A)の一方側の端点に向かう方向の接線ベクトルと他方側の端点に向かう方向の接線ベクトルが算出される。
 図37は、第3タイプの分割ラインの算出を説明するための更に別の説明図である。各フレームラインの一方側及び他方側の端点に向かう方向の接線ベクトルが算出されると、図37(a)に示すように、算出された接線ベクトルV1MF(S1、M3A)、V2MF(M3A、S2)、V1MF(S3、M3A)、V1MF(M1、M3A)、V1MF(M2、M3A)、V1MF(M3A、S2)が、分割中心点Pzにおける各フレームラインの一方側及び他方側の端点である断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3Aの中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3MAに向かう方向の接線ベクトルとして設定される。
 第3タイプについても、第1タイプと同様に、分割中心点における1つの断面ライン又は中間ラインの中点に向かう方向の接線ベクトルが複数存在する場合、この断面ライン又は中間ラインと、投影方向ベクトルのなす角度が最も大きい投影方向ベクトルに対応する断面ライン又は中間ラインとを接続するフレームラインの中点におけるフレームラインの断面ライン又は中間ラインの中点に向かう方向の接線ベクトルが、分割中心点における断面ライン又は中間ラインの中点に向かう方向の接線ベクトルとして設定される。
 図36に示すように、中間ラインLM3Aの中点PM3MAに向かう方向の接線ベクトルが複数存在する場合、図37(a)に示すように、中間ラインLM3Aと、投影方向ベクトルのなす角度が最も大きい投影方向ベクトルに対応する断面ラインLS2とを接続するフレームラインLF(M3A、S2)の中点PMF(M3A、S2)におけるフレームラインLF(M3A、S2)の中間ラインLM3Aの中点に向かう方向の接線ベクトルV1MF(M3A、S2)が、分割中心点Pzにおける中間ラインLM3Aの中点PM3MAに向かう方向の接線ベクトルとして設定される。
 次に、分割中心点Pzにおける断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3Aの中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3MAに向かう方向の接線ベクトルV1MF(S1、M3A)、V2MF(M3A、S2)、V1MF(S3、M3A)、V1MF(M1、M3A)、V1MF(M2、M3A)、V1MF(M3A、S2)を用いて、図37(b)に示すように、分割中心点Pzと、断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3Aの中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3MAを接続する分割ラインLS1D、LS2D、LS3D、LM1D、LM2D、LM3DAが算出される。分割ラインLS1D、LM1D、LS2D、LM2D、LS3D、LM3DAは、第1タイプの分割ラインLS1Dと同様にして算出される。
 分割ラインが算出されると、断面ラインと中間ラインによって囲まれる閉領域内が分割ラインによって分割されて断面ライン及び中間ラインと断面ライン及び中間ラインの中点とにそれぞれ接続する分割ラインとによって囲まれる分割領域が複数形成され、分割領域にそれぞれ自由曲面を形成してフィレットを作成する。
 図38は、断面ラインと中間ラインによって囲まれる閉領域内の曲面の形成を説明するための説明図である。図38(a)に示すように、分割ラインが算出されると、断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3によって囲まれる閉領域A内が分割ラインLS1D、LS2D、LS3D、LM1D、LM2D、LM3Dによって分割されて分割領域A11~A16が複数形成される。
 具体的には、断面ラインLS1及び中間ラインLM1と分割ラインLS1D、LM1Dとによって囲まれる分割領域A11と、中間ラインLM1及び断面ラインLS2と分割ラインLM1D、LS2Dとによって囲まれる分割領域A12と、断面ラインLS2及び中間ラインLM2と分割ラインLS2D、LM2Dとによって囲まれる分割領域A13と、中間ラインLM2及び断面ラインLS3と分割ラインLM2D、LS3Dとによって囲まれる分割領域A14と、断面ラインLS3及び中間ラインLM3と分割ラインLS3D、LM3Dとによって囲まれる分割領域A15と、中間ラインLM3及び断面ラインLS1と分割ラインLM3D、LS1Dとによって囲まれる分割領域A16とが形成される。
 そして、分割領域A11~A16についてそれぞれ、分割領域A11~A16を構成する断面ライン、中間ライン及び2つの分割ラインにそれぞれ直交する分割領域A11~A16の内方側に向かう方向の勾配ベクトルが算出される。勾配ベクトルを算出する際には先ず、分割領域A11~A16を構成する断面ライン、中間ライン及び2つの分割ラインのそれぞれについて両側の端点における直交する方向の勾配ベクトルが算出される。
 図38(b)に示すように、断面ラインLS2、中間ラインLM2及び2つの分割ラインLM2D、LS2Dによって囲まれる分割領域A13では、断面ラインLS2について、一方の端点PS2Mにおける直交する方向の勾配ベクトルとして、端点PS2Mにおけるコーナー基準点Tcへの方向ベクトルVS2Mが算出され、他方の端点PS2Eにおける直交する方向の勾配ベクトルとして、端点PS2Eにおけるコーナー基準点Tcへの方向ベクトルVS2Mが算出される。
 中間ラインLM2については、一方の端点PS2Eにおける直交する方向の勾配ベクトルとして、端点PS2Eである断面ラインLS2の終点PS2Eにおけるコーナー境界点PS2に向かう方向の接線ベクトルVLS2Eが算出され、他方の端点PM2Mにおける直交する方向の勾配ベクトルとして、端点PM2Mにおけるコーナー基準点Tcへの方向ベクトルVM2Mが算出される。
 分割ラインLM2Dについては、一方の端点PM2Mにおける直交する方向の勾配ベクトルとして、中間ラインLM2の中点PM2Mにおける分割領域A13の内方側に向かう方向の接線ベクトルVLM2Mが算出され、他方の端点である分割中心点Pzにおける直交する方向の勾配ベクトルとして、分割中心点Pzにおける断面ラインLS2の中点PS2Mに向かう方向の接線ベクトルV1MF(S2、M3)が算出される。
 分割ラインLS2Dについては、一方の端点である分割中心点Pzにおける直交する方向の勾配ベクトルとして、分割中心点Pzにおける中間ラインLM2の中点PM2Mに向かう方向の接線ベクトルV2MF(S1、M2)が算出され、他方の端点PS2Mにおける直交する方向の勾配ベクトルとして、断面ラインLS2の中点PS2Mにおける分割領域A13の内方側に向かう方向の接線ベクトルVLS2Mが算出される。
 分割領域A11~A16を構成する断面ライン、中間ライン及び2つの分割ラインのそれぞれについて両側の端点における直交する方向の勾配ベクトルが算出されると、各ラインの両側の端点間について直交する方向における分割領域A11~A16の内方側に向かう方向の勾配ベクトルが算出される。
 図38(b)に示すように、分割領域A13では、断面ラインLS2の両側の端点PS2M、PS2E間について直交する方向における分割領域A13の内方側に向かう方向の勾配ベクトルVS22は、両側の端点PS2M、PS2Eにおける直交する方向の勾配ベクトルVS2M、VS2Mから補間法、具体的には線形補間法を用いて算出される。
 中間ラインLM2、分割ラインLM2D、分割ラインLS2Dについても、断面ラインLS2と同様にして、中間ラインLM2、分割ラインLM2D、分割ラインLS2Dそれぞれの両側の端点間について直交する方向における分割領域A13の内方側に向かう方向の勾配ベクトルVM21、VM2D、VS2Dが、両側の端点における直交する方向の勾配ベクトルから補間法を用いて算出される。
 分割領域A11、A12、A14~A16についても、分割領域A13と同様にして、分割領域を構成する断面ライン、中間ライン及び2つの分割ラインにそれぞれ直交する分割領域の内方側に向かう方向の勾配ベクトルが算出される。
 分割領域A11~A16を構成する断面ライン、中間ライン及び2つの分割ラインにおける勾配ベクトルが算出されると、各ラインの形状及び勾配ベクトルを用いて、分割領域A11~A16にCoons曲面などの既知の自由曲面が形成されて該自由曲面からなるコーナー形状の曲面が形成され、稜線のコーナー領域にフィレットが作成される。
 図38では、コーナータイプが第2タイプである場合について説明しているが、コーナータイプが第1タイプ、第3タイプである場合についても、コーナータイプが第2タイプである場合と同様にして、断面ラインと中間ラインによって囲まれる閉領域内が分割ラインによって分割されて断面ライン及び中間ラインと断面ライン及び中間ラインの中点とにそれぞれ接続する分割ラインとによって囲まれる分割領域にそれぞれ自由曲面が形成されて稜線のコーナー領域にフィレットが形成される。
 図39は、稜線のコーナー領域に形成されるフィレットを示す図である。図39(a)は、図32(b)に示すコーナータイプが第1タイプである場合について、図39(b)は、図34(b)に示すコーナータイプが第2タイプである場合について、図39(c)は、図37(b)に示すコーナータイプが第3タイプである場合について示している。図39では、分割領域をそれぞれ4つの要素に分割するメッシュが形成された状態で示されている。
 図39(a)、図39(b)、図39(c)に示すように、断面ラインと中間ラインによって囲まれる閉領域内が分割ラインによって分割された分割領域にそれぞれ自由曲面が形成され、稜線のコーナー領域にフィレットとしてのコーナー形状が作成される。
 このようにして、稜線のコーナー領域について、コーナー基準点に合流する複数の稜線のコーナー境界点について稜線に設定されたフィレット半径に基づいてフィレットの断面ラインが算出され、断面ライン間を接続する中間ラインが算出され、断面ラインと中間ラインによって囲まれる閉領域内に曲面が形成されてフィレットが作成される。
 前述した実施形態では、コーナー基準点に3つの稜線が合流するコーナー領域について説明しているが、コーナー基準点に2つの稜線が合流するコーナー領域やコーナー基準点に4つ以上の稜線が合流するコーナー領域についてもコーナー基準点に3つの稜線が合流するコーナー領域と同様にして稜線のコーナー領域についてフィレットが作成される。
 このように、本実施形態に係る自動フィレットの作成では、三次元形状モデルのデータからフィレットを作成する稜線を抽出し、稜線に設定されたフィレット半径のフィレットを作成する際に、稜線についてそれぞれ縮退領域、コーナー領域、フィレット干渉領域及び基本領域を算出し、稜線全体について縮退領域、コーナー領域、フィレット干渉領域及び基本領域に応じて自動的にフィレットを作成する。
 本実施形態では、三次元形状モデル1から有限要素分割したメッシュデータが作成され、三次元形状モデル1から稜線が抽出され、稜線についてそれぞれ縮退領域、コーナー領域、フィレット干渉領域及び基本領域が算出され、稜線全体について縮退領域、コーナー領域、フィレット干渉領域及び基本領域に応じて自動的にフィレットが作成されてフィレットメッシュデータが作成される。そして、三次元形状モデル1から有限要素分割したメッシュデータに、フィレットメッシュデータが結合されて、フィレットが作成された三次元形状モデルのメッシュデータが作成される。
 本実施形態ではまた、フィレットが作成された三次元形状モデルのメッシュデータを表示装置に表示する際に、ユーザによって稜線に設定されたフィレット半径を補正したフィレット半径を用いてフィレットが作成された部分、具体的には稜線の縮退領域、フィレット干渉領域及び補正コーナー領域に形成されたフィレットをハイライト表示してユーザに報知させるようになっている。
 次に、本発明の第1実施形態に係る自動フィレット作成システムについて説明する。
 図40は、本発明の第1実施形態に係る自動フィレット作成システムの全体構成を示すブロック図である。本発明の第1本実施形態に係る自動フィレット作成システムは、前述した実施形態に係る自動フィレットの作成を行うように構成されている。
 前記自動フィレット作成システムは、図40に示すように、コンピュータ100を中心として構成され、コンピュータ100は、中央演算装置101と、稜線に作成するフィレットのフィレット半径などを入力するためのキーボードなどの入力装置102と、三次元形状モデルなどを表示するためのディスプレイなどの表示装置103と、三次元形状モデルに自動的にフィレットを作成するためのプログラムやデータなどを記憶するメモリなどの記憶装置104と、フィレットが作成された三次元形状モデルなどを出力するプリンタなどの出力装置105とを有している。
 中央演算装置101は、入力装置102、表示装置103及び出力装置105を制御すると共に、記憶装置104にアクセス可能に構成され、入力装置102を介して入力された情報と記憶装置104に記憶されているプログラムやデータを用いて、三次元形状モデルに自動的にフィレットを作成すると共にフィレットが作成された三次元形状モデルを記憶装置104に保存するように構成されている。
 図41は、図40に示すシステムの記憶装置の構成を示す図である。図41に示すように、記憶装置104は、プログラム記憶部とデータ記憶部とを有している。プログラム記憶部には、三次元形状モデルに自動的にフィレットを作成する自動フィレット作成プログラム、三次元形状モデルを有限要素分割したメッシュを作成するメッシュ作成プログラム、三次元形状モデルから稜線を抽出する稜線抽出プログラム、稜線の縮退領域を算出する縮退領域算出プログラム、稜線のコーナー領域を算出するコーナー領域算出プログラム、稜線のフィレット干渉領域を算出するフィレット干渉領域算出プログラム、稜線の基本領域を算出する基本領域算出プログラム、稜線にそれぞれフィレットを作成するフィレット作成プログラム、及び三次元形状モデルなどを表示する表示プログラムなどが記憶されている。
 一方、データ記憶部には、三次元形状モデルのデータが記憶される三次元形状モデルデータファイル、稜線抽出条件データ及び縮退判定角度データなどが記憶される条件データファイル、三次元形状モデルのメッシュデータやフィレットが作成された三次元形状モデルのメッシュデータが記憶されるメッシュデータファイル、抽出された稜線データが記憶される稜線データファイル、稜線に設定されるフィレット半径データが記憶されるフィレット半径データファイル、稜線の縮退領域が記憶される縮退領域データファイル、稜線のコーナー領域が記憶されるコーナー領域データファイル、稜線のフィレット干渉領域が記憶されるフィレット干渉領域データファイル、稜線の基本領域が記憶される基本領域データファイル、及びフィレットメッシュデータが記憶されるフィレットメッシュデータファイルなどが記憶されている。
 次に、三次元形状モデルに自動的にフィレットを作成する動作について説明する。
 図42は、自動フィレット作成システムによる自動フィレット作成動作を示すフローチャートである。三次元形状モデルに自動的にフィレットを作成する前に、コンピュータ100には、ユーザによって三次元形状モデルのデータが三次元形状モデルデータファイルに記憶されると共に、稜線抽出条件データとしての折れ判定角度データ及び境界線グループ化定義データと縮退判定角度データが条件データファイルに記録される。
 三次元形状モデルに自動的にフィレットを作成するための各種データ、具体的には三次元形状モデルのデータ、稜線抽出条件としての折れ判定角度データ及び境界線グループ化定義データ、縮退判定角度データが記憶された状態で、三次元形状モデルに自動的にフィレットを作成するための計算が行われる。
 先ず、図42に示すように、三次元形状モデルに自動的にフィレットを作成するための各種データが取得される。具体的には、三次元形状モデルのデータが取得され(ステップS1)、稜線抽出条件データとしての折れ判定角度データ及び境界線グループ化定義データと縮退判定角度データとが取得される(ステップS2)。そして、三次元形状モデルが有限要素分割されたメッシュデータが作成され(ステップS3)、作成されたメッシュデータがメッシュデータファイルに記憶される。
 次に、三次元形状モデルのデータから稜線抽出条件データに基づいてフィレットが作成される稜線が抽出される(ステップS4)。三次元形状モデルのデータから稜線抽出条件としての折れ判定角度に基づいて折れ判定角度以上の境界線が抽出され、抽出された境界線が稜線抽出条件としての境界線グループ化定義に基づいてグループ化されて稜線として抽出される。抽出された稜線は、稜線データファイルに記憶される。
 稜線が抽出されると、抽出された稜線が三次元形状モデル1と共に表示装置103に表示された後に、入力装置102を介してユーザによって稜線にそれぞれ設定されるフィレット半径が取得される(ステップS5)。稜線にそれぞれ設定されるフィレット半径が取得されると、フィレット半径がフィレット半径データファイルに記憶され、稜線の縮退領域の算出が行われる(ステップS6)。
 図43は、縮退領域の算出動作を示すフローチャートである。稜線の縮退領域の算出では、図43に示すように、ステップS4において抽出された稜線から縮退基準点が抽出される(ステップS21)。2つの稜線のみが合流する合流点で2つの稜線間角度がステップS2において取得された縮退判定角度以下である合流点が縮退基準点として抽出される。
 縮退基準点が抽出されると、縮退境界点が算出される(ステップS22)。縮退基準点に合流する2つの稜線について、縮退基準点から2つの稜線にそれぞれ作成するフィレットどうしが干渉する境界点が縮退境界点として算出される。縮退境界点が算出されると、縮退基準点から縮退境界点までの領域が縮退領域として算出される(ステップS23)。
 稜線の縮退領域が算出されると、縮退領域について補正フィレット半径が算出される(ステップS24)。縮退基準点に合流する一方の稜線の縮退領域にある構成点について他方の稜線の最近点が算出されると共に最近点距離が算出され、最近点距離が縮退基準点に合流する2つの稜線に設定されたフィレット半径に応じて比例配分された距離に基づいて補正フィレット半径が算出される。算出された縮退領域及び補正フィレット半径は、縮退領域データファイルに記憶される。縮退領域について補正フィレット半径が算出されると、図42に示すように、稜線のコーナー領域の算出が行われる(ステップS7)。
 図44は、コーナー領域の算出動作を示すフローチャートである。稜線のコーナー領域の算出では、図44に示すように、ステップS4において抽出された稜線からコーナー基準点が抽出される(ステップS31)。複数の稜線が合流する合流点であって、ステップS21において抽出された縮退基準点を除く合流点がコーナー基準点として抽出される。
 コーナー基準点が抽出されると、コーナー境界点が算出される(ステップS32)。コーナー基準点に合流する複数の稜線にそれぞれ設定されたフィレット半径に基づいて設定された所定距離だけ離れた境界点がコーナー境界点として算出される。コーナー境界点が算出されると、コーナー基準点からコーナー境界点までの領域が稜線のコーナー領域として算出される(ステップS33)。
 稜線のコーナー領域が算出されると、コーナー領域が他のコーナー基準点について算出されたコーナー領域と干渉するか否かが判定される(ステップS34)。コーナー領域の干渉判定は、コーナー基準点に合流する複数の稜線が合流する他のコーナー基準点のうち最も近い最近コーナー基準点が抽出されて最近コーナー基準点とのコーナー基準点間距離が算出され、コーナー基準点間距離がコーナー基準点からコーナー境界点までの距離と最近コーナー基準点からコーナー境界点までの距離の和より小さいか否かが判定される。
 ステップS34での判定結果がノー(NO)の場合、すなわちコーナー基準点間距離がコーナー基準点からコーナー境界点までの距離と最近コーナー基準点からコーナー境界点までの距離の和より小さくないと判定され、コーナー領域が干渉しないと判定される場合、ステップS33において算出されたコーナー領域がコーナー領域として用いられ、図42に示すように、稜線のフィレット干渉領域の算出が行われる(ステップS8)。
 一方、ステップS34での判定結果がイエス(YES)の場合、すなわちコーナー基準点間距離がコーナー基準点からコーナー境界点までの距離と最近コーナー基準点からコーナー境界点までの距離の和より小さいと判定され、コーナー領域が干渉すると判定される場合、コーナー領域について補正コーナー領域が算出される(ステップS35)。
 補正コーナー領域の算出では、コーナー基準点間距離からコーナー基準点に合流する複数の稜線に設定されたフィレット半径と最近コーナー基準点に合流する複数の稜線に設定されたフィレット半径に基づいて設定された所定距離だけ離れた補正コーナー境界点が算出され、コーナー基準点から補正コーナー境界点までの領域が補正コーナー領域として算出される。補正コーナー領域が算出されると、補正コーナー領域がコーナー領域として用いられる。算出されたコーナー領域及び補正コーナー領域は、コーナー領域データファイルに記憶される。そして、図42に示すように、稜線のフィレット干渉領域の算出が行われる(ステップS8)。
 図45は、フィレット干渉領域の算出動作を示すフローチャートである。稜線のフィレット干渉領域の算出では、図45に示すように、ステップS4において抽出された稜線からフィレット干渉領域が算出される(ステップS41)。
 フィレット干渉領域の算出では、抽出された稜線のうちコーナー領域を除く稜線について、稜線の各構成点についてコーナー領域を除く他の稜線の最近点が算出されると共に最近点距離が算出され、最近点距離が、構成点と該構成点を有する稜線に作成するフィレットのR止まり点との距離と、最近点と該最近点を有する稜線に作成するフィレットのR止まり点との距離の和より小さいか否かが判定され、小さいと判定される稜線の構成点からなる領域がフィレット干渉領域として算出される。
 稜線のフィレット干渉領域が算出されると、フィレット干渉領域について補正フィレット半径が算出される(ステップS42)。稜線のフィレット干渉領域の構成点について最も近い他の稜線の最近点が算出されると共に最近点距離が算出され、最近点距離が2つの稜線に設定されたフィレット半径に応じて比例配分された距離に基づいて補正フィレット半径が算出される。算出されたフィレット干渉領域及び補正フィレット半径は、フィレット干渉領域データファイルに記憶される。
 フィレット干渉領域の算出及びフィレット干渉領域における補正フィレット半径の算出では、稜線が縮退領域にある場合、稜線に設定されたフィレット半径に代えて縮退領域について補正された補正フィレット半径を用いてフィレット干渉領域及びフィレット干渉領域における補正フィレット半径が算出される。
 フィレット干渉領域について補正フィレット半径が算出されると、図42に示すように、稜線の基本領域の算出が行われる(ステップS9)。稜線の基本領域の算出では、ステップS4において抽出された稜線から縮退領域、コーナー領域及びフィレット干渉領域を除く領域が稜線の基本領域として算出される。算出された基本領域は、基本領域データファイルに記憶される。
 稜線についてそれぞれ縮退領域、コーナー領域、フィレット干渉領域及び基本領域が算出されると、稜線の縮退領域、コーナー領域、フィレット干渉領域及び基本領域についてそれぞれ自動的にフィレットが作成される(ステップS10~S13)。
 ステップS10において稜線の縮退領域についてフィレットが作成され、稜線の縮退領域についてステップS24において算出された補正フィレット半径のフィレットが作成される。稜線の縮退領域についてそれぞれ補正フィレット半径のフィレットが作成される。次に、ステップS11において稜線のコーナー領域についてフィレットが作成される。
 図46は、コーナー領域のフィレット作成動作を示すフローチャートである。稜線のコーナー領域についてフィレットの作成では、図46に示すように、コーナー基準点の法線ベクトルが算出される(ステップS51)。コーナー基準点に合流する複数の稜線によって構成される面の平均法線ベクトルがコーナー基準点の法線ベクトルとして算出される。
 コーナー基準点の法線ベクトルが算出されると、コーナー基準点に合流する稜線のコーナー境界点について稜線に設定されたフィレット半径に基づいてフィレットの断面ラインが算出される(ステップS52)。断面ラインの算出では、稜線のコーナー境界点がフィレット干渉領域にある場合、稜線に設定されたフィレット半径に代えてフィレット干渉領域について補正された補正フィレット半径を用いてフィレットの断面ラインが算出される。
 フィレットの断面ラインが算出されると、コーナー基準点の法線ベクトルに対して反時計回りに隣り合う断面ライン間を接続する中間ラインが算出される(ステップS53)。中間ラインの算出では、断面ラインの始点及び終点におけるコーナー基準点への方向ベクトルとしてコーナー境界点におけるコーナー基準点への方向ベクトルが設定され、隣り合う断面ラインの始点及び終点と、始点及び終点におけるコーナー基準点への方向ベクトルとから、3次のベジエ曲線を用いて中間ラインが算出される。
 そして、中間ラインを修正するか否かが判定される(ステップS54)。中間ラインの修正判定は、断面ラインと中間ラインによって囲まれる閉領域内にコーナー基準点が存在するか否かで判定され、閉領域内にコーナー基準点が存在しないと判定される場合は中間ラインを修正すると判定される。
 ステップS54での判定結果がイエスの場合、すなわち断面ラインと中間ラインによって囲まれる閉領域内にコーナー基準点が存在しないと判定され、中間ラインを修正すると判定される場合、ステップS53において算出された中間ラインが修正される(ステップS55)。
 中間ラインの修正では、断面ライン間を接続する中間ラインから修正する中間ラインが特定され、特定された中間ラインについて、断面ライン及び中間ラインによる閉領域内にコーナー基準点が存在するように中間ラインが修正される。中間ラインが修正されると、断面ライン及び中間ラインの中点におけるコーナー基準点への方向ベクトルが算出される(ステップS56)。
 一方、ステップS54での判定結果がノーの場合、すなわち断面ラインと中間ラインによって囲まれる閉領域内にコーナー基準点が存在すると判定され、中間ラインを修正しないと判定される場合、中間ラインが修正されることなく、断面ライン及び中間ラインの中点におけるコーナー基準点への方向ベクトルが算出される(ステップS56)。そして、断面ラインと中間ラインによって囲まれる閉領域についてコーナータイプが算出される(ステップS57)。
 図47は、コーナータイプの算出動作を示すフローチャートである。コーナータイプの算出では、図47に示すように、断面ラインと中間ラインによって囲まれる閉領域について中間ラインが修正されたか否かが判定される(ステップS71)。
 ステップS71での判定結果がノーの場合、すなわち断面ラインと中間ラインによって囲まれる閉領域について中間ラインが修正されていないと判定される場合、断面ラインの中点におけるコーナー基準点への方向ベクトル間の最大角度が135度以上であるか否かが判定される(ステップS72)。コーナー基準点への方向ベクトル間の最大角度が135度以上であるか否かの判定は、断面ラインの中点におけるコーナー基準点への方向ベクトルが投影された投影方向ベクトルについて2つの投影方向ベクトルのなす角度のうち最大角度が135度以上であるか否かで判定される。
 ステップS72での判定結果がイエスの場合、すなわち断面ラインの中点におけるコーナー基準点への方向ベクトル間の最大角度が135度以上であると判定される場合、断面ラインと中間ラインによって囲まれる閉領域についてコーナータイプが第1タイプとして算出される(ステップS73)。
 一方、ステップS72での判定結果がノーの場合、すなわち断面ラインの中点におけるコーナー基準点への方向ベクトル間の最大角度が135度以上ではないと判定される場合、コーナー基準点に合流する稜線が2つであるか否かが判定され(ステップS74)、断面ラインが2つであるか否かが判定される。
 ステップS74での判定結果がイエスの場合についても、すなわちコーナー基準点に合流する稜線が2つであると判定される場合についても、断面ラインと中間ラインによって囲まれる閉領域についてコーナータイプが第1タイプとして算出される(ステップS73)。
 一方、ステップS74での判定結果がノーの場合、すなわちコーナー基準点に合流する稜線が2つではないと判定される場合、断面ラインと中間ラインによって囲まれる閉領域についてコーナータイプが第2タイプとして算出される(ステップS75)。
 また、ステップS71での判定結果がイエスの場合、すなわち断面ラインと中間ラインによって囲まれる閉領域について中間ラインが修正されたと判定される場合、断面ラインと中間ラインによって囲まれる閉領域についてコーナータイプが第3タイプとして算出される(ステップS76)。
 断面ラインと中間ラインによって囲まれる閉領域についてコーナータイプが算出されると、断面ラインと中間ラインによって囲まれる閉領域内にステップS57において算出されたコーナータイプに応じて分割中心点が算出される(ステップS58)。
 分割中心点が算出されると、コーナータイプに応じて分割中心点と断面ライン及び中間ラインの中点とをそれぞれ接続して断面ラインと中間ラインによって囲まれる閉領域内を分割する分割ラインが算出される(ステップS59)。
 分割ラインが算出されると、断面ラインと中間ラインによって囲まれる閉領域内が分割ラインによって分割されて断面ライン及び中間ラインと断面ライン及び中間ラインの中点とにそれぞれ接続する分割ラインとによって囲まれる分割領域が複数形成され、分割領域にそれぞれ自由曲面が形成されて稜線のコーナー領域についてフィレットが作成される(ステップS60)。コーナー基準点ごとにコーナー基準点に合流する稜線のコーナー領域についてフィレットが作成される。
 次に、図42に戻って、ステップS12において稜線のフィレット干渉領域についてフィレットが作成され、稜線のフィレット干渉領域についてステップS41において算出された補正フィレット半径のフィレットが作成される。稜線のフィレット干渉領域についてそれぞれ補正フィレット半径のフィレットが作成される。
 そして、ステップS13において稜線の基本領域についてフィレットが作成され、稜線の基本領域について稜線に設定されたフィレット半径のフィレットが作成される。稜線の基本領域についてそれぞれ稜線に設定されたフィレット半径のフィレットが作成される。ステップS10~S13において算出された稜線の縮退領域、コーナー領域、フィレット干渉領域及び基本領域について作成されたフィレットのメッシュデータは、フィレットメッシュデータに記憶される。
 稜線の縮退領域、コーナー領域、フィレット干渉領域及び基本領域についてそれぞれフィレットが作成されると、作成されたフィレットのメッシュデータが三次元形状モデルから有限要素分割されたメッシュデータに結合されて三次元形状モデルのメッシュデータが変更され、フィレットが作成された三次元形状モデルのメッシュデータが作成される(ステップS14)。
 このようにして、三次元形状モデルからフィレットを作成する稜線が抽出され、稜線についてそれぞれ縮退領域、コーナー領域、フィレット干渉領域及び基本領域が算出され、稜線全体について縮退領域、コーナー領域、フィレット干渉領域及び基本領域に応じて自動的にフィレットが作成される。
 本実施形態では、稜線についてそれぞれ縮退領域、コーナー領域、フィレット干渉領域及び基本領域を算出して、稜線全体について縮退領域、コーナー領域、フィレット干渉領域及び基本領域に応じてフィレットが作成されているが、稜線について縮退領域、コーナー領域及びフィレット干渉領域の少なくとも1つの領域を算出して、算出された領域に応じてフィレットを作成するようにすることも可能である。
 このように、本実施形態に係る自動フィレットの作成では、三次元形状モデルから稜線が抽出され、抽出された稜線に作成するフィレットのフィレット半径が取得され、抽出された稜線のうち合流点に合流する複数の稜線について、合流点からフィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域がコーナー領域として算出される。そして、稜線のコーナー領域について、合流点に合流する複数の稜線の境界点についてそれぞれフィレット半径に基づいてフィレットの断面ラインが算出され、断面ライン間を接続する中間ラインが算出され、断面ラインと中間ラインによって囲まれる閉領域内に曲面が形成されてフィレットが作成される。
 これにより、三次元形状モデルのフィレットが作成される稜線のうち合流点に合流する複数の稜線にフィレットを作成するとフィレットどうしが干渉するコーナー領域について、コーナー領域の境界点についてそれぞれ算出されたフィレットの断面ラインと断面ライン間を接続する中間ラインによって囲まれる閉領域内に曲面を形成してフィレットを形成することができるので、データベースを要することなく、三次元形状モデルに確実に且つ自動的にフィレットを作成することができる。
 合流点に合流する複数の稜線にフィレットを作成するとフィレットどうしが干渉するコーナー領域について、フィレットを作成する順番によってフィレットの形状が異なったり三次元形状モデルによってはフィレットを作成すること自体ができなくなったりすることを防止することができ、三次元形状モデルに確実に且つ自動的にフィレットを作成することができる。
 また、稜線のコーナー領域について、断面ラインと中間ラインによって囲まれる閉領域内に分割中心点が算出され、分割中心点と断面ライン及び中間ラインの中点とをそれぞれ接続する分割ラインが算出され、断面ライン及び中間ラインと断面ライン及び中間ラインの中点とにそれぞれ接続する分割ラインとによって囲まれる分割領域にそれぞれ自由曲面が形成されてフィレットが作成されることにより、三次元形状モデルに確実にフィレットを作成することができる。
 また、2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線について、合流点から2つの稜線にそれぞれフィレットを作成するとフィレットどうしが干渉する境界点までの領域が縮退領域として算出され、稜線の縮退領域について、フィレットどうしが干渉しないようにフィレット半径を補正した補正フィレット半径のフィレットが作成される。これにより、2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線にフィレットを作成するとフィレットどうしが干渉する縮退領域について、フィレットどうしが干渉することを回避してフィレットを作成することができる。
 また、コーナー領域を除く稜線について、稜線と該稜線に最も近い他の稜線とにそれぞれフィレットを作成するとフィレットどうしが干渉する領域がフィレット干渉領域として算出され、稜線のフィレット干渉領域について、フィレットどうしが干渉しないようにフィレット半径を補正した補正フィレット半径のフィレットが作成される。これにより、稜線と該稜線に最も近い他の稜線とにそれぞれフィレットを作成するとフィレットどうしが干渉するフィレット干渉領域について、フィレットどうしが干渉することを回避してフィレットを作成することができる。
 また、稜線について、縮退領域、コーナー領域及びフィレット干渉領域を除く領域が基本領域として算出され、稜線の基本領域について、フィレット半径のフィレットが作成される。これにより、稜線についてそれぞれフィレットどうしが干渉する縮退領域、コーナー領域及びフィレット干渉領域とそれ以外の基本領域とに分類し、縮退領域、コーナー領域及びフィレット干渉領域についてはフィレットどうしの干渉を回避してフィレットを作成すると共に基本領域についてはフィレット半径のフィレットを形成することができ、三次元形状モデルに確実に且つ自動的にフィレットを作成することができる。
 次に、本発明の第2実施形態に係る自動フィレットの作成について説明する。なお、第2実施形態に係る自動フィレットの作成において、第1実施形態に係る自動フィレットの作成と同様の部分については説明を省略する。
 図48は、本発明の第2実施形態に係る自動フィレットの作成による分割ラインの算出を説明するための説明図である。本発明の第2実施形態に係る自動フィレットの作成においても、分割ラインを算出する際には、図48(a)に示すように、分割中心点Pzにおける断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3の中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3Mに向かう方向の接線ベクトルV1MF(S1、M2)、V1MF(S2、S3)、V1MF(S3、M1)、V2MF(S3、M1)、V2MF(S1、M2)、V2MF(S2、M3)が算出される。
 本実施形態では次に、図48(b)に示すように、接線ベクトルV1MF(S1、M2)について、隣り合う接線ベクトルV2MF(S3、M1)との外積ベクトルV1MF(S1、M2)×V2MF(S3、M1)が算出される。他の接線ベクトルV2MF(S3、M1)、V1MF(S2、M3)、V2MF(S1、M2)、V1MF(S3、M1)、V2MF(S2、M3)についてもそれぞれ、同一方向に隣り合う接線ベクトルV1MF(S2、M3)、V2MF(S1、M2)、V1MF(S3、M1)、V2MF(S2、M3)、V1MF(S1、M2)との外積ベクトルが算出される。そして、接線ベクトルについてそれぞれ算出された隣り合う接線ベクトルとの外積ベクトルの平均値が算出され、外積ベクトルの平均値が分割中心点Pzの法線ベクトルVzとして算出される。
 図49は、前記自動フィレットの作成による分割ラインの算出を説明するための別の説明図である。分割中心点Pzの法線ベクトルVzが算出されると、図49(a)に示すように、接線ベクトルV1MF(S1、M2)、V1MF(S2、M3)、V1MF(S3、M1)、V2MF(S3、M1)、V2MF(S1、M2)、V2MF(S2、M3)がそれぞれ分割中心点Pzを通って分割中心点Pzの法線ベクトルVzと直交する平面に投影されて補正された補正接線ベクトルV1MF(S1、M2)´、V1MF(S2、M3)´、V1MF(S3、M1)´、V2MF(S3、M1)´、V2MF(S1、M2)´、V2MF(S2、M3)´が算出される。
 図49(b)に示すように、接線ベクトルV1MF(S1、M2)が分割中心点Pzを通って分割中心点Pzの法線ベクトルVzと直交する平面FXY(二点鎖線で示す平面)に投影されて補正された補正接線ベクトルV1MF(S1、M2)´が算出される。他の補正接線ベクトルV1MF(S2、M3)´、V1MF(S3、M1)´、V2MF(S3、M1)´、V2MF(S1、M2)´、V2MF(S2、M3)´についても同様にして算出される。
 本実施形態では、接線ベクトルV1MF(S1、M2)、V1MF(S2、M3)、V1MF(S3、M1)、V2MF(S3、M1)、V2MF(S1、M2)、V2MF(S2、M3)に代えて補正接線ベクトルV1MF(S1、M2)´、V1MF(S2、M3)´、V1MF(S3、M1)´、V2MF(S3、M1)´、V2MF(S1、M2)´、V2MF(S2、M3)´を用いて、分割中心点Pzと、断面ラインLS1、LS2、LS3、中間ラインLS1、LS2、LS3の中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3Mを接続する分割ラインが算出される。
 分割ラインが算出されると、断面ラインと中間ラインによって囲まれる閉領域内が分割ラインによって分割された分割領域が複数形成され、分割領域にそれぞれ自由曲面が形成されてフィレットが作成される。
 このように、本実施形態に係る自動フィレットの作成では、分割中心点における断面ライン及び中間ラインの中点にそれぞれ向かう方向の接線ベクトルが同一平面に投影されて補正された補正接線ベクトルを用いることにより、分割中心点において分割領域を滑らかに接続することができるので、分割中心点においてフィレットを滑らかに形成することができる。
 次に、本発明の第3実施形態に係る自動フィレットの作成について説明する。なお、第3実施形態に係る自動フィレットの作成において、第1実施形態及び第2実施形態に係る自動フィレットの作成と同様の部分については説明を省略する。
 図50は、本発明の第3実施形態に係る自動フィレットの作成による断面ラインと中間ラインによって囲まれる閉領域内の曲面の形成を説明するための説明図である。
 本発明の第3実施形態に係る自動フィレットの作成においても、第2実施形態と同様に、分割ラインを算出する際に、分割中心点Pzにおける断面ライン、中間ラインの中点に向かう方向の接線ベクトルがそれぞれ、分割中心点Pzを通って分割中心点Pzの法線ベクトルVzと直交する平面に投影されて補正された補正接線ベクトルV1MF(S1、M2)´、V1MF(S2、M3)´、V1MF(S3、M1)´、V2MF(S3、M1)´、V2MF(S1、M2)´、V2MF(S2、M3)´が算出される。
 そして、補正接線ベクトルV1MF(S1、M2)´、V1MF(S2、M3)´、V1MF(S3、M1)´、V2MF(S3、M1)´、V2MF(S1、M2)´、V2MF(S2、M3)´を用いて、図50に示すように、分割中心点Pzと、断面ラインLS1、LS2、LS3、中間ラインLM1、LM2、LM3の中点PS1M、PS2M、PS3M、PM1M、PM2M、PM3Mを接続する分割ラインLS1D´、LS2D´、LS3D´、LM1D´、LM2D´、LM3D´が算出される。
 分割ラインが算出されると、断面ラインLS1、LS2、LS3と中間ラインLM1、LM2、LM3によって囲まれる閉領域A内が分割ラインLS1D´、LS2D´、LS3D´、LM1D´、LM2D´、LM3D´によって分割されて分割領域A11´~A16´が複数形成される。
 そして、分割領域A11´~A16´についてそれぞれ、分割領域A11´~A16´を構成する断面ライン、中間ライン及び2つの分割ラインにそれぞれ直交する分割領域A11´~A16´の内方側に向かう方向の勾配ベクトルが算出される。
 図51は、前記自動フィレットの作成による断面ラインと中間ラインによって囲まれる閉領域内の曲面の形成を説明するための別の説明図である。勾配ベクトルを算出する際には、分割領域A11´~A16´を構成する断面ライン、中間ライン及び2つの分割ラインのそれぞれについて両側の端点における直交する方向の勾配ベクトルが算出される。
 図51(a)に示すように、断面ラインLS2、中間ラインLM2及び2つの分割ラインLM2D´、LS2D´によって囲まれる分割領域A13´では、断面ラインLS2について、一方の端点PS2Mにおける直交する方向の勾配ベクトルとして、端点PS2Mにおけるコーナー基準点Tcへの方向ベクトルVS2Mが算出され、他方の端点PS2Eにおける直交する方向の勾配ベクトルとして、端点PS2Eにおけるコーナー基準点Tcへの方向ベクトルVS2Mが算出される。
 中間ラインLM2については、一方の端点PS2Eにおける直交する方向の勾配ベクトルとして、端点PS2Eである断面ラインLS2の終点PS2Eにおけるコーナー境界点PS2に向かう方向の接線ベクトルVLS2Eが算出され、他方の端点PM2Mにおける直交する方向の勾配ベクトルとして、端点PM2Mにおけるコーナー基準点Tcへの方向ベクトルVM2Mが算出される。
 本実施形態では、分割ラインLM2D´については、一方の端点PM2Mにおける直交する方向の勾配ベクトルとして、中間ラインLM2の中点PM2Mにおける分割領域A13´の内方側に向かう方向の接線ベクトルVLM2M1が算出され、他方の端点である分割中心点Pzにおける直交する方向の勾配ベクトルとして、補正接線ベクトルV2MF(S1、M2)´と分割中心点Pzの法線ベクトルVzとの外積ベクトルV2MF(S1、M2)´×Vzが算出される。
 分割ラインLS2D´については、一方の端点である分割中心点Pzにおける直交する方向の勾配ベクトルとして、図51(b)に示すように、分割中心点Pzの法線ベクトルVzと補正接線ベクトルV1MF(S2、M3)´との外積ベクトルVz×V1MF(S2、M3)´が算出され、他方の端点PS2Mにおける直交する方向の勾配ベクトルとして、断面ラインLS2の中点PS2Mにおける分割領域A13´の内方側に向かう方向の接線ベクトルVLS2M2が算出される。
 分割領域A11´~A16´を構成する断面ライン、中間ライン及び2つの分割ラインのそれぞれについて両側の端点における直交する方向の勾配ベクトルが算出されると、各ラインの両側の端点間について直交する分割領域A11´~A16´の内方側に向かう方向の勾配ベクトルが算出される。
 図51(a)に示すように、分割領域A13´では、断面ラインLS2の両側の端点PS2M、PS2E間について直交する分割領域A13´の内方側に向かう方向の勾配ベクトルVS22は、両側の端点PS2M、PS2Eにおける直交する方向の勾配ベクトルVS2M、VS2Mから補間法、具体的には線形補間法を用いて算出される。
 中間ラインLM2については、中間ラインLM2の両側の端点PS2E、PM2M間について直交する分割領域A13´の内方側に向かう方向の勾配ベクトルVM21は、両側の端点PS2E、PM2Mにおける直交する方向の勾配ベクトルVLS2E、VM2Mから補間法を用いて算出される。
 分割ラインLM2D´については、分割ラインLM2D´の両側の端点PM2M、Pz間について直交する分割領域A13´の内方側に向かう方向の勾配ベクトルVM2D1´は、両側の端点PM2M、Pzにおける直交する方向の勾配ベクトルVLM2M1、V2MF(S1、M2)´×Vzから補間法を用いて算出される。
 分割ラインLS2D´については、分割ラインLS2D´の両側の端点Pz、PS2M間について直交する分割領域A13´の内方側に向かう方向の勾配ベクトルVS2D2´は、両側の端点Pz、PS2Mにおける直交する方向の勾配ベクトルVz×V1MF(S2、M3)´、VLS2M2から補間法を用いて算出される。
 分割領域A11´、A12´、A14´~A16´についても、分割領域A13´と同様にして、分割領域を構成する断面ライン、中間ライン及び2つの分割ラインにそれぞれ直交する分割領域の内方側に向かう方向の勾配ベクトルが算出される。
 図51(a)に示すように、分割領域A13´に分割ラインLM2D´を挟んで隣接する分割領域A14´では、分割ラインLM2D´の勾配ベクトルを算出する際に、一方の端点PM2Mにおける直交する方向の勾配ベクトルとして、中間ラインLM2の中点PM2Mにおける分割領域A14´の内方側に向かう方向の接線ベクトルVLM2M2が算出され、他方の端点である分割中心点Pzにおける直交する方向の勾配ベクトルとして、分割中心点Pzの法線ベクトルVzと補正接線ベクトルV2MF(S1、M2)´との外積ベクトルVz×V2MF(S1、M2)´が算出される。
 また、分割ラインLM2D´の両側の端点PM2M、Pz間について直交する分割領域A14´の内方側に向かう方向の勾配ベクトルVM2D2´は、両側の端点PM2M、Pzにおける直交する方向の勾配ベクトルVLM2M2、Vz×V2MF(S1、M2)´から補間法を用いて算出される。
 分割領域A14´を構成する分割ラインLM2D´の両側の端点PM2M、Pzにおける直交する方向の勾配ベクトルVLM2M2、Vz×V2MF(S1、M2)´はそれぞれ、分割領域A13´を構成する分割ラインLM2D´の両側の端点PM2M、Pzにおける直交する方向の勾配ベクトルVLM2M1、V2MF(S1、M2)´×Vzの逆ベクトルとして算出され、分割領域A14´を構成する分割ラインLM2D´の両側の端点PM2M、Pz間について直交する分割領域A14´の内方側に向かう方向の勾配ベクトルVM2D2´は、分割領域A13´を構成する分割ラインLM2D´の両側の端点PM2M、Pz間について直交する分割領域A13´の内方側に向かう方向の勾配ベクトルVM2D1´の逆ベクトルとして算出される。
 図51(b)に示すように、分割領域A13´に分割ラインLS2D´を挟んで隣接する分割領域A12´についても、分割ラインLS2D´の勾配ベクトルを算出する際に、一方の端点である分割中心点Pzにおける直交する方向の勾配ベクトルとして、補正接線ベクトルV1MF(S2、M3)´と分割中心点Pzの法線ベクトルVzとの外積ベクトルV1MF(S2、M3)´×Vzが算出され、他方の端点PS2Mにおける直交する方向の勾配ベクトルとして、断面ラインLS2の中点PS2Mにおける分割領域A12´の内方側に向かう方向の接線ベクトルVLM2M1が算出される。
 また、分割ラインLS2D´の両側の端点Pz、PS2M間について直交する分割領域A12´の内方側に向かう方向の勾配ベクトルVS2D1´は、両側の端点Pz、PS2Mにおける直交する方向の勾配ベクトルV1MF(S2、M3)´×Vz、VLS2M1から補間法を用いて算出される。
 分割領域A12´を構成する分割ラインLS2D´の両側の端点Pz、PS2Mにおける直交する方向の勾配ベクトルV1MF(S2、M3)´×Vz、VLS2M1についてもそれぞれ、分割領域A13´を構成する分割ラインLS2D´の両側の端点Pz、PS2Mにおける直交する方向の勾配ベクトルVz×V1MF(S2、M3)´、VLS2M2の逆ベクトルとして算出され、分割領域A12´を構成する分割ラインLS2D´の両側の端点Pz、PS2M間について直交する分割領域A12´の内方側に向かう方向の勾配ベクトルVS2D1´についても、分割領域A13´を構成する分割ラインLS2D´の両側の端点Pz、PS2M間について直交する分割領域A13´の内方側に向かう方向の勾配ベクトルVS2D2´の逆ベクトルとして算出される。
 本実施形態では、分割領域A11´~A16´を構成する断面ライン、中間ライン及び2つの分割ラインにそれぞれ直交する分割領域A11´~A16´の内方側に向かう方向の勾配ベクトルを算出すると、分割ラインを挟んで隣接する分割領域について該分割ラインにそれぞれ直交する分割領域の内方側に向かう方向の勾配ベクトルが逆ベクトルとして算出される。
 このようにして、分割領域A11´~A16´を構成する断面ライン、中間ライン及び2つの分割ラインにおける勾配ベクトルが算出されると、分割領域にそれぞれ自由曲面が形成されてフィレットが作成される。
 このように、本実施形態に係る自動フィレットの作成では、分割ラインを挟んで隣接する分割領域について該分割ラインにそれぞれ直交する分割領域の内方側に向かう方向の勾配ベクトルが逆ベクトルとして算出されることにより、分割ラインを挟んで隣接する分割領域についてフィレットをより滑らかに形成することができる。
 第3実施形態では、分割中心点Pzにおける断面ライン、中間ラインの中点に向かう方向の接線ベクトルが補正された補正接線ベクトルを用いて分割ラインを算出すると共に分割ラインに直交する分割領域の内方側に向かう方向の勾配ベクトルを算出しているが、分割中心点Pzにおける断面ライン、中間ラインの中点に向かう方向の接線ベクトルが補正された補正接線ベクトルに代えて、第1実施形態に係る分割中心点Pzにおける断面ライン、中間ラインの中点に向かう方向の接線ベクトルを用い、第3実施形態と同様にして、第1実施形態に係る分割中心点Pzにおける断面ライン、中間ラインの中点に向かう方向の接線ベクトルを用いて分割ラインを算出すると共に分割ラインに直交する分割領域の内方側に向かう方向の勾配ベクトルを算出するようにすることも可能である。
 かかる場合についても、分割ラインを挟んで隣接する分割領域について該分割ラインにそれぞれ直交する分割領域の内方側に向かう方向の勾配ベクトルが逆ベクトルとして算出されることにより、分割ラインを挟んで隣接する分割領域についてフィレットをより滑らかに形成することができる。
 本実施形態では、三次元形状モデルから抽出された稜線の各構成点についてそれぞれ計算されているが、稜線に所定間隔をあけて設定されたサンプリング点を用いて計算を行い、サンプリング点間について線形補間法などの補間法を用いて計算することも可能である。
 本発明は、例示された実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の改良及び設計上の変更が可能である。
 以上のように、本発明によれば、データベースを要することなく、三次元形状モデルに確実に且つ自動的にフィレットを作成することが可能となるから、三次元形状モデルを作成するCAD装置において好適に利用される可能性がある。
1 三次元形状モデル
100 コンピュータ
101 中央演算装置
102 入力装置
103 表示装置
104 記憶装置
105 出力装置

Claims (10)

  1.  三次元形状モデルに自動的にフィレットを作成する自動フィレット作成システムであって、
     前記三次元形状モデルからフィレットが作成される稜線を抽出する稜線抽出手段と、
     前記稜線抽出手段によって抽出された前記稜線に作成するフィレットのフィレット半径を取得するフィレット半径取得手段と、
     前記稜線抽出手段によって抽出された前記稜線のうち複数の稜線が合流する合流点に合流する複数の稜線について、前記合流点から前記フィレット半径取得手段によって取得された前記フィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出するコーナー領域算出手段と、
     前記コーナー領域算出手段によって算出された前記稜線のコーナー領域について、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径に基づいてフィレットの断面ラインを算出し、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ算出された前記断面ライン間を接続する中間ラインを算出し、前記断面ラインと前記中間ラインによって囲まれる閉領域内に曲面を形成してフィレットを作成するフィレット作成手段と、
    を有することを特徴とする自動フィレット作成システム。
  2.  前記フィレット作成手段は、前記断面ラインと前記中間ラインによって囲まれる閉領域内に該閉領域内を分割するための分割中心点を算出し、算出された前記分割中心点と前記断面ライン及び前記中間ラインの中点とをそれぞれ接続して前記閉領域内を分割する分割ラインを算出し、前記断面ライン及び前記中間ラインと算出された前記断面ライン及び前記中間ラインの中点とにそれぞれ接続する前記分割ラインとによって囲まれる分割領域にそれぞれ自由曲面を形成してフィレットを作成する、
    ことを特徴とする請求項1に記載の自動フィレット作成システム。
  3.  前記稜線抽出手段によって抽出された前記稜線のうち2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線について、前記合流点から前記2つの稜線にそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径のフィレットを作成するとフィレットどうしが干渉する境界点までの領域を稜線の縮退領域として算出する縮退領域算出手段を有し、
     前記コーナー領域算出手段は、前記稜線抽出手段によって抽出された前記稜線のうち前記縮退領域算出手段によって算出された前記縮退領域を除く稜線であって、複数の稜線が合流する合流点に合流する複数の稜線について、前記合流点から前記フィレット半径取得手段によって取得された前記フィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出し、
     前記フィレット作成手段は、前記縮退領域算出手段によって算出された前記稜線の縮退領域について、前記稜線のうち2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線に作成するフィレットどうしが干渉しないように前記フィレット半径取得手段によって取得された前記フィレット半径を補正した補正フィレット半径のフィレットを作成する、
    ことを特徴とする請求項1又は請求項2に記載の自動フィレット作成システム。
  4.  前記稜線抽出手段によって抽出された前記稜線のうち前記コーナー領域を除く稜線について、該稜線と該稜線に最も近い他の稜線とにそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径に基づいてフィレットを作成するとフィレットどうしが干渉する領域を稜線のフィレット干渉領域として算出するフィレット干渉領域算出手段を有し、
     前記フィレット作成手段は、前記フィレット干渉領域算出手段によって算出された稜線のフィレット干渉領域について、該稜線と該稜線に最も近い他の稜線とにそれぞれ作成するフィレットどうしが干渉しないように前記フィレット半径取得手段によって取得された前記フィレット半径を補正した補正フィレット半径のフィレットを作成する、
    ことを特徴とする請求項3に記載の自動フィレット作成システム。
  5.  前記稜線抽出手段によって抽出された前記稜線について、前記縮退領域、前記コーナー領域及び前記フィレット干渉領域を除く領域を稜線の基本領域として算出する基本領域算出手段を有し、
     前記フィレット作成手段は、前記基本領域算出手段によって算出された前記稜線の基本領域について、前記フィレット半径取得手段によって取得された前記フィレット半径のフィレットを作成する、
    ことを特徴とする請求項4に記載の自動フィレット作成システム。
  6.  三次元形状モデルに自動的にフィレットを作成する自動フィレット作成プログラムであって、
     コンピュータを、
     前記三次元形状モデルからフィレットが作成される稜線を抽出する稜線抽出手段、
     前記稜線抽出手段によって抽出された前記稜線に作成するフィレットのフィレット半径を取得するフィレット半径取得手段、
     前記稜線抽出手段によって抽出された前記稜線のうち複数の稜線が合流する合流点に合流する複数の稜線について、前記合流点から前記フィレット半径取得手段によって取得された前記フィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出するコーナー領域算出手段、及び
     前記コーナー領域算出手段によって算出された前記稜線のコーナー領域について、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径に基づいてフィレットの断面ラインを算出し、前記合流点に合流する複数の稜線の前記境界点についてそれぞれ算出された前記断面ライン間を接続する中間ラインを算出し、前記断面ラインと前記中間ラインによって囲まれる閉領域内に曲面を形成してフィレットを作成するフィレット作成手段として機能させる、
    ことを特徴とする自動フィレット作成プログラム。
  7.  コンピュータを、
     前記フィレット作成手段として機能させるときは、前記断面ラインと前記中間ラインによって囲まれる閉領域内に該閉領域内を分割するための分割中心点を算出し、算出された前記分割中心点と前記断面ライン及び前記中間ラインの中点とをそれぞれ接続して前記閉領域内を分割する分割ラインを算出し、前記断面ライン及び前記中間ラインと算出された前記断面ライン及び前記中間ラインの中点とにそれぞれ接続する前記分割ラインとによって囲まれる分割領域にそれぞれ自由曲面を形成してフィレットを作成するように機能させる、
    ことを特徴とする請求項6に記載の自動フィレット作成プログラム。
  8.  コンピュータを、
     前記稜線抽出手段によって抽出された前記稜線のうち2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線について、前記合流点から前記2つの稜線にそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径のフィレットを作成するとフィレットどうしが干渉する境界点までの領域を稜線の縮退領域として算出する縮退領域算出手段として機能させ、
     前記コーナー領域算出手段として機能させるときは、前記稜線抽出手段によって抽出された前記稜線のうち前記縮退領域算出手段によって算出された前記縮退領域を除く稜線であって、複数の稜線が合流する合流点に合流する複数の稜線について、前記合流点から前記フィレット半径取得手段によって取得された前記フィレット半径に基づいて設定された所定距離だけ離れた境界点までの領域を稜線のコーナー領域として算出するように機能させ、
     前記フィレット作成手段として機能させるときは、前記縮退領域算出手段によって算出された前記稜線の縮退領域について、前記稜線のうち2つの稜線のみが合流する合流点で2つの稜線間角度が所定角度以下である2つの稜線に作成するフィレットどうしが干渉しないように前記フィレット半径取得手段によって取得された前記フィレット半径を補正した補正フィレット半径のフィレットを作成するように機能させる、
    ことを特徴とする請求項6又は請求項7に記載の自動フィレット作成プログラム。
  9.  コンピュータを、
     前記稜線抽出手段によって抽出された前記稜線のうち前記コーナー領域を除く稜線について、該稜線と該稜線に最も近い他の稜線とにそれぞれ前記フィレット半径取得手段によって取得された前記フィレット半径に基づいてフィレットを作成するとフィレットどうしが干渉する領域を稜線のフィレット干渉領域として算出するフィレット干渉領域算出手段として機能させ、
     前記フィレット作成手段として機能させるときは、前記フィレット干渉領域算出手段によって算出された稜線のフィレット干渉領域について、該稜線と該稜線に最も近い他の稜線とにそれぞれ作成するフィレットどうしが干渉しないように前記フィレット半径取得手段によって取得された前記フィレット半径を補正した補正フィレット半径のフィレットを作成するように機能させる、
    ことを特徴とする請求項8に記載の自動フィレット作成プログラム。
  10.  前記稜線抽出手段によって抽出された前記稜線について、前記縮退領域、前記コーナー領域及び前記フィレット干渉領域を除く領域を稜線の基本領域として算出する基本領域算出手段として機能させ、
     前記フィレット作成手段として機能させるときは、前記基本領域算出手段によって算出された前記稜線の基本領域について、前記フィレット半径取得手段によって取得された前記フィレット半径のフィレットを作成するように機能させる、
    ことを特徴とする請求項9に記載の自動フィレット作成プログラム。
PCT/JP2016/087568 2016-03-30 2016-12-16 自動フィレット作成システム及びプログラム WO2017168872A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-069057 2016-03-30
JP2016069057A JP5947992B1 (ja) 2016-03-30 2016-03-30 自動フィレット作成システム及びプログラム

Publications (1)

Publication Number Publication Date
WO2017168872A1 true WO2017168872A1 (ja) 2017-10-05

Family

ID=56329486

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/087568 WO2017168872A1 (ja) 2016-03-30 2016-12-16 自動フィレット作成システム及びプログラム

Country Status (2)

Country Link
JP (1) JP5947992B1 (ja)
WO (1) WO2017168872A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635322B (zh) * 2018-11-05 2023-04-07 武汉华锋惠众科技有限公司 一种汽车覆盖件工艺补充面截面线自动布置的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255972A (ja) * 1988-04-06 1989-10-12 Hitachi Ltd フイレツト創成法
JPH04114204A (ja) * 1990-09-04 1992-04-15 Mitsubishi Electric Corp 三次元形状の丸め変形操作方法
JP2008033430A (ja) * 2006-07-26 2008-02-14 Toyota Motor Corp フィレット作成装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2967030B2 (ja) * 1994-11-29 1999-10-25 本田技研工業株式会社 金型加工用形状データ作成方法
JP3550949B2 (ja) * 1997-06-12 2004-08-04 日産自動車株式会社 プレス成形解析用モデル作成方法
EP1710720B1 (en) * 2005-04-08 2009-07-08 Dassault Systèmes Method of computer-aided design of a modeled object having several faces
JP4915522B2 (ja) * 2007-03-30 2012-04-11 富士通株式会社 図形処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255972A (ja) * 1988-04-06 1989-10-12 Hitachi Ltd フイレツト創成法
JPH04114204A (ja) * 1990-09-04 1992-04-15 Mitsubishi Electric Corp 三次元形状の丸め変形操作方法
JP2008033430A (ja) * 2006-07-26 2008-02-14 Toyota Motor Corp フィレット作成装置

Also Published As

Publication number Publication date
JP5947992B1 (ja) 2016-07-06
JP2017182476A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
Wang et al. Parametric representation of a surface pencil with a common spatial geodesic
Wang et al. Converting an unstructured quadrilateral mesh to a standard T-spline surface
Chougrani et al. Lattice structure lightweight triangulation for additive manufacturing
JP2018205938A (ja) 加飾画像の作成方法
EP1881458A1 (en) Computer-implemented process for creating a parametric surface
JP2017097517A (ja) 断面データ作成装置、断面データ作成方法及びプログラム
US20200286285A1 (en) Automated mesh generation
JP2627608B2 (ja) ソリッドモデル合成装置及び合成方法
JP5947992B1 (ja) 自動フィレット作成システム及びプログラム
JP4664218B2 (ja) メッシュモデル生成システム
Liu et al. Extract feature curves on noisy triangular meshes
KR101711042B1 (ko) Stl 파일 접합 방법
US11961185B2 (en) Meshing operation for representing a 3D printed object
JP6495728B2 (ja) 形状変形装置および形状変形用プログラム
Kim et al. Mesh modelling of 3D point cloud from UAV images by point classification and geometric constraints
JP6719168B1 (ja) 教師データとしてのデプス画像にラベルを付与するプログラム、装置及び方法
JP6449703B2 (ja) 形状変形装置および形状変形用プログラム
JP2018040181A (ja) 土木工事の出来形評価システム、出来形評価方法、及びプログラム
JP6180587B1 (ja) 2つの画像を対応づける方法、及びプログラム
JP5802462B2 (ja) モデル生成装置、その方法及びそのプログラム
JPH04107687A (ja) 地形データ作成装置
JP3904363B2 (ja) 3次元形状処理システムにおける頂点移動処理装置、及び記録媒体
JPH09270026A (ja) 自由曲面生成装置および自由曲面生成方法
CN111445385B (zh) 一种基于rgb色彩模式的三维物体平面化方法
Katzil et al. Spatial rubber sheeting of DTMs

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16897088

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16897088

Country of ref document: EP

Kind code of ref document: A1