Simulation model generating device, simulation model generating method, and program

The simulation model generation device analyzes 3D CAD information to determine shared rotation axes and contact surfaces, enhancing the accuracy of connection relationship verification and simulation model generation for detailed design verification.

JP7597647B2Active Publication Date: 2024-12-10HITACHI LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2021089867
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-05-28
Publication Date
2024-12-10
Estimated Expiration
2041-05-28

AI Technical Summary

Technical Problem

Existing simulation models for verifying connection relationships between component elements in devices are inadequate for detailed verification, particularly in design verification processes, as they only grasp the fixed state and fail to accurately represent the actual situation.

Method used

A simulation model generation device that analyzes 3D CAD information to determine shared rotation axes, contact surfaces, and connection relationships, including non-contact, fixed, sliding, and rotating states, to generate a detailed simulation model.

Benefits of technology

Enables accurate and detailed verification of device components by specifying connection relationships, allowing for efficient simulation model generation and improved design verification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007597647000001
    Figure 0007597647000001
  • Figure 0007597647000002
    Figure 0007597647000002
  • Figure 0007597647000003
    Figure 0007597647000003
Patent Text Reader

Abstract

To provide a simulation model generation device configured to efficiently and automatically generate a simulation model used for verification from 3D CAD information, a simulation model generation method, and a program.SOLUTION: A simulation model generation device 18 configured to identify a connection relation between part elements includes: a contact surface number determination unit 1804 configured to determine the number of contact surfaces between the part elements using structural model data in the device; a shared rotation axis determination unit 1803 configured to determine, using the structural model data, presence or absence of a shared rotation axis between the part elements; and a connection relation identification unit 1805 configured to identify a connection relation between the part elements indicating any one of non-contact, fixation, slide, and rotation according to the number of the contact surfaces and the presence or absence of a shared rotation axis.SELECTED DRAWING: Figure 18
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a technique for identifying connection relationships between component elements constituting a device represented by structural model data of a three-dimensional CAD used for design, etc. In particular, the present invention relates to a technique for generating a simulation model using the identified connection relationships. [Background technology]

[0002] Patent Document 1 proposes a technique for grasping the connection relationship between component elements in a device. The purpose of Patent Document 1 is to "check the fixed state of components that are in contact with each other."

[0003] To achieve this goal, Patent Document 1 describes that "among multiple parts that make up a product represented by 3D CAD, one of the parts that come into contact with each other is designated as a contacted part and the other as a contacting part, and a contacted surface with which the contacting part of the contacted part comes into contact is identified. A contacting part identification unit 14 identifies a contacting part that comes into contact with the contacted surface. A fixed state determination unit 15 moves the contacting part identified by the contacting part identification unit in multiple directions along the contacted surface and in a direction perpendicular to the contacted surface, and determines the fixed state of the contacting part with respect to the contacted part based on whether the contacting part comes into contact with a part other than the contacting part. A display control unit 16 controls the display unit to display the product image in a display mode corresponding to the fixed state determined by the fixed state determination unit." [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2019-016180 A Summary of the Invention [Problem to be solved by the invention]

[0005] Here, verification is performed by simulations and the like for design. This design includes equipment related to logistics and manufacturing, systems realized by combining equipment, and processes using the equipment and systems. In such verification, detailed verification is required at an early stage before prototyping in order to shorten the design manufacturing period. However, building a simulation model manually takes a lot of time.

[0006] For such verification, it is conceivable to grasp the connection relationship of component elements using the technology described in Patent Document 1. Here, Patent Document 1 discloses a method for automatically extracting the fixed state of a specified component by detecting components that come into contact when the specified component is moved in a predetermined direction.

[0007] However, in Patent Document 1, only the fixed state between component elements can be grasped, making it difficult to perform verification that is more in line with the actual situation. Therefore, the present invention aims to specify the connection relationship between component elements in more detail and enable verification of devices, etc. [Means for solving the problem]

[0008] The above problems are solved, for example, by the inventions described in the claims. Effect of the Invention

[0009] According to the present invention, the connection relationships between component elements in a device can be specified in more detail, and the device or the like can be accurately verified. [Brief description of the drawings]

[0010] [Figure 1] A flowchart showing a process according to an embodiment of the present invention. [Diagram 2] FIG. 13 is a diagram showing a specific example for explaining the details of step S102 in an embodiment of the present invention. [Diagram 3]FIG. 13 shows a specific example of steps S105, S106, and S108 in an embodiment of the present invention. [Figure 4] FIG. 13 is a diagram showing a specific example of determining whether or not a contact surface is present in an embodiment of the present invention. [Diagram 5] FIG. 1 shows a 3D CAD model included in the 3D CAD information of a component 1 according to an embodiment of the present invention. [Figure 6] FIG. 1 is a diagram for explaining a process for determining the number of contact surfaces between each part element in a component 1 according to an embodiment of the present invention. [Figure 7] A contact surface number table showing the result of determining the contact surfaces of component 1 in one embodiment of the present invention. [Figure 8] A connection relationship table showing the contact relationship of component 1 in one embodiment of the present invention. [Figure 9] Tree diagram of component 1 in one embodiment of the present invention [Figure 10] FIG. 1 shows a 3D CAD model included in the 3D CAD information of component 2 in an embodiment of the present invention. [Figure 11] FIG. 1 is a diagram for explaining a process for determining the number of contact surfaces between each part element in a component 2 according to an embodiment of the present invention. [Figure 12] A contact surface number table showing the result of determining the contact surfaces of the component 2 in one embodiment of the present invention. [Figure 13] A connection relationship table showing the contact relationship of component 2 in one embodiment of the present invention. [Figure 14] Tree diagram of component 2 in one embodiment of the present invention [Figure 15] FIG. 1 is a diagram showing the concept of a depth-first search method in one embodiment of the present invention. [Figure 16] FIG. 15 shows an example of applying the depth-first search method to the tree diagram of FIG. 14 in one embodiment of the present invention. [Figure 17] A flowchart showing a process flow relating to a user interface in one embodiment of the present invention. [Figure 18] FIG. 2 is a functional block diagram of a simulation model generating device according to an embodiment of the present invention; [Figure 19]A system configuration diagram according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] An embodiment of the present invention will be described below. In this embodiment, an example will be described in which 3D CAD information for design is used as structural model data to identify connection relationships and generate a simulation model. <Configuration> First, the configuration of this embodiment will be described. FIG. 18 shows a functional block diagram of the simulation model generation device 18 in this embodiment. In FIG. 18, the simulation model generation device 18 has a 3DCAD information input unit 1801, a component analysis unit 1802, a shared rotation axis determination unit 1803, a contact surface number determination unit 1804, a connection relationship specification unit 1805, an operation mechanism analysis unit 1806, an input / output unit 1807, and a bus 1808 connecting these. The functions of each component will be described below, and the details will be described later using the flowchart shown in FIG. 1. Also, in this embodiment, the simulation model generation device 18 will be described as an example, but the generation of the simulation model may be omitted and the device may be configured as a connection relationship characteristic device.

