This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2012-208983, filed on Sep. 21, 2012, the entire contents of which are incorporated herein by reference.
The present invention relates to a computer product, a verification support method, and a verification support apparatus.
According to a conventional technique, computer aided design (CAD) is used for designing an object. For example, according to a known technique, a portion matching an input shape is identified based on CAD data (see, for example, Japanese Laid-Open Patent Publication No. 2010-211434).
According to a further technique, in checking the clearance between components, the degree of leeway is displayed on each part of the components according to the amount of clearance between the components (see, for example, Japanese Laid-Open Patent Publication No. 2007-48004). Another technique is also known, according to which components similar in size and material to each other are retrieved from a database and are displayed using CAD (see, for example, Japanese Laid-Open Patent Publication No. 2005-49923).
Nonetheless, according to the conventional techniques, when a portion of a designed object that needs to be verified according to a design rule related the positional relation between components is identified, if the shapes of the components are complicated, calculation of the positional relation between the components is difficult.
According to an aspect of an embodiment, a computer-readable recording medium stores a verification support program that causes a computer to execute a process. The process includes generating based on design information expressing an object, component information indicating components of the object, the components indicated correspond to a shape to which a design rule concerning positional relation applies and for at least one of the components, a number of vertices of the component is reduced; calculating based on the generated component information, information indicating a positional relation between the components; determining whether the calculated information indicating the positional relation meets a condition prescribed by the design rule; and outputting a determination result.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
Preferred embodiments of a verification support program, a verification support method, and a verification support apparatus will be described in detail with reference to the accompanying drawings.
The verification support apparatus 100 generates based on design information expressing the object obj, component information indicating multiple components of the object obj. The components indicated correspond to shapes to which the design rule R concerning positional relations applies and for at least one of the components, the number of vertices thereof is reduced. The design information is, for example, data that indicates the shape and vertex coordinates of the object obj and that indicates the components that make up the object obj. The component information is, for example, data that identifies the vertex coordinates of a component and faces, etc. making up the component. The component information also includes data that can identify specified shapes such as a board, tab, etc. In the description hereinafter, the verification support apparatus 100 retrieves from the design information expressing the object obj, specific shapes such as a board, tab, etc. Based on vertex information and information of a face, shape, etc., described in the design information, the object obj is drawn on a computer using a CAD tool.
For example, in an upper portion of
The verification support apparatus 100 calculates information indicating the positional relation between components, based on the generated component information. Information indicating the positional relation between components is information of, for example, the distance between barycenters, the distance between vertices, the degree of overlap of peripheral edges, etc. While the distance between barycenters is depicted in the example of
The verification support apparatus 100 determines whether the calculated information indicating the positional relation meets a condition prescribed by the design rule R. The condition may be a condition imposing a criterion more lax than a criterion imposed by the design rule R, or may be a condition as strict as the design rule R. The condition is determined in advance by a user, and is stored in a memory device, such as read only memory (ROM), a magnetic disk, an optical disk, and nonvolatile memory, to which the verification support apparatus 100 can access in advance.
For example, when the calculated information indicating the positional relation meets the condition, the verification support apparatus 100 determines a combination of the components b1 and b2 to be a portion that requires verification according to the design rule R, as indicated in the upper portion of
The verification support apparatus 100 outputs a determination result. The verification support apparatus 100 outputs the determination result in the form of display on a display to which the verification support apparatus 100 can access or storage to a memory device, such as RAM, a magnetic disk, and an optical disk, that the verification support apparatus 100 can access. When the determination result is displayed on the display in the case of the condition being met, multiple components may be displayed in a highlighted form, or prepared shapes may be displayed in an overlapping form, or components of the same size may be displayed in an overlapping form.
For example, even if components are tabs, the components may have differing numbers of vertices depending on the type of the component. A component having many vertices may be of a complicated shape. For example, if the positional relation between components is to be verified based on the distance between the barycenter of one component and the barycenter of another component, or based on the distance between nearest vertices of two components, if the number of vertices is great, the calculation may become complicated and/or the volume of calculations may become great. According to the verification support apparatus 100 of
The CPU 201 governs overall control of the verification support apparatus 100. The ROM 202 stores therein programs such as a boot program. The RAM 203 is used as a work area of the CPU 201. The disk drive 204, under the control of the CPU 201, controls the reading and writing of data with respect to the disk 205. The disk 205 stores therein data written under control of the disk drive 204, the data being read by a computer. A magnetic disk or an optical disk may be employed as the disk 205.
The display 208 displays, for example, data such as text, images, functional information, etc., in addition to a cursor, icons, and/or tool boxes. A cathode ray tube (CRT), a thin-film-transistor (TFT) liquid crystal display, a plasma display, etc., may be employed as the display 208.
The I/F 209 is connected to a network NET such as a local area network (LAN), a wide area network (WAN), and the Internet through a communication line and is connected to other apparatuses through the network NET. The I/F 209 administers an internal interface with the network NET and controls the input/output of data from/to external apparatuses. For example, a modem or a LAN adaptor may be employed as the I/F 209.
The keyboard 210 includes, for example, keys for inputting letters, numerals, and various instructions and performs the input of data. Alternatively, a touch-panel-type input pad or numeric keypad, etc. may be adopted. The mouse 211 is used to move the cursor, select a region, or move and change the size of windows. A track ball or a joy stick may be adopted provided each respectively has a function similar to a pointing device.
When the design information 300 is three-dimensional information, a three-dimensional rectangular coordinates system composed of the X-axis, Y-axis, and Z-axis is defined in the design information 300. For example, the design information 300 is stored in a memory device, such as the disk 205. Component information is shape information making up part of the design information 300, and is made up of the coordinates of vertices from the origin of the rectangular coordinates system defined in the design information 300 and of face information. The face information indicates, for example, in what order the vertices are connected to each other.
Information is entered into each field to create a record (e.g., 701-1 and 701-2) to be stored. The conditional expression table 700 is implemented by the disk 205, etc.
A detailed example of the record 701-1 will be described. The record 701-1 has a condition no. “C0001” by which the record 701-1 is correlated with the record 601-1 in the DRC determination condition correspondence table 600. The conditional expression of the record 701-1 is, therefore, set based on the design rule R related to the positional relation between a tab and the case. The conditional expression is the logical product of three conditions. The first condition is “X component of distance between barycenter A1 and barycenter A2<(X component of surrounding cuboid surrounding each component)×10[%]”. The surrounding cuboid means the smallest cuboid among cuboids surrounding a component. The second condition is “Y component of distance between barycenter A1 and barycenter A2<(Y component of surrounding cuboid)×5[%]”. The third condition is “Z component of distance between barycenter A1 and barycenter A2<(Z component of surrounding cuboid)×7[%]”.
A detailed example of the record 701-2 will be described. The record 701-2 has a condition no. “C0002” by which the record 701-2 is correlated with the record 601-2 in the DRC determination condition correspondence table 600. The conditional expression of the record 701-2 is, therefore, set based on the design rule R related to a clearance between a tab and a tab. The conditional expression is the logical product of three conditions. The first condition is “X component of barycenter (A1)−X peripheral edge of A1 shape<X component of barycenter (A2)<X component of barycenter (A1)+(X peripheral edge of A1)×2”. The second condition is “shortest distance among Y components of distances between vertices between A1 and A2<=Y peripheral edge of A1 shape”. The third condition is “Z component of barycenter (A1)−Z peripheral edge of A1 shape<Z component of barycenter (A2)<Z component of barycenter (A1)+Z peripheral edge of A1 shape”. Terms of peripheral edge are included in the conditional expression concerning the clearance between tabs to confirm the degree of overlap of the tabs.
Transformation condition no. represents identification information identifying a condition for determining into which shape a component is to be transformed or whether transformation is not performed. If a component meets a condition entered in the threshold field, component information is generated so that the component is transformed into the shape indicated in the post-transformation shape field. Each post-transformation shape is determined according to the shape of each component. For example, the transformation condition correspondence table 900 is correlated with the conditional expression table 700 by a transformation condition no. Thus, the shape to which the design rule R applies is correlated with a post-transformation shape.
The receiving unit 1001 receives input of the design information 300 and the DRC no. of the design rule R. For example, a user who performs verification inputs, via an input device, the design information 300 and the DRC no. of the design rule R to the verification support apparatus 100. The mouse 211, keyboard 210, etc., are used as the input unit. For example, a case is assumed where “DRC0002” is input as the DRC no. In this case, the overlapping shape 501 and the display dimension 502 have been preliminarily correlated in the design rule R.
The condition extracting unit 1002 extracts a target shape from the DRC determination condition correspondence table 600, based on the DRC no. received by the receiving unit 1001. For example, the condition extracting unit 1002 extracts the condition no. “C0002”, the target shape A1 “tab”, and the target shape A2 “tab” which correspond to the DRC no. “DRC0002”.
The condition extracting unit 1002 extracts from the conditional expression table 700, a conditional expression and a transformation condition no. which correspond to the condition no. For example, the condition extracting unit 1002 extracts from the conditional expression table 700, the conditional expression and the transformation conditions no. “M0003” and “M0004” which correspond to the condition no. “C0002”.
The condition extracting unit 1002 extracts from the shape pattern table 800, a shape pattern that has a name identical to the name of the extracted target shape. For example, the condition extracting unit 1002 extracts from the shape pattern table 800, the shape patterns 1 and 2 of which the name is “tab”.
The component retrieving unit 1003 retrieves from the design information 300 received by the receiving unit 1001, component information expressing the component whose shape matches the shape of the shape pattern extracted by the condition extracting unit 1002.
The acquiring unit 1004 acquires from the design information 300, component information for multiple components corresponding to the shape to which the design rule R related to the positional relation applies. In this example, the acquiring unit 1004 acquires from among the component information retrieved by the component retrieving unit 1003, component information for two or more components.
The generating unit 1006 generates based on the design information 300 expressing the object obj, component information that indicates the components of the object obj. The components indicated correspond to a shape to which the design rule R applies and for at least one of the components, the number of vertices thereof is reduced. For example, based on acquired design information, the generating unit 1006 generates component information indicating multiple components, among which the number of vertices of at least one component is reduced.
The determining unit 1005 determines whether to reduce the number of vertices of a component, based on a comparison between the number of vertices indicated by component information and a threshold corresponding to a shape to which the design rule R applies. The generating unit 1006 generates component information indicating the components for which the number of vertices has been determined for reduction by the determining unit 1005.
Based on a comparison between the number of vertices of the component indicated by component information and a threshold corresponding to the shape to which the design rule R applies, the determining unit 1005 may determine from among shapes having fewer vertices, the shape into which the component is to be transformed. The generating unit 1006 generates component information indicating the components that have been transformed into the shape determined by the determining unit 1005.
For example, based on the transformation condition Nos. “M0003” and “M0004” received by the condition extracting unit 1002, the determining unit 1005 acquires thresholds and post-transformation shapes corresponding to the transformation condition nos. in the transformation condition correspondence table 900. The acquired thresholds and post-transformation shapes are “number of vertices<20, no change in shape” and “number of vertices>19, cuboid”. For example, when the number of vertices is less than 20, the determining unit 1005 determines that no shape transformation is performed. When the number of vertices is greater than or equal to 20, the determining unit 1005 determines that a component is transformed into the smallest cuboid among cuboids surrounding the component. A detailed example will be described based on an assumption that it is determined that the shapes of the components B1 to B4 are to be transformed.
The judging unit 1008 then judges whether information indicating the positional relation calculated by the calculating unit 1007 meets a condition set based on the design rule R. For example, the judging unit 1008 substitutes the information calculated by the calculating unit 1007 into the acquired conditional expression and thereby, judges whether the information meets the condition. In the example of
The output unit 1010 outputs the result of the judgment by the judging unit 1008. The output unit 1010 outputs the judgment results in the form of, for example, display on the display 208 or transmission to an external apparatus through the I/F 209. The judgment results may be stored to a memory device, such as the ROM 203 and the disk 205. Configuration may be such that the output unit 1010 outputs the judgment result if the judging unit 1008 judges that the information indicating the positional relation meets the condition.
Thus, the verifier performs verification of a portion displayed in a highlighted form on the display 208 based on the design rule R. This prevents a case where an omission in verification occurs consequent to the skill of the verifier.
The display making unit 1009 generates information for displaying the display dimension 502 together with the combination of the components that require verification. Whether the display dimension 502 is to be displayed may be determined by, for example, an instruction from the user received through the receiving unit 1001.
The verification support apparatus 100 acquires from the conditional expression table 700, a conditional expression and a transformation condition no. based on the acquired condition no. (step S1603), and based on the acquired target shape, acquires a shape pattern from the shape pattern table 800 (step S1604). In the above example, the record 701-1 is acquired from the conditional expression table 700 and thus, the transformation condition Nos. “M0003” and “M0004” are acquired.
The verification support apparatus 100, based on the acquired shape pattern, acquires component information from the design information 300 (step S1605), and based on the acquired transformation condition Nos., acquires thresholds and post-transformation shapes from the transformation condition correspondence table 900 (step S1606). In the above example, a cuboid is the post-transformation shape. For each component indicated by the identified component information, the verification support apparatus 100 compares the number of vertices of the component with the acquired threshold (step S1607), and for each component indicated by the identified component information, determines whether to perform transformation or determines a post-transformation shape, based on the result of the comparison (step S1608). In the above example, it is determined that the components B1 to B4 are to be transformed into cuboids.
The verification support apparatus 100 determines whether to transform the shape of a component (step S1609). Upon determining not to transform the shape of any of components (S1609: NO), the verification support apparatus 100 proceeds to step S1611. Upon determining to transform the shape of a component (S1609: YES), the verification support apparatus 100 generates component information indicating the determined post-transformation shape into which the component is to be transformed (step S1610), and determines a combination to be judged (step S1611). In the above example, the component information is generated as information indicating the components C1 to C4 into which the components B1 to B4 have been transformed, each of the components C1 to C4 representing the smallest cuboid among cuboids surrounding each of the components B1 to B4.
The verification support apparatus 100 determines whether a combination not judged is present (step S1701). If a combination not judged is present (step S1701: YES), the verification support apparatus 100 selects a combination (step S1702). In this manner, each combination is judged to determine if verification according to the design rule R is required. The verification support apparatus 100 derives measurement points from the selected combination (step S1703), and substitutes the measurement points into the conditional expression (step S1704). The measurement points include, for example, barycenters, peripheral edges, and vertices.
The verification support apparatus 100 determines whether the conditional expression is met (step S1705). If the conditional expression is met (step S1705: YES), the verification support apparatus 100 outputs the selected combination as a verification portion (step S1706), and returns to step S1701. A verification portion is the portion that requires verification. If the conditional expression is not met (step S1705: NO), the verification support apparatus 100 returns to step S1701.
If all combinations have been judged (step S1701: NO), the verification support apparatus 100 determines whether to perform highlighted display of the combination detected as the verification portion (step S1801). If performing highlighted display (step S1801: YES), the verification support apparatus 100 determines whether to display the overlapping shape 501 (step S1802). If displaying the overlapping shape 501 (step S1802: YES), the verification support apparatus 100 enlarges or reduces the overlapping shape 501 to generate display content to be superposed on the combination that is the verification portion (step S1803).
The verification support apparatus 100 determines whether to display the display dimension 502 (step S1804). If displaying the display dimension 502 (step S1804: YES), the verification support apparatus 100 adds the display dimension 502 to the display content (step S1805), and proceeds to step S1806. If not displaying the overlapping shape 501 (step S1802: NO), the verification support apparatus 100 generates display content that highlights the combination as the verification portion (step S1807), and proceeds to step S1806. If not displaying the display dimension 502 (step S1804: NO), the verification support apparatus 100 displays the generated display content, following step S1807 or S1805 (step S1806), and ends the series of operations. If not performing highlighted display (step S1801: NO), the verification support apparatus 100 ends the series of operations.
As described above, the verification support apparatus reduces the number of vertices of a component that has many vertices among a group of components corresponding to a shape to which a design rule concerning the positional relation between components applies, and calculates the positional relation. As a result, calculation of the positional relation between components is simplified, and portions that require verification can be narrowed down by a simple calculation.
In a conventional case, for example, the verifier visually searches for a similar shape defined in an item described in the design rule and checks the similar shape found. In another case, for example, the design rule and a portion that requires verification are correlated in advance with a shape to which the design rule applies, and a verification result and the verification portion are displayed when verification is performed. In still another case, a shape to which the design rule applies is registered in advance with the design rule, and a portion that requires verification is retrieved by a shape-based search of design information subject to verification. These cases take a long time to retrieve the portion that requires verification, and increase the possibility that an omission in verification occurs consequent to the skill of the verifier. Even if a shape-based search is performed, the retrieved portion is not always a portion that requires verification. For example, when the design rule is for verification of the degree by which “tab” shapes overlap, if two “tab” shapes retrieved by shape-based search are away from each other, verification is unnecessary.
According to the verification support apparatus of the embodiments, portions that require verification can be narrowed down. This prevents a case where an omission in verification occurs consequent to the skill of the verifier. According to the verification support apparatus, among combinations of components having shapes to which the design rule applies, a combination that requires verification and a combination that does not require verification are distinguished from each other. As a result, portions of an object that require verification can be narrowed down, and verification according to the design rule is performed efficiently.
The verification support apparatus compares the number of vertices of a component with a threshold corresponding to a shape and thereby, determines whether to perform transformation that reduces the number of vertices. For example, shape transformation is performed in a case where calculation of information indicating the positional relation between components is simplified by transforming the shape of a component having many vertices.
The verification support apparatus transforms at least one component among multiple components into the smallest sphere among spheres surrounding the component, or transforms at least one component among multiple components into the minimum cuboid among cuboids surrounding the one component. This simplifies calculation of information indicating the positional relation between components.
The verification support method described in the present embodiment may be implemented by executing a prepared program on a computer such as a personal computer and a workstation. The program is stored on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, read out from the computer-readable medium, and executed by the computer. The program may be distributed through a network such as the Internet.
According to one aspect of the present embodiment, calculation of the positional relation between components can be simplified.
All examples and conditional language provided herein are intended for pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2012-208983 | Sep 2012 | JP | national |