Mechanical component structure simulation
The method enhances B-rep processing by identifying and approximating thin regions with intermediate surfaces in a non-manifold object, enabling accurate and efficient structural simulation of mechanical parts through hybrid meshing.
Patent Information
- Application Number
- JP2021010006
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-01-31
- Filing Date
- 2021-01-26
- Publication Date
- 2025-01-23
- Estimated Expiration
- 2041-01-26
AI Technical Summary
Existing methods of B-rep processing for performing structural simulation of mechanical parts do not yield satisfactory results.
A computer-implemented method for B-rep processing that involves constructing a second B-rep by identifying thin regions in a first B-rep, calculating intermediate surfaces for these regions, and replacing them with these surfaces to create a non-manifold object, which is then meshed with a hybrid mesh for structural simulation.
This method allows for accurate and efficient structural simulation of mechanical parts by approximating thin walls with intermediate surfaces, reducing computational time and improving simulation accuracy compared to separate 2D and 3D meshing processes.
Smart Images

Figure 0007620436000031 
Figure 0007620436000032 
Figure 0007620436000033
Abstract
Description
[Technical field]
[0001] The present invention relates to the field of computer programs and systems, and more particularly to a method, system and program for B-rep processing to perform structural simulation of mechanical parts. [Background technology]
[0002] For the design, engineering and manufacturing of objects, many systems and programs are offered on the market. CAD is an abbreviation for Computer-Aided Design, which relates, for example, to software solutions for designing objects. CAE is an abbreviation for Computer-Aided Engineering, which relates, for example, to software solutions for simulating the physical behavior of future products. CAM is an abbreviation for Computer-Aided Manufacturing, which relates, for example, to software solutions for defining manufacturing processes and operations. In such computer-aided design systems, the graphical user interface plays a key role with regard to the efficiency of the technology. These technologies can be incorporated into Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies share product data, apply common processes and leverage corporate knowledge for product development, starting from conception to the end of the product life, across the concept of the extended enterprise. Dassault Systèmes' PLM solutions (product names: CATIA, ENOVIA, DELMIA) provide an Engineering Hub to organize product engineering knowledge, a Manufacturing Hub to manage product engineering knowledge, and an Enterprise Hub to enable enterprise integration and connectivity to both the Engineering and Manufacturing Hubs. Overall, the system provides an open object model that connects products, processes and resources, enabling dynamic knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
[0003] In mechanical design, the parts to be designed can be represented by virtual solids through the boundary representation (B-rep) format. Solid processing is often used for structural numerical simulation. Summary of the Invention [Problem to be solved by the invention]
[0004] Existing methods of B-rep processing for performing structural simulation of mechanical parts do not provide satisfactory results.
[0005] Thus, there remains a need for improved B-rep processing methods for performing structural simulations of mechanical parts. [Means for solving the problem]
[0006] Thus, there is provided a computer-implemented method of B-rep processing for performing a structural simulation of a mechanical part. The method includes providing a first B-rep. The first B-rep forms a solid representing the mechanical part. The method further includes providing a predetermined thickness threshold. The method further includes constructing a second B-rep based on the first B-rep. The second B-rep forms a non-manifold object representing the mechanical part. The constructing includes identifying one or more thin regions of the first B-rep. Each thin region has a thickness less than the predetermined thickness threshold. The constructing further includes, for each identified thin region, calculating a respective intermediate surface of the identified thin region. The constructing further includes replacing the identified thin region with the respective intermediate surface.
[0007] This results in an improved method of B-rep processing for performing structural simulation of mechanical parts.
[0008] In particular, the first B-rep forms a solid representing a mechanical part, the solid having one or more thin regions representing thin walls of the mechanical part. In other words, the solid is characterized by one or more locally thick regions (i.e. locally thick volumes / solid regions) and one or more locally thin walls (i.e. thin identified regions). The method identifies these one or more locally thin walls. Identifying locally thin walls is particularly relevant to mechanical design / solid modeling.
[0009] Moreover, thanks to a predefined thickness threshold determined on the basis of mechanical / structural considerations, the identification of thin regions / thin walls is accurate: in fact, the method identifies as thin regions only those regions of the first B-rep that have a thickness below the predefined thickness threshold, i.e. only truly thin regions of the B-rep, i.e. regions that truly represent parts of the machine component that are considered thin-walled from a mechanical / structural point of view.
[0010] Moreover, the method goes beyond the identification of local thin walls, which is already relevant per se in mechanical design / solid modeling, and calculates a second B-rep based on these identified thin regions / locally thin walls. To do so, the method in particular calculates intermediate surfaces corresponding to each identified thin region and replaces each identified thin region with the respective calculated intermediate surface. This calculation is part of the construction of the second B-rep, so that the second B-rep is a mixed surface / volume non-manifold object that closely approximates the first B-rep. In fact, the thin walls of the first B-rep are well approximated by the intermediate surfaces that replace them. This approximation is accurate, since the thin walls are thinner than the thickness threshold. This means that the method builds the second B-rep from the first B-rep by accurately approximating the thin walls of the first B-rep by the intermediate surfaces. The resulting second B-rep thus forms a non-manifold object that accurately represents the mechanical part. The ability to accurately design such a second B-rep featuring both thin and thick regions in a single design process is an improvement that the present method brings to the field of mechanical design. In particular, the present method avoids the lengthy and cumbersome separate design of the thin and thick regions through separate design processes.
[0011] The second B-rep constructed by the method is particularly relevant for mechanical design. In particular, the second B-rep as a mixed surface / volume object may be meshed with a hybrid mesh comprising both 2D and 3D elements, as known per se in the field of mechanical design and structural simulation. The intermediate surfaces are meshed with 2D elements and the remaining solid parts of the second B-rep are meshed with 3D elements. Such a hybrid mesh allows for fast and robust structural simulation of the mechanical part. In fact, the surfaces / 2D parts of the hybrid mesh are less costly in structural simulation than the volumes / 3D parts. Thus, the hybrid mesh allows for fast structural simulation, i.e. faster than structural simulation performed on a 3D mesh. Since the thin areas of the mechanical part are accurately approximated by the intermediate surfaces of the second B-rep, the structural simulation is even more accurate and robust. As a result, the hybrid mesh is also an accurate meshing for performing structural simulation, ensuring accurate structural simulation.
[0012] In addition to constructing the second B-rep, the method can include meshing the second B-rep into a hybrid mesh and performing a structural simulation of the mechanical part based on the hybrid mesh. In other words, the method can build the second B-rep, perform meshing of both the surface and volume of the second B-rep, and then perform fast and accurate structural simulation in a single design process. Thus, the method can form an improved process of structural simulation compared to performing separate 2D and 3D meshing and structural simulation processes, respectively, for the thin and thick parts of the same B-rep, which is longer and more cumbersome.
[0013] The method may include one or more of the following.
[0014] identifying the one or more thin regions includes determining first and second groups of one or more adjacent tangent surfaces of the first B-rep, each first group being locally parallel to a respective second group and forming at least a portion of a boundary of the thin region with the respective second group; Determining the first and second groups includes: determining faces of a first B-rep that are each locally parallel to another face; grouping the first determined adjacent tangent faces into a first group and the second determined adjacent tangent faces that are locally parallel to the first determined adjacent tangent faces into a second group; Including, To determine the surface, determining candidate faces, each being a first face of the first B-rep whose point is at a distance from a second face of the first B-rep that is less than a thickness threshold; determining a first face and a second face from among the candidate faces that are locally parallel to each other; Including, The two aspects are the ratio of the maximum distance between the faces to the minimum distance between the faces is less than 1 plus a threshold, and / or are locally parallel if the ratio between the difference between the maximum distance between the faces and the minimum distance between the faces and at least one of the diagonal lengths of the faces is less than the tangent of the G1 continuity tolerance angle; calculating a respective intermediate plane for each identified thin region includes, for each of the determined first groups locally parallel to each of the determined second groups, calculating as an intermediate surface an intersection of a result of the first thickening operation of the first group with a result of the offset operation in the respective second group; the offset calculation is an offset of the extrapolation in each second group, and / or the first thickening calculation has a thickening distance greater than a thickness threshold; The constructing further includes calculating one or more locally thick regions of the B-rep, where calculating the one or more thick regions comprises: calculating, for each of the determined first groups locally parallel to a respective determined second group, an intersection of a result of the second thickening operation of the first group with a result of a third thickening operation in the respective second group; subtracting each calculated intersection from the first B-rep; the second thickening operation of the first group is an extrapolation of the first group, and the third thickening operation in each second group is an extrapolation of the second group, the extrapolation of the first group and the extrapolation in each second group having different extrapolation values, and / or the third thickening operation and the second thickening operation each have a thickening distance greater than a thickness threshold; The replacing includes combining each intermediate surface with each calculated thick region by combining a boundary edge of each intermediate surface with a dividing edge of each calculated thick region; The method further includes meshing the second B-rep into a hybrid mesh; and / or The method further includes performing a structural simulation of the mechanical part based on the hybrid mesh.
[0015] A computer program comprising instructions for carrying out the method is further provided.
[0016] There is further provided a computer readable recording medium having stored thereon the computer program.
[0017] There is further provided a system comprising a processor coupled to a memory storing the computer program and a graphical user interface. Embodiments of the invention will now be described, by way of non-limiting examples, with reference to the accompanying drawings, in which: [Brief description of the drawings]
[0018] [Figure 1]1 shows a flow chart of an embodiment of the method. [Diagram 2] 2 shows a flow chart of an embodiment of the method. [Diagram 3] 1 shows an example of a graphical user interface of the system. [Figure 4] An example of a system is shown. Figures 5 to 75 illustrate the method. [Diagram 5] This method is shown. [Figure 6] This method is shown. [Figure 7] This method is shown. [Figure 8] This method is shown. [Figure 9] This method is shown. [Figure 10] This method is shown. [Figure 11] This method is shown. [Figure 12] This method is shown. [Figure 13] This method is shown. [Figure 14] This method is shown. [Figure 15] This method is shown. [Figure 16] This method is shown. [Figure 17] This method is shown. [Figure 18] This method is shown. [Figure 19] This method is shown. [Figure 20] This method is shown. [Figure 21] This method is shown. [Figure 22] This method is shown. [Figure 23] This method is shown. [Figure 24] This method is shown. [Diagram 25] This method is shown. [Figure 26] This method is shown. [Figure 27] This method is shown. [Figure 28] This method is shown. [Figure 29] This method is shown. [Diagram 30] This method is shown. [Diagram 31] This method is shown. [Diagram 32] This method is shown. [Diagram 33] This method is shown. [Diagram 34] This method is shown. [Diagram 35] This method is shown. [Diagram 36] This method is shown. [Figure 37] This method is shown. [Figure 38] This method is shown. [Figure 39] This method is shown. [Diagram 40] This method is shown. [Diagram 41] This method is shown. [Diagram 42] This method is shown. [Diagram 43] This method is shown. [Diagram 44] This method is shown. [Diagram 45] This method is shown. [Diagram 46] This method is shown. [Figure 47] This method is shown. [Figure 48] This method is shown. [Figure 49] This method is shown. [Figure 50] This method is shown. [Figure 51] This method is shown. [Figure 52] This method is shown. [Figure 53] This method is shown. [Figure 54] This method is shown. [Figure 55] This method is shown. [Figure 56] This method is shown. [Figure 57] This method is shown. [Figure 58] This method is shown. [Figure 59] This method is shown. [Figure 60] This method is shown. [Figure 61] This method is shown. [Figure 62] This method is shown. [Figure 63] This method is shown. [Figure 64] This method is shown. [Figure 65] This method is shown. [Figure 66] This method is shown. [Figure 67] This method is shown. [Figure 68] This method is shown. [Figure 69] This method is shown. [Figure 70] This method is shown. [Figure 71] This method is shown. [Figure 72] This method is shown. [Figure 73] This method is shown. [Figure 74] This method is shown. [Figure 75] This method is shown. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0019] With reference to the flow chart of FIG. 1, a computer-implemented method of B-rep processing for performing a structural simulation of a mechanical part is proposed. The method includes providing a first B-rep (S10). The first B-rep forms a solid representing the mechanical part. The method further includes providing a predetermined thickness threshold (S10). The method further includes constructing a second B-rep (S20) based on the first B-rep. The second B-rep forms a non-manifold object representing the mechanical part. The constructing (S20) includes identifying one or more thin regions of the first B-rep (S200). Each thin region has a thickness less than a predetermined thickness threshold. The constructing (S20) further includes, for each identified thin region, calculating (S210) a respective intermediate surface of the identified thin region. The constructing (S20) further includes replacing the identified thin region with the respective intermediate surface.
[0020] The method is computer-implemented. This means that the steps of the method (or substantially all steps) are performed by at least one computer or any similar system. The steps of the method are thus performed by a computer, possibly fully automatically or semi-automatically. Exemplarily, the triggering of at least some steps of the method may be performed via user-computer interaction. The level of user-computer interaction required depends on the level of automation expected and can be balanced against the need to realize the user's wishes. Exemplarily, this level may be user-defined and / or predefined.
[0021] A typical example of a computer implementation of the method is to execute the method using a system adapted for this purpose. The system may include a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program including instructions for executing the method. The memory may also store a database. The memory is any hardware adapted for such storage, possibly with several physically separate parts (e.g., one for the program and possibly one for the database).
[0022] The method generally operates on a modeled object, B-rep. A modeled object is any object that is defined by data stored, for example, in a database. The expression "modeled object" thus refers to the data itself. Depending on the type of system, the modeled object may be defined by different kinds of data. A system may in fact be any combination of a CAD system, a CAE system, a CAM system, a PDM system, and / or a PLM system. In these different systems, the modeled object is defined by the corresponding data. Thus, it can be called a CAD object, a PLM object, a PDM object, a CAE object, CAD data, PLM data, PDM data, CAM data, CAE data. However, these systems are not mutually exclusive, since a modeled object can be defined by data corresponding to any combination of these systems. Thus, a system may be both a CAD and a PLM system, as will become clear from the definition of such a system provided below.
[0023] A CAD system further means at least any system adapted to design a modeled object based on a graphical representation of the modeled object, such as CATIA. In this case, the data defining the modeled object includes data enabling the representation of the modeled object. The CAD system may provide a representation of the CAD modeled object, for example, by means of edges or lines, and possibly by means of faces or surfaces. The lines, edges or surfaces may be represented in various ways, for example, by means of non-uniform rational B-splines (NURBS). In particular, a CAD file includes a specification from which a geometry may be generated, and thus a representation may be generated. The specification of the modeled object may be stored in a single CAD file or in multiple CAD files. A typical size of a file representing a modeled object in a CAD system is in the range of one megabyte per part. Also, the modeled object may typically be an assembly of several thousand parts.
[0024] In the context of CAD, a modeled object may typically be a 3D modeled object that represents a product, for example, a part or an assembly of parts, or possibly an assembly of a product. By "3D modeled object" is meant any object that is modeled by data that allows its 3D representation. The 3D representation allows the part to be viewed from all angles. For example, a 3D modeled object, when represented in 3D, can be manipulated and rotated around any of its axes or around any axis in the screen on which the representation is displayed. This notably excludes 2D icons that are not 3D modeled. The display of 3D representations facilitates design (i.e. increases the speed at which designers statistically accomplish tasks). This speeds up the manufacturing process in industry, since the design of products is part of the manufacturing process.
[0025] A PLM system further means any system adapted to the management of modeled objects that represent physically manufactured products (or products to be manufactured). In a PLM system, the modeled objects are therefore defined by data suitable for the manufacture of physical objects. These may typically be dimensional and / or tolerance values. It is in fact better to have such values in order to manufacture the objects accurately.
[0026] CAM solution means any solution, hardware or even software, adapted to manage the manufacturing data of a product. The manufacturing data generally includes data about the product to be manufactured, the manufacturing process and the necessary resources. CAM solutions are used to plan and optimize the entire manufacturing process of a product. For example, it can provide the CAM user with information about the feasibility, the duration of the manufacturing process or the number of resources that can be used in a certain step of the manufacturing process, such as a specific robot, thus allowing decisions regarding management or necessary investments. CAM is a subsequent process after the CAD process and potentially the CAE process. Such CAM solutions are offered by Dassault Systèmes under the trademark DELMIA®.
[0027] CAE solution means any solution, hardware or even software, adapted to the analysis of the physical behavior of a modeled object. A well-known and widely used CAE technique is the Finite Element Method (FEM), which usually involves dividing the modeled object into elements whose physical behavior can be calculated and simulated through equations. Such CAE solutions are offered by Dassault Systèmes under the trademark SIMULIA®. Another growing CAE technique involves the modeling and analysis of complex systems composed of multiple components from different disciplines of physics without the use of CAD geometry data. CAE solutions allow the simulation and thus the optimization, improvement and validation of the products to be manufactured. Such CAE solutions are offered by Dassault Systèmes under the trademark DYMOLA®.
[0028] PDM stands for Product Data Management. A PDM solution means any solution, software of hardware, adapted to manage all types of data about a particular product. A PDM solution can be used by all the people involved in the product's life cycle, i.e. mainly engineers, but also project managers, finance people, sales people, and buyers. PDM solutions are generally based on a product-oriented database. A PDM solution allows the people involved to share consistent data about the product, thus preventing the use of divergent data. Such a PDM solution is offered by Dassault Systèmes under the trademark ENOVIA®.
[0029] FIG. 3 shows an example of a GUI for a system, the system being a CAD system.
[0030] The GUI 2100 may be a typical CAD-like interface, with standard menu bars 2110, 2120, bottom toolbar 2140 and side toolbar 2150. Such menu bars and toolbars include a set of user-selectable icons, each icon associated with one or more actions or functions, as known in the art. Some of these icons are associated with software tools adapted to edit and / or work on the 3D modeled object 2000 displayed in the GUI 2100. The software tools may be grouped into workbenches. Each workbench includes a subset of software tools. In particular, one of the workbenches is an editing workbench suitable for editing geometric features of the modeled product 2000. In working, a designer may, for example, pre-select a part of the object 2000 and then start working (e.g., change dimensions, color, etc.) or edit geometric constraints by selecting the appropriate icon. For example, a typical CAD operation is modeling punching or folding of a 3D modeled object displayed on a screen. The GUI may, for example, display data 2500 related to the displayed product 2000. In the illustrated example, the data 2500 displayed as a "feature tree" and their 3D representation 2000 relate to a brake assembly including a brake caliper and a disk. The GUI may further show various types of graphic tools 2130, 2070, 2080, for example to facilitate 3D orientation of the object, to trigger a simulation of the operation of the edited product, or to render various attributes of the displayed product 2000. A cursor 2060 may be controlled by a haptic device to allow the user to interact with the graphic tools.
[0031] FIG. 4 shows an example of a system, where the system is a client computer, eg a user's workstation.
[0032] The client computer in this example comprises a central processing unit (CPU) 1010 connected to an internal communication bus 1000, and a random access memory (RAM) 1070 also connected to the bus. The client computer is further connected to a graphics processing unit (GPU) 1110 associated with a video random access memory 1100 connected to the bus. The video RAM 1100 is also known in the art as a frame buffer. A mass storage controller 1020 manages access to mass storage devices such as a hard drive 1030. Mass memory devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory including, by way of example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM disks 1040. Any of the foregoing may be stored by or incorporated in specially designed ASICs (application specific integrated circuits). A network adapter 1050 manages access to a network 1060. The client computer may also include a haptic device 1090 such as a cursor control device, a keyboard, etc. A cursor control device is used in the client computer to allow a user to selectively position a cursor at any desired location on the display 1080. In addition, the cursor control device allows a user to select various commands and input control signals. The cursor control device includes some signal generators for inputting control signals to the system. Typically, the cursor control device may be a mouse, and the buttons of the mouse are used to generate the signals. Alternatively or additionally, the client computer system may include a sensitive pad and / or a sensitive screen.
[0033] The computer program may include instructions executable by a computer, the instructions including the means for causing the above system to carry out the method. The program may be recordable on any data storage medium, including the memory of the system. The program may be executed, for example, in digital electronic circuitry, or in computer hardware, firmware, software, or a combination thereof. The program may be implemented as an apparatus, for example as an article of manufacture tangibly embodied in a machine-readable storage device for execution by a programmable processor. The method steps may be executed by a programmable processor executing a program of instructions to perform the functions of the method by operating on input data and generating output. The processor is thus programmable and may be coupled to receive data and instructions from, and to transmit instructions to, the data storage system, at least one input device, and at least one output device. The application program may be executed in a high-level procedural or object-oriented programming language, or in assembly or machine language as appropriate. In either case, the language may be a compiled or interpreted language. The program may be a full installation program or an update program. The application of the program on the system in either case results in instructions for carrying out the method.
[0034] Any B-rep herein is a 3D modeled object that may represent the shape of a product to be manufactured in the real world after completion of the virtual design using, for example, a CAD software solution or CAD system, such as, for example, a (mechanical) part or assembly of parts (or equivalently, an assembly of parts, which may be viewed as a part itself from the point of view of the method, or the method may be applied to each part of the assembly independently), or more generally, any rigid body assembly (e.g., a moving mechanism). CAD software solutions enable the design of products in a variety of unlimited industrial sectors, including aerospace, architecture, construction, consumer goods, high tech devices, industrial equipment, transportation, marine, and / or offshore oil / gas production or transportation. Thus, a B-rep in this specification may be a 3D modeled object that represents an industrial product, which may be any machine part, such as a part of a ground vehicle (including, for example, automobiles and light truck equipment, racing cars, motorcycles, trucks and motor equipment, trucks and buses, trains), a part of an aircraft (including, for example, airframe equipment, aerospace equipment, propulsion equipment, defense products, aviation equipment, space equipment), a part of a naval vehicle (including, for example, naval equipment, civilian ships, offshore installations, yachts and workboats, marine equipment), a part of a general machine part (including, for example, industrial manufacturing machinery, large mobile machines or equipment, installation equipment, industrial equipment products, fabricated metal products, tire manufacturing products), an electric machine or electronic part (including, for example, consumer electronics, security and / or control and / or instrumentation products, computing and communications equipment, semiconductors, medical devices and equipment), a consumer product (including, for example, furniture, home and garden products, leisure products, fashion products, hard goods retailer products, soft goods retailer products), packaging (including, for example, food and beverage and tobacco, beauty and personal care, household product packaging).
[0035] In the context of the present method, the mechanical part (ie, the mechanical part represented by the first and second B-reps) may be a mechanical part characterized by thin walls and thick regions.
[0036] For example, the mechanical part may be an aerospace part, such as a cleat, a stringer, or a frame. Figure 5 shows an example of a mechanical part, where the mechanical part is an aerospace cleat. Figure 6 shows another example of a mechanical part, where the mechanical part is an aerospace cleat. Figure 7 shows another example of a mechanical part, where the mechanical part is an aerospace stringer. Figure 8 shows another example of a mechanical part, where the mechanical part is an aerospace frame.
[0037] Alternatively or additionally, the machine part may be an automotive part, for example an automotive molded part. Figure 9 shows an example of a machine part, where the machine part is an automotive molded part. This automotive molded part features thin walls for the outer housing and inner reinforcements, such as reinforcements 90 and 92, and locally thicker areas, such as fixture 94, for fastening and manufacturing purposes. A typical manufacturing feature is the ejector pads, such as ejector pads 96 and 98, where the ejectors push the part away from the mold immediately after the mold opens.
[0038] Additionally or alternatively, the machine part may be an aluminum extrusion part for the automotive, aerospace, construction design, or ship design industries. Figure 10 shows an example of a machine part, where the machine part is an aluminum extrusion part. Such parts are typically based on planar profiles featuring thin and thick zones, resulting in thin walls and thick volumes on the extruded solid, as shown in Figure 10.
[0039] The method may include, as an initial step, designing a 3D modeled object (i.e., a first B-rep) representing the mechanical part. "Designing a 3D modeled object" refers to any action or series of actions that is at least part of a process of creating a 3D modeled object. Thus, the method may include creating a 3D modeled object from scratch. Alternatively, the method may include providing a previously created 3D modeled object and then modifying the 3D modeled object.
[0040] The method may be included in a manufacturing process that may include generating a physical product corresponding to the second B-rep after performing the method. This generation may occur after a structural simulation based on the second B-rep, as described above and below. In either case, the second B-rep constructed by the method may represent a manufacturing object. The manufacturing object may be a product, such as a part or an assembly of parts. Because the method improves the construction of the second B-rep and enables fast and accurate structural simulation to be performed, the method also improves the manufacturing of the product, thus increasing the productivity of the manufacturing process.
[0041] The method is for B-rep processing. B-rep processing refers to any action or series of actions to modify a B-rep. In the present method, the B-rep processing includes processing a first B-rep (S10) and constructing a second B-rep based on the first B-rep. Before further describing the B-rep processing performed by the present method, the concept of B-rep included in the present method will be described with reference to Figures 11 to 32.
[0042] The B-rep model includes topological and geometric entities. Topological entities are faces, edges, and vertices. Geometric entities are 3D objects: surfaces, planes, curves, lines, and points. By definition, a face is the boundary of a surface, called a support surface. An edge is the boundary of a curve, called a support curve. A vertex is a point in 3D space. Their relationship is as follows: The boundary of a curve is defined by two points (vertices) that lie on the curve. The boundary of a surface is defined by its boundary, which is the set of edges that lie on the surface. Edges of the boundary of a face are connected to each other by sharing vertices. Faces are connected to each other by sharing edges. By definition, two faces are adjacent if they share an edge. Similarly, two edges are adjacent if they share a vertex.
[0043] Figures 11 and 12 show a B-rep model of a cylindrical slot consisting of three faces: a top planar face and two side cylindrical faces. Figure 11 shows a perspective view of the slot. Visible faces, edges, and vertices are numbered. Figure 12 shows an exploded view of all the faces. Duplicate numbers indicate shared edges and vertices. Face 1 is the bounding portion of the planar face. The boundary of face 1 includes edge 4 and edge 5, each of which is bounded by vertex 10 and vertex 11. They both have the same support circle. Face 2 is bounded by edges 6, 8, 5, and 13, which are all on an infinite cylindrical face. Faces 1 and 2 are adjacent because they share edge 5. Faces 2 and 3 are adjacent because they share edge 8 and edge 13. Faces 1 and 3 are adjacent because they share edge 4.
[0044] FIG. 13 shows the "bounded by" topological relationship of the B-rep model. The nodes in the top layer are faces, the nodes in the middle layer are edges, and the nodes in the bottom layer are vertices. FIG. 14 and FIG. 15 show the relationship between the topological entities (faces, edges, vertices) shown in FIG. 14 and the supporting geometries (infinite cylinder, infinite plane, infinite line, point) shown in FIG. 15. For example, in a CAD system implementing the method, the B-rep model collects in an appropriate data structure the "bounded by" relationship, the relationships between the topological entities and the supporting geometries, and the mathematical description of the supporting geometries.
[0045] By definition, an interior edge of a B-rep is shared by exactly two faces. Faces that share an edge are said to be incident on each other or on the shared edge. By definition, boundary edges are not shared and bound only one face. By definition, a boundary face is incident on at least one boundary edge. A B-rep is said to be closed if all its edges are interior edges. A B-rep is said to be open if it contains at least one boundary edge. The B-rep in the previous example is open because edges 6 and 7 are boundary edges. Conversely, edges 4, 5, 8, and 13 are interior edges. A closed B-rep is obtained from the B-rep shown in Figures 11 and 12 by adding a disk-shaped face 14 bounded by edges 6 and 7 as shown in Figures 16 and 17. A closed B-rep is used to model thick 3D volumes, since it defines the interior part of the space that (virtually) surrounds the material. Open B-rep is used to model 3D skins, which are 3D objects that are small enough that their thickness can be neglected.
[0046] The dual graph of a B-rep is a logical graph that captures only face adjacencies. It is defined as follows: nodes of the dual graph are associated with B-rep faces and arcs of the dual graph are associated with B-rep edges. An arc of the dual graph connects two nodes of the dual graph if the B-rep edge associated with the arc is shared by the B-rep faces respectively associated with the nodes. For example, the dual graph of the cylindrical B-rep of Figure 16 is shown in Figure 18. Arcs are labeled with edge numbers.
[0047] Each face of a B-rep is provided with a normal vector defined with the help of a support surface. First, the normal vector is collinear with the normal vector of the support surface. Furthermore, the normal vector of a closed B-rep that models a solid is directed towards the outside of the material. Let F be a face of the B-rep and N its outside normal vector. Let E be an edge of face F, X be a point on edge E, and T be the normalized tangent vector of edge E at point X. By definition, edge E is oriented counterclockwise if vector M=N×T is directed towards the inner area of the face, as shown in Figure 19. Note that vector M is normalized since vectors N and T are normalized and perpendicular. By convention, all edges of all faces of a B-rep are oriented counterclockwise, as shown in Figure 20.
[0048] From a mathematical point of view, standard B-reps of solids are used to represent manifold objects, which means that locally, the B-rep cuts the adjacent space in exactly two parts: inside the solid and outside the solid. This property, despite fitting well to real manufactured objects, does not allow to represent useful configurations such as multi-material objects or local approximations. For example, Figure 21 shows a solid made of several layers of different materials. The interface separating material consists of faces shared by adjacent regions. Figure 22 shows a conventional B-rep of a part featuring a stiffener. Figure 23 shows the stiffener approximated by a surface, while the adjacent part is a volume, making it a mixed surface / volume object.
[0049] Non-manifold topology allows the coherent model to support these situations. By reusing and extending the B-rep data structure, it captures edges shared by more than two faces, as shown in Figure 24. It captures the boundary edges as well as the interiors of their bounded faces, which means it does not separate the material of the faces, as shown in Figure 25.
[0050] The method can use facet extrapolation and surface extrapolation, as described further below. By definition, a surface is:
number
number
[0051] The method can use a more specific extrapolation operation of surfaces. The inputs of this operation are the surface to be extrapolated f, the extrapolation parameters e and the list of surfaces L = {g k ,k=1,2,...}. The specific extrapolation is to offset only the boundary edges of face f that are shared with faces in list L. Figure 29 shows the specific extrapolation of face f by faces {g1,g2,g3}. Note that the edges of face f that are shared with fillet face h do not participate in the extrapolation because face h is not in the list {g1,g2,g3}.
[0052] The method may use the concept of local parallelism of two faces to identify thin regions of the first B-rep in the example. Before describing this concept, two preliminary definitions are provided: offsetting a face and thickening a face. Note that the outward orientation of the normal vector is explicitly included. Given a B-rep face f and a non-negative number λ, the offset operation is to compute the object Offset(f, λ), which is the face parallel to face f at distance λ. N f If (x) is the outer normal vector at point x of face f, then Offset(f, λ) is
number
[0053] The offset operation is shown in Figure 30. The thickening operation is to calculate the object Thick(f, λ), which is the volume enclosed by a face f and its offset face at a distance λ. Thick(f, λ) is
number
[0054] FIG. 31 shows the thickening operation.
[0055] Next, we explain the definition of parallelism and local parallelism. Two faces f and g are parallel to each other at each point.
number
number
number
number
[0056] Referring back to the flowchart of FIG. 1 , the method includes providing a first B-rep (S10). The first B-rep is a solid that represents a mechanical part. In other words, the first B-rep is a closed B-rep. Providing the first B-rep (S10) may include creating the first B-rep, i.e., designing a 3D modeled object that forms the first B-rep, as described above. Alternatively, providing the first B-rep (S10) may include retrieving the first B-rep from a (e.g., remote) memory in which the first B-rep is stored after the first B-rep is created. Providing the first B-rep (S10) may include displaying the first B-rep.
[0057] Still referring to the flowchart of FIG. 1, the method further includes providing a predefined thickness threshold (S10). The thickness threshold is a thickness value, e.g., a strictly positive real number. Providing a predefined thickness threshold (S10) may include a user, for example, selecting a thickness threshold and then providing the selected thickness threshold as an input to constructing (S20). The user may select the thickness threshold, for example, by defining a value of the thickness threshold based on mechanical / structural considerations regarding the machine part. For example, the user may determine the thickness threshold such that any region of the machine part having a thickness less than the thickness threshold is a region that can be well approximated by an intermediate surface due to structural and / or mechanical and / or manufacturing considerations.
[0058] Still referring to the flowchart of FIG. 1, the method further includes constructing (S20) a second B-rep based on the first B-rep. "Based on the first B-rep" means that the construction takes the first B-rep as input and outputs a constructed second B-rep, the construction of the second B-rep taking into account the first B-rep and a thickness threshold. That is, the second B-rep is obtained from the first B-rep. The second B-rep forms a non-manifold object, i.e. has a non-manifold topology. In other words, the second B-rep is not a closed B-rep but includes both solid, closed volumes and surface regions. The second B-rep further represents the mechanical part, but has intermediate surfaces instead of volumes to represent thin regions of the mechanical part, as previously mentioned and further described below. The constructing (S20) may be performed automatically (e.g. by the CAD system in which the method is performed), for example following the completion of the providing (S10). This means that the method can build the second B-rep automatically, making the method efficient.
[0059] 1, constructing the second B-rep includes identifying one or more thin regions of the first B-rep (S200). Identifying one or more thin regions (S200) will now be described.
[0060] Each thin region is a volume bounded by a first B-rep surface and having a thickness less than a thickness threshold. The thickness threshold is for an input of constructing (S20) used in identifying (S200). Identifying one or more thin regions (S200) may include searching the first B-rep surface and detecting groups of surfaces that each partially bound a region having a thickness less than the thickness threshold. Identifying (S200) may further include pairing such groups into first and second groups, whereby the first and second groups of each pair form boundary portions of the thin region that are locally parallel to each other.
[0061] An example of identifying (S200) will now be described with reference to the flowchart of FIG. 2, which shows a flowchart of an example of identifying one or more thin regions (S200).
[0062] In an example, identifying one or more thin regions (S200) includes determining first and second groups of each of one or more adjacent tangent surfaces of the first B-rep, each of the first groups being locally parallel to a respective second group and forming, together with the respective second group, at least a portion of a boundary of the thin region.
[0063] As mentioned above, two faces of a first B-rep are adjacent when they share an edge of the first B-rep. Two faces meet when the angle between the normal vectors along the shared edge is less than the G1 continuity tolerance angle, which is described below. The method determines first and second such groups, for example by determining the faces of each group. Each of the determined first groups forms a part of the boundary of one of the thin regions, and the determined second group, locally parallel to the first group, forms another part of the boundary of the thin region. The part and the other part are locally parallel. In fact, the first group is locally parallel to the second group. The two groups are separated by a distance smaller than the thickness threshold. By determining such first and second groups, the thin region can be efficiently identified by only detecting a part of its boundary (i.e. the part consisting of the first group and the second group). Moreover, this allows to calculate the intermediate surface of the thin region, as will be further described below.
[0064] 2, determining the first group and the second group, in examples, can include determining a face of the first B-rep, each of which is locally parallel to the other face. That is, determining the first group and the second group, in these examples, includes determining a first face and a second face that are locally parallel. In these examples, determining the first group and the second group further includes grouping the first determined adjacent tangent faces that are locally parallel to the second determined adjacent tangent faces into the first group and the second group (S2200).
[0065] Determining the locally parallel first and second faces improves the speed and efficiency of the method. In fact, it is not necessary to identify the first and second groups all at once, which can be tedious. Instead, the method determines pairs, each of which consists of a first face (i.e., of the first group) and a second face that is locally parallel to the first face (i.e., the second face belongs to the second group that is locally parallel to the first group). The method then groups the determined pairs to form first and second groups (S2200).
[0066] Determining a first face that is locally parallel to a second face may include verifying that the first face is locally parallel to the second face. For example, the method may search the faces of the first B-rep and perform such verification for pairs of faces searched.
[0067] 2, in examples, determining the faces includes determining candidate faces (S2000). Candidate faces are first faces of the first B-rep whose points are at a distance less than a thickness threshold from a second face of the first B-rep. In these examples, determining the faces further includes determining a first face and a second face from among the candidate faces (S2100). Each of the first faces is locally parallel to a respective second face.
[0068] This improves the determination of faces, as in these examples, which proceeds in two steps. First, pairs of candidate faces are determined. Then, only a subset of these pairs are retained to form the determined faces, which are then grouped into a first group and a second group (S2200). These two-step approaches improve robustness.
[0069] Finding candidate surfaces (S2000) may include searching a first B-rep surface and finding pairs of a first surface and a second surface, where the first surface has a point that is at a distance from the second surface that is less than the thickness threshold. The first surface may be referred to as a "first candidate surface" and the second surface may be referred to as a "second candidate surface." The pairs may be referred to as "candidate surface pairs." Finding the pairs may include searching the first surface and detecting at least one second surface that is located at a distance less than the thickness threshold from at least one point of the first surface. It should be understood that several such second surfaces may be detected, each at a distance less than the thickness threshold less than a respective point of the first surface. In such a case, the first surfaces are candidate surfaces that each form a candidate surface pair with a respective second surface.
[0070] Determining the candidate faces (S2000) allows determining each pair of faces of the first B-rep consisting of a first face and a second face, where the first face is potentially parallel to the second face. Then, to complete the face determination, among the candidate faces, a first face and a second face that are truly locally parallel are determined (S2100). This makes the method robust and efficient.
[0071] Detecting the at least one second surface includes: Sampling a first surface to sampled points; For each sampled point, casting a ray from the sampled point and detecting if and once the cast ray intersects with another surface of the first B-rep at a distance less than a thickness threshold, the other surface as a second surface that forms a pair of candidate surfaces with the first surface.
[0072] Determining locally parallel first and second faces from among the candidate faces may include, for each pair of candidate faces, verifying that the faces in the pair are locally parallel, e.g., verifying that they satisfy the above definition of local parallelism. If the faces in the pair are parallel, they are determined as a pair consisting of a first face that is locally parallel to a second face.
[0073] In the example, the ratio of the maximum distance between the faces to the minimum distance between the faces is less than 1 plus a threshold, and / or Two faces are locally parallel if the ratio between the difference between the maximum distance between the faces and the minimum distance between the faces and at least one of the diagonal lengths of the faces is less than the tangent of the G1 continuity tolerance angle.
[0074] The diagonal length of a face may be defined as the maximum distance between two points of the face, where the distance is any suitable distance between the points, such as the Euclidean distance.
[0075] That is, to verify that two faces are locally parallel, Verifying that the ratio between the maximum distance between the faces and the minimum distance between the faces is less than 1 plus a threshold; and / or It may include verifying that a ratio between a difference between a maximum distance between the faces and a minimum distance between the faces and at least one of the diagonal lengths of the faces is less than a tangent of a G1 continuity tolerance angle.
[0076] From a geometrical point of view, it is possible to relatively strictly verify the geometric local parallelism of the faces by verifying that the ratio between the maximum distance between the faces and the minimum distance between the faces is smaller than 1 plus a threshold. The threshold may be a small positive real number, for example smaller than 1, 0.5 or 0.2, for example equal to 0.1. Verifying that the ratio between the maximum distance between the faces and the minimum distance between the faces is smaller than 1 plus a threshold is: Sampling a plurality of faces to sampling points; for each face of the plurality of faces, projecting each sampled point of the face onto another face; calculating respective (e.g., Euclidean) distances between sampled points of one of the surfaces and their projections onto the other surfaces, calculating a maximum and a minimum of such distances, and verifying that the ratio of the maximum distance to the minimum distance is less than 1 plus a threshold value; calculating respective (e.g., Euclidean) distances between the sampled points of said other surface and their projections onto said surface, calculating a maximum and a minimum of such distances, and verifying that the ratio of said maximum and minimum distances is less than 1 plus a threshold value; may include:
[0077] By verifying that the ratio between the difference between the maximum distance between the faces and the minimum distance between the faces and at least one of the diagonal lengths of the faces is less than the tangent of the G1 continuity tolerance angle, it becomes possible to verify the local parallelism of the faces from a practical point of view of manufacturing. In fact, G1 continuity corresponds to engineering fillet continuity. Ensuring that the angle between two locally parallel faces is under this tolerance therefore brings the concept into line with common manufacturing constraints. The concept of G1 continuity is known per se in mechanical design. Verifying that the ratio between the difference between the maximum distance between the faces and the minimum distance between the faces and at least one of the diagonal lengths of the faces is less than the tangent of the G1 continuity tolerance angle makes it possible to verify the local parallelism of the faces from a practical point of view of manufacturing. Sampling a plurality of faces to sampling points; For each of the plurality of surfaces, projecting each sampling point of the surface onto another surface; calculating respective (e.g., Euclidean) distances between sampled points of one of the plurality of surfaces and their projections onto the other surfaces, calculating a maximum and a minimum of such distances, and verifying that the ratio of the difference between the maximum and minimum distances and the diagonal length of the one of the surfaces is less than the tangent of a G1 continuity tolerance angle; calculating respective (e.g., Euclidean) distances between the sampled points of the other surface and their projections onto the one surface, calculating a maximum and a minimum of such distances, and verifying that the ratio between the difference between the maximum and minimum distances and the diagonal length of the other surface is less than the tangent of a G1 continuity tolerance angle; may include:
[0078] The efficiency and robustness of the verification is improved by verifying that the ratio of the maximum distance between faces to the minimum distance between faces is less than 1 plus a threshold, and that the ratio of the difference between the maximum distance between faces and the minimum distance between faces to the diagonal length of each face is less than the tangent of the G1 continuity tolerance angle.
[0079] 2, the grouping (S2200) may be performed by any known method suitable for grouping the determined locally parallel first and second faces into a first group and a second group. The grouping may include, in an example, identifying adjacency and contact between the determined first face on one side and the determined second face on the other side, respectively, parallel to the determined first face, for example, based on a dual graph of the first B-rep.
[0080] Referring back to the flowchart of Figure 1, the method further includes, for each identified thin region, calculating (S210) a respective intermediate surface of the identified thin region. As previously mentioned, a thin region is a portion of a first B-rep thin volume. The intermediate surface of a B-rep volume portion is a known concept, and calculating (S210) the respective intermediate surface can be performed by any known method.
[0081] In examples where identifying one or more thin regions (S200) includes determining a first group and a second group as described above, calculating a respective intermediate surface for each identified thin region (S210) may include, for each determined first group that is locally parallel to the respective determined second group, calculating as the intermediate surface an intersection of a result of the first thickening operation of the first group and a result of the offset operation for the respective second group.
[0082] Calculating the intersection of the result of the first thickening operation for the first group with the result of the offset operation for each second group may include calculating the first thickening operation and the offset operation, and then determining the intersection of the respective results of these operations. This is an efficient and simple way of calculating intermediate surfaces. The parameters of these operations may be fixed, for example as parameters of calculating (S20), so that the intersection results in the respective intermediate surfaces. For example, the thickening distance of the thickening operation may be greater than the thickness threshold but relatively close to the thickness threshold, for example, equal to 1.1 times the thickness threshold. The offset distance of the offset operation may be approximately the thickening distance divided by two, for example, equal to the thickness threshold divided by two.
[0083] The offset operation may be an offset of the extrapolation for each second group. This allows the intersection to be calculated safely since the boundary curve of the result of the extrapolation (which is the group of faces extrapolated from each second group) is away from the boundary curve of the result of the first thickening operation. The extrapolation may have an extrapolation value equal to 0.001 times the value that is the representative dimension of the first B-rep. Additionally or alternatively, the first thickening operation has a thickening distance that is greater than the thickness threshold, for example equal to 1.1 times the thickness threshold. This makes the intersection reliable by avoiding contact configurations when calculating the intersection. In an example, the offset operation may be an offset of the extrapolation for each second group, and the first thickening operation has a thickening distance that is greater than the thickness threshold, for example equal to 1.1 times the thickness threshold. This improves the robustness of calculating each intermediate surface (S210).
[0084] 1, in an example, constructing (S20) further includes calculating (S220) one or more locally thick regions of the first B-rep. Calculating (S220) one or more thick regions includes, for each determined first group locally parallel to each determined second group, calculating an intersection of a result of the second thickening operation for the first group with a third thickening result for each second group. Calculating (S220) one or more thick regions further includes subtracting each calculated intersection from the first B-rep.
[0085] Calculating the intersection of the second thickening result for the first group with the result of the third thickening operation for each second group may include calculating the second thickening operation and the third thickening operation and then calculating the intersection of their results. The intersection calculation is such that each intersection so calculated is a first B-rep thin wall that substantially corresponds to one of the respective identified thin regions. In particular, the thickening distance of both the third and second thickening operations may be equal to the order of the thickness threshold, for example 1.1 times the thickness threshold.
[0086] The second thickening operation for the first group may be an extrapolation thickening for the first group. In such a case, the third thickening operation for each second group is also an extrapolation thickening for each second group. Also, the extrapolation for the first group and the extrapolation for each second group have different extrapolation values in this case. For example, the extrapolation for the first group may have an extrapolation value equal to 0.01 times the representative dimension of the first B-rep, and the extrapolation for the second group may have an extrapolation value equal to 2 times or 0.01 times the representative dimension of the first B-rep. This avoids overlapping of the sides of the results of the second and third thickening operations. Additionally or alternatively, the third thickening operation and the second thickening operation may each have a thickening distance greater than the thickness threshold. This makes the intersection reliable since the offset of the first group bounding the result of the second thickening operation is away from the surface bounding the result of the third thickening operation. Furthermore, the bounding surfaces of these results share their respective support surfaces.
[0087] Subtracting each calculated intersection of the first B-rep amounts to trimming the thin walls from the first B-rep. This can be done by calculating the union of the calculated thin walls and then subtracting this union from the first B-rep. This leaves only the local thick regions of the first B-rep from the subtraction, i.e., regions with a thickness greater than the thickness threshold.
[0088] The method further includes replacing the identified thin regions with respective intermediate surfaces, which may include trimming the thin regions from the first B-rep and assembling the intermediate surfaces to the first B-rep in place of the trimmed thin regions.
[0089] 1, the substituting may include assembling (S230) each intermediate surface with each calculated thick region. The assembling is performed by assembling a boundary edge of each intermediate surface with a dividing edge of each calculated thick region. This facilitates meshing of the second B-rep.
[0090] An algorithm for performing the constructing (S20) will now be described. The constructing (S20) of the second B-rep can be performed in this example method by performing an algorithm that includes five steps.
[0091] The input data of the algorithm is a first B-rep S (also called volume S) and a user-defined thickness threshold t>0. In other words, providing (S10) includes providing the first B-rep (S10) and providing, by the user, t (S10). The output data of the algorithm is the second B-rep, i.e. a non-manifold object consisting of adjacent volumes and faces. The algorithm includes five steps. For simplicity, the boundary surface of the volume S is denoted by f for i=1,...,n. i and are numbered. Step 1: Identifying one or more thin areas (S200) Step 1.1 Find locally parallel candidate face pairs The objective of step 1 is to find all pairs of locally parallel faces (f i ,f j The goal is to identify pairs such that j>i. The algorithm uses the intersection operation. i and points
number
number
number
[0092] Point y and face f j If the function Intersect(f i ,x,f j ,y) returns true. Point y and face f j If there is no function Intersect(f i ,x,f j ,y) returns false. The first loop finds a table of locally parallel candidate faces for p=1,2,...
number
number
number
number
number
number
number
number
number
number
number
number
number
[0093] Here, ε = 2.3 deg is the G1 continuity tolerance angle,
number
[0094] By definition, a side is a face of the input solid S that connects two locally parallel faces. Sides are reused in further steps for extrapolation purposes. For example, the list of locally parallel faces of the solid shown in Figure 34 is (f1,f9), (f3,f5), (f5,f7), with K = {(1,9), (3,5), (5,7)}. The sides are f4, f6, and f 10 It is. Step 1.3 Grouping of tangent faces locally parallel to the tangent face To simplify the topology of the resulting midsurface, groups of adjacent tangents must be identified that are locally parallel to other groups of adjacent tangents. The leftmost image in the following figure shows a situation where some grouping is appropriate. A brute-force algorithm would generate a complex midsurface consisting of many adjacent tangents. The goal of the grouping algorithm is to obtain an midsurface characterized by a much simpler topology.
[0095] Figure 35 shows locally parallel faces. Figure 36 shows the midsurface obtained without grouping. The complexity of all faces is copied to the midsurface. Figure 37 shows the topology of the midsurface when considering groups {f1,f2,f3,f4} and {f7,f8,f9} and offsetting the simplest group {f7,f8,f9} to obtain the midsurface.
[0096] The grouping is done according to the following algorithm: The dual graph of the input volume is considered. Arcs related to sharp edges are tagged with "1" and arcs related to smooth edges are tagged with "0". In the context of the present disclosure, multiple arcs tagged with "0" connecting two same nodes are replaced by a single arc, as shown in Figure 38. This is crucial for the identification of cutting arcs, as explained below.
[0097] In the context of the present algorithm, the dual graph is enriched with arcs that capture pairs of locally parallel faces, as computed in the previous step. These arcs are tagged with "2", which means that when face x and face y are locally parallel, node x and node y of the dual graph are connected with the arc tagged with "2". The enriched dual graph, here denoted by E, is the input data for the grouping algorithm. The following figure shows an extruded solid and its condensed dual graph E. For readability, the front and back faces of the extruded solid are ignored. In the example shown in Figures 39-40, the initial connection of locally parallel faces is (f1,f 12 ), (f3,f 10 ), (f3,f 11 ), (f4,f8), (f5,f7). Figure 39 shows an example of a solid, and Figure 40 shows the corresponding augmented dual graph with initial connections.
[0098] The first step is to collect all arcs tagged with "2" and their incident nodes into a subgraph D of the augmented dual graph E. Then, arcs tagged with "0" that have incident nodes in graph D are added to obtain graph H. Figure 41 shows an example graph D. Figure 42 shows an example graph H.
[0099] By definition (see F. Harry, Graph Theory, Addison-Wesley, 1969, which is incorporated herein by reference), an arc in a graph is a "cut arc" if removing that arc creates a new connected component of the graph (again, see F. Harry, Graph Theory, Addison-Wesley, 1969). The key step of the grouping algorithm is to remove all cut arcs tagged "0" from graph H, resulting in graph H1. Figure 43 shows the removal of the arc connecting nodes f3 and f4, which is a cut arc. On the left is graph H, and on the right is graph H1.
[0100] Now, we remove all arcs tagged with "2" from graph H1 to obtain graph H2. Next, groups of faces are identified via the connected components of graph H2. Figure 44 shows the connected components of graph H2. Figure 45 shows the resulting groups of adjacent tangent faces that are locally parallel to a group of adjacent tangent faces.
[0101] The connections between groups are easily obtained using the arcs tagged "2" in graph H1, as shown in Figure 45. The groups are {f i , ,f j} and contain as many elements as necessary. An example group of solids is {f 10 ,f 11}, {f4,f5}, and {f7,f8}, and the resulting combination of the grouped faces is (f1,f 12 ), (f3,{f 10 ,f 11}), ({f7,f8},{f4,f5}). Step 2 Local mid-surface Now, the local mid-surface is calculated according to the following algorithm: + is a value greater than the input thickness threshold t, typically t + = 1.1 × t. +The reason for the existence of is to avoid contact configurations, as will be described later. An extrapolation value e is defined, typically e = 0.001 × D, where D is the representative dimension of the input volume. i ,f j ) is given, and f i and f j Given a list L of sides connecting a face f i From Volume Thick(f i ,t + ) is created. Next, the face f j From the above, the extrapolation surface Extrapol(fi,L,e) and the offset surface Offset(Extrapol(f i ,L,e),t / 2) and create a pair (f i ,f j ) is the local mid-surface associated with Mid(f i ,f j ) and is obtained by calculating the volume / surface intersection, i.e.
number
[0102] The purpose of extrapolation is to perform a safe volume / surface intersection since the boundary curve of the (extrapolated) surface is far from the boundary of the volume. Figure 46 shows the local mid-surface of the pair (f3,f5) connected by the side f4. The surface P is Thick(f3,t + ), which will be mentioned in this step and reused in further steps. The group of pairs ({f1, ,f n},{f'1,...,f' m}), the offsetting side is selected to ensure the following objectives:
[0103] faithfully capturing the complexity of this group of pairs on the minimal intermediate surface; and To generate minimum mean surface results as simply as possible.
[0104] To achieve this, the algorithm uses evaluators. The first evaluator evaluates the group of pairs ({f1, ,f n},{f'1,...,f' m}). The second evaluator measures the simplicity of the edges based on topological (number and type of cells) and geometric (type of surface) criteria. Step 3: Locally thin walls In this step, the algorithm localizes thin walls by using the volumes that are used to create locally thick regions in further steps.
number
number
[0105] FIG. 47 shows a volume V that is used to localize a thin wall defined by a pair of faces (f3, f5) connected by a side f4. 3,5 Here, the surface P is V 3,5Note that it is the support surface that is included in the boundary of , which is mentioned in this step and will be reused in further steps. Step 4: Locally thick walls Then, all volumes from the input volume S are
number
number
[0106] Figure 48 shows all volumes V ij shows the final thick region after being removed from the input volume S. ij Note that is wider than the solid S in the vicinity of the sides. This is to avoid surface coincidences. Through a sequence of Boolean operations, the surface P is included in the boundary of the solid R. In the example shown in Figure 48, there is only one locally thick region, but industrial testing has shown that there can be many locally thick regions. Step 5: The final non-manifold object So far, the resulting data is a list of volumes (locally thick regions) and a list of faces (local mid-surfaces). The final step is to build a single non-manifold object that mixes volumes and faces into a coherent topological data structure. Typically, incidence between a volume and a mid-surface of a boundary surface is captured by splitting the boundary surface and sharing the split edge with the boundary edge of the mid-surface. Figure 49 shows splitting a side of a volume into faces a and b that share edge d to share edge d with the mid-surface c.
[0107] This topology is the best way to provide a mesh such that the edges and vertices of the triangles that mesh face c are shared with the edges and vertices of the triangles that mesh faces a and b. Figure 51 shows a coherent mesh that results from a non-manifold topology. Conversely, Figure 50 shows what happens when the topology is not solved: the triangles of face c do not fit into the triangles of face b, so the mesh is incomplete. Algorithm robustness It is well known from the state of the art that intersecting tangents or overlapping surfaces are the cause of failure of geometric algorithms. Figures 52 to 54 show good, bad and catastrophic situations. The good situation is an intersection curve of two cross sections, as shown in Figure 52. The bad situation is a tangent intersection between two surfaces, as shown in Figure 53. The catastrophic situation is a local overlap of two surfaces, as shown in Figure 54.
[0108] The algorithm avoids overlapping surfaces. During step 3, Extrapol(f i ,L,e) and Extrapol (f j By choosing separate extrapolation values for the volume Thick (Extrapol(f i ,L,e),t + ) and Volume Thick(Extrapol(f j ,L,2e),t + ) side overlap is avoided. Volume Thick(f i ,t + The offset surface of fi bounding the volume Thick(Extrapol(f j ,L,2e),t + ) and f i Face f at distance t from j Since it is far from t + Choosing t means that V ij Similarly, the volume Thick(Extrapol(f j ,L,2e),t +The offset surface of fj that bounds Thick(Extrapol(f i ,L,e),t+), and f i Face f at distance t from i Furthermore, volume V ij The boundary surface of is the surface f i and f j , which means that they share their respective support surfaces. Figure 55 shows that side a is separated from side b by the e extrapolation of face f3 and the 2e extrapolation of face f5. Furthermore, the faces Offset(Extrapol(f5,{f4},2e),t + ) is far from face f3, and face Offset(Extrapol(f3,{f4},e),t + ) is away from face f5.
[0109] During step 4, subtract SV ij When calculating, V coincides with the surface bounding the input solid S. ij The portions of the faces that bound each share the same respective support surfaces. This makes the subtraction completely safe, since local overlaps of faces are captured by logical sharing of support surfaces, as opposed to risky numerical searches.
[0110] During step 5, the offset surface Offset(Extrapol(f i ,L,e),t / 2) is used to trim the surface bounding volume Thick(f i ,t + ) is also used to trim the solid S in step 4. Thus, the support surface, denoted by P in the previous figure, is preserved throughout the process. This is why there is a perfect match between the boundary edges of the local mid-surfaces and the locally thick regions.
[0111] Figures 56 to 69 show the algorithm. Figure 56 shows an input solid and Figure 57 shows the corresponding output object calculated by the algorithm. Figure 58 shows an input solid and Figure 59 shows the corresponding output object calculated by the algorithm. Figure 60 shows an input solid and Figure 61 shows the corresponding output object calculated by the algorithm. Figure 62 shows an input solid and Figure 63 shows the corresponding output object calculated by the algorithm. Figure 64 shows an input solid and Figure 65 shows the corresponding output object calculated by the algorithm. Figure 66 shows an input solid and Figure 67 shows the corresponding output object calculated by the algorithm. Figure 68 shows an input solid and Figure 69 shows the corresponding output object calculated by the algorithm.
[0112] These figures illustrate the fact that once a volume part is modeled by its B-rep and a thickness threshold is given, the algorithm identifies all the thin walls of the input volume. Then, the intermediate surfaces of each thin wall are calculated, as well as the local volumes for realizing the thin walls. The thick regions are obtained by removing the local volumes from the input volume. The resulting data is a mixed set of thick regions and intermediate surfaces arranged in a coherent topology, as shown in Figures 70 to 73. Figure 70 shows the input volume, and Figure 71 shows the corresponding output object calculated by the algorithm. Figure 72 shows an input volume representing an ejector pad, such as ejector pad 96 or 98 in Figure 9, and Figure 73 shows the corresponding output object calculated by the algorithm. The thick pads remain unchanged, but the intersecting ribs are approximated by surfaces.
[0113] The method may further include displaying the constructed second B-rep.
[0114] The method may further include meshing (S30) the second B-rep into a hybrid mesh.
[0115] Meshing (S30) may be performed by any known method.
[0116] In the examples, meshing (S30) includes differently meshing the thin sheet regions, elongated regions, and composite regions of the second B-rep. The thin sheet regions are mid-surfaces of the second B-rep and have a major dimension that is much longer than the third B-rep. In the second B-rep, the thin sheet regions are the respective mid-surfaces. The elongated regions are regions of the second B-rep that have one major dimension that is much longer than the other two B-reps. The composite regions are regions of the second B-rep that are neither elongated nor thin sheet regions. This can represent an isotropic element shape. Meshing (S30) in these examples includes: meshing the thin sheet regions / intermediate surfaces of the second B-rep with triangles or quadrangles, which may include applying a seeding equal to the seeding of the adjacent regions when the intermediate surfaces border a complex or elongated region; meshing the complex domain with hexahedral or tetrahedral volume elements; may include.
[0117] In the examples described herein, meshing (S30) may be performed in particular according to the meshing method described in section 4 of Tierner & al., Automatic dimensional reduction and meshing of stiffened thin-wall structure, Article in Engineering With Computers, October 2013, DOI:10.1007 / s00366-013-0317-y, which is incorporated herein by reference.
[0118] Meshing (S30) may be performed by user actions, e.g., by graphical user interaction. For example, a user may graphically define the elements of the hybrid mesh by clicking on the positions of the second B-rep to place the elements, and / or by displacing the elements, and / or by placing elements between them. Thus, the method may display the second B-rep to the user during meshing (S30).
[0119] FIG. 74 shows the hybrid mesh resulting from the example meshing (S30) performed on the second B-rep shown in FIG.
[0120] The method may further include performing (S40) a structural simulation of the mechanical part based on the hybrid mesh. The structural simulation may be any simulation of the structural behavior of the mechanical part, for example for functionality, compliance, and / or quality purposes. The structural simulation is therefore a structural dynamics simulation. The method may further perform other types of simulations, such as vibration simulation, heat transfer simulation, mass transport simulation, electromagnetic simulation, and / or fluid dynamics simulation.
[0121] Performing the structural simulation (S40) includes defining boundary conditions on the hybrid mesh representing the machine part. Defining the boundary conditions may be performed by a user, for example by graphical user interaction, and may include one or more of fixing one or more parts of the machine part, defining a vibration source, and / or defining a heat source. Performing the structural simulation (S40) may further include performing a numerical scheme, such as a finite element method (FEM), on the hybrid mesh. The numerical scheme may be any numerical scheme related to a discretization of physical equations / laws encompassing the structural behavior to be simulated.
[0122] The method may further include displaying results of the structural simulation to a user, for example, to perform a structural analysis of the machine part and / or to make manufacturing decisions.
[0123] Figure 75 shows a design flow chart for designing a mechanical part, which the method may implement in an embodiment. The method allows for a fast design change loop, since calculation time is saved. This means faster design time and faster time to market or substitution of design studies.
Claims
1. 1. A computer-implemented method of B-rep processing for performing a structural simulation of a mechanical part, comprising: A first B-rep forming a solid representing a mechanical part; - a predefined thickness threshold; Providing (S10); building (S20) a second B-rep based on the first B-rep, the second B-rep forming a non-manifold object representing the machine part, - identifying one or more thin regions of the first B-rep, each having a thickness less than the predetermined thickness threshold (S200); For each identified thin region, calculating (S210) a respective intermediate surface and replacing the identified thin region with the respective intermediate surface; Constructing (S200), Including, identifying (S200) the one or more thin regions includes determining a first group and a second group of one or more adjacent tangent surfaces of the first B-rep, each of the first groups being locally parallel to a respective second group and forming, together with the respective second group, at least a portion of a boundary of the thin region; method.
2. Determining the first group and the second group includes: determining faces of the first B-rep that are each locally parallel to other faces; Grouping (S2200) first determined adjacent tangent faces as the first group and second determined adjacent tangent faces that are locally parallel to those faces as the second group; The method of claim 1 , comprising:
3. Determining the face includes determining a candidate face (S2000), determining as a candidate surface a first surface of the first B-rep, the first surface being at a distance from the second surface of the first B-rep that is less than the thickness threshold (S2000); determining (S2100) the first and second faces that are locally parallel to each other from among the candidate faces; The method of claim 2 , comprising:
4. The two sides are the ratio of the maximum distance between the faces to the minimum distance between the faces is less than 1 plus a threshold; and / or The difference between the maximum distance between the faces and the minimum distance between the faces, and the diagonal length of the faces When the ratio of at least one of the above is smaller than the tangent of the G1 continuity tolerance angle, The row is 4. The method according to claim 1 , wherein the first and second substrates are fused to the first and second substrates.
5. calculating (S210) a respective intermediate surface for each of the identified thin regions comprises, for each of the determined first groups locally parallel to each of the determined second groups, calculating as an intermediate surface an intersection of a result of a first thickening operation for said first group and a result of an offset operation for said respective second group; 5. The method according to any one of claims 1 to 4.
6. The offset calculation is an extrapolation offset for each second group. and / or the first thickening calculation has a thickening distance greater than the thickness threshold; The method according to claim 5.
7. The constructing (S20) further includes calculating (S220) one or more locally thick regions of the first B-rep, the calculating (S22) comprising: - calculating, for each of the determined first groups locally parallel to each of the determined second groups, an intersection of a result of the second thickening operation of said first group with a result of a third thickening operation in said respective second group; subtracting each calculated intersection from the first B-rep; The method of any one of claims 1 to 6, comprising:
8. the second thickening operation for each of the first groups is an extrapolation of the first group, and the third thickening operation for each of the second groups is an extrapolation of the respective second group, the extrapolation of the first group and the extrapolation of the second group having different extrapolation values; and / or the third thickening calculation and the second thickening calculation each have a thickening distance greater than the thickness threshold. The method according to claim 7.
9. The replacing step replaces the boundary edge of each intermediate surface with a corresponding one of the calculated thicknesses. By combining the dividing edges of the regions, each of the intermediate surfaces is calculated 9. The method of claim 7 or claim 8, further comprising combining (S230) each of the thick regions.
10. meshing the second B-rep into a hybrid mesh. The method according to any one of claims 1 to 9.
11. A structural simulation of the mechanical part is performed based on the hybrid mesh. The method of claim 10, further comprising:
12. A computer program comprising instructions for carrying out the method according to any one of claims 1 to 11.
13. A computer readable storage medium storing a computer program according to claim 12.
14. 14. A computer comprising a processor coupled to a memory storing the computer program of claim 13, and a graphical user interface.
Citation Information
Patent Citations
Method for simplifying shape
JP1994259505A
Analytical shell model creation apparatus
JP2004287701A
Apparatus and method for generating analysis model
JP2009266111A
Analytical mesh generation device and method
JP2017004143A
Method of and system for authoring simulation scenario
JP2019106188A