Specific program, specific method, and information processing apparatus
The method of generating normalized unit shape data and aligning orientations within 3D shape data addresses the challenge of inefficient classification and relationship identification, enhancing design efficiency and accuracy by establishing parametric relationships.
Patent Information
- Application Number
- JP2021074327
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-04-26
- Publication Date
- 2025-06-25
- Estimated Expiration
- 2041-04-26
AI Technical Summary
Existing 3D shape design processes require significant man-hours and struggle with inadequate classification of past shape data, making it difficult to identify corresponding relationships between parts and derive dimensional relationships.
A method involving the generation of normalized unit shape data from 3D shape data, alignment of orientations based on image comparison, and identification of corresponding parts to establish parametric relationships, enabling accurate classification and derivation of dimensional relationships.
Facilitates efficient classification and standardization of 3D shape data, allowing for automated derivation of dimensional relationships between parts, reducing design time and improving design accuracy.
Smart Images

Figure 0007698188000004 
Figure 0007698188000005 
Figure 0007698188000006
Abstract
Description
Technical Field
[0001] The present invention relates to a specific program, a specific method, and an information processing apparatus.
Background Art
[0002] Conventionally, since designing and drawing 3D (Dimensions) shapes requires a lot of man-hours, there are cases where derivative designs using past 3D shape data are performed. On the other hand, past 3D shape data is often insufficiently classified and there are a large number of similar shapes. Therefore, when newly designing a similar shape of an existing product, it is desirable to appropriately classify the past 3D shape data and standardize the design object.
[0003] As a prior art, for example, a standard part with an attribute value range and shape feature data that match the attribute value and shape feature data of a part to be designed is searched, a standard part with an attribute value range similar to the attribute value of the part to be designed and shape feature data similar to the shape feature data of the part to be designed is searched, and an instance part with an attribute value similar to the attribute value of the part to be designed and shape feature data similar to the shape feature data of the part to be designed is searched.
[0004] Also, there is a technique of referring to similar part data, searching for a similar part number associated with an extraction part number, transmitting the part data of the extraction part number and the part data of all the searched similar part numbers to a user terminal, and displaying a single-item search result detail screen on which the part numbers of each part are displayed. Further, there is a technique of detecting a design process directly corresponding to the extracted related information and a design process corresponding to other related information in which the design parameters included in the related information are further related, and changing the design parameters for specifying the part shape based on a plurality of design processes corresponding to the related information and other related information to generate the shape of the part.
[0005] In addition, there is a technique for performing shape recognition by using labels attached to the planes and ridge lines of a recognition model to determine the topology of the recognition model, such as the concavity and convexity of the ridge lines and the concavity and convexity of the vertices within the plane, generating an objective function and constraint conditions, and regulating the shape recognition of the recognition model. Further, there is a technique in which a two-dimensional or three-dimensional shape is input into a computer or the like to create a shape and dimensions, and then an operator can perform changes (deletion, addition, modification, etc.) to the shape or dimensions.
Prior Art Documents
Patent Documents
[0006]
Patent Document 1
Patent Document 2
Patent Document 3
Patent Document 4
Patent Document 5
Summary of the Invention
Problems to be Solved by the Invention
[0007] However, in the prior art, when standardizing a designed object, it is difficult to appropriately classify the design data designed in the past and derive the dimensional relationships between parts such as sides and holes. For example, it may not be possible to identify the parts that have a corresponding relationship between 3D shape data, and it may not be possible to derive the dimensional relationships between the parts.
[0008] On one aspect, an object of the present invention is to identify parts that have a corresponding relationship between shape data.
Means for Solving the Problems
[0009] In one embodiment, for each of the first shape data and the second shape data, third shape data and fourth shape data generated by changing the size according to a specific rule in each direction of a plurality of axes are obtained, and each of the third shape data and the fourth shape data is imaged from both directions of each of the plurality of axes to generate a first plurality of images and a second plurality of images. Based on the result of comparison between the first plurality of images and the second plurality of images, by aligning the orientations of the first shape data and the second shape data, a first portion of the first shape data and a second portion of the corresponding second shape data are identified, and a specific program is provided.
Effect of the Invention
[0010] According to one aspect of the present invention, there is an effect that a part having a correspondence relationship between shape data can be identified.
Brief Description of the Drawings
[0011]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9A
Figure 9B
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Figure 31
Figure 32
BEST MODE FOR CARRYING OUT THE INVENTION
[0012] Hereinafter, with reference to the drawings, embodiments of a specific program, a specific method, and an information processing apparatus according to the present invention will be described in detail.
[0013] (Embodiment) FIG. 1 is an explanatory diagram showing an example of an embodiment of a specific method according to the embodiment. In FIG. 1, the information processing apparatus 101 is a computer that supports the design of an object. The object is an object to be designed, and is, for example, a three-dimensional object such as a part, a product, a construction member, or a building.
[0014] Here, since designing a 3D shape requires a lot of man-hours, it would be very useful if a diverted design using past 3D shape data could be done. On the other hand, past 3D shape data is often insufficiently classified, and there are a large number of similar shapes. Therefore, it takes time and effort to manually search for 3D shape data according to the design intention.
[0015] For this reason, when newly designing a similar shape of an existing product, it is desirable to appropriately classify past 3D shape data and standardize the design of the designed object. For example, if past 3D shape data can be appropriately classified and the dimensional relationship (parametric model) between parts of the 3D shape can be derived, by setting various dimensions for the model, a design that defines the 3D shape (so-called parametric design) can be performed.
[0016] As a method for classifying past 3D shape data, there is one that compares 3D shape data with each other to obtain a similarity degree and classifies the 3D shape data based on that similarity degree. Specifically, for example, it is conceivable to specify target 3D shape data and search for 3D shape data to be classified into the same group based on the similarity degree with that 3D shape data.
[0017] The target 3D shape data is, for example, 3D shape data for specifying the design intention regarding the object. The design intention is, for example, the approximate shape of the object (a shape without specifying detailed dimensions), the dimensional ratio between some parts, the relative positional relationship of some parts, and so on.
[0018] The specification of the target 3D shape data is performed, for example, by selecting any 3D shape data from the 3D shape data designed in the past. As the target, for example, among the past 3D shape data, 3D shape data created with the same design intention as the object but with different detailed dimensions from the object is specified.
[0019] In this classification method, 3D shape data with the same shape as the target or geometrically similar shapes is searched for. However, in 3D shape data, even for similar shapes, there are cases where there is a relationship in the dimensions between parts depending on the design intent, and not all 3D shape data with the same shape or similar shapes are necessarily the 3D shape data that we want to classify into the same group.
[0020] Also, it is conceivable to perform classification considering the design intent while manually checking each piece of past 3D shape data one by one. However, manually classifying a huge number of 3D shape data is time-consuming and laborious, and ultimately, there is a problem of increasing the man-hours required for the design of the object. Furthermore, it is difficult for someone other than the designer to judge the design intent from the 3D shape data.
[0021] Therefore, for example, it is conceivable to construct a parametric model by classifying a plurality of 3D shape data based on unit 3D shape data obtained by normalizing each 3D shape data, and specifying the dimensional relationship between parts within the 3D shape data classified by the unit 3D shape data. In this method, for example, 3D shape data is normalized for each component in each coordinate axis direction to create unit 3D shape data.
[0022] Normalizing 3D shape data for each component in each coordinate axis direction means transforming the 3D shape data while maintaining the dimensional relationship between parts in each coordinate axis direction (for example, the x-axis, y-axis, and z-axis directions). By judging similarity based on the unit 3D shape data, it becomes possible to classify those with the same ratio of sides in each coordinate axis direction into the same group, and not only shapes identical or similar to the target, but also shapes with some different lengths can be classified into the same group.
[0023] However, 3D shape CAD data may have different reference planes depending on the creator, and may be created in different orientations. For this reason, even if similar 3D shape data can be identified, it may be difficult to identify corresponding parts between the 3D shape data.
[0024] Here, in order to align the orientations of 3D shape data, it is conceivable to identify corresponding locations based on principal component analysis or the like based on feature amounts between similar 3D shape data, and identify the directions of the axes. However, in a search for similar shapes based on parametric relationships using unit 3D shape data, the images between the 3D shape data to be compared may not match conventional similar shapes.
[0025] If the images between the 3D shape data to be compared do not match conventional similar shapes, corresponding locations cannot be identified from the feature amounts of the images, and the orientations between the 3D shape data may not be aligned. Further, even if the orientations between the 3D shape data can be aligned by some means, it is difficult to identify corresponding locations between a plurality of 3D shape data with different dimensions.
[0026] Therefore, in the present embodiment, for example, a specific method for aligning the orientations of 3D shape data with each other based on parametric relationships and identifying corresponding locations between the 3D shape data will be described. Hereinafter, a processing example of the information processing apparatus 101 will be described.
[0027] (1) The information processing apparatus 101 acquires third shape data and fourth shape data generated by changing the size according to a specific rule in the respective directions of a plurality of axes for each of the first shape data and the second shape data. Here, the shape data is information representing the shape of a designed object, and includes, for example, position information, surface information, hole information, etc. of each feature point of the designed object. The feature points are, for example, vertices of the designed object, center points of holes, etc.
[0028] The position information of the feature points indicates, for example, the coordinates of the feature points in a rectangular coordinate system. The surface information of the feature points is, for example, information for identifying the surface to which the feature points belong. The hole information of the feature points is, for example, information for identifying the shape, size, etc. of the hole to which the feature points belong. The shape data may include, for example, color information, material information, etc. of each surface.
[0029] The shape data is, for example, 3D shape data. More specifically, for example, the shape data is design data designed in the past using 3D CAD (Computer Aided Design). However, the shape data may be 2D shape data.
[0030] The first shape data and the second shape data are shape data to be compared. The first shape data is, for example, target shape data. The second shape data is, for example, shape data similar to the first shape data classified based on parametric relationships. The specific processing details for classifying shape data based on parametric relationships (unit shape data) will be described later.
[0031] The plurality of axes are axes serving as a reference for determining the position of the shape data, and are, for example, the x-axis, y-axis, and z-axis in a 3D coordinate system. Changing the size according to a specific rule in each direction of the plurality of axes means, for example, normalizing the shape data for each component in the direction of each coordinate axis.
[0032] The third shape data is, for example, unit shape data created by normalizing the first shape data for each component in the direction of each coordinate axis. The fourth shape data is, for example, unit shape data created by normalizing the second shape data for each component in the direction of each coordinate axis.
[0033] In the example of FIG. 1, it is assumed that, for each of the first shape data 11 and the second shape data 12, the third shape data 21 and the fourth shape data 22 are obtained by changing the size according to a specific rule in each direction of the plurality of axes.
[0034] (2) The information processing apparatus 101 generates a first plurality of images and a second plurality of images by imaging each of the third shape data and the fourth shape data from both directions of each of the plurality of axes. Here, the first plurality of images is, for example, a set of 2D images obtained by imaging the third shape data from the positive and negative directions of each of the x-axis, y-axis, and z-axis.
[0035] Further, the second plurality of images are, for example, a set of 2D images obtained by imaging the fourth shape data from the positive and negative directions of each of the x-axis, y-axis, and z-axis. In FIG. 1, the cube indicated by the dotted line represents the third shape data or the fourth shape data imaged from the positive and negative directions of each of the x-axis, y-axis, and z-axis.
[0036] In the example of FIG. 1, the information processing apparatus 101 generates, for example, a first plurality of images 110 obtained by imaging the third shape data 21 from the positive and negative directions of each of the x-axis, y-axis, and z-axis. For example, an image 111 included in the first plurality of images 110 is a 2D image obtained by imaging the third shape data 21 from the positive direction of the x-axis.
[0037] Further, the information processing apparatus 101 generates a second plurality of images 120 obtained by imaging the fourth shape data 22 from the positive and negative directions of each of the x-axis, y-axis, and z-axis. For example, an image 121 included in the second plurality of images 120 is a 2D image obtained by imaging the fourth shape data 22 from the positive direction of the y-axis.
[0038] (3) The information processing apparatus 101 identifies a second portion of the second shape data corresponding to a first portion of the first shape data by aligning the orientations of the first shape data and the second shape data based on the result of comparison between the first plurality of images and the second plurality of images. Specifically, for example, the information processing apparatus 101 compares each of the first plurality of images with each of the second plurality of images to calculate the similarity between the images.
[0039] Next, the information processing apparatus 101 identifies the correspondence between the images included in the first plurality of images and the images included in the second plurality of images based on the calculated similarity between the images. Then, the information processing apparatus 101 aligns the orientations of the first shape data and the second shape data based on the identified correspondence to identify the second portion corresponding to the first portion.
[0040] In the example of FIG. 1, the information processing apparatus 101 identifies the correspondence between the image 1 (e.g., image 111) included in the first plurality of images 110 and the image a (e.g., image 121) included in the second plurality of images 120 by searching for the image a with the highest similarity to the image 1 from the second plurality of images 120.
[0041] Further, the information processing apparatus 101 identifies the correspondence between the image 2 included in the first plurality of images 110 and the image b (excluding image a) by searching for the image b with the highest similarity to the image 2 from the second plurality of images 120.
[0042] Further, the information processing apparatus 101 identifies the correspondence between the image 3 included in the first plurality of images 110 and the image c (excluding images a and b) by searching for the image c with the highest similarity to the image 3 from the second plurality of images 120.
[0043] Then, the information processing apparatus 101 aligns the orientations of the third shape data 21 and the fourth shape data 22 by aligning the arrangements of the images 1, a, the images 2, b, and the images 3, c based on the respective correspondences between the images 1, 2, 3 and the images a, b, c.
[0044] Here, the correspondence between the parts of the first shape data 11 and the third shape data 21 can be specified, for example, by associating the corresponding parts before and after the conversion. Also, the correspondence between the parts of the second shape data 12 and the fourth shape data 22 can be specified, for example, by associating the corresponding parts before and after the conversion.
[0045] The information processing apparatus 101 adjusts the orientation of the first shape data 11 to match the orientation of the third shape data 21 with reference to the correspondence relationship between the parts of the first shape data 11 and the third shape data 21. Also, the information processing apparatus 101 adjusts the orientation of the second shape data 12 to match the orientation of the fourth shape data 22 with reference to the correspondence relationship between the parts of the second shape data 12 and the fourth shape data 22.
[0046] Thereby, the information processing apparatus 101 can align the orientations of the first shape data 11 and the second shape data 12. Also, the information processing apparatus 101 specifies the correspondence relationship between the parts of the third shape data 21 and the fourth shape data 22 with their orientations aligned. For example, the information processing apparatus 101 specifies the correspondence relationship between side 21-1 of the third shape data 21 and side 22-1 of the fourth shape data 22.
[0047] Then, the information processing apparatus 101 specifies the correspondence relationship between the parts of the first shape data 11 and the second shape data 12 with their orientations aligned with reference to the correspondence relationship between the parts of the third shape data 21 and the fourth shape data 22 with their orientations aligned. Thereby, the information processing apparatus 101 can specify the second part (side 12-1) of the second shape data 12 corresponding to the first part (for example, side 11-1) of the first shape data 11.
[0048] In this way, according to the information processing apparatus 101, it is possible to specify the parts in correspondence with each other among the shape data classified based on the parametric relationship. In the example of FIG. 1, the information processing apparatus 101 can specify, for example, the correspondence relationship between side 11-1 of the first shape data 11 and side 12-1 of the second shape data 12. Thereby, it is possible to obtain information for deriving the dimensional relationship between different parts between the first shape data 11 and the second shape data 12.
[0049] (System configuration example of the information processing system 200) Next, a system configuration example of the information processing system 200 including the information processing apparatus 101 will be described. Here, a case where the information processing apparatus 101 shown in FIG. 1 is applied to the model generation apparatus 201 in the information processing system 200 will be described as an example. The information processing system 200 is applied to, for example, a computer system that supports the design of 3D shapes related to products or buildings.
[0050] In the following description, "3D (three-dimensional) shape data" will be described as an example of the shape data.
[0051] FIG. 2 is an explanatory diagram showing a system configuration example of the information processing system 200. In FIG. 2, the information processing system 200 includes a model generation apparatus 201 and a client apparatus 202. In the information processing system 200, the model generation apparatus 201 and the client apparatus 202 are connected via a wired or wireless network 210. The network 210 is, for example, the Internet, a LAN, a WAN (Wide Area Network), or the like.
[0052] Here, the model generation apparatus 201 has a 3D shape DB (Database) 220 and a standard shape DB 230. The model generation apparatus 201 is, for example, a server. The 3D shape DB 220 is a database that stores 3D shape data designed in the past. The standard shape DB 230 is a database that stores standard shape data. The stored contents of the 3D shape DB 220 and the standard shape DB 230 will be described later with reference to FIGS. 4 and 5.
[0053] The client apparatus 202 is a computer used by the user. The client apparatus 202 is, for example, a PC (Personal Computer), a tablet PC, or the like. The user is, for example, a designer who designs an object.
[0054] In the example of FIG. 2, only one client device 202 is shown, but this is not the only case. For example, the information processing system 200 may include a plurality of client devices 202. Also, although the model generation device 201 is provided separately from the client device 202, this is not the only case. For example, the model generation device 201 may be realized by the client device 202.
[0055] (Example of the hardware configuration of the model generation device 201) FIG. 3 is a block diagram showing an example of the hardware configuration of the model generation device 201. In FIG. 3, the model generation device 201 includes a CPU (Central Processing Unit) 301, a memory 302, a disk drive 303, a disk 304, a communication I / F (Interface) 305, a portable recording medium I / F 306, and a portable recording medium 307. Also, each component is connected to each other by a bus 300.
[0056] Here, the CPU 301 controls the overall operation of the model generation device 201. The CPU 301 may have a plurality of cores. The memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), and a flash ROM. Specifically, for example, the flash ROM stores the program of the OS (Operating System), the ROM stores the application program, and the RAM is used as the work area of the CPU 301. The program stored in the memory 302 is loaded into the CPU 301 to cause the CPU 301 to execute the coded processing.
[0057] The disk drive 303 controls the read / write of data to / from the disk 304 according to the control of the CPU 301. The disk 304 stores the data written under the control of the disk drive 303. Examples of the disk 304 include a magnetic disk and an optical disk.
[0058] The communication I / F 305 is connected to the network 210 through a communication line and is connected to an external computer (for example, the client device 202 shown in FIG. 2) via the network 210. Then, the communication I / F 305 manages the interface between the network 210 and the inside of the device and controls the input / output of data from / to the external computer. For the communication I / F 305, for example, a modem, a LAN adapter, or the like can be adopted.
[0059] The portable recording medium I / F 306 controls the read / write of data with respect to the portable recording medium 307 according to the control of the CPU 301. The portable recording medium 307 stores the data written under the control of the portable recording medium I / F 306. Examples of the portable recording medium 307 include a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disk), a USB (Universal Serial Bus) memory, and the like.
[0060] Note that the model generation device 201 may not have, for example, the disk drive 303, the disk 304, the portable recording medium I / F 306, and the portable recording medium 307 among the above-described components. Further, the model generation device 201 may have, for example, a display, an input device, or the like in addition to the above-described components. Also, the client device 202 shown in FIG. 2 can be realized with the same hardware configuration as that of the model generation device 201.
[0061] (Storage contents of various DBs 220, 230) Next, the storage contents of the various DBs 220, 230 included in the model generation device 201 will be described with reference to FIGS. 4 and 5. The various DBs 220, 230 are realized by storage devices such as the memory 302 and the disk 304 shown in FIG. 3, for example.
[0062] FIG. 4 is an explanatory diagram showing an example of the stored content of the 3D shape DB 220. In FIG. 4, the 3D shape DB 220 has fields for an id and 3D shape data, and by setting information in each field, 3D shape management information (for example, 3D shape management information 400-1 to 400-3) is stored as a record.
[0063] Here, the id is an identifier that uniquely identifies the 3D shape data. The 3D shape data is 3D shape data designed in the past. For the sake of explanation here, each 3D shape data is denoted as "D1, D2, D3,...". For example, the 3D shape management information 400-1 indicates the 3D shape data D1 with the id "1".
[0064] FIG. 5 is an explanatory diagram (part 1) showing an example of the stored content of the standard shape DB 230. In FIG. 5, the standard shape DB 230 has fields for an id, standard shape data, a relational expression, and a list of similar shapes, and by setting information in each field, standard shape management information (for example, standard shape management information 500-1, 500-2) is stored as a record.
[0065] Here, the id is the id of the 3D shape data that is the source of the standard shape data. The standard shape data is unit 3D shape data registered as standard shape data. The relational expression is a mathematical formula showing the dimensional relationship between different parts (for example, sides) within the 3D shape data that is the source of the standard shape data.
[0066] Here, Re## represents different mathematical formulas (## is a number). Each mathematical formula shows, for example, the dimensional relationship between different sides within the 3D shape data. The list of similar shapes is a list of the ids of the 3D shape data classified into the same group based on the standard shape data (unit 3D shape data).
[0067] For example, the standard shape management information 500-1 shows the standard shape data D1'', relational expressions {Re11, Re12, …}, and a similar shape list {1, 7, 18, 21, 33} corresponding to the 3D shape data D1 with the id "1". Note that the variables representing each part in the standard shape data (unit shape data) correspond to the variables in the relational expressions. Thus, it is possible to identify which part in the standard shape data (unit shape data) corresponds to which variable in the relational expressions.
[0068] (Functional configuration example of the model generation device 201) FIG. 6 is a block diagram showing a functional configuration example of the model generation device 201. In FIG. 6, the model generation device 201 includes a reception unit 601, a creation unit 602, a classification unit 603, a first specification unit 604, a second specification unit 605, a search unit 606, a generation unit 607, an output unit 608, and a storage unit 610. The reception unit 601 to the output unit 608 are functions that serve as a control unit. Specifically, for example, by causing the CPU 301 to execute a program stored in a storage device such as the memory 302, the disk 304, or the portable recording medium 307 shown in FIG. 3, or by means of the communication I / F 305, their functions are realized. The processing results of each functional unit are stored in a storage device such as the memory 302 or the disk 304, for example. Also, the storage unit 610 is realized by a storage device such as the memory 302 or the disk 304, for example. Specifically, for example, the storage unit 610 stores the 3D shape DB 220 shown in FIG. 4 and the standard shape DB 230 shown in FIG. 5.
[0069] The reception unit 601 receives the specification of the target 3D shape data. The target 3D shape data is, for example, 3D shape data for specifying the design intention regarding an object, and is specified from among the 3D shape data stored in the 3D shape DB 220. Also, the target 3D shape data may be 3D shape data in a state where the basic design (designed with approximate dimensions) of the object has been completed.
[0070] Specifically, for example, the reception unit 601 receives the specification of the target 3D shape data by receiving from the client device 202 the specification of the id of any 3D shape data stored in the 3D shape DB 220. Further, the reception unit 601 may receive the target 3D shape data itself from the client device 202.
[0071] The creation unit 602 generates unit 3D shape data by changing the size of each of the plurality of 3D shape data in accordance with a specific rule in each direction of a plurality of axes. Specifically, for example, the creation unit 602 normalizes each of the plurality of 3D shape data for each component in the coordinate axis directions to create unit 3D shape data. More specifically, for example, the creation unit 602 extracts the minimum value in each coordinate axis direction from the coordinates of each feature point of each 3D shape data. The feature points are, for example, the vertices of the designed object, the center points of the holes, and the like.
[0072] Then, the creation unit 602 subtracts the minimum value in each extracted coordinate axis direction from each value of the coordinates of each feature point. Next, the creation unit 602 extracts the maximum value in each coordinate axis direction from the coordinates of each feature point after subtraction. Then, the creation unit 602 creates unit 3D shape data of each 3D shape data by dividing each value of the coordinates of each feature point after subtraction by the maximum value in each extracted coordinate axis direction.
[0073] Here, with reference to FIG. 7, an example of creating unit 3D shape data will be described. In the following description, any 3D shape data among the plurality of 3D shape data may be denoted as "3D shape data Di" (however, i is a natural number of 1 or more).
[0074] FIG. 7 is an explanatory diagram showing an example of creating unit 3D shape data. In FIG. 7, the coordinates of each vertex j of the 3D shape data Di (solid line in FIG. 7) are P ij (x ij ,y ij ,z ij) (j = 1, 2, …, J). Here, the case where the 3D shape data Di is a "rectangular parallelepiped" will be described as an example. Also, the feature points of the 3D shape data Di are defined as "vertices".
[0075] First, the creation unit 602 extracts the minimum value in each coordinate axis direction from the coordinates of each vertex j of the 3D shape data Di. Then, the creation unit 602 translates the 3D shape data Di by subtracting the extracted minimum value in each coordinate axis direction from each value of the coordinates P ij of each vertex. The new 3D shape data obtained here (in the figure 7, the dashed line) is denoted as "Di'", and the coordinates of each vertex are P ij '(x ij ', y ij ', z ij ').
[0076] x ij ', y ij ', z ij ' are represented by the following formulas (1) to (3). However, "i, j, J ∈ natural numbers" and "x ij , y ij , z ij > 0".
[0077] x ij ' = x ij - Min([x i1 , x i2 , …, x iJ ) ··· (1) y ij ' = y ij - Min([y i1 , y i2 , …, y iJ ) ··· (2) z ij ' = z ij - Min([z i1 , z i2 , …, z iJ ) ··· (3)
[0078] Next, the creation unit 602 extracts the maximum value in each coordinate axis direction from the coordinates P ij ' of each vertex. Then, the creation unit 602 uses the coordinates P ijDivide each value of “’” by the maximum value in each extracted coordinate axis direction to create normalized unit 3D shape data. The unit D shape data obtained here (the dotted line in Fig. 7) is denoted as “Di’’”, and the coordinates of each vertex are P ij ’’(x ij ’’,y ij ’’,z ij ’’).
[0079] x ij ’’,y ij ’’,z ij ’’ are represented by the following formulas (4) to (6).
[0080] x ij ’’=x ij ’ / Max([x i1 ’,x i2 ’,…,x iJ ’]) ···(4) y ij ’’=y ij ’ / Max([y i1 ’,y i2 ’,…,y iJ ’]) ···(5) z ij ’’=z ij ’ / Max([z i1 ’,z i2 ’,…,z iJ ’]) ···(6)
[0081] Returning to the description of Fig. 6, the classification unit 603 classifies a plurality of 3D shape data based on the unit 3D shape data of each created 3D shape data. Specifically, for example, the classification unit 603 calculates the similarity between the unit 3D shape data of each 3D shape data. Next, the classification unit 603 identifies combinations of unit 3D shape data for which the calculated similarity is equal to or greater than a threshold value.
[0082] Then, the classification unit 603 classifies a plurality of 3D shape data such that the 3D shape data corresponding to each of the unit 3D shape data included in the identified combination of unit 3D shape data belong to the same group. The threshold value can be arbitrarily set. For example, the threshold value is set to a value such that if the similarity is equal to or greater than the threshold value, it can be determined that the unit 3D shape data match each other.
[0083] More specifically, for example, the classification unit 603 compares the unit 3D shape data of the specified target 3D shape data with the unit 3D shape data of each 3D shape data in the 3D shape DB 220 to calculate the similarity between the unit 3D shape data. For example, the classification unit 603 compares the images obtained by imaging each unit 3D shape data from a plurality of directions between the unit 3D shape data to calculate the similarity between the images. Any existing technique may be used to calculate the similarity between the images.
[0084] Next, the classification unit 603 calculates the similarity between the unit 3D shape data by accumulating the calculated similarity between the images. Then, the classification unit 603 classifies the 3D shape data corresponding to the combination of unit 3D shape data whose calculated similarity is equal to or greater than the threshold value into the same group. Thereby, the 3D shape data similar to the target 3D shape data and the unit 3D shape data can be extracted from the 3D shape DB 220.
[0085] Here, with reference to FIG. 8, a classification example of 3D shape data will be described.
[0086] FIG. 8 is an explanatory diagram showing a classification example of 3D shape data. In FIG. 8, 3D shape data D11 to D15 are displayed. The 3D shape data D11 is the target 3D shape data. The 3D shape data D12 is 3D shape data with a different orientation from the target 3D shape data D11.
[0087] The 3D shape data D13 is 3D shape data that is in a similarity relationship with the target 3D shape data D11. The 3D shape data D14 and D15 are 3D shape data with a different partial length from the target 3D shape data D11. In FIG. 8, l1 to l within the 3D shape data D11 18 indicates the sides within the 3D shape data D11. Also, the numerical values within each of the 3D shape data D11 to D15 indicate the dimensions of each side.
[0088] Here, when each of the 3D shape data D11 to D15 is normalized for each component in the coordinate axis directions as described in FIG. 7, unit 3D shape data 800 (corresponding to the 3D shape data D11’’ to D15’’) of the same shape is created respectively. In this case, the 3D shape data D11 to D15 are classified into the same group.
[0089] In this way, by determining similarity based on the unit 3D shape data (parametric relationship), it becomes possible to classify those with the same ratio of sides in each coordinate axis direction into the same group, and not only shapes identical or similar to the target, but also shapes with a different partial length can be classified into the same group.
[0090] Returning to the description of FIG. 6, the first specifying part 604 specifies the second part of the second 3D shape data corresponding to the first part of the first 3D shape data. Here, the first 3D shape data and the second 3D shape data are 3D shape data within the classified group. The first 3D shape data is, for example, the target 3D shape data.
[0091] The second 3D shape data is, for example, 3D shape data in which the target 3D shape data and the unit 3D shape data are similar. The first part is a partial shape (part) represented by the first 3D shape data, for example, a side or a hole. The second part is a partial shape (part) represented by the second 3D shape data, for example, a side or a hole. For example, the first specifying part 604 specifies the side (the second part) of the second 3D shape data corresponding to the side (the first part) of the first 3D shape data for each side (the first part) of the first 3D shape data.
[0092] Specifically, for example, the first specifying unit 604 obtains third 3D shape data and fourth 3D shape data generated by changing the size according to a specific rule in each direction of a plurality of axes for each of the first 3D shape data and the second 3D shape data. Here, the third 3D shape data is, for example, unit 3D shape data created by normalizing the first 3D shape data for each component in each coordinate axis direction. The fourth 3D shape data is, for example, unit 3D shape data created by normalizing the second 3D shape data for each component in each coordinate axis direction.
[0093] Next, the first specifying unit 604 generates a first plurality of images and a second plurality of images by imaging each of the third 3D shape data and the fourth 3D shape data from both directions of each of the plurality of axes. Here, the first plurality of images is, for example, a set of 2D images obtained by imaging the third 3D shape data from both directions of each of the x-axis, y-axis, and z-axis. The second plurality of images is, for example, a set of 2D images obtained by imaging the fourth 3D shape data from both directions of each of the x-axis, y-axis, and z-axis.
[0094] In the following description, a set of drawings consisting of six images (2D images) obtained by imaging 3D shape data from the positive and negative directions of each of the x-axis, y-axis, and z-axis may be referred to as a "six-sided view". Any one of the six-sided views corresponds to any one of the images obtained by imaging 3D shape data from the positive and negative directions of each of the x-axis, y-axis, and z-axis.
[0095] More specifically, for example, the first specifying unit 604 generates the first plurality of images by rotating the third 3D shape data by a predetermined angle α about each axis in each direction of both directions (positive and negative directions) of each of the x-axis, y-axis, and z-axis and imaging from each direction. The predetermined angle α can be arbitrarily set and is set to a value such as 45 degrees, 90 degrees, 180 degrees, etc.
[0096] Further, the first specifying unit 604 generates a plurality of second images by rotating the fourth 3D shape data by a predetermined angle α about each of the x-axis, y-axis, and z-axis in both directions (positive and negative directions) of each axis and imaging from each direction.
[0097] For example, when the 3D shape data (third 3D shape data, fourth 3D shape data) is rotated by 90 degrees about each of the x-axis, y-axis, and z-axis in each of the positive and negative directions and imaged from each direction, 24 (6×4) images are generated. Note that examples of generating the first plurality of images and the second plurality of images will be described later with reference to FIG. 11.
[0098] Then, the first specifying unit 604 specifies the second part of the second 3D shape data corresponding to the first part of the first 3D shape data by aligning the orientations of the first 3D shape data and the second 3D shape data based on the result of comparison between the first plurality of images and the second plurality of images.
[0099] Here, aligning the orientations of the first 3D shape data and the second 3D shape data is performed, for example, by aligning the orientations of the third 3D shape data (unit 3D shape data) and the fourth 3D shape data (unit 3D shape data). Methods (methods 1 to 3) for aligning the orientations of the third 3D shape data and the fourth 3D shape data based on the result of comparison between the first plurality of images and the second plurality of images will be described later.
[0100] Further, the first specifying unit 604 aligns the orientations of the third 3D shape data and the fourth 3D shape data and specifies the correspondence relationship between the parts between the third 3D shape data and the fourth 3D shape data. For example, each part of each unit 3D shape data forms a side. Also, each side is represented by a vector having the start point (x start , y start , z start ) and the end point (x end , y end , z end ) of each part in three-dimensional space as elements.
[0101] In this case, for each edge of the third 3D shape data, the first specifying unit 604 compares the vector of the edge with the vectors of the edges of the fourth 3D shape data to calculate the distance between the vectors. Then, for each edge of the third 3D shape data, the first specifying unit 604 specifies, as the edge corresponding to the edge of the third 3D shape data, the edge of the fourth 3D shape data with the closest calculated distance among the edges of the fourth 3D shape data.
[0102] Thereby, the correspondence relationship between the edges of the third 3D shape data and the fourth 3D shape data can be specified. Here, the correspondence relationship between the parts of the first 3D shape data and the third 3D shape data can be specified, for example, by associating the corresponding parts before and after the transformation. Also, the correspondence relationship between the parts of the second 3D shape data and the fourth 3D shape data can be specified, for example, by associating the corresponding parts before and after the transformation.
[0103] Therefore, the first specifying unit 604 can specify the second part of the second 3D shape data corresponding to the first part of the first 3D shape data from the correspondence relationship between the parts of the third 3D shape data and the fourth 3D shape data. For example, the first specifying unit 604 identifies the same location between the 3D shape data before the transformation from the correspondence relationship between the parts of the third 3D shape data and the fourth 3D shape data.
[0104] In this way, if the first specifying unit 604 can align the orientations of the third 3D shape data and the fourth 3D shape data, the first specifying unit 604 can specify the second part of the second 3D shape data corresponding to the first part of the first 3D shape data. Here, a method (methods 1 to 3) for aligning the orientations of the third 3D shape data and the fourth 3D shape data based on the result of comparing the first plurality of images and the second plurality of images will be described.
[0105] First, a method 1 for aligning the orientations of the third 3D shape data and the fourth 3D shape data based on the result of comparing the first plurality of images and the second plurality of images will be described.
[0106] The first specifying unit 604 compares each of the first plurality of images with each of the second plurality of images to calculate the similarity between the images. The similarity between the images is calculated based on, for example, the feature amounts of the images. Next, the first specifying unit 604 specifies the correspondence between the images included in the first plurality of images and the images included in the second plurality of images based on the calculated similarity between the images. Then, the first specifying unit 604 aligns the orientations of the third 3D shape data and the fourth 3D shape data based on the specified correspondence.
[0107] More specifically, for example, the first specifying unit 604 calculates the similarity of the images by brute force between the third 3D shape data and the fourth 3D shape data using the first plurality of images (e.g., 24 images) and the second plurality of images (e.g., 24 images). Then, the first specifying unit 604 obtains information for specifying the orientation of the third 3D shape data and the fourth 3D shape data by specifying the top three image pairs (faces) with high calculated similarity.
[0108] Thereby, the first specifying unit 604 can align the orientations of the first 3D shape data and the second 3D shape data to specify the second part of the second 3D shape data corresponding to the first part of the first 3D shape data.
[0109] A specific example of the method 1 for aligning the orientations of the third 3D shape data and the fourth 3D shape data will be described later with reference to FIGS. 12 and 13.
[0110] Next, a method 2 for aligning the orientations of the third 3D shape data and the fourth 3D shape data based on the result of comparing the first plurality of images and the second plurality of images will be described.
[0111] The first specifying unit 604 selects a first reference image from the first plurality of images. Here, the reference image is an image that serves as a reference when comparing the first plurality of images and the second plurality of images in consideration of the arrangement pattern of each image (surface) in the six views. For example, it is the image with the most prominent features among the first plurality of images. An example of the selection of the reference image will be described later with reference to FIG. 14.
[0112] Next, the first specifying unit 604 specifies a second reference image from the second plurality of images based on the results of comparing the selected first reference image with each of the second plurality of images. Specifically, for example, the first specifying unit 604 specifies, as the second reference image, the image with the highest similarity to the first reference image from the second plurality of images.
[0113] Next, the first specifying unit 604 specifies, among the first plurality of images, a combination of images (referred to as "the first combination") captured from each of the directions different from the direction in which the first reference image was captured, for the third 3D shape data when the first reference image was captured. The first combination is, for example, a combination of images captured from each of the other directions adjacent to the direction in which the first reference image was captured.
[0114] As an example, assuming that the direction in which the first reference image was captured is the negative direction of the x-axis, the other directions adjacent to that direction are, at most, the four directions of the positive and negative directions of the y-axis and the positive and negative directions of the z-axis. More specifically, for example, the first combination is a combination of images corresponding to each of the four adjacent surfaces of the surface corresponding to the first reference image. However, the first combination may be an image of at least one of the four adjacent surfaces of the surface corresponding to the first reference image.
[0115] Further, the first specifying unit 604 specifies, among the second plurality of images, a combination of images (referred to as "second combination") captured from each of other directions different from the direction in which the second reference image was captured, of the fourth 3D shape data when the second reference image was captured. The second combination is, for example, a combination of images captured from each of other directions adjacent to the direction in which the second reference image was captured.
[0116] As an example, assuming that the direction in which the second reference image was captured is the negative direction of the x-axis, the other directions adjacent to that direction are, at most, the four directions of the positive and negative directions of the y-axis and the positive and negative directions of the z-axis. More specifically, for example, the second combination is a combination of images corresponding to each of the four adjacent faces of the face corresponding to the second reference image. However, the second combination may be an image of at least one of the four adjacent faces of the face corresponding to the second reference image.
[0117] Then, the first specifying unit 604 aligns the orientations of the third 3D shape data and the fourth 3D shape data based on the result of comparison between the specified first combination of images and the second combination of images. In this way, in Method 2, the first specifying unit 604, for example, after specifying the face (reference image) with the most prominent features, aligns the orientations of the third 3D shape data and the fourth 3D shape data using the four adjacent faces of that face.
[0118] Thereby, the first specifying unit 604 can align the orientations of the first 3D shape data and the second 3D shape data to specify the first part of the first 3D shape data and the corresponding second part of the second 3D shape data.
[0119] Note that a specific example of Method 2 for aligning the orientations of the third 3D shape data and the fourth 3D shape data will be described later with reference to FIGS. 14 and 15.
[0120] Next, a description will be given of Method 3 for aligning the orientations of the third 3D shape data and the fourth 3D shape data based on the result of comparison between the first plurality of images and the second plurality of images.
[0121] The first specifying unit 604 specifies, from the first plurality of images, the third 3D shape data, and specifies a combination of images (hereinafter referred to as "third combination") obtained by imaging the third 3D shape data from both directions of each of a plurality of axes. Further, the first specifying unit 604 specifies, for each fourth 3D shape data obtained by rotating each of the plurality of axes by a predetermined angle α around each of the plurality of axes from the second plurality of images, a combination of images (hereinafter referred to as "fourth combination") obtained by imaging the fourth 3D shape data from both directions of each of the plurality of axes.
[0122] Then, the first specifying unit 604 aligns the orientations of the third 3D shape data and the fourth 3D shape data based on the result of comparison between the specified images of the third combination and the images of the fourth combination. Specifically, for example, the first specifying unit 604 compares the surfaces of the third 3D shape data and the fourth 3D shape data simultaneously for six surfaces, and specifies a pattern with the highest overall evaluation.
[0123] Thereby, the first specifying unit 604 can align the orientations of the first 3D shape data and the second 3D shape data, and specify the first part of the first 3D shape data and the second part of the corresponding second 3D shape data.
[0124] Note that a specific example of the method 3 for aligning the orientations of the third 3D shape data and the fourth 3D shape data will be described later with reference to FIG. 17.
[0125] The second specifying unit 605 specifies the dimensional relationship between different parts of the 3D shape data within the group based on the dimensions of the parts of each 3D shape data within the classified group. Here, the part of the 3D shape data is a part of the design represented by the 3D shape data, and is, for example, a part representing a feature of the design such as a side or a hole. Further, the dimension of the part is, for example, the length of a side or the diameter of a hole.
[0126] Specifically, for example, the second specifying unit 605 extracts the dimensions of the first part from the first 3D shape data. Further, the second specifying unit 605 extracts the dimensions of the second part corresponding to the first part specified by the first specifying unit 604 from the second 3D shape data. The first 3D shape data and the second 3D shape data are 3D shape data classified into the same group. The first 3D shape data is, for example, the 3D shape data of a target. Also, the second 3D shape data is each 3D shape data different from the first 3D shape data within the group.
[0127] For example, the second specifying unit 605 can create a dimension table 900 as shown in FIG. 9B described later by associating the extracted dimensions of the first part with the extracted dimensions of the second part. In the dimension table 900, for example, the value "5" of the side l i1 of the 3D shape data DG1 corresponds to the dimension of the first part (site) in the first 3D shape data. Also, the value "10" of the side l i1 of the 3D shape data DG2 corresponds to the dimension of the second part (site) in the second 3D shape data.
[0128] The second specifying unit 605 specifies the dimensional relationship between different sites of the 3D shape data within the group based on the extracted dimensions of the first part and the extracted dimensions of the second part. More specifically, for example, the second specifying unit 605 refers to a dimension table 900 as shown in FIG. 9B described later, and for each site within each 3D shape data within the group, creates a vector with the dimensions of that site in each 3D shape data as elements.
[0129] Then, the second specifying unit 605 uses any one of the plurality of sites within each 3D shape data as the target variable and the other sites as the explanatory variables, and creates a relational expression showing the dimensional relationship between different sites based on the vectors created for each site. The dimensional relationship between different sites can be constructed by methods such as linear regression analysis, non-linear regression analysis, and machine learning using neural networks.
[0130] Further, the second specifying unit 605 may use, as the target variable, a part within a plurality of parts in each 3D shape data where the variance of the elements of the created vector is relatively high. Thereby, a part where the dimensions do not change among the 3D shape data within the group can be excluded from the target variable, and a relational expression can be constructed. Note that, the correlation coefficient between variables may be obtained, and variables with relatively low correlation may be excluded.
[0131] Further, the second specifying unit 605 may use, as the explanatory variable, a part within a plurality of parts in each 3D shape data where the contribution rate to the target variable is relatively high. The contribution rate (coefficient of determination) is a value indicating how much the explanatory variable can explain the target variable. More specifically, for example, when constructing a relational expression, the second specifying unit 605 selects, by the stepwise method, variables with a high contribution rate to the target variable as the explanatory variables.
[0132] Here, with reference to FIGS. 9A and 9B, an example of constructing a relational expression showing the dimensional relationship between different parts in 3D shape data will be described.
[0133] FIG. 9A is an explanatory diagram showing an example of 3D shape data. FIG. 9B is an explanatory diagram showing an example of constructing a relational expression showing the dimensional relationship between parts. Here, the 3D shape data classified into the same group Ga based on the unit 3D shape data is referred to as "3D shape data DG1 to DGM". M is the total number of 3D shape data within the group Ga.
[0134] In FIG. 9A, the 3D shape data DGi is any one of the 3D shape data DG1 to DGM (i = 1, 2,..., M). Li1 to li18 within the 3D shape data DGi indicate the sides (parts) within the 3D shape data DGi.
[0135] First, for the unit 3D shape data of each of the 3D shape data DG1 to DGM classified into group Ga, the second specifying unit 605 aligns the directions by making the directions of the x-axis, y-axis, and z-axis coincide. Next, based on the unit 3D shape data with aligned directions, the second specifying unit 605 aligns the directions of each of the 3D shape data DG1 to DGM within group Ga and takes the consistency of vertices and dimensions that become the same part, thereby creating a dimension table 900 for each part (here, sides) as shown in FIG. 9B.
[0136] In FIG. 9B, the dimension table 900 shows the dimensions of each side l i1 ~l iN in each of the 3D shape data DG1 to DGM. However, l ij indicates the j-th side of the 3D shape data DGi. N indicates the number of sides of the 3D shape data DGi. In the example of the 3D shape data DGi shown in FIG. 9A, "N = 18".
[0137] Next, the second specifying unit 605 refers to the created dimension table 900 and analyzes the dimensional relationship between each side by regression analysis or the like, thereby deriving a relational expression indicating the dimensional relationship between each side. For example, for each side in the 3D shape data DGi, the second specifying unit 605 creates a column vector v (for example, v1, v2,...) having the dimensions in each of the 3D shape data DG1 to DGM of the respective sides as elements.
[0138] Then, the second specifying unit 605 obtains a relational expression indicating the dimensional relationship between each side using the variables v [v1, v2,...]. For example, the second specifying unit 605 divides the variable v into an objective variable y and explanatory variables x and constructs a regression model. For example, when constructing a regression model with vN as the objective variable y and the remaining variables as explanatory variables xk, it is expressed as the following formula (7). However, β0, β1, β2,... are regression coefficients.
[0139]
Equation
[0140] In the case of the 3D shape data DGi shown in FIG. 9A, the relational expressions (regression models) of the following expressions (8) to (12) are obtained. Here, since the upper surface and the lower surface have the same shape, the relationships of v7 to v12 are omitted.
[0141] [Number]
[0142] As a result, a parametric model (the above expressions (8) to (12)) of the shapes (3D shape data DG1 to DGM) classified by the unit 3D shape data DGi'' of the 3D shape data DGi can be generated.
[0143] Returning to the description of FIG. 6, the output unit 608 outputs information indicating the dimensional relationship between the specified parts in association with the unit shape data of the shape data within the classified group. As the output format of the output unit 608, for example, storage in a storage device such as the memory 302 or the disk 304, transmission to another computer (for example, the client device 202 shown in FIG. 2) via the communication I / F 305, display on a display (not shown), etc. are available.
[0144] Specifically, for example, the output unit 608 may store information indicating the dimensional relationship between the specified parts in the storage unit 610 in association with the unit 3D shape data of the 3D shape data within the group. The information indicating the dimensional relationship between the parts is, for example, a relational expression such as the above expressions (8) to (12).
[0145] More specifically, for example, the output unit 608 may store, in the standard shape DB230 shown in FIG. 5, in association with the unit 3D shape data of the 3D shape data within the group as the standard shape data, a relational expression indicating the dimensional relationship between the parts of the 3D shape data within the specified group. At this time, the output unit 608 may also store, in accordance with the standard shape DB230, information capable of specifying the 3D shape data classified into the same group based on the standard shape data (unit 3D shape data), for example, a list of similar shapes.
[0146] As a result, together with the unit 3D shape data, a parametric model (relationship formula) of the 3D shape classified by the unit 3D shape data can be accumulated as knowledge.
[0147] In addition, the creation unit 602 normalizes the specified target 3D shape data for each component in each coordinate axis direction to create the target unit 3D shape data.
[0148] The search unit 606 refers to the storage unit 610 to search for the first unit 3D shape data similar to the created target unit 3D shape data. Specifically, for example, the search unit 606 refers to the standard shape DB 230 to calculate the similarity between the target unit 3D shape data and the standard shape data. Then, the search unit 606 searches for the standard shape data whose calculated similarity is equal to or greater than the threshold value.
[0149] The output unit 608 outputs the searched first unit 3D shape data and information indicating the dimensional relationship between different parts stored in the storage unit 610 in association with the first unit 3D shape data. Specifically, for example, the output unit 608 outputs the searched standard shape data and the relationship formula stored in the standard shape DB 230 in association with the standard shape data.
[0150] The output destination of the standard shape data and the relationship formula is, for example, the client device 202. As a result, when performing a new design, the designer can design the object according to the relationship formula (parametric relationship) based on the standard shape data.
[0151] In addition, the reception unit 601 receives the specification of the design requirements regarding the object. Here, the design requirements regarding the object indicate the conditions to be satisfied when designing the object, and for example, indicate the dimensions of a specific part.
[0152] Based on the retrieved first unit 3D shape data and the specified design requirements, the generation unit 607 generates design data for the object according to the information indicating the dimensional relationship between different parts stored in the storage unit 610 in association with the first unit 3D shape data. In this case, the output unit 608 outputs the generated design data for the object.
[0153] Specifically, for example, the generation unit 607 generates design data for the object according to the relational expressions stored in the standard shape DB 230 in association with the retrieved standard shape data and based on the specified design requirements.
[0154] Thereby, for example, when the designer specifies the dimension of a specific side of the standard shape data, according to the relational expressions, the dimensions of other sides having a dimensional relationship with that side are automatically changed, and the design data for the object can be automatically generated. In addition, when design requirements contrary to the relational expressions are specified, for example, it becomes an error as a requirement violation.
[0155] Also, the storage unit 610 may store the 3D shape data within the group in association with the unit 3D shape data of the 3D shape data within the group. In this case, the output unit 608 may output the 3D shape data within the group stored in the storage unit 610 in association with the retrieved first unit shape data.
[0156] Specifically, for example, first, the output unit 608 identifies the similar shape list stored in the standard shape DB 230 in association with the retrieved standard shape data. Next, the output unit 608 extracts the 3D shape data with the id included in the identified similar shape list from the 3D shape DB 220. Then, the output unit 608 outputs the extracted 3D shape data.
[0157] Thereby, when performing a new design, the designer can, for example, utilize the 3D shape data designed in the past and classified into the same group as the target based on the unit 3D shape data to design the object.
[0158] Further, the output unit 608 may output the 3D shape data within the group stored in the storage unit 610 in association with the retrieved first unit shape data and the information indicating the dimensional relationship between different parts. Specifically, for example, first, the output unit 608 identifies the similar shape list stored in the standard shape DB 230 in association with the retrieved standard shape data.
[0159] Next, the output unit 608 extracts the 3D shape data of the id included in the identified similar shape list from the 3D shape DB 220. Then, the output unit 608 outputs the extracted 3D shape data and the relational expression stored in the standard shape DB 230 in association with the retrieved standard shape data.
[0160] Thereby, when performing a new design, the designer can design the object according to the relational expression (parametric relationship) based on the 3D shape data designed in the past. Also, for example, when the designer specifies the dimension of a certain side of the 3D shape data designed in the past, the dimensions of the other sides having a dimensional relationship with that side are automatically changed according to the relational expression, and the design data regarding the object can be automatically generated.
[0161] In the above description, it is assumed that the standard shape DB 230 stores the unit 3D shape data for each 3D shape data classified into the same group, but it is not limited to this. For example, in the standard shape DB 230, only the unit 3D shape data of any one of the 3D shape data classified into the same group may be registered as the standard shape data.
[0162] Here, with reference to FIG. 10, the storage content of the standard shape DB 230 in the case where only the unit 3D shape data of any one of the 3D shape data classified into the same group is registered as the standard shape data will be described.
[0163] FIG. 10 is an explanatory diagram (part 2) showing an example of the stored content of the standard shape DB230. In FIG. 10, the standard shape DB230 has fields for sid, standard shape data, relational expressions, and a similar shape list, and by setting information in each field, standard shape management information (for example, standard shape management information 1000-1, 1000-2) is stored as records.
[0164] Here, sid is an identifier that uniquely identifies the standard shape data. The standard shape data is unit 3D shape data registered as standard shape data. The standard shape data is unit 3D shape data of any 3D shape data classified into the same group based on the unit 3D shape data.
[0165] The relational expression is a mathematical formula showing the dimensional relationship between different parts within the 3D shape data that is the source of the standard shape data (unit 3D shape data). The similar shape list is a list of the ids of the 3D shape data classified into the same group based on the standard shape data (unit 3D shape data).
[0166] For example, the standard shape management information 1000-1 shows the standard shape data SD1 with sid "1", the relational expressions {Re11, Re12,...}, and the similar shape list {1, 7, 18, 21, 33}. In this way, by registering only the unit 3D shape data of any 3D shape data classified into the same group as the standard shape data, the storage amount of the standard shape DB230 can be reduced compared to the case shown in FIG. 5.
[0167] (Example of generating the first plurality of images and the second plurality of images) Next, with reference to FIG. 11, an example of generating the first plurality of images and the second plurality of images will be described. Here, an example of generating the first plurality of images will be described using the third 3D shape data (unit 3D shape data) as an example. Also, a predetermined angle α is set to "α = 90 [degrees]".
[0168] FIG. 11 is an explanatory diagram showing an example of generating a first plurality of images. In FIG. 11, the unit 3D shape data A is an example of third 3D shape data (unit 3D shape data). The first specific part 604 generates images captured from each direction by rotating the unit 3D shape data A by 90 degrees around each axis for each of the six directions (1) to (6) in both directions (positive and negative) of the x-axis, y-axis, and z-axis.
[0169] As a result, 2D images (4 images) rotated by 90 degrees per face are generated, and a total of 24 2D images (4 images × 6 faces), that is, the first plurality of images 1100 are generated. Direction (1) corresponds to the positive direction of the x-axis. Direction (2) corresponds to the negative direction of the x-axis. Direction (3) corresponds to the negative direction of the z-axis. Direction (4) corresponds to the positive direction of the y-axis. Direction (5) corresponds to the positive direction of the z-axis. Direction (6) corresponds to the negative direction of the y-axis.
[0170] For example, image (1)-(i) shows an image of the unit 3D shape data A in the initial state captured from direction (1). Also, image (1)-(ii) shows an image of the unit 3D shape data A captured from direction (1) after rotating the unit 3D shape data A by 90 degrees around the x-axis. Also, image (1)-(iii) shows an image of the unit 3D shape data A captured from direction (1) after further rotating the unit 3D shape data A by 90 degrees around the x-axis. Also, image (1)-(iv) shows an image of the unit 3D shape data A captured from direction (1) after further rotating the unit 3D shape data A by 90 degrees around the x-axis.
[0171] Here, the generation example of the first plurality of images has been described by taking the third 3D shape data (unit 3D shape data) as an example. However, for the fourth 3D shape data (unit 3D shape data), similarly, a second plurality of images as shown in FIG. 12 described later are generated.
[0172] (Specific example of method 1 for aligning the orientations of unit 3D shape data) Next, with reference to FIGS. 12 and 13, a specific example of Method 1 for aligning the orientations of the third 3D shape data and the fourth 3D shape data based on the comparison result between the first plurality of images and the second plurality of images will be described. First, a specific example of the second plurality of images will be described. The first plurality of images are the first plurality of images 1100 shown in FIG. 11. In the following description, an example of the fourth 3D shape data (unit 3D shape data) may be denoted as "unit 3D shape data B".
[0173] FIG. 12 is an explanatory diagram showing a specific example of the second plurality of images. In FIG. 12, the second plurality of images 1200 include images taken from each direction by rotating the unit 3D shape data B by 90 degrees around each axis for each of the six directions (1) to (6) in both directions (positive and negative) of the x-axis, y-axis, and z-axis.
[0174] FIG. 13 is an explanatory diagram showing a first processing example for aligning the orientations of the unit 3D shape data. In FIG. 13, the first specific part 604 calculates the similarity between each of the first plurality of images 1100 and each of the second plurality of images 1200. Specifically, for example, the first specific part 604 calculates the similarity of feature amounts between image A(1)-(i) and each of images B(1)-(i), B(1)-(ii), …, B(2)-(i), B(2)-(ii), …, B(6)-(iii), B(6)-(iv).
[0175] Note that image A(1)-(i) shows an image of the initial-state unit 3D shape data A taken from direction (1), for example. Image B(1)-(i) shows an image of the initial-state unit 3D shape data B taken from direction (1), for example.
[0176] Also, the first specific part 604 calculates the similarity of feature amounts between image A(1)-(ii) and each of images B(1)-(i), B(1)-(ii), …, B(2)-(i), B(2)-(ii), …, B(6)-(iii), B(6)-(iv).
[0177] In addition, for Image A(1)-(iii), the first specifying unit 604 calculates the similarity of feature amounts between each of Images B(1)-(i), B(1)-(ii), …, B(2)-(i), B(2)-(ii), …, B(6)-(iii), B(6)-(iv).
[0178] In addition, for Image A(1)-(iv), the first specifying unit 604 calculates the similarity of feature amounts between each of Images B(1)-(i), B(1)-(ii), …, B(2)-(i), B(2)-(ii), …, B(6)-(iii), B(6)-(iv).
[0179] Thereby, for Image A(1)-(i) included in the first plurality of images 1100, the similarity with each image included in the second plurality of images 1200 can be calculated. Similarly, the first specifying unit 604 also calculates the similarity with each image included in the second plurality of images 1200 for other images included in the first plurality of images 1100.
[0180] Next, the first specifying unit 604 specifies the image pair (plane) with the highest similarity based on the calculated similarity between each image. Here, assume a case where Image Pair 1 of Image A(2)-(iv) and Image B(3)-(i) is specified as the image pair with the highest similarity. In this case, the first specifying unit 604 determines that the plane in Direction (2) of the unit 3D shape data A when rotated 270 degrees from the initial state around the x-axis and the plane in Direction (3) of the unit 3D shape data B in the initial state match.
[0181] Next, the first specifying unit 604 specifies the image pair (plane) with the second highest similarity based on the calculated similarity between each image. However, exclude the image of the unit 3D shape data A taken from Direction (2) and the image of the unit 3D shape data B taken from Direction (3). Here, assume a case where Image Pair 2 of Image A(1)-(iii) and Image B(4)-(ii) is specified as the image pair with the second highest similarity.
[0182] In this case, the first specifying unit 604 determines that, from the specified image pair 2, the surface in the direction (1) of the unit 3D shape data A when rotated 180 degrees from the initial state around the x-axis coincides with the surface in the direction (4) of the unit 3D shape data B when rotated 90 degrees from the initial state around the y-axis.
[0183] Next, the first specifying unit 604 specifies the image pair (surface) with the third highest similarity based on the calculated similarity between each pair of images. However, the images of the unit 3D shape data A captured from the directions (1) and (2), and the images of the unit 3D shape data B captured from the directions (3) and (4) are excluded. Here, assume that the image pair 3 of image A(5)-(i) and image B(6)-(i) is specified as the image pair with the third highest similarity.
[0184] In this case, the first specifying unit 604 determines that, from the specified image pair 3, the surface in the direction (5) of the unit 3D shape data A in the initial state coincides with the surface in the direction (6) of the unit 3D shape data B in the initial state.
[0185] Then, the first specifying unit 604 aligns the orientations of the unit 3D shape data A and the unit 3D shape data B based on the specified image pairs 1 to 3. Specifically, for example, the first specifying unit 604 aligns the orientation of the surface in the direction (2) of the unit 3D shape data A with the orientation of the surface in the direction (3) of the unit 3D shape data B. Also, the first specifying unit 604 aligns the orientation of the surface in the direction (1) of the unit 3D shape data A with the orientation of the surface in the direction (4) of the unit 3D shape data B. Further, the first specifying unit 604 aligns the orientation of the surface in the direction (5) of the unit 3D shape data A with the orientation of the surface in the direction (6) of the unit 3D shape data B.
[0186] Thereby, the orientations of the unit 3D shape data A and the unit 3D shape data B can be aligned. As a result, it becomes possible to align the orientations of the first 3D shape data which is the source of the unit 3D shape data A and the second 3D shape data which is the source of the unit 3D shape data B.
[0187] (Specific example of the method 2 for aligning the orientations of unit 3D shape data) Next, a specific example of Method 2 for aligning the orientations of the third 3D shape data and the fourth 3D shape data will be described with reference to FIGS. 14 and 15. Here, the third 3D shape data is referred to as "unit 3D shape data A", and the first plurality of images are referred to as "the first plurality of images 1100". Also, the fourth 3D shape data is referred to as "unit 3D shape data B", and the second plurality of images are referred to as "the second plurality of images 1200".
[0188] In Method 1, since the three surfaces are selected independently, when there are surfaces with similar features, if the orientations of unit 3D shape data A and unit 3D shape data B are aligned from the specified three surfaces, it may not be possible to correctly align the orientations. In Method 2, after identifying the characteristic surfaces from each of the unit 3D shape data A and B, the orientations of unit 3D shape data A and unit 3D shape data B are aligned by the four adjacent surfaces of that surface.
[0189] FIGS. 14 and 15 are explanatory diagrams showing a second processing example of aligning the orientations of the unit 3D shape data. In FIG. 14, the first plurality of images 1100 and the second plurality of images 1200 are shown. The first plurality of images 1100 include images taken from each direction by rotating the unit 3D shape data A by 90 degrees around each of the x-axis, y-axis, and z-axis in both directions (positive and negative directions) of each axis for each of the directions (1) to (6). The second plurality of images 1200 include images taken from each direction by rotating the unit 3D shape data B by 90 degrees around each of the x-axis, y-axis, and z-axis in both directions of each axis for each of the directions (1) to (6).
[0190] First, the first specifying unit 604 selects a first reference image from the first plurality of images 1100. Specifically, for example, the first specifying unit 604 represents the feature amount F of the unit 3D shape data A using the following formula (13). However, the number of columns corresponds to the number n of feature amounts per surface. The number of rows corresponds to the number of images (4×6 surfaces) included in the first plurality of images 1100.
[0191]
Equation
[0192] In the above formula (13), for example, a (1)(i)#1 represents the value of the feature amount a1 in the image A(1)-(i). Also, a (1)(i)#n represents the value of the feature amount an in the image A(1)-(i). Also, a (6)(iv)#1 represents the value of the feature amount a1 in the image A(6)-(iv). Also, a (6)(iv)#n represents the value of the feature amount an in the image A(6)-(iv).
[0193] Next, the first specifying unit 604 calculates the average feature amount (center of gravity) of the unit 3D shape data A (the third 3D shape data) using the following formula (14).
[0194] F ave = averageF = [a ave#1 , …, a ave#n … (14)
[0195] In the above formula (14), for example, a ave#1 is the average value of the feature amount a1, and represents the average value of a (1)(i) _1 to a (6)(iv) _1 in the feature amount F of the unit 3D shape data A. Also, a ave#n is the average value of the feature amount an, and represents the average value of a (1)(i) _n to a (6)(iv) _n in the feature amount F of the unit 3D shape data A.
[0196] Next, the first specifying unit 604 calculates the distance d hk between the feature amount of each surface (image) in the feature amount F and averageF using the following formula (15). However, h is "h = 1, 2, …, 6". k is (i), (ii), (iii), (iv).
[0197] d hk = ∥([a h(k)#1 , …, a h(k)#n - [a ave#1 , …, a ave#n ) ∥ … (15)
[0198] In the above formula (15), [a h(k)#1 , …, a h(k)#n represents the feature amount of the k-th rotated image of plane h. Also, [a ave#1 , …, a ave#n represents the average feature amount (center of gravity) of the unit 3D shape data A (the third 3D shape data).
[0199] Then, the first specifying unit 604 selects, as the first reference image, the image with the largest feature among the first plurality of images 1100 using the following formula (16).
[0200] max([d 1(i) , d 1(ii) , …, d 6(iv) ) … (16)
[0201] Here, it is assumed that image A(2)-(iv) among the first plurality of images 1100 is selected as the first reference image [1].
[0202] Next, the first specifying unit 604 specifies the second reference image from the second plurality of images 1200 based on the comparison results between the selected first reference image [1] and each of the second plurality of images 1200. Specifically, for example, the first specifying unit 604 specifies, as the second reference image, the image with the highest similarity to the first reference image [1] from the second plurality of images 1200. Here, it is assumed that image B(3)-(i) among the second plurality of images 1200 is specified as the second reference image [2].
[0203] Next, the first specifying unit 604 specifies a first combination of images captured from each of the other directions adjacent to the direction in which the unit 3D shape data A when the first reference image [1] was captured among the first plurality of images 1100. The first combination is a combination of images corresponding to each of the four adjacent planes of the plane corresponding to the first reference image [1].
[0204] Here, it is assumed that a combination of images a, b, c, and d corresponding to each of the four adjacent faces of the face corresponding to the first reference image [1] among the first plurality of images 1100 is specified as the first combination.
[0205] Further, the first specifying unit 604 specifies a second combination of images taken from each of the other directions adjacent to the direction in which the second reference image [2] is taken, for the unit 3D shape data B when the second reference image [2] is taken, among the second plurality of images 1200. The second combination is a combination of images corresponding to each of the four adjacent faces of the face corresponding to the second reference image [2].
[0206] Here, it is assumed that a combination of images a', b', c', and d' corresponding to each of the four adjacent faces of the face corresponding to the second reference image [2] among the second plurality of images 1200 is specified as the second combination.
[0207] In FIG. 15, the first specifying unit 604 aligns the orientations of the unit 3D shape data A and the unit 3D shape data B based on the result of comparison between the specified images of the first combination and the images of the second combination. Specifically, for example, the first specifying unit 604 determines corresponding four faces between the unit 3D shape data A and the unit 3D shape data B based on the result of comparison between the images of the first combination and the images of the second combination.
[0208] More specifically, for example, the first specifying unit 604 fixes the arrangement pattern of the four adjacent faces of the first reference image [1]. In the example of FIG. 15, it is assumed that the arrangement pattern P1 of the images a, b, c, and d corresponding to the four adjacent faces of the first reference image [1] is fixed to "a, b, c, d".
[0209] Next, the first specifying unit 604 specifies arrangement pattern candidates for the four adjacent faces of the second reference image [2]. In the example of FIG. 15, as arrangement pattern candidates P1' to P4' of the images a', b', c', d' corresponding to the four adjacent faces of the second reference image [2], "a', b', c', d'", "b', c', d', a'", "c', d', a', b'" and "d', a', b', c'" are specified.
[0210] Then, the first specifying unit 604 compares the arrangement pattern P1 of the four adjacent faces of the first reference image [1] with each of the arrangement pattern candidates P1' to P4' of the four adjacent faces of the second reference image [2], and specifies the arrangement pattern candidate having the highest similarity to the arrangement pattern P1. Here, assume that the arrangement pattern candidate P3' is specified as the arrangement pattern candidate having the highest similarity to the arrangement pattern P1.
[0211] In this case, the first specifying unit 604 aligns the orientations of the unit 3D shape data A and the unit 3D shape data B by adjusting the orientation of the unit 3D shape data B, for example, so that the corresponding faces between the arrangement pattern P1 and the arrangement pattern candidate P3' have the same orientation. Here, the images a, b, c, d (four faces) of the unit 3D shape data A respectively correspond to the images c', d', a', b' (four faces) of the unit 3D shape data B.
[0212] Here, as methods for determining the four corresponding faces between the unit 3D shape data A and the unit 3D shape data B, for example, there are the following determination methods 1 and 2.
[0213] First, determination method 1 will be described.
[0214] The first specifying unit 604 calculates the similarity between the image a of the unit 3D shape data A and each of the images a', b', c', d' of the unit 3D shape data B. However, there are four types of (i) to (iv) where each of the images a', b', c', d' is rotated by 90 degrees. Then, the first specifying unit 604 specifies the image with the highest calculated similarity as the image corresponding to the image a. Here, assume that the image c'-(i) is specified as the image corresponding to the image a.
[0215] Next, the first specifying unit 604 calculates the similarity between the image b of the unit 3D shape data A and each of the images a', b', d' of the unit 3D shape data B. However, there are four types of (i) to (iv) where each of the images a', b', d' is rotated by 90 degrees. Then, the first specifying unit 604 specifies the image with the highest calculated similarity as the image corresponding to the image b. Here, assume that the image d'-(i) is specified as the image corresponding to the image b.
[0216] Next, the first specifying unit 604 calculates the similarity between the image c of the unit 3D shape data A and each of the images a', b' of the unit 3D shape data B. However, there are four types of (i) to (iv) where each of the images a', b' is rotated by 90 degrees. Then, the first specifying unit 604 specifies the image with the highest calculated similarity as the image corresponding to the image c. Here, assume that the image a'-(i) is specified as the image corresponding to the image c.
[0217] Next, the first specifying unit 604 calculates the similarity between the image d of the unit 3D shape data A and each of the images b' of the unit 3D shape data B. However, there are four types of (i) to (iv) where each of the images b' is rotated by 90 degrees. Then, the first specifying unit 604 specifies the image with the highest calculated similarity as the image corresponding to the image d. Here, assume that the image b'-(i) is specified as the image corresponding to the image d.
[0218] In this case, the first specifying unit 604 determines that the images a, b, c, d of the unit 3D shape data A respectively correspond to the images c’-(i), d’-(i), a’-(i), b’-(i) of the unit 3D shape data B. Then, the first specifying unit 604 determines that the surfaces corresponding to the respective images a, b, c, d of the unit 3D shape data A respectively correspond to the surfaces corresponding to the respective images c’, d’, a’, b’ of the unit 3D shape data B.
[0219] In this way, in determination method 1, the first specifying unit 604 calculates the similarity of the images by pairwise comparison of the four adjacent surfaces of the reference surface (first reference image) of the unit 3D shape data A and the reference surface (second reference image) of the unit 3D shape data B based on the feature amounts of the respective images of each unit 3D shape data A, B. Then, the first specifying unit 604 sequentially specifies the surfaces with the highest similarity and determines the corresponding four surfaces of the unit 3D shape data A and the unit 3D shape data B.
[0220] Next, determination method 2 will be described.
[0221] In determination method 2, the first specifying unit 604 expresses the arrangement pattern of the four adjacent surfaces of the reference surface of each unit 3D shape data A, B using a feature vector of the image based on the feature amounts of the respective images of each unit 3D shape data A, B. Then, the first specifying unit 604 compares the feature amount vectors representing the arrangement patterns between the unit 3D shape data A and B, specifies the arrangement pattern with the closest distance, and determines the corresponding four surfaces of the unit 3D shape data A and the unit 3D shape data B.
[0222] Specifically, for example, the first specifying unit 604 calculates a feature vector Vec_A representing the arrangement pattern P1 of the four adjacent surfaces of the first reference image [1] based on the feature amounts of the respective images of the unit 3D shape data A. The feature vector Vec_A is represented, for example, by "Vec_A = (feature amount of image a, feature amount of image b, feature amount of image c, feature amount of image d)".
[0223] Next, the first specifying unit 604 calculates feature vectors Vec_B1 to Vec_B4 representing candidate arrangement patterns P1' to P4' of the four adjacent faces of the second reference image [2] based on the feature amounts of each image of the unit 3D shape data B. The feature vector Vec_B1 is represented, for example, by "Vec_B1 = (feature amount of image a', feature amount of image b', feature amount of image c', feature amount of image d')".
[0224] The feature vector Vec_B2 is represented, for example, by "Vec_B2 = (feature amount of image b', feature amount of image c', feature amount of image d', feature amount of image a')". The feature vector Vec_B3 is represented, for example, by "Vec_B3 = (feature amount of image c', feature amount of image d', feature amount of image a', feature amount of image b')". The feature vector Vec_B4 is represented, for example, by "Vec_B4 = (feature amount of image d', feature amount of image a', feature amount of image b', feature amount of image c')".
[0225] Then, the first specifying unit 604 calculates the distances between the feature vector Vec_A and each of the feature vectors Vec_B1 to B4. The distance between feature vectors corresponds to the similarity between the four adjacent faces. Next, the first specifying unit 604 selects, from among the feature vectors Vec_B1 to B4, the feature vector Vec_B min with the closest calculated distance. Then, the first specifying unit 604 min determines the corresponding four faces of the unit 3D shape data A and the unit 3D shape data B based on the specified feature vector Vec_B.
[0226] As an example, the feature vector Vec_B min is set as the "feature vector Vec_B1". In this case, the first specifying unit 604 determines that the faces corresponding to each of the images a, b, c, d of the unit 3D shape data A and the faces corresponding to each of the images a', b', c', d' of the unit 3D shape data B respectively correspond to each other.
[0227] In this way, the first specifying unit 604 can align the orientations of the unit 3D shape data A and the unit 3D shape data B by specifying the correspondence between the reference plane and the adjacent four planes among the unit 3D shape data A and B.
[0228] Further, the first specifying unit 604 may determine whether the similarity between the corresponding four planes between the unit 3D shape data A and B is equal to or greater than a threshold value. The threshold value can be arbitrarily set. Here, when the similarity between the four planes is equal to or greater than the threshold value, the first specifying unit 604 may align the orientations of the unit 3D shape data A and the unit 3D shape data B based on the correspondence between the reference plane and the adjacent four planes between the unit 3D shape data A and B.
[0229] On the other hand, when the similarity between the four planes is less than the threshold value, the first specifying unit 604 may reselect the first reference image from the first plurality of images 1100. In this case, the first specifying unit 604, for example, reselects the first reference image and repeats the same process until the similarity between the corresponding four planes between the unit 3D shape data A and B becomes equal to or greater than the threshold value.
[0230] Also, even if all the images included in the first plurality of images 1100 are selected as the first reference image, the similarity between the corresponding four planes between the unit 3D shape data A and B may not become equal to or greater than the threshold value. In this case, the first specifying unit 604 may perform the same process by treating two adjacent planes (including the first reference image) among the six views as one block.
[0231] Here, with reference to FIG. 16, a case will be described where two adjacent planes among the six views are treated as one block (reference plane) to specify the corresponding planes between the unit 3D shape data A and B.
[0232] FIG. 16 is an explanatory diagram showing an example of processing when two adjacent planes are treated as one block. In FIG. 16, the developed view 1601 shows a certain six views (faces 1 to 6) of the unit 3D shape data A. The developed view 1602 shows a certain six views (faces 1' to 6') of the unit 3D shape data B.
[0233] Here, among the six views (faces 1 to 6) of the unit 3D shape data A, adjacent faces 1 and 2 (the upper face and the right side face) are taken as a single block. In this case, the first specifying unit 604 specifies, from the six views (faces 1' to 6') of the unit 3D shape data B, the two adjacent faces that are most similar to the two adjacent faces (reference two faces 1 and 2) of the unit 3D shape data A.
[0234] Here, it is assumed that, as the two adjacent faces of the unit 3D shape data B that are most similar to the reference two faces 1 and 2 of the unit 3D shape data A, faces 1' and 3' (the upper face and the back face) of the unit 3D shape data B are specified as the reference two faces of the unit 3D shape data B. In this case, the first specifying unit 604 specifies the face 3 adjacent to the reference two faces 1 and 2 of the unit 3D shape data A. Next, the first specifying unit 604 specifies, as the face corresponding to face 3, the face among faces 2' and 5' adjacent to the reference two faces 1' and 3' of the unit 3D shape data B that has a high similarity to face 3.
[0235] Here, it is assumed that face 5' is specified as the face corresponding to face 3. Then, the first specifying unit 604 calculates the similarity between the three faces 1, 2, and 3 of the unit 3D shape data A and the three faces 1', 3', and 5' of the unit 3D shape data B. Here, when the similarity is equal to or greater than the threshold value, the first specifying unit 604 aligns the orientations of the unit 3D shape data A and the unit 3D shape data B based on the correspondence between the three faces 1, 2, and 3 of the unit 3D shape data A and the three faces 1', 3', and 5' of the unit 3D shape data B.
[0236] On the other hand, when the similarity is less than the threshold value, the first specifying unit 604 switches the face adjacent to the reference two faces 1 and 2 of the unit 3D shape data A to face 4, and specifies, from the faces 2' and 5' adjacent to the reference two faces 1' and 3' of the unit 3D shape data B, the face corresponding to face 4. Then, the first specifying unit 604 similarly calculates the similarity among the three faces and compares it with the threshold value.
[0237] Also, when the similarity among any three faces does not become equal to or greater than the threshold value, the first specifying unit 604 may switch two adjacent faces (the two faces including the first reference image) among the six views (faces 1 to 6) of the unit 3D shape data A and perform the same processing.
[0238] Furthermore, for any two adjacent faces among the six views (faces 1 to 6) of the unit 3D shape data A, the similarity between the three faces of the unit 3D shape data A and the unit 3D shape data B may not be equal to or greater than the threshold value. In this case, the first specifying unit 604 may specify corresponding faces between the unit 3D shape data A and B by using three (or four) adjacent faces among the six views as one block (reference plane).
[0239] (Specific example of method 3 for aligning the orientations of unit 3D shape data) Next, a specific example of method 3 for aligning the orientations of the third 3D shape data and the fourth 3D shape data will be described with reference to FIG. 17. Here, the third 3D shape data is referred to as "unit 3D shape data A", and the first plurality of images are referred to as "first plurality of images 1100". Also, the fourth 3D shape data is referred to as "unit 3D shape data B", and the second plurality of images are referred to as "second plurality of images 1200".
[0240] FIG. 17 is an explanatory diagram showing a third processing example for aligning the orientations of unit 3D shape data. In FIG. 17, first, the first specifying unit 604 fixes the unit 3D shape data A from the first plurality of images 1100 (see FIG. 11), and specifies a third combination 1700 of images obtained by imaging the unit 3D shape data A from each of the directions (1) to (6). The third combination 1700 shows the arrangement pattern of the images corresponding to each face of the six views of the unit 3D shape data A.
[0241] Next, the first specifying unit 604 specifies fourth combinations 1701 to 1724 of images obtained by imaging the unit 3D shape data B from each of the directions (1) to (6) for each unit 3D shape data B rotated by 90 degrees about each of the x-axis, y-axis, and z-axis from the second plurality of images 1200. Each of the fourth combinations 1701 to 1724 shows the arrangement pattern of the images corresponding to each face of the six views of the unit 3D shape data B for each unit 3D shape data B rotated by 90 degrees about each of the x-axis, y-axis, and z-axis.
[0242] Then, based on the result of comparing the image of the third combination 1700 identified with the images of each of the fourth combinations 1701 to 1724, the first specifying unit 604 aligns the orientations of the unit 3D shape data A and the unit 3D shape data B.
[0243] Specifically, for example, the first specifying unit 604 compares the image of the third combination 1700 with the images of each of the fourth combinations 1701 to 1724, and calculates the similarity between the surfaces (images) at the same position in the six views. Next, the first specifying unit 604 calculates the similarity (cumulative similarity) between the image of the third combination 1700 and the images of each of the fourth combinations 1701 to 1724 by accumulating the calculated similarities between the surfaces (six surfaces).
[0244] As an example, assume a case of comparing the image of the third combination 1700 with the image of the fourth combination 1701. In this case, the first specifying unit 604 calculates the similarity 1 between the image a and the image a' at the same position in the six views. Also, the first specifying unit 604 calculates the similarity 2 between the image b and the image b' at the same position in the six views. Also, the first specifying unit 604 calculates the similarity 3 between the image c and the image c' at the same position in the six views.
[0245] Also, the first specifying unit 604 calculates the similarity 4 between the image d and the image d' at the same position in the six views. Also, the first specifying unit 604 calculates the similarity 5 between the image e and the image e' at the same position in the six views. Also, the first specifying unit 604 calculates the similarity 6 between the image f and the image f' at the same position in the six views.
[0246] Then, the first specifying unit 604 calculates the cumulative similarity 1 between the image of the third combination 1700 and the image of the fourth combination 1701 by accumulating the calculated similarities 1 to 6. Similarly, the first specifying unit 604 calculates the cumulative similarities 2 to 24 between the image of the third combination 1700 and the images of each of the fourth combinations 1702 to 1724.
[0247] Next, the first specifying unit 604 specifies the fourth combination among the fourth combinations 1701 to 1724 that has the maximum calculated cumulative similarity. For example, assume that the fourth combination 1701 is specified. In this case, based on the correspondence relationship between the third combination 1700 and the fourth combination 1701, the first specifying unit 604 determines that the images a, b, c, and d of the unit 3D shape data A respectively correspond to the images a', b', c', and d' of the unit 3D shape data B. Then, the first specifying unit 604 determines that the surfaces corresponding to the respective images a, b, c, and d of the unit 3D shape data A respectively correspond to the surfaces corresponding to the respective images a', b', c', and d' of the unit 3D shape data B.
[0248] Here, note that although the cumulative similarity between the images of the third combination 1700 and the images of each of the fourth combinations 1701 to 1724 is calculated by accumulating the similarities between the surfaces (images) at the same positions in the six views, it is not limited to this.
[0249] For example, the first specifying unit 604 represents the arrangement patterns of the six views of each of the unit 3D shape data A and B using the feature vectors of the images based on the feature amounts of the respective images of each of the unit 3D shape data A and B. Then, the first specifying unit 604 compares the feature amount vectors representing the arrangement patterns between the unit 3D shape data A and B, specifies the arrangement pattern with the closest distance, and aligns the orientations of the unit 3D shape data A and the unit 3D shape data B.
[0250] More specifically, for example, the first specifying unit 604 calculates a feature vector Vec_A representing the third combination 1700 based on the feature amounts of the respective images of the unit 3D shape data A. The feature vector Vec_A is represented, for example, as "Vec_A = (feature amount of image a, feature amount of image d, feature amount of image b, feature amount of image c, feature amount of image e, feature amount of image f)".
[0251] Next, based on the feature amounts of each image of the unit 3D shape data B, the first specifying unit 604 calculates feature vectors Vec_B1 to B24 representing each of the fourth combinations 1701 to 1724. For example, the feature vector Vec_B2 is represented by, for example, "Vec_B2 = (feature amount of image a', feature amount of image e', feature amount of image d', feature amount of image b', feature amount of image c', feature amount of image f')".
[0252] Then, the first specifying unit 604 calculates the distances between the feature vector Vec_A and each of the feature vectors Vec_B1 to B24. The distance between feature vectors corresponds to the similarity between orthographic views. Next, among the feature vectors Vec_B1 to B24, the first specifying unit 604 selects the feature vector Vec_B min with the closest calculated distance.
[0253] Then, the first specifying unit 604 min aligns the orientations of the unit 3D shape data A and the unit 3D shape data B based on the specified feature vector Vec_B. For example, the first specifying unit 604 determines that the fourth combination (orthographic view arrangement pattern) corresponding to the feature vector Vec_B min is the unit 3D shape data B when its orientation is aligned with that of the unit 3D shape data A of the third combination 1700.
[0254] Furthermore, as another method, the first specifying unit 604 may calculate the similarity between the image of the third combination 1700 and the images of each of the fourth combinations 1701 to 1724 using the images of the developed views of the orthographic views. In this method, the first specifying unit 604 fixes the unit 3D shape data A, rotates the unit 3D shape data B, and specifies the orientation that matches the unit 3D shape data A from the similarity of the features of the images of the developed views.
[0255] FIG. 18 is an explanatory diagram showing an example of a developed view. In FIG. 18, the developed view 1800 is an example of a developed view of the six views of the unit 3D shape data A (corresponding to the third combination 1700 shown in FIG. 17). The developed view 1800 is an example of a developed view of the six views of the unit 3D shape data A (corresponding to the third combination 1700 shown in FIG. 17). The developed views 1801 to 1824 are examples of developed views of the six views of the unit 3D shape data B (corresponding to the fourth combinations 1701 to 1724 shown in FIG. 17).
[0256] The first specific part 604 calculates the similarity between the developed view 1800 and each of the developed views 1801 to 1824 with each developed view as one image. Next, the first specific part 604 determines, among the developed views 1801 to 1824, the developed view with the maximum calculated similarity max and identifies it. Then, the first specific part 604 aligns the orientations of the unit 3D shape data A and the unit 3D shape data B based on the identified developed view max .
[0257] For example, the first specific part 604 determines that the fourth combination (arrangement pattern of six views) corresponding to the developed view max is the unit 3D shape data B when the orientation is aligned with the unit 3D shape data A of the third combination 1700.
[0258] (Various processing procedures of the model generation device 201) Next, various processing procedures of the model generation device 201 will be described with reference to FIGS. 19 to 30. First, the preliminary preparation processing procedure of the model generation device 201 will be described with reference to FIG. 19.
[0259] FIG. 19 is a flowchart showing an example of the preliminary preparation processing procedure of the model generation device 201. In the flowchart of FIG. 19, first, the model generation device 201 selects unselected 3D shape data that has not been selected with reference to the 3D shape DB 220 (step S1901).
[0260] Next, the model generation device 201 executes unit shape creation processing for the selected 3D shape data (step S1902). Specific processing procedures of the unit shape creation processing will be described later with reference to FIG. 20. Then, the model generation device 201 refers to the 3D shape DB 220 and determines whether there is any unselected 3D shape data that has not been selected (step S1903).
[0261] Here, if there is unselected 3D shape data (step S1903: Yes), the model generation device 201 returns to step S1901. On the other hand, if there is no unselected 3D shape data (step S1903: No), the model generation device 201 ends the series of processes according to this flowchart.
[0262] Thereby, the model generation device 201 can create unit 3D shape data of each 3D shape data registered in the 3D shape DB 220 as preliminary preparation. Note that the created unit 3D shape data may be held in the 3D shape DB 220 in association with the original 3D shape data, for example.
[0263] Next, with reference to FIG. 20, specific processing procedures of the unit shape creation processing in step S1902 shown in FIG. 19 will be described.
[0264] FIG. 20 is a flowchart showing an example of specific processing procedures of the unit shape creation processing. In the flowchart of FIG. 20, first, the model generation device 201 extracts the minimum value in each coordinate axis direction from the coordinates of each vertex of the 3D shape data (step S2001). Then, the model generation device 201 subtracts the minimum value in each extracted coordinate axis direction from each value of the coordinates of each vertex to translate the 3D shape data (step S2002).
[0265] Next, the model generation device 201 extracts the maximum value in each coordinate axis direction from the coordinates of each vertex of the 3D shape data after translation (step S2003). Then, the model generation device 201 divides each value of the coordinates of each vertex of the 3D shape data after translation by the maximum value in each extracted coordinate axis direction to create unit 3D shape data (step S2004), and returns to the step where the unit shape creation process was called.
[0266] Thereby, the model generation device 201 can normalize the 3D shape data while maintaining the dimensional relationship between parts in each coordinate axis direction.
[0267] Next, with reference to FIG. 21, the standard shape registration processing procedure of the model generation device 201 will be described. The standard shape registration process is a process for pre-registering standard shape data in the standard shape DB 230 before designing an object.
[0268] FIG. 21 is a flowchart showing an example of the standard shape registration processing procedure of the model generation device 201. In the flowchart of FIG. 21, first, the model generation device 201 determines whether or not it has received a designation of a target shape (step S2101). The target shape specified here is 3D shape data specified for classifying the 3D shape data registered in the 3D shape DB 220, and is specified from the 3D shape DB 220, for example.
[0269] Here, the model generation device 201 waits to receive a designation of a target shape (step S2101: No). Then, when the model generation device 201 has received a designation of a target shape (step S2101: Yes), it executes a unit shape creation process for the target shape (step S2102).
[0270] Note that since the specific processing procedure of the unit shape creation process for the target shape is the same as the processing procedure shown in FIG. 20, illustration and description thereof are omitted. If the unit 3D shape data of the target shape has already been created, the model generation device 201 may skip step S2102.
[0271] Next, the model generation device 201 executes a shape classification process for classifying a plurality of 3D shape data based on the created unit 3D shape data (step S2103). The specific processing procedure of the shape classification process will be described later with reference to FIG. 22.
[0272] Then, the model generation device 201 executes a matching process for specifying the correspondence between parts of the 3D shape data within the classified group (step S2104). The specific processing procedure of the matching process will be described later with reference to FIG. 23.
[0273] Next, the model generation device 201 executes a relational expression construction process for constructing a relational expression of the dimensional relationships between different parts of the 3D shape data within the classified group (step S2105). The specific processing procedure of the relational expression construction process will be described later with reference to FIG. 27.
[0274] Then, the model generation device 201 associates the unit 3D shape data of each 3D shape data in the group with the standard shape data, associates the standard shape data with the constructed relational expression and the similar shape list, registers them in the standard shape DB 230 (step S2106), and ends the series of processes according to this flowchart.
[0275] Thereby, the model generation device 201 can store the parametric model (relational expression) of the 3D shape classified by the standard shape data together with the standard shape data (unit 3D shape data) in a database.
[0276] Next, with reference to FIG. 22, the specific processing procedure of the shape classification process in step S2103 shown in FIG. 21 will be described. Here, the unit 3D shape data of the target shape created in step S2102 shown in FIG. 21 is referred to as "unit target shape".
[0277] FIG. 22 is a flowchart showing an example of the specific processing procedure of the shape classification process. In the flowchart of FIG. 22, first, the model generation device 201 selects unselected unit 3D shape data among the unit 3D shape data of each 3D shape data in the 3D shape DB 220 (step S2201).
[0278] Then, the model generation device 201 calculates the similarity between the selected unit 3D shape data and the created unit target shape (step S2202). Next, the model generation device 201 determines whether there is unselected unit 3D shape data among the unit 3D shape data of each 3D shape data in the 3D shape DB 220 (step S2203).
[0279] Here, if there is unselected unit 3D shape data (step S2203: Yes), the model generation device 201 returns to step S2201. On the other hand, if there is no unselected unit 3D shape data (step S2203: No), the model generation device 201 specifies the unit 3D shape data whose calculated similarity is equal to or greater than the threshold value (step S2204).
[0280] Next, the model generation device 201 extracts the 3D shape data corresponding to the specified unit 3D shape data from the 3D shape DB 220 (step S2205). Then, the model generation device 201 classifies the extracted 3D shape data into the same group (step S2206), and returns to the step where the shape classification process was called.
[0281] Thereby, the model generation device 201 can classify the 3D shape data similar to the target 3D shape data and the unit 3D shape data into the same group. For example, not only the same shape or similar shapes, but also shapes with slightly different dimensions can be classified into the same group, and grouping close to human perception can be performed to improve the versatility at the time of new design.
[0282] Next, with reference to FIG. 23, the specific processing procedure of the association process in step S2104 shown in FIG. 21 will be described.
[0283] FIG. 23 is a flowchart showing an example of a specific processing procedure of the association process. In the flowchart of FIG. 23, first, the model generation device 201 acquires a unit target shape (unit 3D shape data) of the target shape (step S2301). The target shape corresponds to the first 3D shape data described above. The unit target shape corresponds to the third 3D shape data described above.
[0284] Then, the model generation device 201 generates a plurality of first images by rotating the unit target shape by 90 degrees about each of the x-axis, y-axis, and z-axis in both directions (positive and negative directions) of each axis and generating images captured from each direction (step S2302).
[0285] Next, the model generation device 201 selects unselected 3D shape data that has not been selected from the groups classified in step S2103 (step S2303). The 3D shape data selected here corresponds to the second 3D shape data described above. In the following description, the 3D shape data selected in step S2303 may be referred to as a "comparison target shape".
[0286] Then, the model generation device 201 acquires unit 3D shape data of the selected 3D shape data (step S2304). The unit 3D shape data acquired here corresponds to the fourth shape data described above. In the following description, it may be referred to as a "comparison target unit shape" acquired in step S2304.
[0287] Next, the model generation device 201 generates a plurality of second images by rotating the comparison target unit shape by 90 degrees about each of the x-axis, y-axis, and z-axis in both directions (positive and negative directions) of each axis and generating images captured from each direction (step S2305).
[0288] Then, the model generation device 201 executes an alignment process for aligning the orientation of the unit target shape and the comparison target unit shape (step S2306). The specific processing procedure of the alignment process will be described later with reference to FIGS. 24 to 26.
[0289] Next, the model generation device 201 identifies each part of the unit target shape with the aligned orientation and the corresponding part of the comparison target unit shape (step S2307). Then, based on the identified result, the model generation device 201 identifies each part (first part) of the target shape and the corresponding part (second part) of the comparison target shape (step S2308).
[0290] Next, the model generation device 201 determines whether there is unselected 3D shape data that has not been selected from the groups classified in step S2103 (step S2309). Here, if there is unselected 3D shape data (step S2309: Yes), the model generation device 201 returns to step S2303.
[0291] On the other hand, if there is no unselected 3D shape data (step S2309: No), the model generation device 201 returns to the step where the association process was called. Thereby, the model generation device 201 can identify the correspondence between each part (first part) of the target shape and each part (second part) of the comparison target shape.
[0292] Next, with reference to FIGS. 24 to 26, the specific processing procedure of the alignment process in step S2306 shown in FIG. 23 will be described. Here, as the alignment process in step S2306, the first alignment process and the second alignment process will be described as examples. First, the specific processing procedure of the first alignment process will be described. The first alignment process corresponds to method 1 for aligning the orientation of the above-described third 3D shape data (unit target shape) and the fourth 3D shape data (comparison target unit shape).
[0293] FIG. 24 is a flowchart showing an example of the specific processing procedure of the first alignment process. In the flowchart of FIG. 24, first, the model generation device 201 compares each of the first plurality of images with each of the second plurality of images to calculate the similarity between the images (step S2401).
[0294] Next, the model generation device 201 identifies the image pair (plane [1]) with the highest similarity based on the calculated similarity between the images (step S2402). Next, the model generation device 201 identifies the image pair (plane [2]) with the highest similarity excluding the identified image pair (plane [1]) based on the calculated similarity between the images (step S2403).
[0295] Next, the model generation device 201 identifies the image pair (plane [3]) with the highest similarity excluding the identified image pairs (plane [1], [2]) based on the calculated similarity between the images (step S2404). Then, the model generation device 201 aligns the orientation of the unit target shape and the comparison target unit shape based on the identified image pairs (plane [1], [2], [3]) (step S2405), and returns to the step where the first alignment process was called.
[0296] Thereby, the model generation device 201 can compare all 24 planes of the unit target shape with all 24 planes of the comparison target unit shape, identify the corresponding three planes between the unit 3D data, and align the orientation of the unit target shape and the comparison target unit shape.
[0297] Next, the specific processing procedure of the second alignment process will be described. The second alignment process corresponds to method 2 for aligning the orientation of the above-described third 3D shape data (unit target shape) and fourth 3D shape data (comparison target unit shape).
[0298] FIG. 25 and FIG. 26 are flowcharts showing an example of the specific processing procedure of the second alignment process. In the flowchart of FIG. 25, first, the model generation device 201 sets N to "N = 1" (step S2501), and determines whether N has become "N = 24" (step S2502).
[0299] Here, when N has not become "N = 24" (step S2502: No), the model generation device 201 selects, from the first plurality of images, the image with the Nth largest feature as the first reference image (step S2503). Next, the model generation device 201 specifies, from the second plurality of images, the image with the highest similarity to the selected first reference image as the second reference image (step S2504).
[0300] Then, the model generation device 201 specifies, from the unit target shape, a combination of images (first combination) corresponding to each of the four adjacent faces of the face corresponding to the first reference image (step S2505). Next, the model generation device 201 sets i to "i = 1" (step S2506), and determines whether i has become "i = 4" (step S2507).
[0301] Here, when i has not become "i = 4" (step S2507: No), the model generation device 201 selects, from the faces adjacent to the second reference image, the face most similar to the face i adjacent to the first reference image. The face i corresponds to the i-th image in the first combination. However, the selected face (image) is excluded from the selection target.
[0302] Then, the model generation device 201 increments i (step S2509), and returns to step S2507. In step S2507, when i has become "i = 4" (step S2507: Yes), the model generation device 201 proceeds to step S2601 shown in FIG. 26.
[0303] As a result, the model generation device 201 can identify a combination of images (a second combination) corresponding to each face i (image) of the first combination from the second plurality of images.
[0304] In the flowchart of FIG. 26, first, based on the combination of images (the first combination) specified in step S2505 and the faces (images) corresponding to each face i selected in step S2508, the model generation device 201 calculates the similarity of the four adjacent faces of each reference face (the first reference image, the second reference image) (step S2601).
[0305] Then, the model generation device 201 determines whether the calculated similarity of the four adjacent faces is equal to or greater than a threshold value (step S2602). Here, when the similarity of the four adjacent faces is less than the threshold value (step S2602: No), the model generation device 201 increments N (step S2603) and returns to step S2502.
[0306] On the other hand, when the similarity of the four adjacent faces is equal to or greater than the threshold value (step S2602: Yes), the model generation device 201 aligns the orientations of the unit target shape and the comparison target unit shape based on the combination of images specified in step S2505 and the faces (images) corresponding to each face i selected in step S2508 (step S2604), and returns to the step where the second orientation alignment process was called.
[0307] As a result, the model generation device 201 can compare the four adjacent faces of the reference face (the first reference image) of the unit target shape with the four adjacent faces of the reference face (the second reference image) of the comparison target unit shape, identify the corresponding faces between the unit 3D data, and align the orientations of the unit target shape and the comparison target unit shape.
[0308] Also, in step S2502 shown in FIG. 25, when N becomes "N = 24" (step S2502: Yes), the model generation device 201 executes error processing (step S2510) and ends the series of processes according to this flowchart. In the error processing, for example, an error message indicating that a parametric model cannot be constructed is output.
[0309] Here, in step S2502, when N becomes "N = 24", error processing is to be executed, but it is not limited to this. For example, the model generation device 201 may identify corresponding faces between unit 3D shape data with two adjacent faces (or three faces, four faces, etc.) out of the six views as one block (reference plane).
[0310] Note that the specific processing procedure (orientation adjustment exception processing) for identifying corresponding faces between unit 3D shape data and aligning the orientations of unit 3D shape data with two adjacent faces out of the six views as one block (reference plane) will be described later with reference to FIG. 30.
[0311] Next, with reference to FIG. 27, the specific processing procedure of the relational expression construction process in step S2105 shown in FIG. 21 will be described.
[0312] FIG. 27 is a flowchart showing an example of the specific processing procedure of the relational expression construction process. In the flowchart of FIG. 27, first, based on the result of step S2306, the model generation device 201 aligns the orientations of the 3D shape data within the group classified in step S2103 by making the directions of the x-axis, y-axis, and z-axis the same (step S2701).
[0313] Next, based on the result of step S2308, the model generation device 201 creates a dimensional table for each part of the 3D shape data within the group by extracting the dimensions of each part of the 3D shape data within the group (step S2702). Then, the model generation device 20 creates a column vector with the dimensions in each 3D shape data as elements for each part with reference to the created dimensional table for each part (step S2703).
[0314] Next, the model generation device 201 selects the variable with the highest variance, using the column vectors of each part created as variables (step S2704). Then, the model generation device 201 determines whether the variance of the selected variable is equal to or less than a predetermined threshold (step S2705). The predetermined threshold can be arbitrarily set.
[0315] Here, when the variance is equal to or less than the predetermined threshold (step S2705: Yes), the model generation device 201 returns to the step where the relational expression construction process was called.
[0316] On the other hand, when the variance is greater than the predetermined threshold (step S2705: No), the model generation device 201 sets the selected variable as the target variable (step S2706). Next, the model generation device 201 sets the variables with a high contribution rate to the target variable as explanatory variables by the stepwise method (step S2707).
[0317] Then, the model generation device 201 creates a relational expression for the dimensional relationship between different parts of the 3D shape data by performing a regression analysis based on the created column vectors (step S2708). Next, the model generation device 201 determines whether there are unselected variables that have not been selected (step S2709).
[0318] Here, when there are unselected variables (step S2709: Yes), the model generation device 201 returns to step S2704. On the other hand, when there are no unselected variables (step S2709: No), the model generation device 201 returns to the step where the relational expression construction process was called.
[0319] As a result, the model generation device 201 can construct a relational expression indicating the dimensional relationship between different parts of the 3D shape data classified into the same group.
[0320] Next, with reference to FIG. 28, the first design processing procedure of the model generation device 201 will be described. The first design processing is a process of generating design data of an object by specifying 3D shape data of a target having a shape similar to the object.
[0321] FIG. 28 is a flowchart showing an example of the first design processing procedure of the model generation device 201. In the flowchart of FIG. 28, first, the model generation device 201 determines whether or not it has received a specification of a target shape (step S2801). The target shape specified here is 3D shape data having a shape similar to the object, and is specified from, for example, the 3D shape DB 220.
[0322] Here, the model generation device 201 waits to receive a specification of the target shape (step S2801: No). When the model generation device 201 receives a specification of the target shape (step S2801: Yes), it executes a unit shape creation process for the target shape (step S2802).
[0323] Note that since the specific processing procedure of the unit shape creation process for the target shape is the same as the processing procedure shown in FIG. 20, the illustration and description thereof are omitted. If the unit 3D shape data of the target shape has already been created, the model generation device 201 may skip step S2802.
[0324] Next, the model generation device 201 searches the standard shape DB 230 for standard shape data similar to the unit 3D shape data of the target shape (step S2803). Then, the model generation device 201 determines whether or not similar standard shape data has been searched (step S2804).
[0325] Here, when the standard shape data is not retrieved (step S2804: No), the model generation device 201 executes a shape classification process for classifying a plurality of 3D shape data (step S2805). Next, the model generation device 201 executes a relational expression construction process for constructing a relational expression of the dimensional relationships between different parts of the 3D shape data within the classified group (step S2806), and then proceeds to step S2807.
[0326] Note that since the specific processing procedure of the shape classification process in step S2805 is the same as the processing procedure shown in FIG. 22, illustration and description thereof are omitted. Also, since the specific processing procedure of the relational expression construction process in step S2806 is the same as the processing procedure shown in FIG. 27, illustration and description thereof are omitted.
[0327] Also, in step S2804, when the standard shape data is retrieved (step S2804: Yes), the model generation device 201 outputs the retrieved standard shape data and the relational expression corresponding to the standard shape data (step S2807). Note that when the relational expression is constructed in step S2806, the model generation device 201 outputs the unit 3D shape data of any one of the 3D shape data within the group as the standard shape data.
[0328] Next, the model generation device 201 determines whether or not it has received an input of the dimension of a specific part within the output standard shape data (step S2808). The specific part within the standard shape data corresponds to a specific part of the 3D shape data that is the source of the standard shape data. The dimension of the specific part corresponds to the design requirement regarding the object.
[0329] Here, the model generation device 201 waits to receive an input of the dimension of the specific part (step S2808: No). When the model generation device 201 has received an input of the dimension of the specific part (step S2808: Yes), based on the input dimension of the specific part, it converts the standard shape data according to the relational expression to generate design data regarding the object (step S2809).
[0330] Then, the model generating device 201 outputs the generated design data (step S2810) and ends a series of processes according to this flowchart. Note that in step S2807, the model generating device 201 may output the 3D shape data classified by the standard shape data.
[0331] This allows designers to specify the target shape and dimensions of specific parts when creating a new design, and automatically generate design data for the object according to relational equations (parametric relationships) based on the standard shape data.
[0332] Next, a second design processing procedure of the model generating device 201 will be described with reference to Fig. 29. The second design processing is processing for generating design data of an object by using an assembly constituted by standard parts (standard shape data).
[0333] Fig. 29 is a flowchart showing an example of the second design processing procedure of the model generating device 201. In the flowchart of Fig. 29, first, the model generating device 201 judges whether or not input of design requirements for a structure has been accepted (step S2901). The design requirements for a structure include, for example, dimensions of the structure to be designed (for example, dimensions of a specific portion of a standard part constituting the structure) and information specifying constraint conditions between parts. The constraint conditions between parts indicate, for example, parts whose dimensions change in conjunction with each other between parts.
[0334] Here, the model generating device 201 waits for receipt of the input of the design requirements of the structure (step S2901: No). When the model generating device 201 receives the input of the design requirements of the structure (step S2901: Yes), the model generating device 201 extracts standard shape data corresponding to the standard parts that constitute the structure from the standard shape DB 230 (step S2902).
[0335] Next, based on the design requirements of the structure, the model generation device 201 converts each piece of standard shape data according to the relational expression corresponding to the extracted standard shape data, and generates design data related to the structure (step S2903). Then, the model generation device 201 outputs the generated design data (step S2904) and ends the series of processes according to this flowchart.
[0336] Thereby, the model generation device 201 can automatically generate the design data of the object using the assembly composed of standard parts (standard shape data).
[0337] (Specific procedures for alignment exception handling) Here, with reference to FIG. 30, taking two adjacent sides among the six views as a single block (reference plane), the specific processing procedures (alignment exception handling) for identifying the corresponding surfaces between the unit 3D shape data and aligning the orientations of the unit 3D shape data will be described. However, here, two adjacent sides among the six views of the unit target shape will be taken as an example for explanation.
[0338] FIG. 30 is a flowchart showing an example of the specific procedures for alignment exception handling. In the flowchart of FIG. 30, first, the model generation device 201 selects the images of two adjacent sides from the first plurality of images as the first reference two sides (step S3001). Next, the model generation device 201 identifies the images of two adjacent sides with the highest similarity to the selected first reference two sides from the second plurality of images as the second reference two sides (step S3002).
[0339] Next, the model generation device 201 sets j to "j = 1" (step S3003) and determines whether j has become "j = 2" (step S3004).
[0340] Here, when j is not "j = 2" (step S3004: No), the model generation device 201 selects the surface most similar to the surface j adjacent to the first reference 2 - surface from the surfaces adjacent to the second reference 2 - surface (step S3005). However, the selected surfaces (images) are excluded from the selection targets.
[0341] Then, the model generation device 201 increments j (step S3006) and returns to step S3004. In step S3004, when j becomes "j = 2" (step S3004: Yes), the model generation device 201 calculates the similarity of the combined 3 - surfaces (reference 2 - surface + 2 surfaces adjacent to the reference 2 - surface) based on the first reference 2 - surface, each surface j adjacent to the first reference 2 - surface, the second reference 2 - surface, and the surfaces (images) corresponding to the selected surfaces j (step S3007).
[0342] Then, the model generation device 201 determines whether the similarity of the calculated combined 3 - surfaces is greater than or equal to the threshold value (step S3008). Here, when the similarity of the combined 3 - surfaces is greater than or equal to the threshold value (step S3008: Yes), the model generation device 201 aligns the orientations of the unit target shape and the comparison target unit shape based on the first reference 2 - surface, the second reference 2 - surface, and the surfaces corresponding to the selected surfaces j (step S3009), and ends the series of processes according to this flowchart.
[0343] Thereby, the model generation device 201 can compare the combined 3 - surfaces (the first reference 2 - surface and its two adjacent surfaces) of the unit target shape with the combined 3 - surfaces (the second reference 2 - surface and its two adjacent surfaces) of the comparison target unit shape, identify the corresponding surfaces between the unit 3D data, and align the orientations of the unit target shape and the comparison target unit shape.
[0344] Also, in step S3008, when the similarity of the combined 3 - surfaces is less than the threshold value (step S3008: No), the model generation device 201 executes error processing (step S3010) and ends the series of processes according to this flowchart.
[0345] Here, in step S3008, although error processing is to be executed when the similarity of the combined three faces is less than the threshold value, it is not limited to this. For example, the model generation device 201 may select two unselected adjacent faces that have not been selected among the six views of the unit target shape and execute the processing after step S3001.
[0346] (Example) Next, an example of identifying the same part among a plurality of 3D shape data will be described.
[0347] FIG. 31 is an explanatory diagram showing an example of processing when identifying the same part among a plurality of 3D shape data. In FIG. 31, 3D shape data A, B, C, and D are a plurality of 3D shape data classified into the same group based on unit 3D shape data, and their parametric relationships are similar.
[0348] The model generation device 201 acquires the unit 3D shape data a, b, c, and d of each 3D shape data A, B, C, and D. The model generation device 201 aligns the orientations of the acquired unit 3D shape data a, b, c, and d using the images obtained by imaging the unit 3D shape data a, b, c, and d. The model generation device 201 extracts information (start point, end point) of each side (part) of each unit 3D shape data a, b, c, and d from each unit 3D shape data a, b, c, and d.
[0349] For example, the model generation device 201 extracts information (start point, end point) of each side (for example, sides 11' to 15') of the unit 3D shape data a from the unit 3D shape data a. Also, the model generation device 201 extracts information (start point, end point) of each side (for example, sides 21' to 25') of the unit 3D shape data b from the unit 3D shape data b. Also, the model generation device 201 extracts information (start point, end point) of each side (for example, sides 31' to 35') of the unit 3D shape data c from the unit 3D shape data c. Also, the model generation device 201 extracts information (start point, end point) of each side (for example, sides 41' to 45') of the unit 3D shape data d from the unit 3D shape data d.
[0350] The model generation device 201 represents each side of each unit 3D shape data a, b, c, d by a vector having the start point and end point of each side as elements. The model generation device 201 compares the vectors of each side among the unit 3D shape data a, b, c, d and calculates the distance between the vectors. The model generation device 201 identifies the sides with close calculated distances as the same part.
[0351] For example, among the sides 21' to 25' of the unit 3D shape data b, the side with the closest distance to the side 11' of the unit 3D shape data a is set as the side 21'. Also, among the sides 31' to 35' of the unit 3D shape data c, the side with the closest distance to the side 11' of the unit 3D shape data a is set as the side 31'. Also, among the sides 41' to 45' of the unit 3D shape data d, the side with the closest distance to the side 11' of the unit 3D shape data a is set as the side 41'. In this case, the model generation device 201 identifies the sides 11', 21', 31', 41' of each unit 3D shape data a, b, c, d as the same part.
[0352] Here, the correspondence relationship between the parts of each 3D shape data A, B, C, D and each unit 3D shape data a, b, c, d can be specified, for example, by associating the corresponding parts before and after transformation. For example, for each of 11 to 15 of the 3D shape data A, the model generation device 201 determines that the side 11 corresponds to the side 11', the side 12 corresponds to the side 12', the side 13 corresponds to the side 13', the side 14 corresponds to the side 14', and the side 15 corresponds to the side 15'.
[0353] The model generation device 201 specifies the corresponding sides among the 3D shape data A, B, C, D from the correspondence relationship between the sides among the unit 3D shape data a, b, c, d. For example, the model generation device 201 identifies the sides 11, 21, 31, 41 of each 3D shape data A, B, C, D as the same part from the correspondence relationship between the sides 11', 21', 31', 41' of each unit 3D shape data a, b, c, d.
[0354] Thereby, a dimension table 3200 as shown in FIG. 32 can be created.
[0355] FIG. 32 is an explanatory diagram showing a specific example of a dimensional table. In FIG. 32, the dimensional table 3200 shows the dimensions of each part (for example, parts 1 to 5) in each of the 3D shape data A, B, C, and D. For example, part 1 corresponds to sides 11, 21, 31, and 41 of each of the 3D shape data A, B, C, and D.
[0356] The model generation device 201 can derive a relational expression showing the dimensional relationship between each part by analyzing, for example, with regression analysis or the like, the dimensional relationship between each part with reference to the dimensional table 3200.
[0357] As described above, according to the model generation device 201 according to the embodiment, for each of the first 3D shape data and the second 3D shape data, third 3D shape data and fourth 3D shape data generated by changing the size according to a specific rule in each direction of a plurality of axes are obtained, and each of the third 3D shape data and the fourth 3D shape data can be used to generate a first plurality of images and a second plurality of images captured from both directions of each of the plurality of axes. The third 3D shape data is, for example, unit 3D shape data generated by normalizing the first 3D shape data for each component in each direction of a plurality of axes. Also, the fourth 3D shape data is, for example, unit shape data generated by normalizing the second 3D shape data for each component in each direction of a plurality of axes. The first 3D shape data and the second 3D shape data are 3D shape data classified into the same group based on, for example, the third 3D shape data (unit 3D shape data) and the fourth 3D shape data (unit 3D shape data). And according to the model generation device 201, based on the result of comparison between the first plurality of images and the second plurality of images, by aligning the orientations of the first 3D shape data and the second 3D shape data, the first part of the first 3D shape data and the second part of the corresponding second 3D shape data can be specified.
[0358] Thereby, the model generation device 201 can specify the parts in a corresponding relationship among the 3D shape data classified based on the parametric relationship.
[0359] Further, according to the model generation device 201, for each of the two directions of each of the plurality of axes, by rotating the third 3D shape data by a predetermined angle α about the axis and generating an image captured from each direction, a first plurality of images can be generated. Further, according to the model generation device 201, for each of the two directions of each of the plurality of axes, by rotating the fourth 3D shape data by a predetermined angle α about the axis and generating an image captured from each direction, a second plurality of images can be generated.
[0360] Thereby, assuming that the design is performed using the three axes of x, y, and z, the model generation device 201 can generate an image obtained by capturing the unit 3D shape data from the positive and negative directions of each axis. Further, assuming that there may be differences among designers in terms of from which direction to view and design the object, the model generation device 201 can generate images captured from various directions by rotating each axis by a predetermined angle α.
[0361] Further, according to the model generation device 201, by comparing each of the first plurality of images with each of the second plurality of images, calculating the similarity between each image, and based on the calculated similarity between each image, specifying the correspondence between the images included in the first plurality of images and the images included in the second plurality of images, and aligning the orientations of the first 3D shape data and the second 3D shape data based on the specified correspondence, the second part corresponding to the first part can be specified.
[0362] Thereby, the model generation device 201 can compare the surfaces of the third 3D shape data (for example, 24 surfaces) with the surfaces of the fourth 3D shape data (for example, 24 surfaces) one by one, specify the three corresponding surfaces between the unit 3D data, and align the orientations of the third 3D shape data and the fourth 3D shape data.
[0363] Further, according to the model generation device 201, a first reference image can be selected from the first plurality of images, and a second reference image can be specified from the second plurality of images based on the result of comparison between the selected first reference image and each of the second plurality of images. Further, according to the model generation device 201, among the first plurality of images, the third 3D shape data when the first reference image is captured is specified for a first combination of images captured from each of the other directions different from the direction in which the first reference image is captured, and among the second plurality of images, the fourth 3D shape data when the second reference image is captured is specified for a second combination of images captured from each of the other directions different from the direction in which the second reference image is captured. The first combination is, for example, a combination of images captured from each of the other directions adjacent to the direction in which the first reference image is captured. The second combination is, for example, a combination of images captured from each of the other directions adjacent to the direction in which the second reference image is captured. Then, according to the model generation device 201, based on the result of comparison between the specified first combination of images and the second combination of images, by aligning the orientations of the first 3D shape data and the second 3D shape data, the second part corresponding to the first part can be specified.
[0364] Thereby, the model generation device 201 can compare the four adjacent surfaces of the reference surface (first reference image) of the third 3D shape data with the four adjacent surfaces of the reference surface (second reference image) of the fourth 3D shape data, specify the corresponding surfaces between the unit 3D data, and align the orientations of the third 3D shape data and the fourth 3D shape data.
[0365] Further, according to the model generation device 201, a plurality of first images are generated by generating images obtained by imaging the third 3D shape data from both directions of each of the plurality of axes, and for each direction of both directions of each of the plurality of axes, the fourth shape data is rotated by a predetermined angle α around the axis to generate images obtained by imaging from each direction, whereby a plurality of second images can be generated. Further, according to the model generation device 201, from the plurality of first images, while fixing the third 3D shape data, a third combination of images obtained by imaging the third 3D shape data from both directions of each of the plurality of axes is specified, and from the plurality of second images, for each of the fourth 3D shape data rotated by a predetermined angle α around each of the plurality of axes, a fourth combination of images obtained by imaging the fourth 3D shape data from both directions of each of the plurality of axes is respectively specified, and based on the result of comparison between the specified third combination of images and the fourth combination of images, the first 3D shape data and the second 3D shape data are aligned, whereby the second part corresponding to the first part can be specified.
[0366] Thereby, the model generation device 201 can fix the third 3D shape data, rotate the fourth 3D shape data, and specify the orientation of the fourth 3D shape data that matches the third 3D shape data from the similarity between the surfaces at the same position in the six views.
[0367] Further, according to the model generation device 201, the dimensions of the first part can be extracted from the first 3D shape data, and the dimensions of the second part corresponding to the first part can be extracted from the second 3D shape data.
[0368] Thereby, the model generation device 201 can create a dimension table for deriving the dimensional relationship between different parts of 3D shape data classified based on parametric relationships.
[0369] Further, according to the model generation device 201, based on the extracted dimensions of the first part and the extracted dimensions of the second part, the dimensional relationship between different parts of the 3D shape data within the same group can be specified.
[0370] Accordingly, the model generation device 201 can derive the dimensional relationship between different parts among the 3D shape data classified based on the parametric relationship.
[0371] From these, according to the model generation device 201, a new design regarding the object can be performed using the standard shape data provided with the parametric model (the dimensional relational expression between parts). Thereby, the man-hours required for the 3D shape design can be reduced. Also, at the time of new design, by changing the dimensions of each part according to the parametric model, design mistakes can be reduced. Further, at the time of new design, by searching for the standard shape data based on the unit 3D shape data, the standard shape data according to the design intention can be easily searched for.
[0372] Note that the specific method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This specific program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, a DVD, a USB memory, etc., and is executed by being read from the recording medium by the computer. Also, this specific program may be distributed via a network such as the Internet.
[0373] Also, the model generation device 201 (information processing device 101) described in this embodiment can also be realized by a specific-purpose IC such as a standard cell or a structured ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device) such as an FPGA.
[0374] Regarding the above-described embodiment, the following additional remarks are disclosed.
[0375] (Appendix 1) For each of the first shape data and the second shape data, third shape data and fourth shape data generated by changing the size according to a specific rule in the respective directions of a plurality of axes are obtained. For each of the third shape data and the fourth shape data, a first plurality of images and a second plurality of images obtained by imaging from both directions of each of the plurality of axes are generated. Based on the result of comparison between the first plurality of images and the second plurality of images, by aligning the orientations of the first shape data and the second shape data, a first portion of the first shape data and a corresponding second portion of the second shape data are identified. A specific program characterized by causing a computer to execute the processing.
[0376] (Appendix 2) The generating process is as follows: For each direction of both directions of each of the plurality of axes, by rotating the third shape data by a predetermined angle around the axis and generating an image captured from each direction, the first plurality of images are generated. For each direction of both directions of each of the plurality of axes, by rotating the fourth shape data by the predetermined angle around the axis and generating an image captured from each direction, the second plurality of images are generated. The specific program according to Appendix 1, characterized by the above.
[0377] (Appendix 3) The identifying process is as follows: Each of the first plurality of images is compared with each of the second plurality of images to calculate the similarity between the images. Based on the calculated similarity between the images, the correspondence between the images included in the first plurality of images and the images included in the second plurality of images is identified. Based on the identified correspondence, by aligning the orientations of the first shape data and the second shape data, the second portion corresponding to the first portion is identified. The specific program according to Appendix 1 or 2, characterized by the above.
[0378] (Appendix 4) The specific process is as follows: Select a first reference image from the first plurality of images, Based on the comparison results between the selected first reference image and each of the second plurality of images, identify a second reference image from the second plurality of images, Among the first plurality of images, identify a first combination of images captured from each of the other directions different from the direction in which the first reference image was captured, where the third shape data is captured when the first reference image is captured, Among the second plurality of images, identify a second combination of images captured from each of the other directions different from the direction in which the second reference image was captured, where the fourth shape data is captured when the second reference image is captured, Based on the comparison results between the identified first combination of images and the second combination of images, align the orientations of the first shape data and the second shape data to identify the second part corresponding to the first part. The specific program according to any one of Appendices 1 to 3, characterized in the above.
[0379] (Appendix 5) The generating process is as follows: Generate the first plurality of images by generating images of the third shape data captured from both directions of each of the plurality of axes, For each direction of both directions of each of the plurality of axes, generate the second plurality of images by rotating the fourth shape data by a predetermined angle around the axis and capturing images from each of these directions, The specific process is as follows: From the first plurality of images, fix the third shape data and identify a third combination of images of the third shape data captured from both directions of each of the plurality of axes, From the second plurality of images, for each of the fourth shape data rotated by a predetermined angle around each of the plurality of axes, identify a fourth combination of images of the fourth shape data captured from both directions of each of the plurality of axes, respectively. Based on the result of comparing the image of the specified third combination with the image of the fourth combination, by aligning the orientations of the first shape data and the second shape data, the second part corresponding to the first part is specified. The specific program according to any one of Appendices 1 to 4, characterized in that.
[0380] (Appendix 6) Extract the dimensions of the first part from the first shape data, Extract the dimensions of the specified second part from the second shape data. The specific program according to any one of Appendices 1 to 5, characterized in that the computer is caused to execute the process.
[0381] (Appendix 7) The first shape data and the second shape data are shape data classified into the same group based on the third shape data and the fourth shape data, Based on the extracted dimensions of the first part and the extracted dimensions of the second part, specify the dimensional relationship between different parts of the shape data within the group. The specific program according to Appendix 6, characterized in that the computer is caused to execute the process.
[0382] (Appendix 8) The third shape data is unit shape data generated by normalizing the first shape data for each component in the direction of each of the plurality of axes, The fourth shape data is unit shape data generated by normalizing the second shape data for each component in the direction of each of the plurality of axes. The specific program according to any one of Appendices 1 to 7, characterized in that.
[0383] (Appendix 9) The first combination is a combination of images captured from each of the other directions adjacent to the direction in which the first reference image is captured, The second combination is a combination of images captured from each of the other directions adjacent to the direction in which the second reference image is captured. The specific program according to appended note 4, characterized in that...
[0384] (Appended note 10) For each of the first shape data and the second shape data, third shape data and fourth shape data generated by changing the size according to a specific rule in each direction of a plurality of axes are acquired. For each of the third shape data and the fourth shape data, a first plurality of images and a second plurality of images captured from both directions of each of the plurality of axes are generated. Based on the result of comparison between the first plurality of images and the second plurality of images, by aligning the orientations of the first shape data and the second shape data, a first part of the first shape data and a second part of the second shape data corresponding thereto are specified. A specific method, characterized in that a computer executes the processing.
[0385] (Appended note 11) For each of the first shape data and the second shape data, third shape data and fourth shape data generated by changing the size according to a specific rule in each direction of a plurality of axes are acquired. For each of the third shape data and the fourth shape data, a first plurality of images and a second plurality of images captured from both directions of each of the plurality of axes are generated. Based on the result of comparison between the first plurality of images and the second plurality of images, by aligning the orientations of the first shape data and the second shape data, a first part of the first shape data and a second part of the second shape data corresponding thereto are specified. An information processing apparatus, characterized in that it has a control unit that executes the processing.
Explanation of reference signs
[0386] 101 Information processing apparatus 200 Information processing system 201 Model generation apparatus 202 Client apparatus 210 Network 220 3D shape DB 230 Standard Shape DB 300 Bus 301 CPU 302 Memory 303 Disk Drive 304 Disk 305 Communication I / F 306 Portable Recording Medium I / F 307 Portable Recording Medium 601 Reception Section 602 Creation Section 603 Classification Section 604 First Identification Section 605 Second Identification Section 606 Search Section 607 Generation Section 608 Output Section 610 Storage Section
Claims
1. For each of the first shape data and the second shape data, third shape data and fourth shape data generated by changing the size according to a specific rule in each direction of a plurality of axes are obtained, each of the third shape data and the fourth shape data is used to generate a first plurality of images and a second plurality of images captured from both directions of each of the plurality of axes, based on the result of comparison between the first plurality of images and the second plurality of images, by aligning the orientations of the first shape data and the second shape data, a first portion of the first shape data and a corresponding second portion of the second shape data are identified, the dimensions of the first portion are extracted from the first shape data, the dimensions of the second portion are extracted from the second shape data, the first shape data and the second shape data are classified into the same group based on the third shape data and the fourth shape data, based on the extracted dimensions of the first portion and the extracted dimensions of the second portion, the dimensional relationship between different parts of the shape data within the group is identified, A specific program characterized by causing a computer to execute the process.
2. The generating process is for each direction of both directions of each of the plurality of axes, by rotating the third shape data by a predetermined angle around the axis and capturing images from each direction to generate the first plurality of images, for each direction of both directions of each of the plurality of axes, by rotating the fourth shape data by the predetermined angle around the axis and capturing images from each direction to generate the second plurality of images. The specific program according to claim 1, characterized in that.
3. The process of identifying the second portion is comparing each of the first plurality of images with each of the second plurality of images to calculate the similarity between each pair of images, based on the calculated similarity between each pair of images, identifying the correspondence between the images included in the first plurality of images and the images included in the second plurality of images, based on the identified correspondence, by aligning the orientations of the first shape data and the second shape data, identifying the second portion corresponding to the first portion. The specific program according to claim 1 or 2, characterized in that. According to claim 4, for each of the first shape data and the second shape data, third shape data and fourth shape data generated by changing the size according to a specific rule in each direction of a plurality of axes are obtained. For each of the third shape data and the fourth shape data, a first plurality of images and a second plurality of images captured from both directions of each of the plurality of axes are generated. Based on the result of comparison between the first plurality of images and the second plurality of images, by aligning the orientations of the first shape data and the second shape data, a first portion of the first shape data and a second portion of the corresponding second shape data are identified. Causing a computer to execute the process. The identifying process is as follows. Select a first reference image from the first plurality of images. Based on the result of comparison between the selected first reference image and each of the second plurality of images, a second reference image is identified from the second plurality of images. Among the first plurality of images, the third shape data when the first reference image is captured is identified as a first combination of images captured from respective other directions different from the direction in which the first reference image is captured. Among the second plurality of images, the fourth shape data when the second reference image is captured is identified as a second combination of images captured from respective other directions different from the direction in which the second reference image is captured. Based on the result of comparison between the identified first combination of images and the second combination of images, by aligning the orientations of the first shape data and the second shape data, the second portion corresponding to the first portion is identified. A specific program characterized by the above. According to claim 5, for each of the first shape data and the second shape data, third shape data and fourth shape data generated by changing the size according to a specific rule in each direction of a plurality of axes are obtained. For each of the third shape data and the fourth shape data, a first plurality of images and a second plurality of images captured from both directions of each of the plurality of axes are generated. Based on the result of comparison between the first plurality of images and the second plurality of images, by aligning the orientations of the first shape data and the second shape data, a first portion of the first shape data and a second portion of the corresponding second shape data are identified. Extract the dimensions of the first part from the first shape data, Extract the dimensions of the second part from the second shape data, Classify the first shape data and the second shape data into the same group based on the third shape data and the fourth shape data, Based on the extracted dimensions of the first part and the extracted dimensions of the second part, identify the dimensional relationship between different parts of the shape data within the group, A method of identification, characterized in that a computer executes the process.
6. For each of the first shape data and the second shape data, obtain third shape data and fourth shape data generated by changing the size according to specific rules in the respective directions of a plurality of axes, Generate a first plurality of images and a second plurality of images obtained by imaging each of the third shape data and the fourth shape data from both directions of each of the plurality of axes, Based on the result of comparison between the first plurality of images and the second plurality of images, by aligning the orientations of the first shape data and the second shape data, identify the second part of the second shape data corresponding to the first part of the first shape data, A computer executes the process, The process of identification is as follows, Select a first reference image from the first plurality of images, Based on the result of comparison between the selected first reference image and each of the second plurality of images, identify a second reference image from the second plurality of images, Among the first plurality of images, identify a first combination of images obtained by imaging the third shape data when the first reference image was captured from each of the other directions different from the direction in which the first reference image was captured, Among the second plurality of images, identify a second combination of images obtained by imaging the fourth shape data when the second reference image was captured from each of the other directions different from the direction in which the second reference image was captured, Based on the result of comparison between the identified first combination of images and the second combination of images, by aligning the orientations of the first shape data and the second shape data, identify the second part corresponding to the first part, A method of identification, characterized by the above. **Claim 7**: Obtaining third shape data and fourth shape data generated by changing the size according to a specific rule in the respective directions of a plurality of axes for each of the first shape data and the second shape data, generating, for each of the third shape data and the fourth shape data, a first plurality of images and a second plurality of images captured from both directions of each of the plurality of axes, identifying a second portion of the second shape data corresponding to a first portion of the first shape data by aligning the orientations of the first shape data and the second shape data based on a result of comparison between the first plurality of images and the second plurality of images, extracting dimensions of the first portion from the first shape data, extracting dimensions of the second portion from the second shape data, classifying the first shape data and the second shape data into the same group based on the third shape data and the fourth shape data, identifying a dimensional relationship between different parts of the shape data within the group based on the extracted dimensions of the first portion and the extracted dimensions of the second portion, An information processing apparatus comprising a control unit that executes the processing. **Claim 8**: Obtaining third shape data and fourth shape data generated by changing the size according to a specific rule in the respective directions of a plurality of axes for each of the first shape data and the second shape data, generating, for each of the third shape data and the fourth shape data, a first plurality of images and a second plurality of images captured from both directions of each of the plurality of axes, identifying a second portion of the second shape data corresponding to a first portion of the first shape data by aligning the orientations of the first shape data and the second shape data based on a result of comparison between the first plurality of images and the second plurality of images, having a control unit that executes the processing, wherein the identifying processing selects a first reference image from the first plurality of images, identifies a second reference image from the second plurality of images based on a result of comparison between the selected first reference image and each of the second plurality of images, identifies, among the first plurality of images, a first combination of images captured from respective other directions different from the direction in which the first reference image was captured for the third shape data when the first reference image was captured, Among the plurality of second images, identify a second combination of images captured from respective other directions different from the direction in which the second reference image was captured, the fourth shape data when the second reference image was captured, Based on the result of comparison between the identified first combination of images and the second combination of images, by aligning the orientations of the first shape data and the second shape data, identify the second part corresponding to the first part, An information processing apparatus characterized by the above.
Citation Information
Patent Citations
Method and device for modeling shape
JP1991206564A
Design method and design support device
JP1997179892A
Recognition model generation system, recognition model generation method, program for making computer execute the recognition model generation method, computer-readable storage medium with the program stored therein, and structural mesh generation system
JP2004021773A
Component design device
JP2006139486A
Apparatus and method for three-dimensional model retrieval
JP2009080796A