[0012] First, a 3D CAD information input unit 1801 receives input of 3D CAD information. The 3D CAD information is design information of a device (component) to be verified, and is information regarding the shape and size of the component and the installation positions of the components that constitute the component.

[0013] The 3D CAD information is assumed to be stored in a storage unit (not shown) of the simulation model generating device 18 or in a storage unit of another device. In this manner, the 3D CAD information input unit 1801 has an interface function.

[0014] Next, the component analysis unit 1802 analyzes the input 3D CAD information and breaks it down into the individual parts that make up the component. Note that the part elements include the component itself, part elements, and modules that are combinations of parts, and can also be expressed as components.

[0015] Next, the shared rotation axis determination unit 1803 determines whether or not there is a shared rotation axis between each of the component elements analyzed by the component analysis unit 1802. More specifically, the shared rotation axis determination unit 1803 performs a process of determining whether or not there is a circle that shares a center between the component elements. This is step S102 in FIG. 1, which will be described later. Furthermore, it is desirable for the shared rotation axis determination unit 1803 to execute a process of determining whether or not there are two or more shared axes (step S104 in FIG. 1).

[0016] Next, the contact surface number determination unit 1804 determines the number of contact surfaces between each component element. That is, the contact surface number determination unit 1804 counts the number of contact surfaces. More specifically, step S103 in Fig. 1, which will be described later, is executed. As a result, the contact surface number tables shown in Fig. 7 and Fig. 12 are generated. These will be described later.

[0017] Next, the connection relationship identifying unit 1805 identifies the connection relationship between each of the component elements based on the number of contact surfaces between the component elements and the presence or absence of a common rotation circle. The connection relationships include "non-contact", "fixed", "slide", and "rotation", and the connection relationship identifying unit 1805 identifies which of these. Specifically, each process of steps S105 to S109 in FIG. 2 is executed. Note that "non-contact" refers to a state in which the component elements are not in contact with each other or connected to each other. Furthermore, "fixed" refers to the component elements being in contact with each other or connected to each other, and the movement between the components is fixed at the contact or connection. Here, the fixed movement may be within a certain range. Furthermore, "slide" refers to the component elements being in contact with each other or connected to each other and moving in a manner that causes a shift (there is a stroke). In this case, a case in which the amount of shift is equal to or greater than a certain amount may be defined as a slide. Furthermore, "rotation" refers to the component elements being in contact with each other or connected to each other, and moving in a manner that causes the components to rotate at the contact or connection.

[0018] Next, the movement mechanism analysis unit 1806 analyzes the movement mechanism based on the connection relationship. In other words, it specifies what kind of movement the target component performs. This specification includes specification of the movement mechanism such as a link mechanism and a crank mechanism. This process executes step S111 in FIG. 1. Specifically, the movement mechanism analysis unit 1806 executes the process of generating the tree diagrams shown in FIG. 9, FIG. 14, FIG. 15, and FIG. 16 and deriving the movement mechanism from the tree diagrams. As a result, the movement mechanism analysis unit 1806 generates a simulation model. Furthermore, it is desirable that the movement mechanism analysis unit 1806 executes various verifications (simulations) using the analysis results of the movement mechanism described above.

[0019] Next, the input / output unit 1807 presents information to the user and receives information input from the user. For this reason, the input / output unit 1807 may be realized by a display device such as a display and an input device such as a keyboard or a mouse, or may be realized by a single configuration such as a touch panel. The input / output unit 1807 may be provided in the simulation model generating device 18, or may be realized as another independent terminal device. The input / output unit 1807 executes a user interface shown in the flowchart of FIG. 17.

[0020] The simulation model generating device 18 can be realized by a so-called computer. Therefore, the component analysis unit 1802 to the operation mechanism analysis unit 1806 may be realized by a computer program, or may be realized by dedicated hardware or an FPGA (Field Programmable Gate Array). The computer program may be stored in a storage medium or distributed to the simulation model generating device 18 via a network.

[0021] Next, a configuration example in the present embodiment in which the simulation model generating device 18 is realized by a server such as a so-called cloud is shown in Fig. 19. Fig. 19 is a system configuration diagram in this embodiment. In Fig. 19, the simulation model generating device 18 is connected to a 3D CAD system and terminal devices 1807-1 to 1807-3. Of these, the 3D CAD system and terminal devices 1807-2 and 1807-3 are connected to the simulation model generating device 18 via a network 20.

[0022] Here, the simulation model generating device 18 is realized by a computer, and has a processing unit 181, a storage unit 182, and an interface unit 183, which are connected to each other via a bus 1808.

[0023] Here, the processing unit 181 is realized by a processor such as a so-called CPU. The processing unit 181 executes the processes of the component analysis unit 1802 to the operation mechanism analysis unit 1806. For this purpose, the processing unit 181 may have the component analysis unit 1802 to the operation mechanism analysis unit 1806 themselves, or may process according to computer programs corresponding to these units stored in the storage unit 182.

[0024] Furthermore, the storage unit 182 stores information and computer programs. Therefore, the storage unit 182 can be realized by a memory, a HDD, an SDD, etc. Note that, although the present embodiment is configured to store the 3D CAD information in the 3D CAD system 19, the storage unit 182 may store the information.

[0025] 18. The interface unit 183 executes the function of connecting to the network 20 and the terminal device 1807-1, and corresponds to the 3D CAD information input unit 1801 in FIG.

