This is a National Phase Application in the United States of International Patent Application No. PCT/JP02/12629 filed Dec. 3, 2002, which claims priority on Japanese Patent Application No. 370040/2001 filed Dec. 4, 2001. The entire disclosures of the above patent applications are hereby incorporated by reference.
1. Field of the Invention
The present invention relates to a storing method of storing, with a small memory capacity, substantial data that is configured by integrating shape data and physical property data so that CAD and simulation can be integrated. Specifically, the present invention relates to a method and program of converting three-dimensional shape data into internal data of a cell by oct-tree division.
2. Description of the Related Art
In the field of leading-edge research and technology development, as the research and technology is highly developed and complicated, it becomes inevitable to perform a process of trial and error many times, so that a risk of failure in the development process is raised. In order to lead in science and technology, it is very important to avoid such a risk as much as possible, and to make innovative advancement and efficiency promotion.
At present, in the field of research and technology development, CAD (Computer Aided Design), CAM (Computer Aided Manufacturing), CAE (Computer Aided Engineering), CAT (Computer Aided Testing) are used as simulation means for designing, processing, analyzing, and testing, respectively.
Further, the C-Simulation (Corporative Simulation) that is successive simulation, A-CAM (Advanced CAM) that takes processing into account, and D-fabrication (Deterministic Fabrication) that achieves ultimate accuracy will become widespread by the present invention.
When using the above-mentioned simulation means, data of a target object is stored by CSG (Constructive Solid Geometry) or B-rep (Boundary Representation).
However, in the case of CSG, an entire target object is stored as an aggregation of minute solid models. Accordingly, the data amount becomes large, and simulation means (software, for example) handles a large amount of data. Therefore, there is a problem in that even a large computer takes much time to perform data analyzing.
In the case of B-rep, since the target object is represented by the boundary, the data amount becomes small. However, the information about the inside of the boundary surface cannot be obtained directly, and there is a problem in that the data itself is not suitable to deforming analysis.
Furthermore, according to the above-mentioned conventional data storing means, each time heat/fluid analysis, largely deforming analysis of a solid, or coupled analysis of them is performed, the data is divided into meshes suitable to the analysis, and a finite element method or the like is used. The result of the analysis can be displayed, for example, but it is difficult to integrate CAD and simulation. Accordingly, there is a problem in that respective processes of designing, analyzing, processing, assembling, testing, and so on cannot be managed by using the same data.
In other words, the conventional Solid/Surface-CAD (hereinbelow, referred to as S-CAD) has the following problems.
(1) The data communication, and internal converting operation of the data are poor (that is, there is a problem of a numerical value error and a process method).
(2) The data cannot be applied directly to the simulation (that is, since the data does not include the internal data, the meshes need to be generated).
(3) It is not possible to consider how to perform the processing by CAM (there is only a final shape).
Further, there are the following problems regarding the processing.
(1) It is not possible to represent the processing (the aid of rough processing and aid of process designing are inadequate).
(2) The data cannot cope with a new processing method such as laser processing and ultra front edge processing (that is, other processing except cutting processing cannot be performed, and numerical value accuracy is inadequate).
(3) A processing method cannot be selected when a target object is a complex having different material properties inside.
In order to solve the above problems, prior to the present patent application, the inventor(s) of the present invention made the invention “Method of Storing Substantial Data Configured by Integrating Shape Data and Physical Property Data” that was filed as Japanese patent application No. 2001-25023).
According to this prior invention, as schematically shown in
With this prior invention, various physical property values are stored in respective cells so that the integrated substantial data of the shape data and the physical property data can be stored by using a small memory capacity. Thereby, it is possible to achieve integral management of shape data, structure data, physical property data, and history of a target object. Accordingly, data about a series of processes including designing, processing, assembling, testing, evaluating, and the like can be managed by the same data, and CAD and simulation can be integrated.
In the case of this storing method (hereinbelow, referred to as “volume CAD” or “V-CAD”) of storing substantial data, the boundary data for restructuring the boundary surface of the three-dimensional shape data (external data) needs to be held in the boundary cell.
If the boundary data cannot maintain continuity with the neighboring cells, when the surface of the cell is divided into triangle-shaped meshes, a gap (crack), a minute triangle, or a thin long triangle is generated. Therefore, a problem arises in that accurate simulation cannot be performed.
Meanwhile, there is a known method (crack patch method) of filling up a gap between the triangle meshes that is generated between different size volumes. However, in this method, the gap is simply filled up so that the triangle meshes sharing the edge thereof and making a sharp angle therebetween are generated at the position where the original surface is smooth. In order to solve this problem, Japanese Laid-Open Patent Publication No. 2001-22961 proposes “Method of Generating Same Phase Surface from Non-Uniformity Volume Model”. However, in this method, application of different model volume CAD is difficult, and the process of this method is complicated.
It is an object of the present invention to provide a data converting method and program by which for volume CAD, with the neighboring cell continuity being maintained, without generating a gap or forming an inaccurate triangle, it is possible to configure, from the external data, the cell internal data of which boundary surface can be divided into the triangle meshes that approximate even a curved surface having a large curvature with high accuracy.
According to the present invention, there is provided a method and program of converting three-dimensional shape data into cell internal data, comprising: an oct-tree division step of dividing external data including boundary data of a target object into rectangular parallelepiped cells having boundary planes orthogonal to each other by oct-tree division; a cell classification step of classifying each of the cells into an internal cell positioned inside or outside the target object or a boundary cell including the boundary data; a cut point determination step of determining cut points of edges of the boundary cell based on the boundary data; and a boundary surface determination step of connecting cut points to form a polygon, and determining the polygon as the cell internal data when the number of the determined cut points is no fewer than 3 and no more than 12.
By the method and program, it is possible to store, with a small memory capacity, the external data as hierarchical configuration of the cells that are formed by the oct-tree division of the external data and that have boundary faces orthogonal to each other.
Furthermore, by the cut point determination step and the boundary surface determination step, it is possible to obtain the cell internal data as the polygon with the neighboring cell continuity being maintained, without generating a gap or a deformed triangle.
According to one aspect of the preset invention, the boundary cells having 3, 4, 5 and 6 cut points, respectively are classified into different boundary cell types, respectively. Combinations of edges to be cut are previously set for each of the boundary cell types. The boundary cell type for the boundary cell is determined based on the determined cut points and cut edges by pattern matching. Thereby, it is possible to store the boundary surface by using the boundary cell type and the edge combination. Accordingly, it is possible to store the boundary surface with a small memory capacity while maintaining the neighboring cell continuity.
According to another aspect of the present invention, in the boundary surface determination step, tracing is performed only on the faces of the boundary cell through the cut points to form a closed loop as the polygon. Thereby, the boundary surface can be stored with triangles represented by the cut points.
Preferably, the method and the program further comprises; a triangle division step of dividing the polygon into a plurality of triangles by connecting the cut points, in one or more dividing manners; and a triangle division selecting step of extending each of normal lines included in the external data, selecting from the plurality of triangles, the triangle that has an intersecting point with the each extended normal line and has the least distance from boundary surface part of the each extended normal line, obtaining an angle made between a normal line of the selected triangle and the each extended normal line, and selecting the dividing manner in which a maximum angle difference between the normal line of the triangle and the extended normal line is smallest.
Thereby, even when a boundary surface is a curved surface, it is possible to maintain the neighboring cell continuity and form the divided triangle meshes that can approximate the curved surface without generating a gap and inaccurate triangle.
Other objects, features, and advantages of the present invention will become apparent from the following the detailed description with reference to the drawings.
In the following, a preferred embodiment of the present invention will be described with reference to the drawings.
External data 12 input from the outside is polygon data representing a polyhedron, a tetrahedron element data or hexahedron element data used for a finite element method, curved surface data used for three-dimensional CAD or a CG tool, or data that represents other three-dimensional shape by using information configured by a partial plane and curved surfaces.
The external data 12 is not limited to such data (referred to as S-CAD data), and may be (1) data that a person inputs and creates by a V-CAD interface (V-interface), (2) surface digitized data formed by a measuring device, sensor, or digitizer, or (3) volume data including internal information such as voxel data that is used for volume rendering, CT scan or MRI.
In the oct-tree division step (A), the external data 12 that is obtained by an external data obtaining step (not shown in the drawing) and includes boundary data of the target object is divided, by the oct-tree division, into rectangular parallelepiped cells 13 each of which has boundary faces orthogonal to each other. Specifically, in this oct-tree division step (A), space division is performed by modified oct-tree division. In oct-tree representation, i.e., in the space division by the oct-tree division, a standard rectangular parallelepiped 13 including (at least a part of) a target three-dimensional object is divided into eight parallelepipeds, and this division is repeatedly performed until the divided rectangular parallelepiped is completely included in or excluded from each region. By performing this oct-tree division, it is possible to greatly decrease data amount compared to the voxel data representation.
One divided space region that is formed by the oct-tree space division is referred to as a cell 13. The cell 13 is a rectangular parallelepiped having boundary faces orthogonal to each other. One region existing in the space is represented by cell hierarchical configuration, the number of divisions, or resolution. In this manner, the target object is represented as the cells having different sizes that are put on top of each other in the entire space.
The special case of oct-tree division representation where all of the representing cells are congruent rectangular parallelepipeds (having the same number of divisions) is the same as the voxel representation.
In the cell classification step (B), each divided cell 13 is classified into an internal cell 13a positioned inside or outside the target object or a boundary cell 13b including the boundary data.
That is, according to the embodiment of the present invention, the modified oct-tree division is used to represent the boundary cell 13b. In addition, the internal cell 13a (rectangular parallelepiped) is the maximum size cell that does not contain the boundary of the target object, and the boundary cell 13b is the cell that includes the boundary information of the external data 12.
In the cut point determination step (C), the cut points 15 of the edges of the boundary cell 13b are determined based on the boundary data.
In the boundary surface determination step (D), when the number of the determined cut points is no fewer than 3 and no more than 12, the polygon formed by connecting the cut points is determined as the cell internal data of the boundary surface. That is, in the boundary surface determination step (D), the polygon is a closed loop that is formed by tracing on only the cell surface through the cut points of the edges (the polygon is not always included in one plane as shown in
In the triangle division step (E), the polygon determined in the boundary surface determination step (D) is divided into a plurality of triangles by connecting cut points, as shown in
In the triangle division selecting step (F), each normal line included in the boundary data of the external data 12 is extended, and each of the triangles that has the intersecting point with the extended normal line and has the least distance from the boundary surface part of this normal line is selected. Then, an angle made between the normal line of each selected triangle and the extended normal line is calculated. These processes are performed for each of the triangle dividing manners. Thereafter, the triangle dividing manner in which the maximum angle difference between the normal line of the triangle and the extended normal line becomes smallest is selected from a plurality of the triangle dividing manner.
According to the data converting method of this embodiment, the steps (A) through (F) are repeatedly performed in accordance with necessity. By using the thus-obtained V-CAD data, simulations such as designing, analyzing, processing, assembling, and testing are successively performed. Then, in an output step, the result of the simulation is output as triangle patching data such as CAM or polygon data.
In the following, the embodiment of the present invention will be described in detailed.
The external data 12 including the boundary data of the target object is assumed to be a curved surface or triangle patch (nets or meshes), (hereinbelow, referred to as an input surface). The following description is directed to the data converting method in which the boundary cell types KTC3, KTC4a, KTC4b, KTC5, and KTC6 that are the internal representation types of the volume CAD are formed by converting the information only about the normal lines of the input surface and cut points of the edges of each boundary cell formed by the space division (voxel or oct-tree division). The boundary cell type KTC3, KTC4a, KTC4b, KTC5, or KTC6 is called KT cell or KTC for short.
In
As shown in
As shown in
These marks and numbers may be arbitrary, and other marks, numbers or the combination thereof suitable to logical computation may be used.
In the following, the marks of the cut edges in KTC shown in
In the triangle division step (E), the cut points of the polygon are connected so that the polygon can be divided into a plurality of triangles. In most cases, there are a plurality of triangle dividing manners in which the polygon is divided into a plurality of triangles. Specifically, in the case of KTC4a and KTC4b, there are two triangle dividing manners of dividing the polygon into plural (two) triangles, in the case of KTC5, there are 5 triangle dividing manners, and in the case of KTC6, there are 14 triangle dividing manners. The thus-evolved boundary cell type (hereinbelow, referred to as evolved KTC) results in the different shape depending on the triangle dividing manner. Accordingly, in the triangle division selecting step (F), it is necessary to select the triangle dividing manner that is the best approximation to the boundary data of the external data 12.
In the case where the input surface is a parametric surface, the normal line on the input surface is the normal line on each part formed by dividing a UV space by a specified number of divisions, and in the case where the input surface is data of triangle meshes, the normal line on the input surface is each normal line of the triangle meshes.
Different from the above-described examples, when the number of cut points is no fewer than 3 and no more than 6, the boundary surface determination step (D) may be performed by the patter matching as follows.
In this embodiment of the present invention, The boundary cells having 3, 4, and 5 cut points are classified into different boundary cell types KTC3, KTC4a, KTC4b, KTC5 and KTC6, respectively.
Each KTC has the following characteristics.
In the case of KTC3, the three edges contacting each other via a pivot vertex are always represented by the two face marks selected from the same three face marks. In other words, when the three face marks representing one pivot vertex are cut into two face marks, the respective edges represented by the cut two face marks always contacting (crossing) each other via the pivot vertex. For example, the edges contacting each other via the pivot vertex LUF are LF, LU, and UF selected from LUF.
In the case of KTC4a, each of 4 edges contacting each other via one edge (called pivot edge) is represented by the two face marks that are determined by selecting one face mark from the two face marks of the pivot edge and adding to the selected face mark one face mark of the face marks that are not included in the face marks of the pivot edge and are not included in the face marks of the edges opposite to the pivot edge. For example, LU representing a pivot edge is decomposed into L and U. Then, B and F each of which is not included in L and U representing the pivot edge and is not included in R and D representing the edge opposite to the pivot edge LU are each added to decomposed L and U to form LF, UF, LB and UB that represent 4 edges contacting each other via the pivot edge LU. In the same manner, 4 edges contacting each other via a pivot edge DF are represented by LD, RD, LF, RF, respectively.
In the case of KTC4b, 4 edges perpendicular to one face (pivot face) are represented by two face marks selected from the face marks that excludes the mark of the pivot face and the mark of the face opposite to the pivot face. For example, 4 edges orthogonal to a pivot face L are represented by DB, DF, UB and UF that are the combination between one of D and U opposite to D and one of B and F opposite to B while excluding L and R opposite to L of the pivot face.
In the case of KTC5, when selecting a pivot surface and a pivot vertex on the pivot surface (KTC4b+KTC3), 4 edges are created in the same manner as the KTC4b, and the operation of “4 created edges XOR 3 edges contacting each other via the pivot vertex” is performed (union set minus product set). For example, when a pivot face is B, and a pivot vertex is RDB, the operation of (LD, LU, RD, RU) (for the pivot face B) XOR (RD, DB, RB) (for the pivot vertex RDB) results in (LD, LU, RU, DB, RB).
In the case of KTC6, a pivot vertex and a vertex opposite to the pivot vertex are selected so that the complement of KTC3 for the pivot vertex and KTC3 for the opposite vertex can be determined as 6 edges of KTC6 (complement of KTC3 and opposite KTC3 (12-3-3). For example, when selecting RDF as a pivot vertex, LUB is also selected as the opposite vertex so that the complement of 3 edges of KTC3 for RDF and 3 edges of opposite KTC3 for LUB can be determined as 6 edges of KTC6. In other words, in the case of KTC6, cut points on the complement edges of pivot vertex and the opposite vertex are connected. Loop formation is performed such that an arbitrary edge is selected (for example, RU), and next, the cut point of the edge contacting the selected edge (i.e., edge having the same mark R or U as RU) (in this example, RB or UF) is traced.
Algorism of extracting a surface in a cell requires the reverse procedure of the above-described procedure. In the following, a boundary cell type extraction algorism in the boundary surface determination step (D) will be described.
When cut points substantially correspond to a vertex, these cut points are considered as vertex shrinkage, and the vertex shrinkage is represented by KTC having 3 edges. In a preliminary process, cut target edges having cut points are sorted in the face direction order of LD to UF.
Next, a reverse KTC rule (KTC pattern is determined from cut points) will be described.
In the case of KTC3, as shown in the following Table 1, edge combinations corresponding to respective pivot vertexes are (LD, LB, DB), (LD, LF, DF), (LU, LB, UB), (LU, LF, UF), (RD, RB, DB), (RD, RF, DF), (RU, RB, UB), and (RU, RF, UF) that correspond to vertexes {circle around (1)} to {circle around (8)}. In the case of the vertex shrinkage where cut points are positioned at a vertex, it is checked whether or not the cut points can be classified into one of the combinations, and when the cut points can be classified, the vertex shrinkage is registered. Then, regarding the neighboring cells, the cell of the vertex shrinkage is copied to maintain the consistency or continuity.
In the case of KTC4a, there are 12 combinations of 4 edges corresponding to each pivot edge. As shown in the following Table 2, edge combinations corresponding to respective pivot edges are (LB, LF, DB, DF), (LB, LF, UB, UF), (LD, LU, DB, UB), (LD, LU, DF, UF), (RB, RF, DB, DF), (RB, RF, UB, UF), (RD, RU, DB, UB), (RD, RU, DF, UF), (LD, LB, RD, RB), (LD, LF, RD, RF), (LU, LB, RU, RB), and (LU, LF, RU, RF). These edge combinations are previously set, and when 4 cut points (4 edges) are obtained, the pattern matching is performed to determine the boundary cell type and the edge combination. In the case of vertex shrinkage, three edges are checked in the same manner as KTC3.
In the case of KTC4b, as shown in the following Table 3, the pattern matching is performed for 3 combinations of (DB, DF, UB, UF), (LB, LF, RB, RF), and (LD, LU, RD, RU).
In the case of KTC5, as shown in the following Table 4, there are 24 (6×4) combinations that correspond to combinations between a pivot face and a pivot vertex existing on the pivot face. In the case of vertex shrinkage, three edges are checked in the same manner as KTC3.
In the case of KTC6, as shown in the following Table 5, the pattern matching is performed for 4 edge combinations of a pivot vertex and the opposite vertex.
When there is a boundary cell that cannot be classified into the above boundary types KTC3 through KTC6, this boundary cell is left without classifying, or in accordance with necessity, the steps (A) through (F) are repeatedly performed.
The above described method of forming a closed loop in the boundary surface determination step (D) can also be applied to the case where the number of cut points is 7, 8, 9, 10, 11 or 12.
As described above, according to the data converting method of the embodiment of the present invention, by the oct-tree division step (A) and the cell classification step (B), it becomes possible to store, with a small memory capacity, external data 12 having cell hierarchical configuration that is formed by dividing the external data 12 of a target object into rectangular parallelepiped cells 13 having boundary planes orthogonal to each other.
Furthermore, cells having 3, 4, 5, and 6 cut points are classified into different boundary cell types KTC3, KTC4a, KTC4b, KTC5 and KTC6, respectively. Combinations of edges (ridgelines) to be cut are previously set for each boundary surface type, and the boundary surface type and the edge combination are determined based on obtained cut points and cut edges by the pattern matching. Alternatively, when the number of cut points is no fewer than 3 and no more than 12, the cut points may be traced and connected to form a closed loop. Therefore, according to the embodiment of the present invention, it is possible to store the boundary surface with the boundary cell type and the edge combination. Further, the data can be stored with a small memory capacity, and neighboring cell continuity can be held.
Furthermore, the polygon formed by the cut points is divided into a plurality of triangles that are formed by connecting the cut points. Then, each of the normal lines included in the boundary data of the external data 12 is extended, and the triangle that has the intersection point with the extended normal line and has the least distance from boundary surface part of the extended normal line is selected. Next, the angle made between the normal line of the selected triangle and the extended normal line is obtained. These processes are performed for each extended normal line. Thereafter, one triangle division manner in which the maximum angle deviation (difference) between the normal line of the triangle and the extended normal line becomes smallest is selected from a plurality of triangle dividing manners. In this manner, even when a boundary surface is a curved surface, it is possible to maintain the neighboring cell continuity and form the divided triangle meshes that can approximate the curved surface without generating a gap and a sharp angle between the triangles.
Thus, the data converting method and program of converting three-dimensional shape data into cell internal data have the following advantage. That is, for volume CAD, with the neighboring cell continuity being maintained, without generating a gap or forming an inaccurate triangle, it is possible to configure, from the external data, the cell internal data of which boundary surface can be divided into the triangle meshes that approximate even a curved surface having a large curvature with high accuracy.
The preferred embodiment of the present invention including several examples is described in the above. However, the present invention is not limited to this embodiment, and various improvements, modifications, and equivalents can be made without departing from scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2001-370040 | Dec 2001 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP02/12629 | 12/3/2002 | WO | 00 | 1/5/2005 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO03/048980 | 6/12/2003 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4092201 | Wommelsdorf | May 1978 | A |
4665192 | Masters | May 1987 | A |
4665492 | Masters | May 1987 | A |
4694404 | Meagher | Sep 1987 | A |
4710876 | Cline et al. | Dec 1987 | A |
4719585 | Cline et al. | Jan 1988 | A |
4729098 | Cline et al. | Mar 1988 | A |
5095419 | Seki et al. | Mar 1992 | A |
5166876 | Cline et al. | Nov 1992 | A |
5197013 | Dundorf | Mar 1993 | A |
5303141 | Batchelder et al. | Apr 1994 | A |
5345490 | Finnigan et al. | Sep 1994 | A |
5510066 | Fink et al. | Apr 1996 | A |
5517602 | Natarajan | May 1996 | A |
5594652 | Penn et al. | Jan 1997 | A |
5796617 | St. Ville | Aug 1998 | A |
5807448 | Nakazawa | Sep 1998 | A |
6075538 | Shu et al. | Jun 2000 | A |
6136252 | Bedal et al. | Oct 2000 | A |
6214279 | Yang et al. | Apr 2001 | B1 |
6405095 | Jang et al. | Jun 2002 | B1 |
6445390 | Aftosmis et al. | Sep 2002 | B1 |
6471800 | Jang et al. | Oct 2002 | B2 |
6504742 | Tran et al. | Jan 2003 | B1 |
6606528 | Hagmeier et al. | Aug 2003 | B1 |
6618607 | Song | Sep 2003 | B2 |
6627835 | Chung et al. | Sep 2003 | B1 |
6639597 | Zwicker et al. | Oct 2003 | B1 |
6643560 | Shimomura | Nov 2003 | B2 |
6968075 | Chang | Nov 2005 | B1 |
6982710 | Salomie | Jan 2006 | B2 |
7088363 | Kase et al. | Aug 2006 | B2 |
7110852 | Ohmori et al. | Sep 2006 | B2 |
20020004713 | Wakabayashi et al. | Jan 2002 | A1 |
20020055692 | Tanaka et al. | May 2002 | A1 |
20020113331 | Zhang et al. | Aug 2002 | A1 |
20030001836 | Ernst et al. | Jan 2003 | A1 |
20040267400 | Ohmori et al. | Dec 2004 | A1 |
20050015173 | Ohmori et al. | Jan 2005 | A1 |
20060228248 | Larsson | Oct 2006 | A1 |
Number | Date | Country |
---|---|---|
0 938 949 | Sep 1999 | EP |
1 229 463 | Aug 2002 | EP |
02-236677 | Sep 1990 | JP |
03-021432 | Jan 1991 | JP |
04-075850 | Mar 1992 | JP |
06-315849 | Nov 1994 | JP |
06-348862 | Dec 1994 | JP |
07-057089 | Mar 1995 | JP |
07-334541 | Dec 1995 | JP |
10-063873 | Mar 1998 | JP |
11-096400 | Apr 1999 | JP |
2000-182081 | Jun 2000 | JP |
2001-194881 | Jul 2000 | JP |
2000-340476 | Dec 2000 | JP |
2001-022961 | Jan 2001 | JP |
2001-025023 | Jan 2001 | JP |
2001-225393 | Aug 2001 | JP |
2001-370040 | Dec 2001 | JP |
2002-024306 | Jan 2002 | JP |
2002-230054 | Aug 2002 | JP |
0223408 | Mar 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20050107992 A1 | May 2005 | US |