Specification program, specification method, and information processor
By calculating and adding distances between center points of specific parts in 3D shape data and using regression analysis, the method addresses the challenge of deriving dimensional relationships, enabling accurate parametric modeling and efficient reuse of 3D shape data.
Patent Information
- Application Number
- JP2023094433
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-07
- Publication Date
- 2024-12-19
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Conventional 3D shape data classification methods fail to accurately derive dimensional relationships between different parts, particularly for curved parts and holes, making it difficult to construct parametric models that reflect design intent.
A method that calculates distances between center points of specific parts in 3D shape data and adds these distances to the dimensional information, allowing for the derivation of relationships between parts, and constructs parametric models using regression analysis and machine learning to align and identify corresponding parts across similar shapes.
Enables the creation of parametric models that accurately reflect design intent by deriving dimensional relationships between different parts, facilitating efficient reuse and standardization of 3D shape data for design purposes.
Smart Images

Figure 2024176143000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a specification program, a specification method, and an information processing device. [Background technology]
[0002] Traditionally, designing and drawing 3D (Dimensions) shapes requires a lot of man-hours, so designs using past 3D shape data are sometimes carried out. However, past 3D shape data is often insufficiently classified, and there are a large number of similar shapes, so when designing a new product with a similar shape to an existing product, it is desirable to properly classify the past 3D shape data and standardize the design. For example, if past 3D shape data can be properly classified and the dimensional relationship between parts of the 3D shape (parametric model) can be derived, parametric design can be carried out.
[0003] Prior art includes a CAD (Computer Aided Design) system for parametrically creating standard parts. There is also a technology for obtaining a partial shape added to an input shape model as a differential shape, searching for a shape similar to the differential shape from a plurality of basic shapes, extracting shape parameters of the differential shape, and determining whether the shape parameters of the differential shape satisfy the design rules of the searched basic shape. There is also a technology for preparing an editable model of an object using a parametric function history including a sketch function, combining extruded versions of smooth curves to form a 3D model of the object in a boundary representation format, and reshaping a subset of the smooth curves in response to user input on the sketch function. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 7-182391 [Patent Document 2] JP 2010-211434 A [Patent Document 3] US Patent Application Publication No. 2020 / 0151286 Summary of the Invention [Problem to be solved by the invention]
[0005] However, with conventional technology, it is not possible to properly derive the dimensional relationships between different parts of 3D shape data that include curved sections, holes, etc., making it difficult to construct a parametric model that reflects the design intent.
[0006] In one aspect, the present invention aims to add new dimensions for a specific portion and derive the relationship of dimensions between portions of different shape data. [Means for solving the problem]
[0007] In one embodiment, a specific program is provided which calculates, for a specific part having a defined center point among multiple parts included in shapes represented by each shape data classified into the same group, a first distance between the center point in each shape data and a straight line on the same plane as the center point, adds the calculated first distance to dimensional information of the specific part in each shape data, and identifies a dimensional relationship between different parts of the shape data in the group based on the dimensional information for each part of each shape data in the group. Effect of the Invention
[0008] Advantageous Effects of Invention According to one aspect of the present invention, an effect is achieved in that it is possible to add a new dimension to a specific portion and derive a dimensional relationship between portions having different shape data. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram illustrating an example of a specifying method according to an embodiment. [Diagram 2] FIG. 2 is an explanatory diagram showing an example of a system configuration of an information processing system 200. As shown in FIG. [Diagram 3] FIG. 3 is a block diagram showing an example of the hardware configuration of the model generating device 201. As shown in FIG. [Figure 4] FIG. 4 is an explanatory diagram showing an example of the contents stored in the 3D shape DB 220. As shown in FIG. [Diagram 5] FIG. 5 is an explanatory diagram (part 1) showing an example of the contents stored in the standard shape DB 230. As shown in FIG. [Figure 6] FIG. 6 is a block diagram showing an example of the functional configuration of the model generating device 201. [Figure 7] FIG. 7 is an explanatory diagram showing an example of creating unit 3D shape data. [Figure 8] FIG. 8 is an explanatory diagram showing an example of classification of 3D shape data. [Figure 9] FIG. 9 is an explanatory diagram showing an example of an arc-shaped edge portion. [Figure 10A] FIG. 10A is an explanatory diagram (part 1) showing an example of a hole portion. [Figure 10B] FIG. 10B is an explanatory diagram (part 2) showing an example of the hole portion. [Figure 11A] FIG. 11A is an explanatory diagram (part 1) showing an operation example of the model generating device 201. [Figure 11B] FIG. 11B is an explanatory diagram (part 2) showing an operation example of the model generating device 201. [Figure 12] FIG. 12 is an explanatory diagram showing an example of calculation of new dimensions for a hole. [Figure 13] FIG. 13 is an explanatory diagram illustrating an example of 3D shape data. [Figure 14] FIG. 14 is an explanatory diagram (part 1) showing an example of calculating the new dimensions. [Figure 15] FIG. 15 is an explanatory diagram (part 2) showing a calculation example of the new dimensions. [Figure 16] FIG. 16 is an explanatory diagram showing an example of dimensions of a part in 3D shape data. [Figure 17] FIG. 17 is an explanatory diagram showing an example of constructing a relational expression showing the dimensional relationship between parts. [Figure 18]FIG. 18 is an explanatory diagram showing a specific example of a hole position model. [Figure 19A] FIG. 19A is an explanatory diagram (part 1) showing an example of the arrangement of the holes. [Figure 19B] FIG. 19B is an explanatory diagram (part 2) showing an example of the arrangement of the holes. [Figure 19C] FIG. 19C is an explanatory diagram (part 3) showing an example of the arrangement of the holes. [Figure 20] FIG. 20 is a flowchart showing an example of a preparation process procedure of the model generating device 201. [Figure 21] FIG. 21 is a flowchart illustrating an example of a specific processing procedure of the unit shape generating process. [Figure 22] FIG. 22 is a flowchart showing an example of a standard shape registration procedure of the model generating device 201. [Figure 23] FIG. 23 is a flowchart illustrating an example of a specific processing procedure of the shape classification process. [Figure 24] FIG. 24 is a flowchart illustrating an example of a specific processing procedure of the association process. [Diagram 25] FIG. 25 is a flowchart illustrating an example of a specific processing procedure of the orientation adjustment process. [Figure 26] FIG. 26 is a flowchart (part 1) illustrating an example of a specific processing procedure of the dimension information adding process. [Figure 27] FIG. 27 is a second flowchart illustrating an example of a specific processing procedure of the dimension information adding process. [Figure 28] FIG. 28 is a flowchart illustrating an example of a specific processing procedure of the relational equation construction process. [Figure 29] FIG. 29 is a flowchart illustrating an example of a specific processing procedure of the hole-position model construction processing. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of a specific program, a specific method, and an information processing device according to the present invention will be described in detail with reference to the accompanying drawings.
[0011] (Embodiment) Fig. 1 is an explanatory diagram showing an example of a specification method according to an embodiment. In Fig. 1, an information processing device 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.
[0012] Here, because designing 3D shapes requires a lot of man-hours, it would be extremely useful to be able to reuse past 3D shape data for design.However, past 3D shape data is often insufficiently classified, and there are a large number of similar shapes, so manually searching for 3D shape data that matches the design intent takes time and effort.
[0013] For this reason, when designing a new product with a similar shape to an existing product, it is desirable to properly classify past 3D shape data and standardize the design. For example, if past 3D shape data can be properly classified and the dimensional relationship between parts of the 3D shape (parametric model) can be derived, then a design that specifies the 3D shape (so-called parametric design) can be performed by setting various dimensions for the model.
[0014] As a method for classifying past 3D shape data, there is a method for comparing 3D shape data to obtain similarity and classifying the 3D shape data based on the similarity. For example, it is possible to search for 3D shape data to be classified into the same group based on the similarity with 3D shape data specified as a target.
[0015] This classification method searches for 3D shape data that has the same shape as the target or a geometrically similar shape. However, even in 3D shape data with similar shapes, there may be cases where there is a relationship between the dimensions of parts depending on the design intent, and there may be cases where there is no relationship between the dimensions of parts depending on the design intent. Therefore, 3D shape data with the same shape or similar shapes are not necessarily 3D shape data that you want to classify into the same group.
[0016] Another option is to manually check past 3D shape data one by one and classify them while considering the design intent. However, manually classifying a huge number of 3D shape data takes time and effort, which leads to an increase in the number of steps required for designing the target object. Furthermore, it is difficult for people other than the designer to determine the design intent from the 3D shape data.
[0017] There is also a technology (referred to as "Prior Art 1") that classifies multiple 3D shape data based on unit 3D shape data that is normalized from each 3D shape data, and identifies the dimensional relationship between parts in the 3D shape data classified by the unit 3D shape data, thereby constructing a parametric model. The 3D shape data is, for example, design data that was previously designed using 3D CAD (Computer Aided Design).
[0018] In Prior Art 1, for example, 3D shape data is normalized for each component in each coordinate axis direction to create unit 3D shape data. Normalizing 3D shape data for each component in each coordinate axis direction means converting the 3D shape data while maintaining the dimensional relationship between parts in each coordinate axis direction (e.g., x-axis, y-axis, z-axis).
[0019] By determining the similarity based on the unit 3D shape data, it is possible to classify shapes with the same ratio of sides in each coordinate axis direction, and it is expected that not only shapes that are the same or similar to the target, but also shapes with some different lengths can be classified into the same group. For prior art 1, see, for example, JP 2022-75139 A.
[0020] However, in the case of 3D shape data including curved parts and holes, the prior art 1 is unable to properly interpret the design intent, making it difficult to find the dimensional relationship between parts. For example, in 3D shape CAD data, for a straight line, in addition to the attribute of the line, the coordinates of the end points and the length are included.
[0021] On the other hand, for holes, in addition to the attribute of curve, the coordinates of the center point and the radius are included. Also, for curved parts, in addition to the attribute of curve, the coordinates of the center point, the radius, the central angle, and the coordinates of the end points are included. Designers may place the center points of parts such as curved parts and holes by taking into account the distance to other parts (for example, sides).
[0022] However, 3D CAD data does not include information about the distance between curved parts, holes, and other parts. For this reason, in conventional technology 1, even if it is possible to find the correspondence between individual feature points of curved parts and holes from the coordinates of their center points, the coordinates are not dimensions, so it is sometimes impossible to understand the designer's intention and to find the parametric relationship between dimensions between parts.
[0023] In this embodiment, a method for adding a new dimension to a specific part in shape data and deriving a dimensional relationship between different parts of the shape data will be described. Here, a process example of the information processing device 101 (corresponding to the following processes (1) to (3)) will be described.
[0024] (1) The information processing device 101 calculates a first distance for a specific part having a defined center point among multiple parts included in the shape indicated by each piece of shape data classified into the same group. Here, the shape data is information representing the shape of the design, and includes, for example, dimensional information of each part. A part is a part of the shape represented by the shape data. In the following description, multiple parts included in the shape indicated by each piece of shape data may be simply referred to as "parts of each piece of shape data."
[0025] A part is, for example, an edge, a surface, a curved portion, a hole, etc. A curved portion is, for example, an arc-shaped edge portion. An edge portion corresponds to an edge connecting vertices, and represents, for example, an end portion of a surface. An edge portion corresponds to, for example, a contour line or a profile line. An arc-shaped edge portion has the shape of an arc. A hole is, for example, a hole that penetrates (all or part of) the shape data, or a recessed hole in the shape data.
[0026] The dimensional information of each part includes, for example, attribute information of each part. The attribute information indicates attributes such as edges, faces, and curves. The dimensional information of each part also includes, for example, position information of each feature point. The feature point is, for example, a vertex of a design object, the center point of a hole, etc. The position information of the feature point indicates, for example, the coordinates of the feature point in a Cartesian coordinate system.
[0027] Furthermore, the dimensional information of the part "side" includes, for example, the attribute "straight line", the coordinates of the end point (feature point), and the length. Furthermore, the dimensional information of the part "face" includes, for example, the attribute "face" and the coordinates of the vertex (feature point). Furthermore, the dimensional information of the part "hole" includes, for example, the attribute "curve", the coordinates of the center point (feature point), and the radius.
[0028] Furthermore, the dimensional information of the portion "curved portion (e.g., an arc-shaped edge portion)" includes, for example, the attribute "curved portion", the coordinates of the center point (characteristic point), the radius, the central angle, and the coordinates of the end points (characteristic points). The shape data may include, for example, color information and material information of each face. The shape data is, for example, three-dimensional shape data, and may be design data previously designed using three-dimensional CAD. The shape data may also be two-dimensional shape data.
[0029] A plurality of shape data classified into the same group are shape data classified as similar shapes. Any existing technology may be used as a method for classifying shape data. For example, conventional technology 1 may be used as a method for classifying shape data. However, in conventional technology 1, when creating unit 3D shape data from 3D shape data, a circular shape of a portion such as a hole may become elliptical, which may reduce the accuracy of similar shape search.
[0030] Therefore, when classifying shape data of similar shapes, the information processing device 101 may, for example, delete hole dimension information from each shape data, convert the data into unit shapes, and search for similar shapes. Note that specific processing contents when deleting hole dimension information from each shape data, converting the data into unit shapes, and searching for similar shapes will be described later. In addition, multiple shape data classified into the same group may be shape data specified by a user.
[0031] The specific portion may be, for example, a curved portion with a defined center point, radius, central angle, and end points. The specific portion may be, for example, a hole with a defined center point and radius. The specific portion may be, for example, a protrusion (a cylindrical or conical protrusion) with a defined center point and radius.
[0032] The first distance is the distance between the center point of a specific part in each shape data and a straight line on the same plane as the center point. The straight line on the same plane is, for example, an edge of a straight line. The first distance may be calculated for all straight lines on the same plane as the center point of the specific part. The first distance may also be calculated for the straight line closest to the center point of the specific part among the straight lines on the same plane as the center point of the specific part.
[0033] 1 shows shape data 110. The shape data 110 is design data that was previously designed using a three-dimensional CAD. The shape data 110 includes specific parts 111, 112, and 113. The specific parts 111, 112, and 113 are holes (holes that penetrate the shape data 110) with defined center points O1, O2, and O3 and radii r1, r2, and r3.
[0034] The shape data 110 includes dimensional information 121, 122, and 123 of the specific parts 111, 112, and 113. The dimensional information 121 includes the coordinates (x1, y1, z1) and radius r1 of a center point O1 of the specific part 111. The dimensional information 122 includes the coordinates (x2, y2, z2) and radius r2 of a center point O2 of the specific part 112. The dimensional information 123 includes the coordinates (x3, y3, z3) and radius r3 of a center point O3 of the specific part 113.
[0035] Here, the dimension information 121, 122, 123 does not include information such as the distance between the specific parts 111, 112, 113 and other parts. For example, in the shape data 110, the distance between each of the center points O1, O2, O3 of the specific parts 111, 112, 113 and a straight line on the same plane can be said to be a dimension that represents the designer's intention.
[0036] In the shape data 110, the straight lines on the same plane as the center points O1, O2, and O3 are, for example, straight lines 115 and 116 (edges of the straight lines) that represent the end portions of the plane 114. For this reason, the information processing device 101 calculates, for example, the distance b1 between the center point O1 and the straight line 115 for the specific portion 111 as the first distance. In addition, the information processing device 101 calculates, for example, the distance c1 between the center point O1 and the straight line 116 for the specific portion 111 as the first distance.
[0037] Furthermore, the information processing device 101 calculates, for example, the distance b4 (b1+b2) between the center point O2 and the straight line 115 as the first distance for the specific part 112. Furthermore, the information processing device 101 calculates, for example, the distance c1 between the center point O2 and the straight line 116 for the specific part 112 as the first distance.
[0038] Furthermore, for example, the information processing device 101 calculates, as the first distance, a distance b5 (b1+b2+b3) between the center point O3 and the straight line 115 for the specific part 113. Furthermore, for example, the information processing device 101 calculates, as the first distance, a distance c1 between the center point O3 and the straight line 116 for the specific part 112.
[0039] In the shape data 110, the distance between the center points of the specific parts 111, 112, and 113 can be said to be a dimension that represents the designer's intention. Therefore, the information processing device 101 may calculate, for example, the distance between the center point O1 and the other center points O2 and O3 for the specific part 111 as the second distance. Furthermore, the information processing device 101 may calculate, for example, the distance between the center point O2 and the other center points O1 and O3 for the specific part 112 as the second distance. Furthermore, the information processing device 101 may calculate, for example, the distance between the center point O3 and the other center points O1 and O2 for the specific part 113 as the second distance.
[0040] (2) The information processing device 101 adds the calculated first distance to the dimension information of the specific portion in each shape data. In the example of Fig. 1, the information processing device 101 adds the calculated first distance 131 (distance b1, distance c1) to the dimension information 121 for the specific portion 111.
[0041] Furthermore, the information processing device 101 adds the calculated first distance 132 (distance b4, distance c1) for the specific portion 112 to the dimension information 122. Furthermore, the information processing device 101 adds the calculated first distance 133 (distance b5, distance c1) for the specific portion 113 to the dimension information 123.
[0042] (3) The information processing device 101 identifies the dimensional relationship between different parts of the shape data in the group based on the dimensional information for each part of each shape data in the group. For example, the unit shape data of each shape data classified into the same group are similar to each other (the normalized shapes are substantially the same) and each has corresponding parts.
[0043] The information processing device 101 derives the relationship between a certain part and other parts by a method such as regression analysis based on the dimensional information for each part of each shape data in the group. In more detail, for example, the information processing device 101 creates a relational expression indicating the dimensional relationship between different parts by using one of the multiple parts in each shape data as a response variable and the other parts as explanatory variables.
[0044] In this way, the information processing device 101 can add a new dimension (first distance) that reflects the designer's intention to a specific part in the shape data, and derive the dimensional relationship between different parts of the shape data. Therefore, the information processing device 101 can build a parametric model that reflects the design intention.
[0045] 1, the information processing device 101 can define new dimensions (distances b1, b4, b5, c1) representing positional relationships between specific portions 111-113, which are holes in the shape data 110, and straight lines 115 and 116 on the same plane 114. Therefore, the information processing device 101 can add new dimensions representing the designer's intentions for the specific portions 111-113, and derive dimensional relationships between different portions of the shape data 110.
[0046] (System configuration example of information processing system 200) Next, a system configuration example of an information processing system 200 including the information processing device 101 will be described. Here, a case where the information processing device 101 shown in Fig. 1 is applied to a model generating device 201 in the information processing system 200 will be described as an example. The information processing system 200 is applied to a computer system that supports the design of 3D shapes related to products and buildings, for example.
[0047] In the following description, "3D (three-dimensional) shape data" will be used as an example of shape data.
[0048] Fig. 2 is an explanatory diagram showing an example of a system configuration of an information processing system 200. In Fig. 2, the information processing system 200 includes a model generating device 201 and a client device 202. In the information processing system 200, the model generating device 201 and the client device 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.
[0049] Here, the model generating device 201 has a 3D shape DB (Database) 220 and a standard shape DB 230. The model generating device 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 contents stored in the 3D shape DB 220 and the standard shape DB 230 will be described later with reference to FIG. 4 and FIG. 5.
[0050] The client device 202 is a computer used by a user. The client device 202 is, for example, a PC (Personal Computer), a tablet PC, etc. The user is, for example, a designer who designs an object.
[0051] 2, only one client device 202 is shown, but the present invention is not limited to this. For example, the information processing system 200 may include a plurality of client devices 202. In addition, the model generating device 201 is provided separately from the client device 202, but the present invention is not limited to this. For example, the model generating device 201 may be realized by the client device 202.
[0052] (Example of Hardware Configuration of Model Generator 201) Fig. 3 is a block diagram showing an example of a hardware configuration of the model generating device 201. In Fig. 3, the model generating device 201 has 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. Furthermore, each component is connected to each other by a bus 300.
[0053] Here, the CPU 301 is responsible for the overall control of the model generating device 201. The CPU 301 may have multiple cores. The memory 302 has, for example, a read only memory (ROM), a random access memory (RAM), and a flash ROM. Specifically, for example, the flash ROM stores an operating system (OS) program, the ROM stores application programs, and the RAM is used as a work area for the CPU 301. The programs stored in the memory 302 are loaded into the CPU 301 to cause the CPU 301 to execute the coded processing.
[0054] The disk drive 303 controls reading / writing data from / to the disk 304 under the control of the CPU 301. The disk 304 stores data written under the control of the disk drive 303. The disk 304 is, for example, a magnetic disk, an optical disk, or the like.
[0055] The communication I / F 305 is connected to the network 210 through a communication line, and is connected to an external computer (e.g., the client device 202 shown in FIG. 2) via the network 210. The communication I / F 305 manages the interface between the network 210 and the inside of the device, and controls input and output of data from the external computer. The communication I / F 305 is, for example, a modem or a LAN adapter.
[0056] The portable recording medium I / F 306 controls reading / writing of data from / to the portable recording medium 307 under the control of the CPU 301. The portable recording medium 307 stores data written under the control of the portable recording medium I / F 306. The portable recording medium 307 is, for example, a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disk), or a USB (Universal Serial Bus) memory.
[0057] Note that the model generating 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-mentioned components. Furthermore, the model generating device 201 may have, for example, a display, an input device, etc. in addition to the above-mentioned components. The client device 202 shown in Fig. 2 can also be realized by the same hardware configuration as the model generating device 201. However, the client device 202 has, for example, an input device, a display, etc. in addition to the above-mentioned components.
[0058] (Storage contents of various DB220, 230) 4 and 5, the contents stored in the various DBs 220, 230 of the model generating device 201 will be described. The various DBs 220, 230 are realized by storage devices such as the memory 302 and the disk 304 shown in FIG.
[0059] Fig. 4 is an explanatory diagram showing an example of the contents stored in the 3D shape DB 220. In Fig. 4, the 3D shape DB 220 has fields for ID and 3D shape data, and stores 3D shape management information (for example, 3D shape management information 400-1 to 400-3) as records by setting information in each field.
[0060] Here, id is an identifier that uniquely identifies the 3D shape data. The 3D shape data is 3D shape data that was designed in the past. For convenience of explanation, each 3D shape data is represented as "D1, D2, D3, ...". For example, the 3D shape management information 400-1 indicates the 3D shape data D1 with id "1".
[0061] Fig. 5 is an explanatory diagram (part 1) showing an example of the contents stored in the standard shape DB 230. In Fig. 5, the standard shape DB 230 has fields for ID, standard shape data, relational expressions, and similar shape list, and stores standard shape management information (for example, standard shape management information 500-1, 500-2) as records by setting information in each field.
[0062] Here, id is the id of the 3D shape data from which the standard shape data was created. The standard shape data is unit 3D shape data registered as standard shape data. The relational expression is a mathematical expression that indicates the dimensional relationship between different parts (e.g., sides) in the 3D shape data from which the standard shape data was created. The relational expression may include a hole position model, which will be described later. The hole position model is a model that represents the positional relationship of multiple holes on a surface corresponding to a surface in the 3D shape data.
[0063] Here, Re## indicates different mathematical expressions (## is a number). Each mathematical expression indicates, for example, the relationship of dimensions between different sides in 3D shape data. The similar shape list is a list of IDs of 3D shape data classified into the same group based on standard shape data (unit 3D shape data).
[0064] For example, standard shape management information 500-1 indicates standard shape data D1'' corresponding to 3D shape data D1 with id "1", relational expressions {Re11, Re12, ...}, and similar shape list {1, 7, 18, 21, 33}. Note that variables representing each part in the standard shape data (unit 3D shape data) correspond to variables in the relational expressions. This makes it possible to identify which part in the standard shape data (unit shape data) corresponds to which variable in the relational expressions.
[0065] The standard shape management information may also include dimensional information of a hole corresponding to the standard shape data (unit 3D shape data). The dimensional information of a hole corresponding to the standard shape data (unit 3D shape data) is dimensional information of a hole deleted from the 3D shape data when creating the unit 3D shape data, for example, dimensional information of a hole in any of the 3D shape data classified into the same group.
[0066] (Example of Functional Configuration of Model Generation Device 201) Next, an example of the functional configuration of the model generating device 201 will be described.
[0067] FIG. 6 is a block diagram showing an example of a functional configuration of the model generating device 201. In FIG. 6, the model generating device 201 includes a receiving unit 601, a creating unit 602, a classifying unit 603, a calculating unit 604, a specifying unit 605, a searching unit 606, a generating unit 607, an output unit 608, and a storage unit 610. The receiving unit 601 to the output unit 608 are functions that constitute the control unit 600, and specifically, the functions are realized 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 the communication I / F 305. The processing results of each functional unit are stored in a storage device such as the memory 302 or the disk 304. The storage unit 610 is realized by a storage device such as the memory 302 or the disk 304. 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.
[0068] The receiving unit 601 receives designation of 3D shape data of a target. The 3D shape data of the target is, for example, 3D shape data for designating a design intent for an object. The 3D shape data of the target includes a specific portion having a defined center point. The specific portion is, for example, a curved portion or a hole portion.
[0069] A curved portion is a portion with a defined center point, radius, central angle, and end points, such as an arc-shaped edge portion (an edge portion of a face). The central angle is the angle between a line segment connecting one end point of the curved portion to the center point and a line segment connecting the other end point to the center point. The end points of an arc-shaped edge portion may be specified from the center point, radius, and central angle.
[0070] A hole is a part with a defined center point and radius, for example, a hole that penetrates the 3D shape data, or a recessed hole on the 3D shape data. Here, we assume that the cross-sectional shape of the hole is circular. If the cross-sectional shape of the hole is quadrilateral (square, rectangle, etc.), for example, the length of the diagonal is defined instead of the radius.
[0071] The 3D shape data of the target is specified, for example, from among the 3D shape data stored in the 3D shape DB 220. In addition, the 3D shape data of the target may be 3D shape data in a state where the basic design (designed with rough dimensions) of the object has been completed.
[0072] Specifically, for example, the reception unit 601 receives, from the client device 202, a designation of the 3D shape data of the target by receiving a designation of an ID of any of the 3D shape data stored in the 3D shape DB 220. The reception unit 601 may also receive the 3D shape data of the target itself from the client device 202.
[0073] The creation unit 602 generates unit 3D shape data for each of the plurality of 3D shape data. The plurality of 3D shape data is, for example, 3D shape data stored in the 3D shape DB 220. Each of the plurality of 3D shape data includes, for example, a specific portion (for example, a curved portion, a hole portion) whose center point is defined.
[0074] Specifically, for example, the creation unit 602 deletes dimensional information of holes in specific portions from each of the plurality of 3D shape data. Then, the creation unit 602 normalizes the 3D shape data of each of the plurality of 3D shape data after deleting the dimensional information of the holes for each component in each coordinate axis direction to create unit 3D shape data.
[0075] In the following description, the 3D shape data after the dimensional information of the hole has been deleted may be referred to as "3D shape data (after deletion)".
[0076] 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 (after deletion). The feature points are, for example, vertices of the design object. Then, the creation unit 602 subtracts the extracted minimum value in each coordinate axis direction from each value of the coordinate of each feature point.
[0077] 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 divides each value of the coordinates of each feature point after subtraction by the extracted maximum value in each coordinate axis direction to create unit 3D shape data of each 3D shape data (after deletion).
[0078] Here, an example of creating unit 3D shape data will be described with reference to Fig. 7. In the following description, any 3D shape data among a plurality of 3D shape data may be referred to as "3D shape data Di" (where i is a natural number equal to or greater than 1).
[0079] 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 (after deletion) Di (solid line in FIG. 7) are expressed as P ij (x ij ,y ij ,z ij ) (j=1, 2, ..., J). Here, an example will be described in which the 3D shape data (after deletion) Di is a "rectangular parallelepiped."
[0080] 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 (after deletion) Di. Then, 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 (after deletion) Di. ij The 3D shape data (after deletion) Di is translated by subtracting the minimum value of each coordinate axis direction from each value of . The new 3D shape data (after deletion) obtained here is called "Di'" (dotted line in Figure 7), and the coordinates of each vertex are calculated by P ij '(x ij ',y ij ',z ij ').
[0081] x ij ',y ij ',z ij ' is expressed by the following formulas (1) to (3). Here, "i, j, J ∈ natural numbers" and "x ij ,y ij ,z ij >0".
[0082] xij '=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)
[0083] Next, the creation unit 602 calculates the coordinates P ij Then, the creation unit 602 extracts the maximum value in each coordinate axis direction from the coordinates P ij The normalized unit 3D shape data is created by dividing each value of Di'' by the maximum value of each coordinate axis direction. The unit 3D shape data obtained here is called "Di''" (dotted line in Figure 7), and the coordinates of each vertex are P ij ''(x ij ",y ij ",z ij '').
[0084] x ij ",y ij ",z ij '' is expressed by the following formulas (4) to (6).
[0085] 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 ',zi2 ',…,z iJ ']) ···(6)
[0086] In addition, the 3D shape data (after deletion) may include only the center point of the hole dimension information as a feature point. In this case, the creation unit 602 can create unit 3D shape data expressing the center point of the hole from the 3D shape data (after deletion).
[0087] Returning to the description of Fig. 6, the classification unit 603 classifies the multiple 3D shape data based on the unit 3D shape data of each of the created 3D shape data (after deletion). Each of the multiple 3D shape data to be classified is 3D shape data corresponding to the 3D shape data (after deletion).
[0088] 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 a combination of unit 3D shape data for which the calculated similarity is equal to or greater than a threshold. Then, the classification unit 603 classifies the multiple 3D shape data such that 3D shape data corresponding to each unit 3D shape data included in the identified combination of unit 3D shape data are grouped together. The threshold can be set arbitrarily. For example, the threshold is set to a value that allows the unit 3D shape data to be determined to match each other if the similarity is equal to or greater than the threshold.
[0089] More specifically, for example, the classification unit 603 calculates the similarity between the unit 3D shape data by comparing 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. The unit 3D shape data of the target 3D shape data is created after deleting the dimensional information of the hole.
[0090] Each of the 3D shape data in the 3D shape DB 220 to be compared is, for example, 3D shape data including a specific portion (for example, a curved portion, a hole). Also, each of the 3D shape data in the 3D shape DB 220 to be compared may be, for example, 3D shape data having the same number of holes as the target 3D shape data. The classification unit 603 may select, from the 3D shape DB 220, 3D shape data having the same number of holes as the target 3D shape data.
[0091] For example, the classification unit 603 compares images of the unit 3D shape data captured from a plurality of directions between the unit 3D shape data to calculate the similarity between the images. Any existing technology may be used to calculate the similarity between the images.
[0092] Next, the classification unit 603 calculates the similarity between unit 3D shape data by accumulating the calculated similarity between images. Then, the classification unit 603 classifies 3D shape data corresponding to a combination of unit 3D shape data whose calculated similarity is equal to or greater than a threshold into the same group. This makes it possible to extract 3D shape data whose unit 3D shape data is similar to the target 3D shape data from the 3D shape DB 220.
[0093] Here, an example of classification of 3D shape data will be described with reference to FIG.
[0094] Fig. 8 is an explanatory diagram showing an example of classification of 3D shape data. In Fig. 8, 3D shape data D11 to D15 are displayed. However, in Fig. 8, the 3D shape data D11 to D15 are displayed in a state where specific portions (for example, curved portions, holes) are deleted.
[0095] The 3D shape data D11 is 3D shape data of the target. The 3D shape data D12 is 3D shape data that has a different orientation from the 3D shape data D11 of the target. The 3D shape data D13 is 3D shape data that is similar to the 3D shape data D11 of the target. The 3D shape data D14 and D15 are 3D shape data that have a part of a different length from the 3D shape data D11 of the target. In FIG. 8, l1 to l in the 3D shape data D11 18 indicates a side in the 3D shape data D11. Also, the numerical values in each of the 3D shape data D11 to D15 indicate the size of each side.
[0096] Here, when each of the 3D shape data D11 to D15 is normalized for each component in the coordinate axis direction as described in Fig. 7, unit 3D shape data 800 (corresponding to 3D shape data D11'' to D15'') having the same shape is created. In this case, the 3D shape data D11 to D15 are classified into the same group.
[0097] In this way, by determining similarity based on unit 3D shape data (parametric relationships), it is possible to classify objects with the same side ratio in each coordinate axis direction. Not only shapes that are identical or similar to the target, but also shapes with some differences in length can be classified into the same group.
[0098] The calculation unit 604 calculates a first distance for a specific part having a defined center point among a plurality of parts included in the shape represented by each 3D shape data in the classified group. The calculation unit 604 then adds the calculated first distance to the dimensional information of the specific part in each 3D shape data. Here, the first distance is the distance between a straight line on the same plane as the center point of the specific part in each 3D shape data and the said center point. The straight line on the same plane is, for example, an edge part of the straight line.
[0099] For example, the specific portion is assumed to be an arc-shaped edge (curved portion). For example, a center point, a radius, a central angle, and end points are defined for the arc-shaped edge. In this case, the calculation unit 604 calculates the distance (first distance) between the center point of the arc-shaped edge and a straight line on the same plane as the center point in the 3D shape data.
[0100] The distance to the center point of the arc-shaped edge portion may be calculated for all straight lines on the same plane, for example. The distance to the center point of the arc-shaped edge portion may also be calculated for the straight line that is closest to the center point among the straight lines on the same plane. The calculation unit 604 then adds the calculated first distance to the dimensional information of the arc-shaped edge portion in the 3D shape data.
[0101] Here, a calculation example of the first distance of the arc-shaped edge portion will be described with reference to FIG.
[0102] Fig. 9 is an explanatory diagram showing an example of an arc-shaped edge portion. In Fig. 9, an arc-shaped edge portion 900 is an example of a specific portion in 3D shape data. A center point O1, a radius r1, a central angle θ1, and end points A and B are defined for the arc-shaped edge portion 900.
[0103] First, the calculation unit 604 identifies two straight lines 901 and 902 adjacent to the center point O1 from the 3D shape data. Next, the calculation unit 604 judges whether or not the four end points of the identified straight lines 901 and 902 are on the same plane. If the four end points are on the same plane, the calculation unit 604 judges whether or not the center point O1 is on that plane.
[0104] Here, if the center point O1 is on that plane, the calculation unit 604 determines that the straight lines 901 and 902 are on the same plane as the center point O1. In this case, the calculation unit 604 calculates the distances (shortest distances) d1 and d2 between the center point O1 of the arc-shaped edge portion 900 and the straight lines 901 and 902 as the first distances.
[0105] Also, the specific portion is assumed to be a hole. The hole is a hole that penetrates the 3D shape data, or a recessed hole on the 3D shape data. For example, a center point and a radius are defined for the hole. In this case, the calculation unit 604 calculates the distance (first distance) between the center point of the hole and a straight line on the same plane as the center point in the 3D shape data.
[0106] The distance to the center point of the hole may be calculated for all straight lines on the same plane, for example. The distance to the center point of the hole may also be calculated for the straight line that is closest to the center point among the straight lines on the same plane. The calculation unit 604 then adds the calculated first distance to the dimensional information of the hole in the 3D shape data.
[0107] Furthermore, when the specific portion is a hole, the calculation unit 604 may further calculate a distance (second distance) between the center point of the hole and the center point of another hole on the same plane as the center point in the 3D shape data. Then, the calculation unit 604 may add the calculated second distance to the dimensional information of the hole in the 3D shape data.
[0108] Here, an example of calculating the first and second distances of the hole will be described with reference to FIGS. 10A and 10B.
[0109] Fig. 10A is an explanatory diagram (part 1) showing an example of a hole. In Fig. 10A, a hole 1000 is an example of a specific portion in 3D shape data. A center point O2 and a radius r2 are defined for the hole 1000. Straight lines 1001 and 1002 are straight lines on the same plane as the center point O2 of the hole 1000.
[0110] In this case, the calculation unit 604 calculates the distances (shortest distances) d3 and d4 between the center point O2 of the hole 1000 and each of the straight lines 1001 and 1002 as the first distance.
[0111] Fig. 10B is an explanatory diagram (part 2) showing an example of a hole. In Fig. 10B, a hole 1011 is an example of a specific portion in 3D shape data. A center point O3 and a radius r3 are defined for the hole 1011. Center points O4 and O5 are the center points of other holes 1012 and 1013 that are on the same plane as the center point O3 of the hole 1011.
[0112] In this case, the calculation unit 604 calculates the distances d5 and d6 between the center point O3 of the hole 1000 and the center points O4 and O5 of the other holes 1012 and 1013 as the second distances.
[0113] Returning to the description of Fig. 6, the identification unit 605 identifies the dimensional relationship between different parts of the 3D shape data in the classified group based on the dimensional information for each part of the 3D shape data in the group. Here, the parts of the 3D shape data are, for example, sides, faces, arc-shaped edges, holes, etc.
[0114] The dimensional information of the part "side" includes, for example, the attribute "straight line", the coordinates of the endpoints, and the length. The dimensional information of the part "face" includes, for example, the attribute "face", the coordinates of the vertices, and the side. The dimensional information of the part "hole" includes, for example, the attribute "curve", the coordinates of the center point, and the radius. The dimensional information of the part "hole" includes the added first distance and second distance. The dimensional information of the part "arc-shaped edge" includes, for example, the attribute "curve", the coordinates of the center point, the radius, the central angle, and the coordinates of the endpoints. The dimensional information of the part "arc-shaped edge" includes the added first distance.
[0115] Specifically, for example, the identification unit 605 creates a vector for each part in each 3D shape data in the group, with the dimensions of the part in each 3D shape data as elements. The dimensions of each part are identified from the dimension information. Then, the identification unit 605 creates a relational equation showing the dimensional relationship between different parts based on the created vector for each part, with one of the multiple parts in each 3D shape data as the objective variable and the other parts as the explanatory variables. The dimensional relationship between different parts can be constructed by, for example, a method such as linear regression analysis, nonlinear regression analysis, or machine learning using a neural network.
[0116] The specifying unit 605 may also determine, as the objective variable, a part in which the variance of the elements of the created vector is relatively high among the multiple parts in each 3D shape data. This allows the relational equation to be constructed by excluding parts whose dimensions do not change between 3D shape data in a group from the objective variable. Note that the correlation coefficient between variables may be calculated, and variables with relatively low correlation may be excluded.
[0117] Furthermore, the identifying unit 605 may select, as an explanatory variable, a part having a relatively high contribution rate to the objective variable among a plurality of parts in each 3D shape data. The contribution rate (coefficient of determination) is a value indicating how much of the objective variable the explanatory variable can explain. To explain in more detail, for example, when constructing the relational expression, the identifying unit 605 may select, as an explanatory variable, a variable having a high contribution rate to the objective variable by a stepwise method.
[0118] Here, when identifying the correspondence relationship of parts between 3D shape data classified into the same group, the identifying unit 605 aligns the orientations of the x-axis, y-axis, and z-axis of the unit 3D shape data of each 3D shape data, for example. Then, the identifying unit 605 may align the orientations of the 3D shape data in the group based on the unit 3D shape data with aligned orientations to identify corresponding parts between the 3D shape data.
[0119] For the process of identifying the correspondence between parts between 3D shape data within a group, reference can be made to, for example, prior art 2 (Patent Publication No. 2022-168686).
[0120] For example, the identification unit 605 identifies a second part in the second 3D shape data corresponding to a first part in the first 3D shape data. Here, the first 3D shape data and the second 3D shape data are 3D shape data in a classified group. The first 3D shape data is, for example, 3D shape data of a target.
[0121] The second 3D shape data is another 3D shape data different from the first 3D shape data in the classified group. The first portion is a part of the shape (part) represented by the first 3D shape data. The second portion is a part of the shape (part) represented by the second 3D shape data. Each portion is, for example, a side, a hole, an arc-shaped edge, etc.
[0122] For example, for each part (first part) of the first 3D shape data, the identification unit 605 identifies a part (second part) of the second 3D shape data corresponding to the part (first part) of the first 3D shape data.
[0123] Specifically, for example, the identification unit 605 acquires third unit 3D shape data and fourth unit 3D shape data for each of the first 3D shape data and the second 3D shape data. Here, the third unit 3D shape data is, for example, unit 3D shape data created by normalizing the first 3D shape data for each component in the direction of each coordinate axis. The fourth unit 3D shape data is, for example, unit 3D shape data created by normalizing the second 3D shape data for each component in the direction of each coordinate axis.
[0124] However, the third unit 3D shape data may be created based on 3D shape data obtained by deleting information other than the center point of the dimensional information of the hole from the first 3D shape data. Similarly, the fourth unit 3D shape data may be created based on 3D shape data obtained by deleting information other than the center point of the dimensional information of the hole from the second 3D shape data. In this way, the specifying unit 605 can create unit 3D shape data by deleting the outer shape of the hole while leaving the center point of the hole as a feature point.
[0125] Next, the identification unit 605 generates a first plurality of images and a second plurality of images by capturing the third unit 3D shape data and the fourth unit 3D shape data from both directions of the multiple axes. Here, the first plurality of images is, for example, a collection of 2D images by capturing the third unit 3D shape data from both directions of the x-axis, the y-axis, and the z-axis. Also, the second plurality of images is, for example, a collection of 2D images by capturing the fourth unit 3D shape data from both directions of the x-axis, the y-axis, and the z-axis.
[0126] In the following description, a set of six images (2D images) of 3D shape data captured from the positive and negative directions of the x-axis, y-axis, and z-axis may be referred to as a "six-sided drawing." Each side of the six-sided drawing corresponds to one of the images of the 3D shape data captured from the positive and negative directions of the x-axis, y-axis, and z-axis.
[0127] More specifically, for example, the determination unit 605 generates the first plurality of images by rotating the third unit 3D shape data by a predetermined angle α around each of the x-axis, y-axis, and z-axis directions (positive and negative directions) to generate images captured from each direction. The predetermined angle α can be set arbitrarily, and is set to a value such as 45 degrees, 90 degrees, or 180 degrees.
[0128] In addition, the determination unit 605 generates a second plurality of images by rotating the fourth unit 3D shape data by a predetermined angle α around the x-axis, y-axis, and z-axis in each direction (positive and negative directions) and generating images captured from each direction.
[0129] For example, if the 3D shape data (third unit 3D shape data, fourth unit 3D shape data) is rotated 90 degrees around the axis in each of the positive and negative directions of the x-axis, y-axis, and z-axis and imaged from each direction, 24 images (6 x 4) will be generated.
[0130] Then, the identification unit 605 identifies a second portion of the second 3D shape data that corresponds to the first portion 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 the comparison between the first plurality of images and the second plurality of images.
[0131] Here, the alignment of the first 3D shape data and the second 3D shape data is performed, for example, by aligning the orientations of the third unit 3D shape data and the fourth unit 3D shape data. Methods (methods 1 to 3) for aligning the orientations of the third unit 3D shape data and the fourth unit 3D shape data based on the result of comparing the first and second multiple images will be described later.
[0132] Furthermore, the identifying unit 605 aligns the orientations of the third unit 3D shape data and the fourth unit 3D shape data, and identifies the correspondence between the parts of the third unit 3D shape data and the fourth unit 3D shape data. For example, each part of each unit 3D shape data is treated as a side. An edge part of an arc may be treated as a side. Furthermore, each side is determined by the start point (x start ,y start ,z start ), end point(x end ,y end ,z end ) is expressed as a vector with elements.
[0133] In this case, the identifying unit 605 compares, for each side of the third unit 3D shape data, the vector of that side with the vector of each side of the fourth unit 3D shape data to calculate the distance between the vectors. Then, for each side of the third unit 3D shape data, the identifying unit 605 identifies, among the sides of the fourth unit 3D shape data, the side with the closest calculated distance as the side corresponding to the side of the third unit 3D shape data. This makes it possible to identify the correspondence between the sides of the third unit 3D shape data and the fourth unit 3D shape data.
[0134] Each portion of each unit 3D shape data is regarded as a hole. Each hole is represented by a vector having the coordinates of the center point of each hole as an element. In this case, for each hole in the third unit 3D shape data, the identification unit 605 compares the vector of the hole with the vector of each hole in the fourth unit 3D shape data, and calculates the distance between the vectors.
[0135] Then, for each hole in the third unit 3D shape data, the identifying unit 605 identifies, among the holes in the fourth unit 3D shape data, the hole having the closest calculated distance as the hole corresponding to the hole in the third unit 3D shape data. This makes it possible to identify the correspondence between the holes in the third unit 3D shape data and the fourth unit 3D shape data.
[0136] Here, the correspondence between the parts of the first 3D shape data and the third unit 3D shape data can be specified, for example, by associating the corresponding parts before and after the conversion. Also, the correspondence between the parts of the second 3D shape data and the fourth unit 3D shape data can be specified, for example, by associating the corresponding parts before and after the conversion.
[0137] Therefore, the identifying unit 605 can identify a second portion of the second 3D shape data corresponding to a first portion of the first 3D shape data from the correspondence between the portions of the third unit 3D shape data and the fourth unit 3D shape data. For example, the identifying unit 605 identifies the same location between the pre-conversion 3D shape data from the correspondence between the portions of the third unit 3D shape data and the fourth unit 3D shape data.
[0138] In this way, if the identification unit 605 can align the orientations of the third unit 3D shape data and the fourth unit 3D shape data, it can identify the second portion of the second 3D shape data that corresponds to the first portion of the first 3D shape data.
[0139] Here, methods (methods 1 to 3) for aligning the orientations of the third unit 3D shape data and the fourth unit 3D shape data based on the results of comparing the first plurality of images with the second plurality of images will be described.
[0140] First, a first method for aligning the orientations of the third unit 3D shape data and the fourth unit 3D shape data based on the results of comparing the first plurality of images with the second plurality of images will be described.
[0141] The identification unit 605 compares each of the first plurality of images with each of the second plurality of images to calculate the similarity between each of the images. The similarity between each of the images is calculated, for example, based on the feature amount of each of the images. Next, the identification unit 605 identifies a correspondence between an image included in the first plurality of images and an image included in the second plurality of images based on the calculated similarity between each of the images. Then, the identification unit 605 aligns the orientations of the third unit 3D shape data and the fourth unit 3D shape data based on the identified correspondence.
[0142] More specifically, for example, the identification unit 605 calculates the image similarity between the third unit 3D shape data and the fourth unit 3D shape data in a brute-force manner using the first multiple images (e.g., 24 images) and the second multiple images (e.g., 24 images).Then, the identification unit 605 acquires information for identifying the orientations of the third unit 3D shape data and the fourth unit 3D shape data by identifying the top three image pairs (surfaces) with the highest calculated similarities.
[0143] This enables the identification unit 605 to align the orientations of the first 3D shape data and the second 3D shape data and identify a second portion of the second 3D shape data that corresponds to a first portion of the first 3D shape data.
[0144] Next, a second method for aligning the orientations of the third and fourth unit 3D shape data based on the results of comparing the first and second multiple images will be described.
[0145] The identification unit 605 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 with the second plurality of images, taking into consideration the arrangement pattern of each image (surface) in the six-sided view, and is, for example, an image with the greatest characteristics among the first plurality of images.
[0146] Next, the identification unit 605 identifies a second reference image from the second plurality of images based on a result of comparing the selected first reference image with each of the second plurality of images. Specifically, for example, the identification unit 605 identifies an image from the second plurality of images that has the highest similarity to the first reference image as the second reference image.
[0147] Next, the identifying unit 605 identifies a combination of images (referred to as a "first combination") obtained by capturing the third unit 3D shape data when the first reference image is captured from each of the directions other than the direction in which the first reference image is captured, among the first multiple images. The first combination is, for example, a combination of images captured from each of the directions adjacent to the direction in which the first reference image is captured.
[0148] As an example, if the direction in which the first reference image is captured is the negative direction of the x-axis, the other directions adjacent to that direction are up to four directions, namely the positive and negative directions of the y-axis and the positive and negative directions of the z-axis. To explain in more detail, for example, the first combination is a combination of images corresponding to each of the four adjacent faces of the face corresponding to the first reference image. However, the first combination may be an image of at least one of the four adjacent faces of the face corresponding to the first reference image.
[0149] Furthermore, the identifying unit 605 identifies a combination of images (referred to as a "second combination") captured from directions other than the direction in which the second reference image was captured, from among the second plurality of images, 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 directions adjacent to the direction in which the second reference image was captured.
[0150] As an example, if the direction in which the second reference image is captured is the negative direction of the x-axis, the other directions adjacent to that direction are up to four directions, namely the positive and negative directions of the y-axis and the positive and negative directions of the z-axis. To explain in more detail, 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.
[0151] Then, the identifying unit 605 aligns the orientations of the third unit 3D shape data and the fourth unit 3D shape data based on the result of comparing the identified first combination image with the identified second combination image. In this way, in Method 2, the identifying unit 605 identifies, for example, the most characteristic surface (reference image), and then aligns the orientations of the third unit 3D shape data and the fourth unit 3D shape data using the four adjacent surfaces of that surface.
[0152] This enables the identification unit 605 to align the orientations of the first 3D shape data and the second 3D shape data and identify a second portion of the second 3D shape data that corresponds to a first portion of the first 3D shape data.
[0153] Next, a third method for aligning the orientations of the third and fourth unit 3D shape data based on the results of comparing the first and second multiple images will be described.
[0154] The identifying unit 605 identifies, from the first plurality of images, a combination of images in which the third unit 3D shape data is fixed and the third unit 3D shape data is captured from both directions of each of the plurality of axes (hereinafter referred to as "third combination"). Also, from the second plurality of images, the identifying unit 605 identifies, for each of the fourth unit 3D shape data rotated by a predetermined angle α around each of the plurality of axes, a combination of images in which the fourth unit 3D shape data is captured from both directions of each of the plurality of axes (hereinafter referred to as "fourth combination").
[0155] Then, the identifying unit 605 aligns the orientations of the third and fourth unit 3D shape data based on a comparison result between the identified third and fourth combination images. Specifically, for example, the identifying unit 605 simultaneously compares six faces between the third and fourth unit 3D shape data, and identifies the pattern with the highest overall evaluation.
[0156] This enables the identification unit 605 to align the orientations of the first 3D shape data and the second 3D shape data and identify a second portion of the second 3D shape data that corresponds to a first portion of the first 3D shape data.
[0157] However, when identifying the correspondence relationship of parts between 3D shape data classified into the same group, the identifying unit 605 may align the orientation of each piece of 3D shape data in the group, for example, by an operation input by a user using the client device 202. Furthermore, the identifying unit 605 may identify corresponding parts between 3D shape data in the group, by an operation input by a user.
[0158] Here, it is assumed that a part (first part) in the 3D shape data (first 3D shape data) in the group and a part (second part) in the other 3D shape data (second 3D shape data) corresponding to each other are identified. In this case, the identification unit 605 identifies the dimensional relationship between different parts of the 3D shape data in the group based on the correspondence relationship of the identified parts and the dimensional information for each part of each 3D shape data in the group.
[0159] Specifically, for example, the identification unit 605 extracts dimensions of a first part from the first 3D shape data, and extracts dimensions of a second part corresponding to the first part from the second 3D shape data.
[0160] For example, the identifying unit 605 can create a dimension table 1700 as shown in Fig. 17, which will be described later, by associating the dimensions of the extracted first part with the dimensions of the extracted second part. The identifying unit 605 identifies the dimensional relationship between different parts of the 3D shape data in a group, based on the dimensions of the extracted first part and the dimensions of the extracted second part.
[0161] More specifically, for example, the identification unit 605 creates a vector for each part in each 3D shape data in the group, with elements being the dimensions of the part in each 3D shape data, with reference to a dimension table 1700 as shown in Fig. 17. Then, the identification unit 605 creates a relational expression showing the relationship of dimensions between different parts based on the created vector for each part, with one of the parts in each 3D shape data as the objective variable and the other parts as explanatory variables.
[0162] Furthermore, the identifying unit 605 may identify the positional relationship between different holes on the same plane in the 3D shape data in the group. Specifically, for example, the identifying unit 605 determines whether or not the center points of multiple holes on the same line exist on the plane in each 3D shape data in the group.
[0163] Here, when the center points of the multiple holes are on the same line, the identifying unit 605 judges whether the center points of the multiple holes are arranged at equal intervals on the line. Then, when the center points of the multiple holes are arranged at equal intervals on the line, the identifying unit 605 identifies the positional relationship between the different holes on the plane.
[0164] To explain in more detail, for example, the identification unit 605 creates a hole position model that identifies the positional relationship between different holes on a plane based on the number of holes included in the multiple holes, from the distance between the center points of the hole portions at both ends of the multiple holes and the distance between the center points of adjacent hole portions of the multiple holes.
[0165] This allows the identification unit 605 to derive the positional relationship (hole position model) between different holes on a plane. The hole position model expresses the positional relationship between a plurality of holes with the number of holes as a parameter, and is included in the parametric model. The hole position model is derived for a surface (plane) in the 3D shape data in a group. A specific example of the hole position model will be described later with reference to FIG. 18.
[0166] The output unit 608 outputs information indicating the dimensional relationship between the identified parts in association with the unit 3D shape data corresponding to the 3D shape data in the classified group. Here, the unit 3D shape data corresponding to the 3D shape data is, for example, unit 3D shape data created from the 3D shape data (after deletion). In this case, the unit 3D shape data does not include dimensional information of the hole.
[0167] For this reason, the output unit 608 may further associate and output dimensional information of the hole in the 3D shape data. In this way, when the output unit 608 outputs information indicating the dimensional relationship between the identified parts in association with the unit 3D shape data, for example, it is possible to display a symbol representing the hole at a position corresponding to the center point of the hole in the unit 3D shape data.
[0168] The position corresponding to the center point of the hole in the unit 3D shape data can be set arbitrarily. For example, it may be a predetermined position on a plane in the unit 3D shape data that corresponds to the plane on which the center point of the hole exists in the original 3D shape data. The predetermined position may be, for example, near the center, near the upper left, or near the upper right of the plane.
[0169] The output unit 608 may further output information indicating the positional relationship between the identified holes in association with the planes in the 3D shape data. For example, assume that a hole position model corresponding to a first plane in the 3D shape data in a classified group is created. Also, a plane corresponding to the first plane in the unit 3D shape data of the 3D shape data is set as a second plane.
[0170] In this case, the output unit 608 may output a hole position model corresponding to the first plane in association with the second plane in the unit 3D shape data. The hole position model corresponding to the first plane may also represent the positional relationship between holes in the planes in other 3D shape data in the group that correspond to the first plane.
[0171] The output format of the output unit 608 may be, 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. Specifically, for example, the output unit 608 may store information indicating the dimensional relationship between the identified parts in the storage unit 610 in association with unit 3D shape data of the 3D shape data in the group.
[0172] To explain in more detail, for example, the output unit 608 may store the unit 3D shape data of the 3D shape data in the group as standard shape data in the standard shape DB 230 shown in Fig. 5 in association with a relational expression indicating the dimensional relationship between the parts of the 3D shape data in the identified group. The relational expression may include a hole position model.
[0173] At this time, the output unit 608 may store information capable of identifying 3D shape data classified into the same group based on the standard shape data (unit 3D shape data), such as a similar shape list, together with the standard shape DB 230. The output unit 608 may also store, together with the standard shape DB 230, dimensional information of a hole in any of the 3D shape data classified into the same group.
[0174] This makes it possible to accumulate knowledge, including the unit 3D shape data as well as the parametric models (relational expressions) of 3D shapes classified by the unit 3D shape data.
[0175] Furthermore, the creation unit 602 normalizes the 3D shape data of the specified target for each component in each coordinate axis direction to create unit 3D shape data of the target. Specifically, for example, the creation unit 602 deletes dimensional information of the hole from the 3D shape data of the specified target. Then, the creation unit 602 normalizes the 3D shape data of the target (after deletion) for each component in each coordinate axis direction to create unit 3D shape data.
[0176] The search unit 606 searches for first unit 3D shape data similar to the unit 3D shape data of the created target by referring to the storage unit 610. Specifically, for example, the search unit 606 calculates the similarity between the unit 3D shape data of the target and the standard shape data by referring to the standard shape DB 230. Then, the search unit 606 searches for standard shape data for which the calculated similarity is equal to or greater than a threshold value.
[0177] The output unit 608 outputs the retrieved 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 retrieved standard shape data and a relational expression stored in the standard shape DB 230 in association with the standard shape data. At this time, the output unit 608 may display a symbol representing a hole at a position corresponding to the center point of the hole in the standard shape data. In addition, the output unit 608 may output a hole position model created for a surface (first plane) in the 3D shape data corresponding to a surface (second plane) in the standard shape data.
[0178] The standard shape data and the relational expressions are output to, for example, the client device 202. This enables a designer to design an object based on the standard shape data and the relational expressions (parametric relationships) when creating a new design.
[0179] The receiving unit 601 may also receive designation of design requirements for an object. Here, the design requirements for an object indicate conditions that should be satisfied when designing the object, such as dimensions of a specific portion.
[0180] The generating unit 607 generates design data for the object based on the searched first unit 3D shape data and the specified design requirements, in accordance with information indicating the dimensional relationship between different portions associated with the first unit 3D shape data and stored in the storage unit 610. In this case, the output unit 608 outputs the generated design data for the object.
[0181] Specifically, for example, the generation unit 607 generates design data for the object based on the searched standard shape data and the specified design requirements, in accordance with a relational equation stored in the standard shape DB 230 in correspondence with the standard shape data.
[0182] This allows, for example, when a designer specifies the dimensions of a specific side of standard shape data, the dimensions of other sides that have a dimensional relationship with that side are automatically changed according to the relational expression, and design data for the target object can be automatically generated. Note that, if a design requirement that violates the relational expression is specified, for example, an error will occur as a requirement violation.
[0183] Furthermore, the 3D shape data in the group may be stored in association with unit 3D shape data of the 3D shape data in the group in the storage unit 610. In this case, the output unit 608 may output the 3D shape data in the group stored in the storage unit 610 in association with the searched first unit shape data.
[0184] Specifically, for example, first, the output unit 608 identifies a similar shape list stored in the standard shape DB 230 in association with the searched standard shape data. Next, the output unit 608 extracts 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.
[0185] This allows designers, when creating a new design, to design the object by reusing previously designed 3D shape data that was classified into the same group as the target based on the unit 3D shape data, for example.
[0186] The output unit 608 may output the 3D shape data in the group and information indicating the dimensional relationship between different parts, which are associated with the searched first unit shape data and stored in the storage unit 610. Specifically, for example, the output unit 608 first identifies a similar shape list stored in the standard shape DB 230 in association with the searched standard shape data.
[0187] Next, the output unit 608 extracts 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 a relational expression (including, for example, a hole position model) stored in the standard shape DB 230 in association with the searched standard shape data.
[0188] This allows designers to design objects according to relational expressions (parametric relationships) based on previously designed 3D shape data when creating new designs. For example, when a designer specifies the dimensions of a side of previously designed 3D shape data, the dimensions of other sides that have a dimensional relationship with the specified side are automatically changed according to the relational expressions, and design data for the object can be automatically generated. In addition, designers can find discrete relationships that occur periodically for multiple holes on the same line from a hole position model.
[0189] In the above description, the unit 3D shape data for each of the 3D shape data classified into the same group is stored in the standard shape DB 230. However, this is not limited to this. For example, the standard shape DB 230 may store only the unit 3D shape data of any of the 3D shape data classified into the same group as standard shape data.
[0190] (Example of operation of model generating device 201) Next, an example of the operation of the model generating device 201 will be described with reference to FIGS. 11A and 11B.
[0191] 11A and 11B are explanatory diagrams showing an example of the operation of the model generating device 201. In Fig. 11A, 3D shape data 1101 to 1103 are shown in the 3D shape DB 220. The 3D shape data 1101 to 1103 are 3D shape data each having two holes, and are an example of a plurality of 3D shape data in the 3D shape DB 220.
[0192] The model generating device 201 deletes the dimensional information of the holes from each of the 3D shape data 1101 to 1103. Here, 3D shape data 1101' to 1103' (after deletion) are shown after the dimensional information of the holes has been deleted from each of the 3D shape data 1101 to 1103. At this time, the model generating device 201 may leave, for example, only the center point of the dimensional information of the holes as a feature point in each of the 3D shape data 1101' to 1103' (after deletion).
[0193] Next, the model generating device 201 normalizes each of the 3D shape data 1101'-1103' (after deletion) for each component in the coordinate axis direction to generate unit 3D shape data. Here, each of the unit 3D shape data 1111-1113 is generated from each of the 3D shape data 1101'-1103' (after deletion).
[0194] Then, the model generating device 201 classifies the 3D shape data 1101-1103 based on the created unit 3D shape data 1111-1113. Here, it is assumed that the 3D shape data 1101 is the target 3D shape data, and the similarity between the unit 3D shape data 1111 of the 3D shape data 1101 and the unit 3D shape data 1112, 1113 is equal to or greater than a threshold. In this case, the 3D shape data 1101-1103 are classified into the same group (similar shape search).
[0195] 11B, the model generating device 201 calculates a first distance for each hole in each of the 3D shape data 1101-1103 in the classified group. The first distance is the distance between the center point of each hole in each of the 3D shape data 1101-1103 and a straight line on the same plane. Then, the model generating device 201 adds the calculated first distance to the dimensional information of each hole in each of the 3D shape data 1101-1103.
[0196] Furthermore, the model generating device 201 calculates a second distance for each hole in each of the 3D shape data 1101 to 1103. The second distance is the distance between the center point of each hole and the center point of another hole on the same plane. Then, the model generating device 201 adds the calculated second distance to the dimensional information of each hole in each of the 3D shape data 1101 to 1103.
[0197] Here, an example of calculating new dimensions for a hole will be described with reference to FIG.
[0198] FIG. 12 is an explanatory diagram showing an example of calculation of new dimensions for a hole. In FIG. 12, 3D shape data 1111 is shown. The 3D shape data 1101 has holes 1201 and 1202. The model generating device 201 calculates a new dimension for a plane p i From the coordinates of the three end points (end points of the edge part) of the plane p i The equation for p i : αx + βy + γz + δ = 0" is calculated (α, β, γ, and δ are constants).
[0199] Next, the model generating device 201 calculates the plane p i The equation for p i :αx+βy+γz+δ=0" to find the center point O of the hole on the plane pi i Here, center points O1 and O2 of the two holes 1201 and 1202 are identified. The model generating device 201 calculates the first and second distances for each of the holes 1201 and 1202.
[0200] For example, for the hole 1202, the center point O2 and the same plane p iThe distance d1 between the hole 1202 and the straight line 1203 is calculated as the first distance. i A distance d2 between the center point O of another hole 1201 located at the center of the hole 1201 and the center point O of the other hole 1201 located at the center of the hole 1201 is calculated as a second distance.
[0201] Returning to the explanation of Fig. 11B, the model generating device 201 specifies the dimensional relationship between different parts of the 3D shape data 1101-1103 in the group based on the dimensional information for each part of the 3D shape data 1101-1103 in the classified group. Here, it is assumed that the dimensional relationship between different parts of the 3D shape data 1101-1103 is specified and a parametric model 1120 is generated.
[0202] The parametric model 1120 includes unit 3D shape data 1111 and a relational expression 1121. In the unit 3D shape data 1111, symbols 1122 and 1123 representing holes are displayed at the positions of the center points (feature points) of the holes. The relational expression 1121 is a relational expression that indicates the dimensional relationship between different parts of the 3D shape data 1101 to 1103.
[0203] (Example of constructing a parametric model) Next, an example of constructing a parametric model will be described with reference to FIGS.
[0204] Fig. 13 is an explanatory diagram showing an example of 3D shape data. In Fig. 13, 3D shape data A to E are 3D shape data classified into the same group based on unit 3D shape data. Here, a calculation example of new dimensions (first distance, second distance) will be described using 3D shape data C as an example.
[0205] 14 and 15 are explanatory diagrams showing an example of calculating new dimensions. Fig. 14 shows a plane P1 in the 3D shape data C. Here, an example of calculating new dimensions will be described using the plane P1 in the 3D shape data C as an example.
[0206] (i) The model generating device 201 calculates the coordinates (a x ,a y ,a z ), the coordinates of end point B (b x ,b y ,b z ) and the end point C(c x ,c y ,c z ) to calculate the equation for plane P1, "p1: α1x + β1y + γ1z + δ1 = 0." Here, plane P1 has been used as an example, but the equation for each plane P in the 3D shape data C is i For the plane P i The equation is calculated (i=1,2,...).
[0207] (ii) The model generating device 201 calculates the center points O of each hole in the 3D shape data C. j From the coordinates of each plane P i Identify the center point on the top and group the identified center point into group G ik (k=1, 2, ...). Here, we define a group G including center points O1, O2, and O3 on plane P1. 11 is identified.
[0208] (iii) The model generating device 201 generates a group G ik Each center point in j For plane P i Upper line L im Distance d from (m=1,2,…) jim Here, the center point O1 on the plane P1 and the straight line L on the plane P1 are calculated. 11 Distance d 111 is calculated (first distance). In addition, the distance between the center point O1 on the plane P1 and the straight line L on the plane P1 is calculated. 12 Distance d 112 is calculated (the first distance).
[0209] Also, the center point O2 on the plane P1 and the line L on the plane P1 11 Distance d 211 is calculated (first distance). Also, the distance between the center point O2 on the plane P1 and the straight line L on the plane P1 is calculated. 12 Distance d 212is calculated (the first distance).
[0210] Although not shown in the figure, similarly, for the center point O3 on the plane P1, the center point O3 on the plane P1 and the straight line L on the plane P1 are 11 Distance d 311 is calculated (first distance). In addition, the distance between the center point O3 on the plane P1 and the straight line L on the plane P1 is calculated. 12 Distance d 312 is calculated (the first distance).
[0211] In FIG. 15, a plane P1 (end points A, B, C, and D) in the 3D shape data C is shown. (iv) The model generating device 201 generates a group G ik For the center point group within, between different center points (center point O s and center point O t Distance D between st (s,t: natural numbers). Here, we calculate 11 Distance D between center points O1 and O2 12 And Group G 11 Distance D between center points O1 and O3 in 13 And Group G 11 Distance D between center points O2 and O3 in 23 is calculated.
[0212] (v) The model generating device 201 is a group G ik For the central point group in s ,O t The equation of the line connecting st Build L st Then, the model generating device 201 creates a group of center points on the same line, and sets the number of center points as a new parameter number N.
[0213] equation L st is expressed by the following formula (7), for example. s The coordinates of (x s ,y s ,z s ) and the center point O t The coordinates of (xt ,y t ,z t )
[0214] L st :(xx s ) / (x s -x t )=(yy s ) / (y s -y t ) =(zz s ) / (z s -z t ) ···(7)
[0215] For example, the model generating device 201 performs the above processes (i) to (v) on each surface (plane P i ) The calculation results are added to the dimensional information of each hole in each of the 3D shape data A to E. Then, the model generating device 201 extracts the dimensions of each part from each of the 3D shape data A to E, and creates a dimension table 1700 as shown in FIG.
[0216] Fig. 16 is an explanatory diagram showing an example of dimensions of parts in 3D shape data. Fig. 17 is an explanatory diagram showing an example of constructing a relational expression showing the dimensional relationship between parts. Fig. 16 shows 3D shape data C out of 3D shape data A to E classified into the same group.
[0217] s1 to s11 in the 3D shape data C indicate dimensions related to the parts in the 3D shape data C. However, in Figs. 16 and 17, only some of the dimensions related to the parts in the 3D shape data C are shown. For example, dimensions s1 to s3 and s9 indicate the lengths of the "sides" of the parts. Dimensions s10 and s11 indicate the dimensions of the hole (e.g., radius). Dimensions s4 to s8 indicate newly calculated dimensions of the hole (e.g., first distance, second distance).
[0218] First, the model generating device 201 aligns the directions of the x-axis, y-axis, and z-axis of the unit 3D shape data A to E classified into the same group. Next, the model generating device 201 aligns the directions of each of the 3D shape data A to E based on the unit 3D shape data with aligned orientations, and creates a dimension table 1700 for each part as shown in FIG. 17 by ensuring consistency of vertices and dimensions of the same part.
[0219] 17, a dimension table 1700 shows dimensions s1 to s11 for each portion in each of the 3D shape data A to E. Here, only dimensions s1 to s11 are shown among dimensions s1 to sn (n: natural number) for each portion in each of the 3D shape data A to E.
[0220] Next, the model generating device 201 derives a relational expression by performing regression analysis or the like on the dimensional relationship between each part with reference to the created dimension table 1700. For example, the model generating device 201 derives a column vector v (e.g., v1, v2, ..., v n )
[0221] Then, the model generating device 201 calculates the variables v[v1, v2, ..., v n For example, the model generating device 201 divides a variable v into a response variable y and an explanatory variable x to construct a regression model. For example, n is the objective variable y, and the remaining variables are the explanatory variables x k When a regression model is constructed as above, it is expressed as the following formula (8), where β0, β1, β2, ... are regression parameters.
[0222]
number
[0223] In the case of the 3D shape data C shown in Fig. 16, for example, the following relational expressions (regression models) (9) to (13) are obtained. Note that the following expressions (9) to (13) are only some of the relational expressions that show the dimensional relationships between the various parts.
[0224] s5 = s6 × 0.5 (9) s5 = s1 × 0.2 (10) s4 = s2 × 0.5 (11) s9=s3 (12) s10=s11 (13)
[0225] This allows the model generating device 201 to construct a parametric model (eg, the above formulas (9) to (13)) of the shapes (3D shape data A to E) classified based on the unit 3D shape data.
[0226] (Specific example of hole position model) Next, a specific example of the hole position model will be described.
[0227] Fig. 18 is an explanatory diagram showing a specific example of a hole position model. In Fig. 18, holes A1, A2, ..., An represent a plurality of holes whose center points are arranged at equal intervals on the same straight line 1801 on the same plane pi of the 3D shape data.
[0228] In such a case, the plane p i The positional relationship of the upper holes A1, A2, ..., An is expressed by a hole position model such as the following formula (14), where n is the number of holes. d0 is the distance between the center points of the holes at both ends of the holes A1 to An. d i is the distance between the center points of adjacent holes A1 to An.
[0229] d i =d0 / (n-1) (14)
[0230] 19A, 19B, and 19C are explanatory diagrams showing examples of hole arrangement. In FIG. 19A, two holes A1 and A2 are shown aligned at equal intervals on the same straight line 1901 on the same plane p1 of the 3D shape data. In this case, by substituting the number of holes "n=2" into the above formula (14), a hole position model "d i =d1 / (2-1)" is created.
[0231] In FIG. 19B, three holes A1, A2, and A3 are shown aligned at equal intervals on the same straight line 1902 on the same plane p2 of the 3D shape data. In this case, by substituting the number of holes "n=3" into the above formula (14), a hole position model "d i =d2 / (3-1)" is created.
[0232] In Fig. 19C, four holes A1, A2, A3, and A4 are shown aligned at equal intervals on the same straight line 1903 on the same plane p3 of the 3D shape data. In this case, by substituting the number of holes "n = 4" into the above formula (14), a hole position model "d i =d3 / (4-1)" is created.
[0233] Thus, according to the hole position model, for example, a plane p i In this case, we can find a relationship between multiple holes that appear periodically on the same line.
[0234] (Various processing procedures of the model generating device 201) 20 to 31, various processing procedures of the model generating device 201 will be described. First, the advance preparation processing procedures of the model generating device 201 will be described with reference to FIG.
[0235] Fig. 20 is a flowchart showing an example of a preparatory process procedure of the model generating device 201. In the flowchart of Fig. 20, first, the model generating device 201 refers to the 3D shape DB 220 and selects unselected 3D shape data (step S2001). The 3D shape data to be selected is, for example, 3D shape data having a specific portion (curved portion, hole portion).
[0236] Next, the model generating device 201 creates 3D shape data (after deletion) from the selected 3D shape data by deleting the dimensional information of the hole (step S2002). Then, the model generating device 201 executes a unit shape creation process for the 3D shape data (after deletion) (step S2003). A specific processing procedure of the unit shape creation process will be described later with reference to FIG. 21.
[0237] Then, the model generating device 201 refers to the 3D shape DB 220 and determines whether or not there is any unselected 3D shape data (step S2004). If there is any unselected 3D shape data (step S2004: Yes), the model generating device 201 returns to step S2001. On the other hand, if there is no unselected 3D shape data (step S2004: No), the model generating device 201 ends the series of processes according to this flowchart.
[0238] Thereby, the model generating device 201 can create, as a preliminary step, unit 3D shape data of each 3D shape data registered in the 3D shape DB 220. At this time, when the 3D shape data includes a hole, the model generating device 201 can create unit 3D shape data of the 3D shape data (after deletion) by deleting dimensional information of the hole from the 3D shape data. Note that the created unit 3D shape data may be stored in the 3D shape DB 220, for example, in association with the original 3D shape data from which it was created.
[0239] Next, a specific procedure of the unit shape creation process in step S2003 shown in FIG. 20 will be described with reference to FIG.
[0240] Fig. 21 is a flowchart showing an example of a specific processing procedure of the unit shape creation process. In the flowchart of Fig. 21, first, the model generating device 201 extracts the minimum value in each coordinate axis direction from the coordinates of each vertex of the 3D shape data (after deletion) (step S2101). Then, the model generating device 201 subtracts the extracted minimum value in each coordinate axis direction from each value of the coordinate of each vertex, and translates the 3D shape data (after deletion) (step S2102).
[0241] Next, the model generating device 201 extracts the maximum value in each coordinate axis direction from the coordinates of each vertex of the 3D shape data after the translation (after deletion) (step S2103).Then, the model generating device 201 divides each value of the coordinate of each vertex of the 3D shape data after the translation (after deletion) by the extracted maximum value in each coordinate axis direction to create unit 3D shape data (step S2104), and returns to the step that called the unit shape creation process.
[0242] This allows the model generating device 201 to normalize the 3D shape data (after deletion) while maintaining the dimensional relationships between parts in each coordinate axis direction.
[0243] Next, a procedure of a standard shape registration process of the model generating device 201 will be described with reference to Fig. 22. The standard shape registration process is a process for pre-registering standard shape data in the standard shape DB 230 before designing an object.
[0244] Fig. 22 is a flowchart showing an example of a standard shape registration processing procedure of the model generating device 201. In the flowchart of Fig. 22, first, the model generating device 201 determines whether or not a target shape designation has been accepted (step S2201). The target shape designated here is 3D shape data designated to classify 3D shape data registered in the 3D shape DB 220, and is designated from the 3D shape DB 220, for example.
[0245] Here, the model generating device 201 waits to receive the designation of a target shape (step S2201: No). If the model generating device 201 receives the designation of a target shape (step S2201: Yes), the model generating device 201 creates a target shape (after deletion) from the designated target shape by deleting dimensional information of holes (step S2202), and executes a unit shape creation process for the target shape (after deletion) (step S2203).
[0246] Note that the specific processing procedure of the unit shape creation process for the target shape is the same as the processing procedure shown in Fig. 21, and therefore will not be illustrated or described again. If unit 3D shape data of the target shape has already been created, the model generating device 201 may skip step S2203.
[0247] Next, the model generating device 201 executes a shape classification process for classifying a plurality of 3D shape data based on the created unit 3D shape data (step S2204). A specific processing procedure of the shape classification process will be described later with reference to FIG.
[0248] Then, the model generating device 201 executes a correspondence process for identifying the correspondence between the parts of the 3D shape data in the classified group (step S2205). A specific processing procedure of the correspondence process will be described later with reference to FIG.
[0249] Next, the model generating device 201 executes a dimension information adding process for adding new dimensions to each of the 3D shape data in the classified group (step S2206). A specific procedure of the dimension information adding process will be described later with reference to Figs. 26 and 27.
[0250] Then, the model generating device 201 executes a relational equation construction process to construct a relational equation of dimensions between different parts of the 3D shape data in the classified group (step S2207). A specific processing procedure of the relational equation construction process will be described later with reference to FIG.
[0251] Next, the model generating device 201 executes a hole position model construction process for constructing a hole position model for each surface of each 3D shape data in the classified group (step S2208). A specific processing procedure of the hole position model construction process will be described later with reference to FIG.
[0252] Then, the model generating device 201 treats the unit 3D shape data of each 3D shape data in the group as standard shape data, associates the standard shape data with the constructed relational equation and hole position model, and the similar shape list, and registers them in the standard shape DB 230 (step S2209), thereby completing the series of processes according to this flowchart.
[0253] This allows the model generating device 201 to create a database of standard shape data (unit 3D shape data) as well as parametric models (relational expressions, hole position models) of 3D shapes classified by the standard shape data.
[0254] Next, a specific processing procedure of the shape classification process in step S2204 shown in Fig. 22 will be described with reference to Fig. 23. Here, the unit 3D shape data of the target shape (after deletion) created in step S2203 shown in Fig. 22 is referred to as a "unit target shape".
[0255] Fig. 23 is a flowchart showing an example of a specific processing procedure of the shape classification process. In the flowchart of Fig. 23, first, the model generating device 201 selects unselected unit 3D shape data from among the unit 3D shape data for each 3D shape data in the 3D shape DB 220 (step S2301).
[0256] Then, the model generating device 201 calculates the similarity between the selected unit 3D shape data and the created unit target shape (step S2302). Next, the model generating device 201 determines whether or not there is any unselected unit 3D shape data among the unit 3D shape data of each 3D shape data in the 3D shape DB 220 (step S2303).
[0257] If there is unselected unit 3D shape data (step S2303: Yes), the model generating device 201 returns to step S2301. On the other hand, if there is no unselected unit 3D shape data (step S2303: No), the model generating device 201 identifies unit 3D shape data whose calculated similarity is equal to or greater than a threshold (step S2304).
[0258] Next, the model generating device 201 extracts 3D shape data corresponding to the identified unit 3D shape data from the 3D shape DB 220 (step S2305). Then, the model generating device 201 classifies the extracted 3D shape data into the same group (step S2306) and returns to the step that called the shape classification process.
[0259] This allows the model generating device 201 to classify into the same group 3D shape data whose unit 3D shape data is similar to the target 3D shape data. For example, not only shapes that are the same or similar, but also shapes whose dimensions are partially different can be classified into the same group, and grouping close to human sensibility can be performed to improve versatility in new designs.
[0260] Furthermore, the unit 3D shape data is created based on 3D shape data (after deletion) from which dimensional information of holes has been deleted. Therefore, the model generating device 201 can perform similar shape search with high accuracy even for 3D shape data having holes. For example, when converting into unit 3D shape data, the model generating device 201 can prevent a decrease in accuracy of similar shape search due to a hole's circular shape becoming an ellipse.
[0261] Next, a specific procedure of the association process in step S2205 shown in FIG. 22 will be described with reference to FIG.
[0262] Fig. 24 is a flowchart showing an example of a specific processing procedure of the association process. In the flowchart of Fig. 24, first, the model generating device 201 acquires a unit target shape (unit 3D shape data) of the target shape (step S2401). The target shape corresponds to the above-mentioned first 3D shape data. The unit target shape is created by normalizing the target shape for each component in each coordinate axis direction.
[0263] Then, the model generating device 201 generates a first plurality of images by rotating the unit target shape by 90 degrees around each of the x-axis, y-axis, and z-axis directions (positive and negative directions) and generating images captured from each direction (step S2402).
[0264] Next, the model generating device 201 selects unselected 3D shape data from the group classified in step S2204 (step S2403). The 3D shape data selected here corresponds to the above-mentioned second 3D shape data. In the following description, the 3D shape data selected in step S2403 may be referred to as a "comparison target shape."
[0265] Then, the model generating device 201 acquires unit 3D shape data of the selected 3D shape data (step S2404). The unit 3D shape data acquired here is created by normalizing the selected 3D shape data for each component in each coordinate axis direction. In the following description, the data acquired in step S2404 may be referred to as a "comparison target unit shape."
[0266] Next, the model generating device 201 generates a second plurality of images by rotating the comparison unit shape by 90 degrees around each of the x-axis, y-axis, and z-axis directions (positive and negative directions) and generating images captured from each direction (step S2405).
[0267] Then, the model generating device 201 executes orientation alignment processing for aligning the orientations of the unit target shape and the comparison target unit shape (step S2406). A specific processing procedure of the orientation alignment processing will be described later with reference to FIG.
[0268] Next, the model generating device 201 identifies each part of the comparison target unit shape that corresponds to each part of the unit target shape whose orientation has been aligned (step S2407). Then, the model generating device 201 identifies each part of the comparison target shape (second part) that corresponds to each part of the target shape (first part) based on the identification result (step S2408).
[0269] Next, the model generating device 201 determines whether or not there is any unselected 3D shape data that has not been selected from the group classified in step S2204 (step S2409). If there is any unselected 3D shape data (step S2409: Yes), the model generating device 201 returns to step S2403.
[0270] On the other hand, if there is no unselected 3D shape data (step S2409: No), the model generating device 201 returns to the step where the matching process was called, thereby enabling the model generating device 201 to identify the correspondence between each part (first part) of the target shape and each part (second part) of the comparison target shape.
[0271] Next, a specific processing procedure of the orientation alignment process in step S2406 shown in Fig. 24 will be described with reference to Fig. 25. This orientation alignment process corresponds to the above-mentioned method 1 for aligning the orientations of the third unit 3D shape data (unit target shape) and the fourth unit 3D shape data (comparison target unit shape).
[0272] Fig. 25 is a flowchart showing an example of a specific processing procedure of the orientation matching process. In the flowchart of Fig. 25, first, the model generating device 201 compares each of the first multiple images with each of the second multiple images to calculate the similarity between the images (step S2501).
[0273] Next, the model generating device 201 identifies an image pair (surface [1]) having the highest similarity based on the calculated similarity between each image (step S2502). Next, the model generating device 201 identifies an image pair (surface [2]) having the highest similarity based on the calculated similarity between each image, excluding the identified image pair (surface [1]) (step S2503).
[0274] Next, the model generating device 201 identifies the image pair (surface [3]) with the highest similarity, excluding the identified image pair (surface [1], [2]), based on the calculated similarity between each image (step S2504).
[0275] Then, the model generating device 201 aligns the orientation of the unit target shape and the comparison unit shape based on the identified image pair (faces [1], [2], [3]) (step S2505), and returns to the step that called the first orientation alignment process.
[0276] This allows the model generating device 201 to compare the faces (24 faces) of the unit target shape with the faces (24 faces) of the comparison unit shape in a round-robin manner, identify three corresponding faces between the unit 3D data, and align the orientation of the unit target shape and the comparison unit shape.
[0277] Next, a specific procedure for the dimension information adding process in step S2206 shown in FIG. 22 will be described with reference to FIGS. 26 and 27. FIG.
[0278] 26 and 27 are flowcharts showing an example of a specific processing procedure of the dimension information adding process. In the flowchart of Fig. 26, first, the model generating device 201 selects unselected 3D shape data from among the 3D shape data in the classified group (step S2601).
[0279] Next, the model generating device 201 calculates the shape of each plane p iFor example, the model generating device 201 selects three end points of the straight lines of the selected 3D shape data, and calculates an equation of the plane p i The model generating device 201 calculates an equation for each plane p by selecting end points in a brute force manner for the selected 3D shape data. i Calculate the equation.
[0280] Then, the model generating device 201 selects an unselected plane p from among the planes in the selected 3D shape data. i Next, the model generating device 201 selects the center points O of the curved portions and the hole portions in the selected 3D shape data. j Unselected center point O among (=O1, O2, ...) j (step S2604). Then, the model generating device 201 selects the selected plane p i Using the equation, the selected center point O j is the plane p i It is determined whether or not it is above (step S2605).
[0281] Here, the center point O j is the plane p i If the center point O is not on the center line (step S2605: No), the model generating device 201 proceeds to step S2607. j is the plane p i If it is on the upper side (step S2605: Yes), the model generating device 201 selects the center point O j On the plane p i (step S2606).
[0282] Next, the model generating device 201 calculates the center points O of the curved portions and the holes in the selected 3D shape data. j Then, it is determined whether there is an unselected center point among the center points (step S2607). If there is an unselected center point (step S2607: Yes), the model generating device 201 returns to step S2604.
[0283] On the other hand, if there is no unselected center point (step S2607: No), the model generating device 201 determines whether or not there is an unselected plane among the planes in the selected 3D shape data (step S2608). If there is an unselected plane (step S2608: Yes), the model generating device 201 returns to step S2603.
[0284] On the other hand, if there are no unselected center points (step S2608: No), the model generating device 201 proceeds to step S2701 shown in FIG.
[0285] In the flowchart of FIG. 27, first, the model generating device 201 selects an unselected plane p among the planes in the selected 3D shape data. i (step S2701). Then, the model generating device 201 selects the selected plane p i Each center point on O j Then, the distance (first distance) between each line on the plane and the point is calculated (step S2702).
[0286] Next, the model generating device 201 selects the plane p i The model generating device 201 then calculates the distance between the center points of the different holes on the top (second distance) (step S2703). Then, the model generating device 201 adds each calculated distance to the dimensional information of each corresponding portion (curved portion, hole) (step S2704).
[0287] Next, the model generating device 201 selects the plane p i In step S2705, the center points of the holes on the same line are identified. For example, in the selected plane p i In step S2706, the model generating device 201 searches through all possible combinations of center points to identify all combinations of center points that are on the same line. The model generating device 201 then identifies the number n of holes included in the identified multiple holes (step S2706). For example, the number n is identified for all combinations of center points.
[0288] Next, the model generating device 201 assigns the specified number n to a plane pi (step S2707). i If there are no center points of multiple holes on the same line, the model generating device 201 skips steps S2705 to S2707.
[0289] Then, the model generating device 201 determines whether or not there is an unselected plane among the planes in the selected 3D shape data (step S2708). If there is an unselected plane (step S2708: Yes), the model generating device 201 returns to step S2701.
[0290] On the other hand, if there is no unselected plane (step S2708: No), the model generating device 201 determines whether or not there is any unselected 3D shape data among the 3D shape data in the classified group (step S2709). If there is any unselected 3D shape data (step S2709: Yes), the model generating device 201 returns to step S2601 shown in FIG.
[0291] On the other hand, if there is no unselected 3D shape data (step S2709: No), the model generating device 201 returns to the step that called the dimension information addition process.
[0292] This enables the model generating device 201 to add new dimensions (first distance, second distance) that represent the design intent to the dimensional information for curved portions (e.g., arc-shaped edges) and holes in the 3D shape data.
[0293] Next, a specific procedure of the relational equation construction process in step S2207 shown in FIG. 22 will be described with reference to FIG.
[0294] Fig. 28 is a flowchart showing an example of a specific processing procedure of the relational equation construction process. In the flowchart of Fig. 28, first, the model generation device 201 aligns the orientation of the 3D shape data in the group classified in step S2204 by matching the directions of the x-axis, y-axis, and z-axis based on the result of step S2406 (step S2801).
[0295] Next, the model generating device 201 creates a dimension table for each part of the 3D shape data in the group by extracting the dimensions of each part of the 3D shape data in the group based on the result of step S2408 (step S2802).Then, the model generating device 201 refers to the created dimension table for each part and creates a column vector for each part, with the dimensions in each 3D shape data as elements (step S2803).
[0296] Next, the model generating device 201 selects the variable with the highest variance from the created column vectors of each part (step S2804). Then, the model generating device 201 determines whether the variance of the selected variable is equal to or less than a predetermined threshold (step S2805). The predetermined threshold can be set arbitrarily.
[0297] If the variance is equal to or smaller than the predetermined threshold (step S2805: Yes), the model generating device 201 returns to the step that called the relational equation construction process.
[0298] On the other hand, if the variance is greater than the predetermined threshold (step S2805: No), the model generation device 201 sets the selected variable as the objective variable (step S2806). Next, the model generation device 201 sets variables with high contribution rates to the objective variable as explanatory variables by a stepwise method (step S2807).
[0299] Then, the model generating device 201 generates a relational equation of dimensions between different parts of the 3D shape data by regression analysis based on the generated column vector (step S2808). Next, the model generating device 201 determines whether there are any unselected variables (step S2809).
[0300] If there are unselected variables (step S2809: Yes), the model generation device 201 returns to step S2804. On the other hand, if there are no unselected variables (step S2809: No), the model generation device 201 returns to the step that called the relational equation construction process.
[0301] This allows the model generating device 201 to construct a relational expression that indicates the dimensional relationship between different parts of 3D shape data classified into the same group. At this time, the model generating device 201 can derive the dimensional relationship between parts that expresses the designer's intention, even for curved parts (e.g., arc-shaped edges) and holes.
[0302] Next, a specific procedure of the hole position model construction process in step S2208 shown in Fig. 22 will be described with reference to Fig. 29. The hole position model construction process, for example, i is executed.
[0303] 29 is a flowchart showing an example of a specific processing procedure of the hole position model construction processing. In the flowchart of FIG. 29, first, the model generating device 201 calculates a plane p i In step S2901, an equation of a straight line connecting the center points of the holes on both ends among the center points of the plurality of holes that are on the same line is calculated.
[0304] Next, the model generating device 201 calculates provisional coordinates of the center points of the holes other than the two ends among the center points of the multiple holes on the same line, from the equation of the calculated line, the number n of holes, and the hole position model (step S2902). The hole position model is expressed, for example, by the above formula (14).
[0305] For example, the model generating device 201 substitutes the number of holes n and the distance d0 between the center points of the holes at both ends into the above formula (14) to obtain the distance d i Then, the model generating device 201 calculates the calculated distance d i From the center points of the holes at both ends and the equation of the straight line, provisional coordinates of the center points of the holes other than those at both ends are calculated.
[0306] Then, the model generating device 201 judges whether the coordinates of the center points of the holes other than those at both ends match the calculated tentative coordinates (step S2903). If the coordinates match the tentative coordinates (step S2903: Yes), the model generating device 201 calculates the plane p by substituting the number n of holes into the above formula (14). i A hole position model for the hole is created (step S2904), and the process returns to the step that called the hole position model creation process.
[0307] On the other hand, if the coordinates do not match the provisional coordinates (step S2903: No), the model generating device 201 returns to the step where the hole position model construction process was called. i This is performed for each combination of holes that are on the same line in the
[0308] As a result, the model generating device 201 calculates the plane p i For the plane p i A hole position model can be constructed that expresses the positional relationship of multiple holes on the surface.
[0309] As described above, the model generating device 201 according to the embodiment can calculate a first distance between a center point in each 3D shape data and a straight line on the same plane as the center point for a specific part having a defined center point among a plurality of parts included in shapes represented by each 3D shape data classified into the same group.The model generating device 201 can then add the calculated first distance to dimensional information of the specific part in each 3D shape data, and specify the dimensional relationship between different parts of the 3D shape data in the group based on the dimensional information for each part of the 3D shape data in the group.
[0310] This allows the model generation device 201 to add a new dimension (first distance) that reflects the designer's intention to a specific part in the 3D shape data, and derive the dimensional relationship between different parts of the 3D shape data. Therefore, the model generation device 201 can build a parametric model that reflects the design intention.
[0311] Furthermore, the model generating device 201 can calculate the first distance for a curved portion whose center point, radius, central angle, and end points are defined. The curved portion is, for example, an arc-shaped edge portion.
[0312] This allows the model generating device 201 to define new dimensions for the curved portion that represent its positional relationship with a straight line on the same plane when the 3D shape data includes a curved portion such as an arc-shaped edge portion. Therefore, the model generating device 201 can add new dimensions for the curved portion that represent the designer's intention, and derive the dimensional relationship between different parts of the 3D shape data.
[0313] Furthermore, the model generating device 201 can calculate the first distance for a hole having a defined center point and radius. The hole is, for example, a hole penetrating each 3D shape data, or a recessed hole on each 3D shape data.
[0314] This allows the model generating device 201 to define new dimensions for holes that represent their positional relationship with straight lines on the same plane when the 3D shape data includes holes (holes, apertures, etc.). This allows the model generating device 201 to add new dimensions for holes that represent the designer's intentions, and derive the dimensional relationships between different parts of the 3D shape data.
[0315] Furthermore, the model generating device 201 can calculate a second distance between the center point of a hole whose center point and radius are defined and the center point of another hole on the same plane as the center point in each 3D shape data.The model generating device 201 can add the calculated second distance to the dimensional information of the hole in each 3D shape data.
[0316] This allows the model generating device 201 to define a new dimension (second distance) for a hole (hole, aperture, etc.) that indicates the positional relationship with other holes on the same plane. Therefore, the model generating device 201 can further add a new dimension for the hole that indicates the designer's intention, and derive the dimensional relationship between different parts of the 3D shape data. Note that the model generating device 201 may add only the second distance that indicates the positional relationship with other holes on the same plane as a new dimension to the dimensional information for a hole in the 3D shape data.
[0317] Moreover, according to the model generating device 201, it is possible to delete dimensional information of holes having defined center points and radii from each of the plurality of pieces of 3D shape data, and to normalize each of the plurality of pieces of 3D shape data (after deletion) from which the dimensional information of the holes has been deleted, for each component in each coordinate axis direction, to generate unit shape data. Then, according to the model generating device 201, it is possible to classify the plurality of pieces of 3D shape data based on the unit shape data of each of the generated pieces of 3D shape data (after deletion).
[0318] This allows the model generating device 201 to perform accurate similar shape search using unit 3D shape data even for 3D shape data having holes. For example, when converting into unit 3D shape data, the model generating device 201 can prevent a decrease in accuracy of similar shape search caused by a circular hole becoming an ellipse.
[0319] Moreover, the model generating device 201 can acquire unit shape data normalized for each component in each coordinate axis direction for each of the 3D shape data in the group and the other 3D shape data, and generate a first plurality of images and a second plurality of images by capturing the unit shape data of the acquired 3D shape data and the unit shape data of the other 3D shape data from both directions of the multiple axes. Moreover, the model generating device 201 can specify a correspondence relationship between a portion in the 3D shape data and a portion in the other 3D shape data by aligning the orientation of the 3D shape data and the other 3D shape data based on a result of comparison between the first plurality of images and the second plurality of images. Then, the model generating device 201 can specify a dimensional relationship between different portions of the 3D shape data in the group based on the specified correspondence relationship and dimensional information for each portion of each 3D shape data in the group.
[0320] This allows the model generating device 201 to identify parts that have a corresponding relationship between the 3D shape data classified based on the parametric relationship.
[0321] Furthermore, according to the model generating device 201, when the center points of a plurality of holes are on the same straight line on a plane in each 3D shape data and the center points of the plurality of holes are equally spaced on the straight line, a hole position model can be created. The hole position model is a model (relational formula) that specifies the positional relationship between different holes on a plane from the distance between the center points of the hole parts at both ends of the plurality of holes and the distance between the center points of adjacent hole parts of the plurality of holes, based on the number of holes included in the plurality of holes.
[0322] This enables the model generating device 201 to grasp the relationship that appears periodically and discretely for a plurality of holes on the same line.
[0323] Furthermore, the model generating device 201 can output information indicating the relationship between the identified dimensions in association with the unit 3D shape data corresponding to the 3D shape data in the group.
[0324] This enables the model generating device 201 to easily create design data in accordance with the design intent, based on the unit 3D shape data, and in accordance with the parametric model.
[0325] Furthermore, according to the model generating device 201, when outputting information indicating the identified dimensional relationship, the created hole position model can also be output.
[0326] This allows the model generating device 201 to easily design a plurality of holes arranged on the same plane, taking into consideration the discrete relationships that occur periodically.
[0327] From these facts, the model generating device 201 can appropriately identify the dimensional relationship between different parts of the 3D shape data even if the 3D shape data includes curved parts and holes, and can construct a parametric model that reflects the design intent. Furthermore, the model generating device 201 can use standard shape data to which a parametric model (relationship equations of dimensions between parts, hole position model) is added to perform new design of an object. This allows the model generating device 201 to reduce the number of steps required for designing a 3D shape. When creating a new design, a designer can reduce design errors by changing the dimensions of each part according to the parametric model. Furthermore, a designer can easily search for standard shape data according to the design intent by searching for standard shape data to be used when creating a new design based on unit 3D shape data.
[0328] The identification method described in this embodiment can be realized by executing a prepared program on a computer such as a personal computer or a workstation. The identification program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, a DVD, or a USB memory, and is executed by being read from the recording medium by the computer. The identification program may also be distributed via a network such as the Internet.
[0329] In addition, the model generating device 201 (information processing device 101) described in this embodiment can also be realized by an application-specific IC such as a standard cell or a structured ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device) such as an FPGA.
[0330] The following supplementary notes are further disclosed regarding the above-described embodiment.
[0331] (Supplementary Note 1) For a specific portion having a defined center point among a plurality of portions included in the shapes represented by each of the shape data classified into the same group, a first distance is calculated between the center point in each of the shape data and a straight line on the same plane as the center point; adding the calculated first distance to dimensional information of the specific portion in each of the shape data; determining a dimensional relationship between different portions of the shape data in the group based on the dimensional information for each portion of each of the shape data in the group; A specific program that causes a computer to execute a process.
[0332] (Appendix 2) The specific program described in Appendix 1, characterized in that the specific portion is a curved portion having a defined center point, radius, central angle, and end points.
[0333] (Appendix 3) The specific program described in Appendix 1 or 2, characterized in that the specific portion is a hole having a defined center point and radius that penetrates each of the shape data or is a recessed portion on each of the shape data.
[0334] (Appendix 4) The calculation process is When the specific portion is the hole, a second distance between a center point of the hole and a center point of another hole on the same plane as the center point in each of the shape data is further calculated; The process to be added is: the calculated second distance is further added to the dimensional information of the specific portion in each of the shape data. 4. The specific program according to claim 3.
[0335] (Appendix 5) From each of the plurality of shape data, dimensional information of a hole portion having a defined center point and radius that penetrates the shape data or is recessed on the shape data is deleted; creating unit shape data by normalizing each of the plurality of shape data after deleting the dimensional information of the hole for each component in each coordinate axis direction; classifying the plurality of shape data based on the unit shape data of each of the created shape data; causing the computer to execute a process; Each of the shape data classified into the same group is shape data within the group classified by the classification process. 5. The specific program according to any one of claims 1 to 4.
[0336] (Additional Note 6) For each of the shape data in the group and the other shape data, normalized unit shape data is obtained for each component in each coordinate axis direction; generating a first plurality of images and a second plurality of images by capturing images of the unit shape data of the acquired shape data and the unit shape data of the other shape data from both directions of a plurality of axes, determining a correspondence relationship between a portion in the shape data and a portion in the other shape data by aligning an orientation of the shape data and an orientation of the other shape data based on a result of comparing the first plurality of images and the second plurality of images; causing the computer to execute a process; The process of specifying The identification program described in any one of Appendices 1 to 5, characterized in that it identifies a dimensional relationship between different parts of the shape data in the group based on the identified correspondence and the dimensional information for each part of each shape data in the group.
[0337] (Note 7) When the center points of a plurality of holes are on the same line on a plane in each of the shape data and the center points of the plurality of holes are equally spaced on the line, a hole position model is created that specifies the positional relationship between different holes on the plane from the distance between the center points of the hole portions at both ends of the plurality of holes and the distance between the center points of adjacent hole portions of the plurality of holes, based on the number of holes included in the plurality of holes. 7. The specific program according to any one of claims 1 to 6, which causes the computer to execute a process.
[0338] (Appendix 8) In association with the shape data in the group and the corresponding unit shape data, information indicating the relationship between the identified dimensions is output. 8. The specific program according to any one of claims 1 to 7, which causes the computer to execute a process.
[0339] (Appendix 9) For a specific portion having a defined center point among a plurality of portions included in the shape represented by each shape data classified into the same group, a first distance is calculated between the center point in each shape data and a straight line on the same plane as the center point; adding the calculated first distance to dimensional information of the specific portion in each of the shape data; determining a dimensional relationship between different portions of the shape data in the group based on the dimensional information for each portion of each of the shape data in the group; A method for identifying a target object, the method comprising the steps of:
[0340] (Appendix 10) For a specific part having a defined center point among a plurality of parts included in the shape represented by each shape data classified into the same group, a first distance is calculated between the center point in each shape data and a straight line on the same plane as the center point; adding the calculated first distance to dimensional information of the specific portion in each of the shape data; determining a dimensional relationship between different portions of the shape data in the group based on the dimensional information for each portion of each of the shape data in the group; An information processing device comprising a control unit. [Explanation of symbols]
[0341] 101 Information processing device 110 Shape Data 111,112,113 Specific parts 114 plane 115,116,901,902,1001,1002,1203 straight line 121,122,123 Dimensional information 131,132,133 distance 200 Information Processing Systems 201 Model Generation Device 202 Client device 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 Media I / F 307 Portable recording media 600 Control section 601 Reception 602 Creation Department 603 Classification Department 604 Calculation Unit 605 Specific part 606 Search Department 607 Generation part 608 Output section 610 Storage section 900 Arc-shaped edge 1000,1011,1012,1013 Hole
Claims
1. calculating a first distance between a center point in each of a plurality of parts included in a shape represented by each of the shape data classified into the same group and a straight line on the same plane as the center point for a specific part having a defined center point; adding the calculated first distance to dimensional information of the specific portion in each of the shape data; determining a dimensional relationship between different portions of the shape data in the group based on the dimensional information for each portion of each of the shape data in the group; A specific program that causes a computer to execute a process.
2. The specific program according to claim 1 , wherein the specific portion is a curved portion having a defined center point, a radius, a central angle, and end points.
3. 2. The identification program according to claim 1, wherein the specific portion is a hole having a defined center point and radius, penetrating each of the shape data, or being recessed on each of the shape data.
4. The calculation process includes: When the specific portion is the hole, a second distance between a center point of the hole and a center point of another hole on the same plane as the center point in each of the shape data is further calculated; The process to be added is: the calculated second distance is further added to dimensional information of the specific portion in each of the shape data.
4. The specific program according to claim 3.
5. Deleting dimensional information of a hole having a defined center point and radius, penetrating the shape data, or recessed on the shape data, from each of the plurality of shape data; creating unit shape data by normalizing each of the plurality of shape data after deleting the dimensional information of the hole for each component in each coordinate axis direction; classifying the plurality of shape data based on the unit shape data of each of the created shape data; causing the computer to execute a process; Each of the shape data classified into the same group is shape data within the group classified by the classification process.
2. The specific program according to claim 1.
6. outputting information indicating the relationship between the specified dimensions and the unit shape data corresponding to the shape data in the group; 6. The specific program according to claim 1, which causes the computer to execute a process.
7. calculating a first distance between a center point in each of a plurality of parts included in a shape represented by each of the shape data classified into the same group and a straight line on the same plane as the center point for a specific part having a defined center point; adding the calculated first distance to dimensional information of the specific portion in each of the shape data; determining a dimensional relationship between different portions of the shape data in the group based on the dimensional information for each portion of each of the shape data in the group; A method for identifying a target object, the method comprising the steps of:
8. calculating a first distance between a center point in each of a plurality of parts included in a shape represented by each of the shape data classified into the same group and a straight line on the same plane as the center point for a specific part having a defined center point; adding the calculated first distance to dimensional information of the specific portion in each of the shape data; determining a dimensional relationship between different portions of the shape data in the group based on the dimensional information for each portion of each of the shape data in the group; An information processing device comprising a control unit.
Citation Information
Patent Citations
Cad system for standard component data base
JP1995182391A
Design support device
JP2010211434A
Conversion of geometry to boundary representation with facilitated editing for computer aided design and 2.5-axis subtractive manufacturing
US20200151286A1