[0026] Here, the terminal devices 1807-1 to 1807-3 correspond to the input / output unit 1807 in Fig. 18. Among these, the terminal device 1807-1 is installed in the same premises as the simulation model generating device 18 and is connected via an intranet. The terminal devices 1807-2 and 1807-3 are installed in remote locations from the simulation model generating device 18 and are connected as the network 20 via a wide area network such as the Internet. These terminal devices 1807-1 to 1807-3 are functionally the same and can be realized by information processing devices such as smartphones, tablets, and PCs. For this reason, the terminal devices 1807-1 to 1807-3 execute various processes according to computer programs such as so-called applications.

[0027] Furthermore, the 3DCAD system 19 designs components according to operations on the terminal devices 1807-1 to 1807-3 or its own input device. The 3DCAD system 19 stores 3DCAD information, which is design information created as a result of the design. This 3DCAD information can be acquired by the simulation model generating device 18 via the interface unit 183. This completes the description of the configuration of this embodiment. <Processing flow> Next, the processing flow of this embodiment will be described. Fig. 1 is a flowchart showing the processing in this embodiment. Below, the processing flow of this embodiment will be described according to Fig. 1, using each component in Fig. 18 as the processing subject.

[0028] First, in step S101, this processing flow is started. For this purpose, it is preferable that the input / output unit 1807 accepts an instruction to start processing from the user as a condition. At this time, the 3D CAD information input unit 1801 acquires 3D CAD information of the target component. Here, it is preferable that the input / output unit 1807 accepts an instruction to specify the target component from the user, and the 3D CAD information input unit 1801 acquires the corresponding 3D CAD information.

[0029] The component analysis unit 1802 may be configured to decompose the components indicated by the acquired 3D CAD information into each component element in preparation for the following process. Also, the 3D CAD system 19 may store the information decomposed into each component element as 3D CAD information.

[0030] Next, in step S102, the shared rotation axis determination unit 1803 determines whether or not there is a circle that shares a center between each of the component elements that make up the component. For this purpose, the shared rotation axis determination unit 1803 extracts each component element and creates a combination of these. Then, the shared rotation axis determination unit 1803 determines whether or not there is a circle between each of the component elements that make up each combination. Note that this step and steps S103 to S109 are executed for each of the component elements. If it is determined in this determination process that there is no circle that shares a center (No), the process transitions to step S103. If it is determined that there is a circle (Yes), the process transitions to step S104.

[0031] Here, the details of step S102 will be described using a specific example shown in FIG. 2. In FIG. 2, the shared rotation axis determination unit 1803 determines the center of gravity O of the closed curve passing through each of the points A, B, C, D, E, and F related to the component elements as the center of the circle. Then, the shared rotation axis determination unit 1803 determines whether a point determined to be the center overlaps with a point on a directional axis perpendicular to the faces constituting the closed curves A, B, C, D, E, and F. As a result, if they overlap, the shared rotation axis determination unit 1803 determines that a shared circle exists. Note that the shared rotation axis determination unit 1803 determines that an overlapping point exists when each point exists within a predetermined range. As described above, according to this process, it is possible to automatically determine the presence or absence of circles sharing a center point from 3D polygon information by finding the center of the circle from the center of gravity of the closed curve and determining whether the center of the circle overlaps with the perpendicular axis direction of the faces constituting the closed curve.

[0032] Then, in step S103, the contact surface number determination unit 1804 performs a process of determining the number of contact surfaces between each part element that constitutes the component. That is, the contact surface number determination unit 1804 counts the number of contact surfaces. As a result, if the number of contact surfaces is 0, the process transitions to step S105. If the number of contact surfaces is 1 or 3, the process transitions to step S106. If the number of contact surfaces is 2, the process transitions to step S107. Note that the contact surface number determination unit 1804 may determine the number of contact surfaces as "0," "odd number," or "even number." In this case, if the number of contact surfaces is "0," the process transitions to step S105; if it is an "odd number," the process transitions to step S106; and if it is an "even number," the process transitions to S107.

[0033] In step S104, the shared rotation axis determination unit 1803 determines, that is, counts, the number of shared axes of the shared circle. As a result, if it is determined that the number of shared axes is less than two, that is, one (No), the process proceeds to step S109. If it is determined that the number of shared axes is two or more (Yes), the process proceeds to step S107.

[0034] Then, in step S107, the connection relationship identifying unit 1805 determines whether the sliding movable range is equal to or greater than a predetermined threshold. This is because, when the number of contact surfaces is two, sliding is possible in a direction where there are no contact surfaces, and when there are two or more shared axes, rotation is not possible and sliding is possible in a direction equivalent to the rotation axis. Here, even if there is microscopic sliding, if the amount of sliding is minute, it can be determined to be fixed, and step S107 is executed.

[0035] Based on the results of the above processes, a process of identifying a connection relationship is performed in steps S105 to S109. Note that steps S104 and S107 may be omitted, and the process of identifying a connection relationship in steps S105 to S109 may be performed based on "presence or absence of a shared rotation axis (step S102)" and "the number of contact surfaces (step S103)". In this case, if a shared circle is present in step S102, the process proceeds to step S109. Also, if the number of contact surfaces is determined to be two in step S103, the process proceeds to step S108.

[0036] Next, in step S105, the connection relationship identifying unit 1805 determines that the connection relationship between the target part elements is "non-contact." In the case of , it is determined that there is no contact. This is determined by the connection relationship identifying unit 1805 based on the fact that there are no circles sharing a common center and the number of contact surfaces is zero.

[0037] Furthermore, in step S106, since the connection relationship identifying unit 1805 has determined that the slide movable range is less than a predetermined threshold value or that the number of hasty faces is one to three, it determines that the connection relationship is fixed.

[0038] Furthermore, in step S108, since the sliding movement range is determined to be equal to or larger than the predetermined threshold, the connection relationship identifying unit 1805 determines that the connection relationship is a sliding relationship.

[0039] Furthermore, in step S109, since it is determined that there is one shared rotation axis, the connection relationship identifying unit 1805 determines that the connection relationship is rotation.

[0040] Here, the details of the determination of the connection relationship will be described with reference to Fig. 3 and Fig. 4. First, a specific example of steps S105, S106 and S108 will be described with reference to Fig. 3.

[0041] First, as shown in Fig. 3(a), the connection relationship identifying unit 1805 determines that there is no contact with the part element body when there are zero contact faces. Also, when there is only one contact face in the direction of the arrow between the part element body and another part shown in Fig. 3(b), the connection relationship identifying unit 1805 determines that the part element body is fixed because an axis for movement cannot be constructed with only one face.

[0042] Furthermore, as shown in FIG. 3(c), if there are contact surfaces on the z-axis and x-axis, the target parts can slide in the y-axis direction using the two contact surfaces as support, and therefore the connection relationship identifying unit 1805 determines that there is a sliding relationship between the target parts. As shown in Figure 3(d), if it is determined that the target part element and the contact surface of another part are in contact on three different surfaces in the x, y, and z directions, the two parts are determined to be in a fixed relationship and cannot move.

[0043] As described above, according to this embodiment, it is possible to automatically obtain the connection relationship between each part element constituting a component from the number of contact faces of each part element of a 3D polygon.

[0044] Here, the determination of the connection relationship involves determining the number of contact surfaces (see FIG. 3 and step S103). In determining the number of contact surfaces, it is necessary to determine whether there is contact between the component elements, that is, whether there is a contact surface. A specific example of the determination of the presence or absence of a contact surface will be described with reference to FIG. 4.

[0045] The contact surface number determination unit 1804 performs collision determination between triangular polygons representing component elements existing in the same plane in FIG. 4, and determines the surface where there is collision as a contact surface. Here, the contact surface number determination unit 1804 sets the sides of the triangle as candidates for the separation axis (thick line: 401), and projects the triangle onto a line segment (dashed line: 402) perpendicular to the separation axis. As a result, if the projected parts (thick dashed lines) overlap, the contact surface number determination unit 1804 determines that there is a collision, that is, that there is a contact surface (in this figure, there is no overlap and it is determined that there is no collision). The contact surface number determination unit 1804 executes the above process for each side. In this way, the determination of the presence or absence of a contact surface is realized. As described above, according to this embodiment, it is possible to realize the determination of the presence or absence of a contact surface between 3D polygons.

[0046] 1, the description of the processing flow of this embodiment will be continued. Next, in step S110, the connection relationship identifying unit 1805 judges whether the determination of the connection relationships has been completed for each combination of component elements created in step S102. As a result, if it is judged that the determination of each connection, that is, the connection relationships between each component element, has been completed (Yes), the process proceeds to step S111. On the other hand, if it is judged that the determination has not been completed (No), the process proceeds to step S102, where processing is performed for other combinations between component elements.

[0047] Next, in step S111, the movement mechanism analysis unit 1806 analyzes the movement mechanism. As a result, the movement mechanism analysis unit 1806 identifies a movement mechanism configured of part elements that configure the component. Then, the movement mechanism analysis unit 1806 outputs the identified movement mechanism via the input / output unit 1807.

[0048] In this way, the simulation model is generated, and then in step S112, this processing flow ends.

[0049] As described above, according to this embodiment, for a component consisting of multiple part elements, a process of determining the number of contact surfaces between each part element and the number of circles sharing a common center is automatically performed. This makes it possible to automatically extract operation mechanism information required for a simulation from 3D CAD information, i.e., design information for a component consisting of multiple part elements. This makes it possible to automatically generate a simulation model from 3D CAD information. Note that, although 3D CAD information is used in this embodiment, other design information and device information including shapes may also be used.

[0050] In this embodiment, the process ends at step S112, but the operation mechanism analysis unit 1806 may perform a simulation (verification) in response to a user instruction from the input / output unit 1807. At this time, the operation mechanism analysis unit 1806 performs a simulation using the connection relationships and the operation mechanism.

[0051] This concludes the explanation of the processing flow of this embodiment. Next, an example of this embodiment will be explained. <Example 1> The generation of the simulation model of this embodiment described above will be explained using an actual example. First, component 1 will be explained as actual example 1. FIG. 5 shows a 3D CAD model included in the 3D CAD information of component 1 for which a simulation model is to be generated in this embodiment. In FIG. 5, component 1 has each part element, a body (501), a cable (502), a motor (503), a slide 1 (504), a Y robot (505), and a slide 2 (506). Component 1 has a connection relationship as shown in FIG. 5. Hereinafter, a process of determining the number of contact surfaces between each part element of component 1 will be explained using FIG. 6.

[0052] First, Fig. 6(a) to Fig. 6(e) are diagrams showing contact surfaces when the component 1 has one or more contact surfaces. Fig. 6(a) shows the contact surface between the body (501) and the slide 1 (504), and indicates that the body (501) and the slide 1 (504) come into contact at two surfaces indicated by arrows. Fig. 6(b) shows the contact surface between the slide 2 (506) and the Y robot (505), and indicates that the slide 2 (506) and the Y robot (505) come into contact at two surfaces indicated by arrows.

[0053] Fig. 6(c) shows the contact surface between the body (501) and the motor (503), where the body (501) and the motor (503) come into contact on one surface indicated by an arrow, and Fig. 6(d) shows the contact surface between the slide 1 (504) and the Y robot (505), where the slide 1 (504) and the Y robot (505) come into contact on one surface indicated by an arrow.

[0054] Fig. 6(e) shows the contact surfaces of the body (501) and the cable (502), and indicates that the body (501) and the cable (502) come into contact on three surfaces indicated by arrows. Fig. 6(f) further shows that the slide 1 (504) and the cable (502) come into contact on three surfaces indicated by arrows, although the contact points are difficult to see in this figure. In this way, the contact surface number determination unit 1804 can determine the contact surfaces of the component 1.

[0055] Next, FIG. 7 is a contact surface number table showing the result of determining the contact surface of component 1. In this contact surface number table, the component elements of component 1 are shown on the vertical and horizontal axes, respectively, and the number of contact surfaces between the component elements is recorded in the area where they intersect. First, the number of contact surfaces between slide 1 and body is 2 as shown in FIG. 6(a). The number of contact surfaces between cable and body is 3 as shown in FIG. 6(e). The number of contact surfaces between cable and slide 1 is 3 as shown in FIG. 6(f). The number of contact surfaces between motor and body is 1 as shown in FIG. 6(c). The number of contact surfaces between motor and slide 1 and between motor and cable are each separated, so the number of contact surfaces is 0. The number of contact surfaces between Y robot and body is also 0 because they are separated. The number of contact surfaces between Y robot and slide 1 is 1 as shown in FIG. 6(d). There is no contact between Y robot and cable and between Y robot and motor, so the number of contact surfaces is 0. There is no contact between slide 2 and the body, between slide 2 and slide 1, between slide 2 and the cable, and between slide 2 and the motor, and the number of contact surfaces is 0. Between slide 2 and the Y robot, the number of contact surfaces is 2, as shown in FIG. 6(e). As described above, as a result of step S103, contact surface number determination unit 1804 creates the contact surface number table shown in FIG.

[0056] Next, a connection relationship table showing the connection relationships identified by connection relationship identifying unit 1805 will be described with reference to Fig. 8. Fig. 8 shows the connection relationships between the respective part elements of component 1 using the contact surface number table of Fig. 7. In Fig. 8, the connection relationship table shows the part elements of component 1 on the vertical and horizontal axes, respectively, and records the connection relationships between the part elements corresponding to their intersecting areas. The processing contents of connection relationship identifying unit 1805 and the contents of the connection relationship table that is the result will be described below.

[0057] First, the number of contact surfaces between the slide 1 (504) and the body (501) is 2, and the stroke length is not particularly short, so the connection is a slide. Here, "short" means that the stroke length is shorter than a preset threshold value.

[0058] Also, since the number of contact surfaces between the cable (502) and the body (501) is 3, the connection relationship is fixed. Since the number of contact surfaces between the cable (502) and the slide 1 (504) is 3, the connection relationship is fixed. Since the number of contact surfaces between the motor (503) and the body (501) is 1, the connection relationship is fixed. Since the number of contact surfaces between the motor (503) and the slide 1 (504) and between the motor (503) and the cable (502) are 0, the connection relationships are non-contact. Since the number of contact surfaces between the Y robot (505) and the body (501) is 0, the connection relationships are non-contact. Since the number of contact surfaces between the Y robot (505) and the slide 1 (504) is 1, the connection relationships are fixed. Since the number of contact surfaces between the Y robot (505) and the cable (502) and between the Y robot (505) and the motor (503) are 0, the connection relationships are non-contact. The number of contact surfaces between slide 2 (506) and the body (501), between slide 2 (506) and slide 1 (504), between slide 2 (506) and the cable (502), and between slide 2 (506) and the motor (503) are zero, so the connections are non-contact. Between slide 2 (506) and the Y robot (505), the number of contact surfaces is two, and the stroke length is not particularly short, so the connection is sliding.

[0059] As described above, the connection relationship identifying unit 1805 identifies the connection relationships between the component elements, and stores them in the connection relationship table in the storage unit 182 .

[0060] As described above, in this embodiment, for component 1 shown in Fig. 5, the number of contact surfaces between each part element is found as shown in Fig. 6 and Fig. 7, and the connection relationships can be identified from the number of contact surfaces between each part element as shown in Fig. 8. In other words, the process flow of the flowchart shown in Fig. 1 can be applied to component 1, which is an example. Note that in this example, it is determined that there are no centrally shared circles (No in step S102).

[0061] Next, the processing of the movement mechanism analysis unit 1806 for component 1 will be described. Fig. 9 shows a tree diagram generated by the movement mechanism analysis unit 1806. In other words, this tree diagram is a tree diagram created by the movement mechanism analysis unit 1806 for component 1 from the connection relationship table shown in Fig. 8. The creation of this tree diagram and its structure will be described below.

[0062] First, the operation mechanism analysis unit 1806 extracts the body (501) from among the part elements of the component 1 as the top part of the tree. For this purpose, it is preferable to receive a designation of the top part element from the user via the input / output unit 1807. Alternatively, the operation mechanism analysis unit 1806 extracts the top part element according to a predetermined rule.

[0063] Next, the movement mechanism analysis unit 1806 extracts part elements connected to the body (501) from the connection relationship table. In other words, part elements having a connection relationship with the body (501) other than non-contact are extracted. In this example, the movement mechanism analysis unit 1806 extracts the cable (502), the motor (503), and the slide 1 (504). Then, the movement mechanism analysis unit 1806 specifies the connection relationship between each of the extracted part elements and the top-level part element from the connection relationship table. In other words, the cable (502) is connected to the body (501) by a fixed part (911). The motor (503) is connected to the body (501) by a fixed part (912). In addition, the slide 1 (504) is connected to the body (501) in the X-axis direction by the slide (914) (the axis direction is from FIG. 6).

[0064] Next, the operation mechanism analysis unit 1806 extracts each of the extracted part elements and part elements that are connected to parts other than the top-level part from the connection relationship table. As described above, part elements with connection relationships other than non-contact are extracted here as well. In this way, the operation mechanism analysis unit 1806 identifies the connection relationship with the second level of the tree diagram. Specifically, the operation mechanism analysis unit 1806 extracts slide 1 (504) that is connected to cable (502). Then, the operation mechanism analysis unit 1806 identifies the connection relationship between cable (502) and slide 1 (504) as fixed (913) from the connection relationship table.

[0065] The movement mechanism analysis unit 1806 also identifies slide 1 (504) as the third level of the hierarchy in the tree diagram. Then, among the component elements connected to slide 1 (504), it identifies the component configuration other than the body (501) and cable (502) whose connections have already been identified. Specifically, it identifies the Y robot (505). Then, the movement mechanism analysis unit 1806 identifies the connection relationship between slide 1 (504) and the Y robot (505) as fixed (915) from the connection relationship table.

[0066] Similarly, at the fourth level, slide 2 (506) is identified as a component element connected to the Y robot (505), and the connection between them is also identified as a slide (916) in the Y-axis direction (the axis direction is as shown in Figure 6).

[0067] Then, the movement mechanism analysis unit 1806 judges slide 2 (506) to be the bottom layer based on the contact surface number table and the connection relationship table. In this way, the movement mechanism analysis unit 1806 creates the tree diagram shown in Fig. 9. When the tree diagram created in this way is analyzed, a loop is generated that is composed of body (501)-fixed (911)-cable (502)-fixed (913)-slide 1 (504)-slide (914) in the X-axis direction-body (501).

[0068] Here, the motion mechanism analysis unit 1806 analyzes the loop shown in the tree diagram and detects the following contradiction: The cable (502) is fixed to both the body (501) and the slide 1 (954), but the body (501) and the slide 1 (504) are slides, so a contradiction occurs.

[0069] To resolve this contradiction, it is necessary to change the slide (914) in the X-axis direction to a fixed position, or to cut the fixed position (913) or the fixed position (911) to a non-contact position. To address this issue, the following measures (1) to (3) can be taken. (1) Automatic response in the motion mechanism analysis unit 1806 When creating this tree diagram, the slide (914) in the X-axis direction has already been confirmed to be equal to or greater than a predetermined threshold in the stroke length determination process in step S107. For this reason, the movement mechanism analysis unit 1806 decides to cut the fixed part (913) or the fixed part (911). Then, the movement mechanism analysis unit 1806 gives priority to the fixed part (913) or the fixed part (911), which is higher up in the tree diagram. In other words, the movement mechanism analysis unit 1806 cuts the fixed part (913), which is farther from the topmost body (501). As a result, as shown in FIG. 9, the part between the fixed part (913) and the slide 1 (504) is shown with a dashed line.

[0070] In this case, the movement mechanism analysis unit 1806 may specify the area between the fixed part (913) and the slide 1 (504) as the first candidate for cutting. Then, the movement mechanism analysis unit 1806 outputs these to the input / output unit 1807. Then, the movement mechanism analysis unit 1806 determines the cutting location according to the permission of the user. (2) User Choices The movement mechanism analysis unit 1806 identifies, in addition to the first candidate in (1), a fixed portion 911 and a slide (914) in the X-axis direction as other candidates. Next, the movement mechanism analysis unit 1806 outputs each of these candidates to the input / output unit 1807. At this time, it is desirable to output each candidate without making any particular distinction. Then, the movement mechanism analysis unit 1806 determines the selection result received from the user via the input / output unit 1807 as the cutting point. (3) User instructions The movement mechanism analysis unit 1806 outputs the occurrence of a contradiction to the input / output unit 1807. Next, the movement mechanism analysis unit 1806 receives an instruction of a cut location from the user via the input / output unit 1807. Then, the movement mechanism analysis unit 1806 determines the indicated location as the cut location.

[0071] This completes the explanation of (1) to (3). As a result, the cable (502) and motor (503) are fixed to the main body (501), and slide 1 (54) is connected to the body (501) by a slide in the X-axis direction. In addition, the Y robot (505) is connected to the slide 1 (504), and slide 2 is connected to the Y robot (505) by a slide in the Y-axis direction. The movement mechanism analysis unit 1806 performs the movement analysis as described above, and generates a simulation model based on the results of the analysis.

[0072] Above, we have explained Example 1, in which a simulation model is generated for component 1. This Example 1 shows that motion analysis can be automatically performed for a component with a sliding mechanism. In addition, it is possible to perform correct motion analysis by tree analysis even for an object whose shape can change, such as a cable (502). <Example 2> Next, generation of a simulation model for component 2 will be described as Example 2. Fig. 10 is a diagram showing a 3D CAD model included in the 3D CAD information of component 2. Component 2 is composed of the following part elements: body 1001, holder 1002, cylinder 1003, and rod 1004.

[0073] A process for determining the number of contact surfaces between each part element of the component shown in Fig. 10 will be described with reference to Fig. 11. Hereinafter, a process for determining the number of contact surfaces between each part element of the component 2 will be described with reference to Fig. 11.

[0074] Figures 11(a), 11(b), and 11(c) show cases where there are circles sharing a common center, while Figure 11(d) shows a case where there is one or more contact surfaces. First, Figure 11(a) shows a common center circle 1101 of a body 1001 and a holder 1002. Here, the body 1001 and the holder 1002 indicate that the circle indicated by the round arrow serves as the common center circle, and they can rotate around the center of this common center circle.

[0075] 11(b) also shows a shared central circle (1102) between the body 1001 and the cylinder 1003. Here, the body 1001 and the cylinder 1003 have the circle indicated by the round arrow as their shared central circle, and can rotate around the center of this shared central circle.

[0076] 11(c) shows a shared central circle (1103) between the holder 1002 and the rod 1004. Here, the holder 1002 and the rod 1004 are shown to have a shared central circle indicated by a circular arrow, and can rotate around the center of this shared central circle.

[0077] FIG. 11(d) shows the contact surfaces of cylinder 1003 and rod 1004, and indicates that cylinder 1003 and rod 1004 contact each other at two surfaces indicated by arrows.

[0078] Next, Fig. 12 shows a contact surface number table indicating the result of determining the contact surfaces of component 2 shown in Fig. 11. The contact surface number table in Fig. 12 is a table indicating the determination process result for the combination of each part element of component 2, that is, the number of central shared circles or contact surfaces between each part element. This contact surface number table is created by the operation mechanism analysis unit 1806, similar to component 1.

[0079] Here, in the contact surface number table, a shared central circle exists between the body 1001 and the holder 1002 as shown in FIG. 11(a). A shared central circle exists between the cylinder 1003 and the body 1001 as shown in FIG. 11(b). Furthermore, the cylinder 1003 and the holder 1002 are separated, and the number of contact surfaces is zero. The rod and the body are separated, and the number of contact surfaces is zero. A shared central circle exists between the rod 1004 and the holder 1002 as shown in FIG. 11(c). The number of contact surfaces between the rod 1004 and the cylinder 1003 is two, as shown in FIG. 11(d). The contact surface number determination unit 1804 creates the contact surface number table shown above, and stores it in the memory unit 182.

[0080] Next, a connection relationship table showing the connection relationships identified by the connection relationship identifying unit 1805 for the component 2 will be described with reference to FIG.

[0081] 13, the connection relationship identifying unit 1805 determines the connection relationship between the body 1001 and the holder 1002 to be rotational because a shared center circle exists between them. Also, the connection relationship identifying unit 1805 determines the connection relationship between the cylinder 1003 and the body 1001 to be rotational because a shared center circle exists between them. The connection relationship identifying unit 1805 determines the connection relationship to be non-contact because the cylinder 1003 and the holder 1002 are separated from each other and the number of contact surfaces is zero.

[0082] Furthermore, the connection relationship specifying unit 1805 determines the connection relationship to be non-contact because the number of contact surfaces between the rod 1004 and the body 1001 is zero. The connection relationship between the rod 1004 and the holder 1002 is determined to be rotational because a shared center circle exists between them. The connection relationship specifying unit 1805 determines the connection relationship to be sliding because the number of contact surfaces between the rod 1004 and the cylinder 1003 is two, and therefore there is no collision, especially when the stroke length is short.

[0083] In this manner, the connection relationship identifying unit 1805 identifies the connection relationships between the component elements as described above, and stores the results in the connection relationship table in the storage unit 182 .

[0084] As described above, in this example, for component 2, the presence or absence of a central shared circle and the number of contact surfaces between each part element are obtained as shown in Figures 12 and 13, and the connection relationships can be determined from the presence or absence of a central shared circle or the number of contact surfaces between all part elements as shown in Figure 10.

[0085] Next, a description will be given of the processing of the operation mechanism analysis unit 1806 for the component 2. FIG. 14, the body 1001 is extracted as the top part of the tree. For this purpose, it is preferable to accept the designation of the top part element from the user via the input / output unit 1807. Alternatively, the motion mechanism analysis unit 1806 extracts the top part element according to a predetermined rule.

[0086] Next, the motion mechanism analysis unit 1806 extracts part elements connected to the body 1001 from the contact surface number table shown in Fig. 12. As a result, the holder 1002 and the cylinder 1003 are extracted. Here, as shown in Fig. 14, the connection relationship between the holder 1002 and the body 1001 is rotation 1411. Also, the connection relationship between the cylinder 1003 and the body 1001 is rotation 1412.

[0087] Next, the movement mechanism analysis unit 1806 identifies the second hierarchical level of the connection relationships. To this end, the movement mechanism analysis unit 1806 extracts each of the extracted part elements and part elements connected to parts other than the top-level part from the connection relationship table in Fig. 13. In other words, the movement mechanism analysis unit 1806 extracts the rod 1004 as a part element in a connection relationship with the holder 1002. Here, the movement mechanism analysis unit 1806 identifies that the connection relationship between the holder 1002 and the rod 1004 is rotation 1414.

[0088] Furthermore, the movement mechanism analysis unit 1806 identifies the second hierarchical level of another connection relationship. First, the movement mechanism analysis unit 1806 extracts the rod 1004 as a part element that is in a connection relationship with the cylinder 1003. Here, the movement mechanism analysis unit 1806 identifies that the connection relationship between the cylinder 1003 and the rod 1004 is the slide 1413 in the Z-axis direction.

[0089] Then, the movement mechanism analysis unit 1806 confirms that there is no connection beyond the rod 1404. As a result, the movement mechanism analysis unit 1806 creates the tree diagram shown in FIG.

[0090] Here, the process of extracting a closed loop from the tree diagram of FIG. 14 using the depth-first search method will be described. First, the concept of the depth-first search method is shown in FIG. 15. Parts that are passed through from the top-level "part (node)" are marked as "already searched", and parts in a deeper direction (farther from the starting position) are searched preferentially. If a "already searched" part is reached via a new route, it can be determined that there is a "closed path". In FIG. 15, the search is performed in the order of (1) ABD-(2) DF-(3) EF-(4) EA, and as a result, it is extracted that there is a closed path called ABFE. Then, the relationship (slide / rotation / fixation) between each part can be counted to determine the operating mechanism. The parts here correspond to the component elements of this embodiment.

[0091] A case where this depth-first search method is applied to the tree diagram of Fig. 14 will be described with reference to Fig. 16. The movement mechanism analysis unit 1806 starts the search from the topmost body 1001. Then, the movement mechanism analysis unit 1806 executes the search in the order of (1)-(2)-(3)-(4). As a result, the movement mechanism analysis unit 1806 extracts a loop consisting of body 1001-rotation 1411-holder 1002-rotation 1414-rod 1004-slide 1413 in the Z-axis direction-cylinder 1003-rotation 1412-body 1001. Then, the movement mechanism analysis unit 1806 analyzes the loop and specifies that the loop is a link consisting of three rotations and one slide.

[0092] As a result, the movement mechanism analysis unit 1806 determines that a slide crank mechanism is present in the component 2. This can be determined by the movement mechanism analysis unit 1806 based on information defining the movement mechanism stored in advance. Then, according to this result, the movement mechanism analysis unit 1806 can automatically generate a simulation model.

[0093] In this way, in this embodiment, when a closed loop shown in a tree diagram is extracted, it is possible to identify an operating mechanism that corresponds to a plurality of connection relationships included in the closed loop. <User interface> Next, a process flow relating to the user interface in this embodiment will be described with reference to FIG.

[0094] First, in step S1701, the input / output unit 1807 receives a processing start instruction from the user. Next, in step S1702, the input / output unit 1807 receives a selection of the top-level part element from the user. Here, the input / output unit 1807 desirably outputs each part element constituting the component. The user can select a part element from this output. As a result, the operation mechanism analysis unit 1806 can identify the top-level part element. This selection is described in Examples 1 and 2. In this way, by accepting a selection from the user, trial and error in identifying the top-level part element is reduced, so that the calculation processing time is reduced and the generation time can be effectively shortened. In addition, since the top of the tree diagram is the reference position of the simulation model, it is self-evident information for the user and there is little effort required to specify it, so the load on the user is also small. However, the operation mechanism analysis unit 1806 may extract the top-level part element according to a predetermined rule.

[0095] Furthermore, in step S1703, the input / output unit 1807 receives an allowable error setting from the user. Specifically, the allowable error is specified for information relating to the position and shape of the component elements, such as distance, angle, and diameter. This makes it possible to specify the allowable error in accordance with the accuracy of the 3D CAD information. As a result, the connection relationship specifying unit 1805 specifies this allowable error and stores this value. For this purpose, it is desirable for the input / output unit 1807 to output an input area for each position and shape, such as distance, angle, and diameter, and to receive input into the input area.

[0096] In step S1704, the input / output unit 1807 receives slide condition settings from the user. These are used to determine the stroke length executed in step S107 of Fig. 1. In other words, it becomes possible to accurately determine fixation and sliding based on the slide length indicated by the set slide condition.

[0097] However, in steps S1703 and S1704, the connection relationship identifying unit 1805 may identify the error or stroke length according to a predetermined rule, which may include using the error or stroke length that is recorded in advance.

[0098] In step S1705, the input / output unit 1807 receives a rotation judgment constraint condition setting from the user. The connection relationship identification unit 1805 then stores this. This rotation judgment constraint condition is set so that a shared center circle with a diameter smaller than a set value is not judged as rotation. This is to specify that a fixed point such as a bolt is not judged as a rotation axis. In this embodiment, an attempt is made to efficiently distinguish between the part that becomes the axis of rotation and the bolt diameter as a criterion, but a method of individually specifying the bolt may also be used.

[0099] Also, in step S, the input / output unit 1807 receives a command from the user to cut off the connection and make it non-contact. That is, it receives an input to re-determine, as non-contact, what has been determined to be other than non-contact, such as fixed, based on the number of contact surfaces. This may be received from the user in advance, as explained in the above processes (1) to (3), or may be received in an interactive format when a contradiction is found during the process of analyzing the mechanism from the tree diagram.

[0100] The processing order of this flowchart is not limited to that of Fig. 17. Also, each step may be processed individually and not consecutively, but may be performed collectively prior to the processing of steps S101 to S112. Furthermore, the steps may be performed interactively as necessary during the processing of steps S101 to S112. As described above, according to the processing of Fig. 17, it is possible to provide a user interface that allows the user to realize control that leads to improved accuracy of the automatic generation processing and reduced processing time in an automatic generation device for a simulation model from 3D CAD information.

[0101] This concludes the description of this embodiment. According to this embodiment, a simulation model can be automatically generated from a 3D CAD model, and the efficiency of implementing a simulation is greatly improved.

[0102] According to the present embodiment, the operating mechanism can be specified from the combination of parts and elements. Also, a simulation model can be generated from structural model data that can specify the connection relationship in more detail. Therefore, it is possible to perform detailed verification. [Explanation of symbols]

[0103] 18...Simulation model generating device, 1801...3DCAD information input unit, 1802...Component analysis unit, 1803...Shared rotation axis determination unit, 1804...Contact surface number determination unit, 1805...Connection relationship identification unit, 1806...Motion mechanism analysis unit, 1807...Input / output unit, 1808...Bus

Claims

1. In a simulation model generating device from a 3D CAD model, a contact surface number determination unit for determining the number of contact surfaces between each of the component elements constituting the 3D CAD model; a common rotation axis determination unit that determines the presence or absence of a common rotation axis between the part elements by using the 3D CAD model; a connection relationship specifying unit that specifies a connection relationship between the part elements that indicates any of non-contact, fixed, sliding, and rotating, according to the number of contact surfaces and the presence or absence of the shared rotation axis.

2. 2. The simulation model generating device according to claim 1, The simulation model generating device further includes an operation mechanism analysis unit that identifies an operation mechanism in the 3D CAD model using the connection relationships.

3. 3. The simulation model generating device according to claim 2, The movement mechanism analysis unit is a simulation model generation device that, when a plurality of the connection relationships indicate a closed loop, identifies a link mechanism that corresponds to the closed loop as the movement mechanism.

4. 4. The simulation model generating device according to claim 3, The motion mechanism analysis unit is a simulation model generation device that identifies the closed loop using a depth-first search method.

5. 5. The simulation model generating device according to claim 1, Further, an input unit is provided for receiving an input from a user regarding the specification of the connection relationship, The connection relationship specification unit is a simulation model generation device that specifies the connection relationship based on the input.

6. In a method for generating a simulation model from a 3D CAD model, A contact surface number determination unit determines the number of contact surfaces between each of the component elements constituting the 3D CAD model; A common rotation axis determination unit determines whether or not a common rotation axis exists between the part elements using the 3D CAD model; a connection relationship specifying unit that specifies a connection relationship between the part elements that indicates any of non-contact, fixed, sliding, and rotating, according to the number of contact surfaces and the presence or absence of the shared rotation axis;

7. 7. The method for generating a simulation model according to claim 6, Furthermore, the simulation model generating method includes a movement mechanism analysis unit that uses the connection relationships to identify a movement mechanism in the 3D CAD model.

8. 8. The method for generating a simulation model according to claim 7, a link mechanism that corresponds to a closed loop when a plurality of the connection relationships indicate a closed loop, the link mechanism that corresponds to the closed loop is identified as the operation mechanism by the operation mechanism analysis unit.

9. 9. The method for generating a simulation model according to claim 8, The motion mechanism analysis unit identifies the closed loop using a depth-first search method.

10. 10. The method for generating a simulation model according to claim 6, further comprising the steps of: Furthermore, the input unit receives an input from a user regarding the identification of the connection relationship; the connection relationship specification unit specifies the connection relationship based on the input.

11. A simulation model generating device for generating a simulation model from a 3D CAD model constituting a device that is a computer, a contact surface number determination unit for determining the number of contact surfaces between each of the component elements constituting the 3D CAD model; a common rotation axis determination unit that determines the presence or absence of a common rotation axis between the part elements by using the 3D CAD model; a program for causing the component elements to function as a connection relationship specifying unit that specifies a connection relationship between the component elements that indicates non-contact, fixed, sliding, or rotating, according to the number of contact surfaces and the presence or absence of the shared rotation axis;

12. The program according to claim 11, Furthermore, a program for causing the system to function as a movement mechanism analysis unit that identifies a movement mechanism in the 3D CAD model using the connection relationships.

13. The program according to claim 12, The movement mechanism analysis unit is a program that, when a plurality of the connection relationships indicate a closed loop, identifies a link mechanism that corresponds to the closed loop as the movement mechanism.

14. The program according to claim 13, The motion mechanism analysis unit is a program that identifies the closed loop using a depth-first search method.

15. 15. The program according to claim 11, Furthermore, the device functions as an input unit that receives an input from a user regarding the specification of the connection relationship; The connection relationship identification unit is a program that identifies the connection relationship based on the input.

Citation Information

Patent Citations

  • Three-dimensional shape model operating device

    JP1990129764A

  • Mechanism operation simulating system considering geometric shape

    JP1993266000A

  • Assembly model preparing method and record medium recording assembly mode preparing processing program

    JP2000137740A

  • Method of setting master-slave relation between parts

    JP2003281219A

  • Generation device, generation program, and generation method

    JP2013045254A