Structural simulation of mechanical components
Patent Information
- Application Number
- CN202110123412.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-01-31
- Filing Date
- 2021-01-29
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2041-01-29
AI Technical Summary
[0004]用于执行机械部件的结构仿真的B-rep处理的现有方法不能够产生满意的结果
Smart Images

Figure CN113283020B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer programs and systems, and more particularly to methods, systems, and programs for performing B-rep processing to perform structural simulation of mechanical components. Background Technology
[0002] There are many systems and programs available on the market for the design, engineering, and manufacturing of objects. CAD stands for Computer-Aided Design, and it relates, for example, to software solutions used for designing objects. CAE stands for Computer-Aided Engineering, and it relates, for example, to software solutions used for simulating the physical behavior of future products. CAM stands for Computer-Aided Manufacturing, and it relates, for example, to software solutions used for defining manufacturing processes and operations. In such computer-aided design systems, graphical user interfaces play a crucial role in the efficiency of the technology. These technologies can be embedded in Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies share product data, apply common processes, and leverage enterprise knowledge for product development from concept to end-of-life across the entire enterprise concept. Dassault Systèmes (traded as CATIA, ENOVIA, and DELMIA) offers PLM solutions that provide an engineering center for organizing product engineering knowledge, a manufacturing center for managing manufacturing engineering knowledge, and an enterprise center that enables the integration and connection of both the engineering and manufacturing centers. The system collectively provides an open object model that links products, processes, and resources to enable dynamic, knowledge-based product creation and drive decision support for optimized product definition, manufacturing preparation, production, and services.
[0003] In mechanical design, the designed components can be represented by virtual bodies in boundary-representation (B-rep) format. Solid representation is frequently used for structural digital simulation purposes.
[0004] Existing methods for B-rep processing to perform structural simulation of mechanical components fail to produce satisfactory results.
[0005] In this context, there is still a need for improved methods of B-rep processing for performing structural simulations of mechanical components. Summary of the Invention
[0006] Therefore, a computer-implemented method is provided for B-rep processing to perform structural simulation of a mechanical component. The method includes providing a first B-rep. The first B-rep forms a solid representing the mechanical component. 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 component. The construction includes identifying one or more thin regions of the first B-rep. Each thin region has a thickness smaller than the predetermined thickness threshold. The construction further includes calculating a corresponding intermediate surface for each identified thin region. The construction further includes replacing the identified thin region with the corresponding intermediate surface.
[0007] This constitutes an improved method for B-rep processing used to perform structural simulation of mechanical components.
[0008] It is worth noting that the first B-rep forms a solid representing the mechanical component, the solid having one or more thin regions representing thin walls of the mechanical component. 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, identifiable regions). The method identifies these one or more locally thin walls. Identifying locally thin walls is particularly relevant in mechanical design / solid modeling.
[0009] Moreover, the identification of the thin regions / thin walls is accurate, thanks to a predetermined thickness threshold determined based on mechanical / structural considerations. In practice, the method only identifies regions of the first B-rep with a thickness less than the predetermined thickness threshold as the thin regions; that is, the truly thin regions of the B-rep, which truly represent the regions of the mechanical component that are considered thin-walled from a mechanical / structural perspective.
[0010] Moreover, the method goes beyond simply identifying the local thin walls, which is already relevant in mechanical design / solid modeling, and calculates a second B-rep based on these identified thin regions / local thin walls. To this end, the method significantly calculates intermediate surfaces corresponding to the identified thin regions and replaces each identified thin region with the corresponding calculated intermediate surfaces. This calculation is part of constructing the second B-rep and results in the second B-rep being a hybrid surface / volume non-manifold object that well 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 because the thin walls have a thickness lower than a thickness threshold. This is equivalent to saying that the method constructs the second B-rep based on the first B-rep by accurately approximating the thin walls of the first B-rep with intermediate surfaces. The resulting second B-rep thus forms a non-manifold object that accurately represents the mechanical component. The ability to accurately design such a second B-rep characterized by both thin and thick regions in a single design process is an improvement that the method brings to the field of mechanical design. It is worth noting that the method avoids the excessively long and cumbersome separate design process for thin and thick regions.
[0011] The second B-rep constructed by the described method is particularly relevant in mechanical design. It is noteworthy that the second B-rep, as a hybrid surface / volume object, can be meshed together with a hybrid mesh including 2D and 3D elements, which is known in the fields 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 the rapid and robust execution of structural simulations of mechanical parts. In fact, the surface / 2D parts of the hybrid mesh require less time for structural simulation than the volume / 3D parts. The hybrid mesh thus allows for rapid structural simulations, i.e., faster than structural simulations performed on 3D meshes. Furthermore, the structural simulation is accurate and robust because thin regions of the mechanical part are accurately approximated by the intermediate surfaces in the second B-rep. This results in the hybrid mesh also being an accurate mesh for performing structural simulations, ensuring accurate structural simulations.
[0012] In addition to constructing the second B-rep, the method may include meshing the second B-rep into a hybrid mesh and performing structural simulation of the mechanical component based on the hybrid mesh. Alternatively, the method constructs the second B-rep, performs both surface and volumetric meshing of the second B-rep, and then performs a rapid and accurate structural simulation in a single design process. This method thus provides an improved process for structural simulation, which is significantly different from the longer and more cumbersome process of performing separate 2D and 3D meshing and structural simulation processes for thin and thick portions of the same B-rep.
[0013] The method may include one or more of the following:
[0014] – Identifying the one or more thin regions includes determining a first group and a second group that are one or more adjacent and tangential planes of the first B-rep, each first group being locally parallel to the corresponding second group and forming at least a portion of the boundary of the thin region with the corresponding second group;
[0015] – Determining the first group and the second group includes:
[0016] Determine the surfaces of the first B-rep that are locally parallel to the corresponding other surfaces; and
[0017] The first determined adjacent and tangential planes that are locally parallel to the second determined adjacent and tangential planes are grouped into a first group and a second group;
[0018] – Determining the face includes:
[0019] A candidate surface is determined, wherein the candidate surface is the first surface of the first B-rep, and the distance from a point on the first surface to the second surface of the first B-rep is less than the thickness threshold; and
[0020] Among the candidate faces, determine the first face and the second face, with each first face being locally parallel to the corresponding second face;
[0021] –Two faces are locally parallel when the following occurs:
[0022] 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
[0023] The ratio of the difference between the maximum distance between the faces and the minimum distance between the faces to the diagonal length of at least one of the faces is less than the tangent of the G1 continuity tolerance angle;
[0024] – Calculate the corresponding intermediate surface for each identified thin region, including for each determined first group that is parallel to the determined corresponding second group of local areas, calculate the intersection between the result of the first thickening operation of the first group and the result of the offset operation of the corresponding second group as the intermediate surface;
[0025] – Calculating the corresponding intermediate surface for each identified thin region includes, for each determined first group that is parallel to the determined corresponding second group of local areas, calculating the intersection between the result of the first thickening operation of the first group and the result of the offset operation of the corresponding second group as the intermediate surface;
[0026] – The offset operation is an offset of the extrapolation of the corresponding second group, and / or the first thickening operation has a thickening distance greater than the thickness threshold.
[0027] – The construction further includes calculating one or more local thick regions of the first B-rep, wherein calculating the one or more thick regions includes:
[0028] For each determined first group that is locally parallel to the corresponding second group, the intersection of the result of the second thickening operation of the first group and the result of the third thickening operation of the corresponding second group is calculated; and
[0029] Subtract each calculated intersection from the first B-rep;
[0030] – The second thickening operation of the first group is an extrapolation thickening of the first group, and the third thickening operation of the corresponding second group is an extrapolation thickening of the corresponding second group, wherein the extrapolation of the first group and the extrapolation of the corresponding second group have different extrapolation values, and / or the third thickening operation and the second thickening operation each have a thickening distance greater than the thickness threshold.
[0031] – The replacement includes assembling the corresponding intermediate surface and the corresponding calculated thick region by assembling the boundary edge of the corresponding intermediate surface with the dividing edge of the corresponding calculated thick region;
[0032] –The method further includes meshing the second B-rep into a hybrid network; and / or
[0033] – The method further includes performing structural simulation of the mechanical component based on the hybrid mesh.
[0034] A computer program including instructions for performing the method is also provided.
[0035] A computer-readable storage medium having the computer program recorded thereon is also provided.
[0036] A system is also provided that includes a processor coupled to a memory and a graphical user interface, the memory having the computer program recorded thereon. Attached Figure Description
[0037] Embodiments of the invention will be described below by way of non-limiting examples and with reference to the accompanying drawings, wherein:
[0038] Figure 1 and Figure 2 A flowchart illustrating an example of the method is shown;
[0039] Figure 3 An example of the graphical user interface of the system is shown;
[0040] Figure 4 An example of the system is shown; and
[0041] Figures 5 to 75 The method is described. Detailed Implementation
[0042] Reference Figure 1 The flowchart presents a computer-implemented method for B-rep processing to perform structural simulation of a mechanical component. The method includes providing a first B-rep (S10). The first B-rep forms a solid representing the mechanical component. The method further includes providing a predetermined thickness threshold (S10). The method further includes constructing a second B-rep based on the first B-rep (S20). The second B-rep forms a non-manifold object representing the mechanical component. The construction S20 includes identifying one or more thin regions of the first B-rep (S200). Each thin region has a thickness smaller than the predetermined thickness threshold. The construction S20 further includes calculating a corresponding intermediate surface for each identified thin region (S210). The construction S20 further includes replacing the identified thin region with the corresponding intermediate surface.
[0043] The method is implemented by a computer. This means that the steps (or substantially all steps) of the method are executed by at least one computer or any system. Therefore, the steps of the method may be executed fully or semi-automatically by the computer. In the example, the triggering of at least some steps of the method can be performed via user-computer interaction. The required level of user-computer interaction can depend on the anticipated level of automation and be balanced with the need to achieve the user's desired outcome. In the example, this level can be user-defined and / or predefined.
[0044] A typical example of a computer implementation of the method is to execute the method using a system suitable for this purpose. The system may include a processor coupled to memory and a graphical user interface (GUI) on which a computer program is stored, the computer program comprising instructions for executing the method. The memory may also store a database. The memory is any hardware suitable for such storage and may include several physically discrete components (e.g., one for the program and possibly one for the database).
[0045] The method typically manipulates B-rep as the modeling object. The modeling object is any object defined by data, for example, stored in a database. By extension, the term "modeling object" refers to the data itself. Depending on the type of system, the modeling object can be defined by different kinds of data. The system can be, in fact, any combination of CAD, CAE, CAM, PDM, and / or PLM systems. In those different systems, the modeling object is defined by corresponding data. One can therefore say CAD object, PLM object, PDM object, CAE object, CAM object, CAD data, PLM data, PDM data, CAM data, CAE data. However, these systems are not exclusive to each other, because the modeling object can be defined by data corresponding to any combination of these systems. A system can therefore be both a CAD system and a PLM system, as will become apparent from the definition of such a system provided below.
[0046] A CAD system is any system, such as CATIA, that is at least suitable for designing modeling objects based on their graphical representations. In this context, the data defining the modeling object includes the data that allows the modeling object to be represented. A CAD system can provide a representation of a CAD modeling object, for example, using edges or lines (and in some cases, faces or surfaces). Lines, edges, or surfaces can be represented in various ways, such as non-uniform rational B-spline curves (NURBS). Specifically, a CAD file contains specifications from which geometry can be generated, thus allowing the generation of representations. The specifications of a modeling object can be stored in a single CAD file or in multiple CAD files. The typical size of a file representing a modeling object in a CAD system is in the range of 1MB per part. Furthermore, a modeling object can often be a component consisting of thousands of parts.
[0047] In the context of CAD, modeling objects can typically be 3D modeling objects, which, for example, represent products, such as parts or components of parts, or possibly product components. By "3D modeling object," it refers to any object modeled using data that allows for its 3D representation. 3D representation allows parts to be viewed from all angles. For example, when a 3D modeling object is represented in 3D, it can be manipulated and rotated around any of its axes or around any axis on the screen displaying that representation. Specifically, this does not include 2D icons that are not 3D modeled. The display of 3D representations aids in design (i.e., increases the speed at which designers can statistically complete tasks). Since product design is part of the manufacturing process, it can accelerate manufacturing processes in industry.
[0048] A PLM system refers to any system suitable for managing modeled objects that represent physically manufactured products (or products to be manufactured). Therefore, in a PLM system, modeled objects are defined by data suitable for manufacturing the physical object. These are typically dimensional values and / or tolerance values. Having such values is indeed better for correctly manufacturing the object.
[0049] CAM solutions refer to any solution, hardware, or software applicable to managing manufacturing data for a product. Manufacturing data typically includes information related to the product to be manufactured, the manufacturing process, and the resources required. CAM solutions are used to plan and optimize the entire manufacturing process of a product. For example, it can provide CAM users with information about feasibility, the duration of the manufacturing process, or the amount of resources (such as a specific robot) that can be used at a particular step in the manufacturing process; and therefore, allows for decisions regarding management or required investment. CAM is a follow-up process to CAD and potential CAE processes. This type of CAM solution is trademarked by Dassault Systèmes. supply.
[0050] CAE solutions refer to any solution, hardware, or software applicable to analyzing the physical behavior of a modeled object. A well-known and widely used CAE technique is the Finite Element Method (FEM), which typically involves dividing the modeled object into elements whose physical behavior can be calculated and simulated using equations. Such CAE solutions are trademarked by Dassault Systèmes. Provided. Another growing CAE technology involves the modeling and analysis of complex systems composed of multiple components from different physical realms without CAD geometric data. CAE solutions allow for simulation, and thus optimization, improvement, and validation of products to be manufactured. Such CAE solutions are trademarked by Dassault Systèmes. supply.
[0051] PDM stands for Product Data Management. A PDM solution refers to any solution, hardware, or software applicable to managing all types of data related to a specific product. PDM solutions are available to all stakeholders involved in the product lifecycle: primarily engineers, but also project managers, finance personnel, sales staff, and buyers. PDM solutions are typically based on a product-oriented database. It allows stakeholders to share consistent data about their products and thus prevents stakeholders from using conflicting data. Such PDM solutions are developed by Dassault Systèmes. Trademark provided.
[0052] Figure 3 An example of the system's GUI is shown, where the system is a CAD system.
[0053] The GUI 2100 may be a typical CAD-like interface, featuring standard menu bars 2110 and 2120, and bottom and side toolbars 2140 and 2150. Such menu bars and toolbars contain a set of user-selectable icons, each associated with one or more operations or functions as known in the art. Some of these icons are associated with software tools suitable for editing and / or manipulating the 3D modeled object 2000 displayed in the GUI 2100. The software tools may be grouped into workbenches. Each workbench contains a subset of the software tools. In particular, one of the workbenches is a version workbench suitable for editing the geometry of the modeled product 2000. In operation, the designer may, for example, pre-select a portion of the object 2000 and then initiate an operation (e.g., change size, color, etc.) or edit geometric constraints by selecting an appropriate icon. For example, a typical CAD operation is modeling the 3D modeled object displayed on the screen by drilling or folding. The GUI may, for example, display data 2500 related to the displayed product 2000. In this example diagram, the data 2500, shown as a "feature tree," and its 3D representation 2000 relate to a brake assembly including a caliper and a disc. The GUI can also display various types of graphical tools 2130, 2070, and 2080, such as those used to facilitate 3D orientation of objects, to trigger operations on the edited product, or to render various properties of the displayed product 2000. A cursor 2060 can be controlled by a haptic device to allow the user to interact with the graphical tools.
[0054] Figure 4 An example of the system is shown, where the system is a client computer system, such as a user's workstation.
[0055] The client computer in this example includes a central processing unit (CPU) 1010 connected to an internal communication bus 1000 and random access memory (RAM) 1070 also connected to the bus. The client computer is also provided with a graphics processing unit (GPU) 1110 associated with video random access memory 1100 connected to the bus. The video RAM 1100 is also referred to in the art as a frame buffer. A mass storage device controller 1020 manages access to mass storage devices such as a hard disk drive 1030. Mass storage devices suitable for tangibly representing computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks 1040. Any of the foregoing may be supplemented or incorporated by a specially designed ASIC (Application-Specific Integrated Circuit). 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 on the client computer to allow the user to selectively position the cursor at any desired location on the monitor 1080. Furthermore, the cursor control device allows the user to select various commands and input control signals. The cursor control device includes multiple signal generating devices for inputting control signals to the system. Typically, the cursor control device can be a mouse, with mouse buttons used to generate signals. Optionally or additionally, the client computer system may include a sensitive pad and / or a sensitive screen.
[0056] The computer program may include computer-executable instructions, which include units for causing the system to perform the method. The program may be recorded on any data storage medium, including the system's memory. The program may be implemented, 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, tangibly embodied in a machine-readable storage device for use in a product executed by a programmable processor. The method steps may be executed by a programmable processor that executes the instruction program to perform the function of the method by manipulating input data and generating output. Therefore, the processor may be programmable and coupled to receive data and instructions from the data storage system, at least one input device, and at least one output device, and to send data and instructions to the data storage system, at least one input device, and at least one output device. If desired, the application program may be implemented in a high-level procedural or object-oriented programming language, or in assembly language or machine language. In any case, the language may be a compiled or interpreted language. The program may be a complete installation program or update program. In any case, the application of the program on the system generates instructions for performing the method.
[0057] In this document, any B-rep is a 3D modeling object that can represent the geometry of a real-world product to be manufactured after its virtual design has been completed using, for example, CAD software solutions or CAD systems. Examples include (e.g., mechanical) parts or components of parts (or equivalent components, since from a methodological perspective, components of parts can be considered as the parts themselves, or the method can be applied independently to each part of the component), or more generally, arbitrary rigid body components (e.g., movement mechanisms). CAD software solutions allow for product design in a wide range of unrestricted industrial sectors, including: aerospace, architecture, construction, consumer goods, high-tech equipment, industrial instrumentation, transportation, and marine and / or offshore oil / gas production or transportation. Any B-rep in this article can therefore be a 3D modeling object representing an industrial product, which can be any mechanical component, such as components of ground vehicles (e.g., including automobiles and light truck equipment, racing cars, motorcycles, trucks and electric equipment, trucks and buses, trains), parts of air vehicles (e.g., including fuselage instruments, aerospace equipment, propulsion equipment, defense products, aviation equipment, space equipment), parts of marine vehicles (e.g., including naval equipment, merchant ships, offshore equipment, sailboats and workboats, subsea equipment), general mechanical components (e.g., including industrial manufacturing machines, heavy mobile machines or equipment, installation equipment, industrial equipment products, manufactured metal products, tire manufacturing products), electromechanical or electronic components (e.g., including consumer electronics, safety and / or control and / or instrumentation products, computing and communication equipment, semiconductors, medical devices and instruments), consumer products (e.g., including decorative items, home and garden products, leisure goods, fashion products, hard goods retail products, soft goods retail products), and packaging (e.g., including physical and beverage and cigarette packaging, cosmetics and personal care, and household product packaging).
[0058] In the context of the method, the mechanical component (i.e., represented by the first B-rep and the second B-rep) can be any mechanical component characterized by thin walls and thick regions.
[0059] For example, mechanical components can be aerospace components, such as metal piles, longitudinal beams, or frames. Figure 5 An example of a mechanical component is shown, in which the mechanical component is an aircraft metal pile. Figure 6 Another example of a mechanical component is shown, in which the mechanical component is an aircraft metal pile. Figure 7 Another example of a mechanical component is shown, in which the mechanical component is an aircraft longitudinal beam. Figure 8 Another example of a mechanical component is shown, in which the mechanical component is an aircraft frame.
[0060] Alternatively or additionally, the mechanical component may be an automotive component, such as an automotive modeling component. Figure 9An example of a mechanical component is shown, which is a car modeling component. This car modeling component is characterized by thin walls for the housing and internal reinforcing plates such as reinforcing plates 90 and 92, along with locally thicker devices such as fasteners 94 for fixing and manufacturing purposes. Typical manufacturing features include ejector pads such as ejector pads 96 and 98, which are located in a position where the ejector pads push the component away from the mold after they open.
[0061] Alternatively, the mechanical component may be an aluminum protrusion used in the automotive, aerospace, architectural, or shipbuilding industries. Figure 10 An example of a mechanical component is shown, where the mechanical component is an aluminum protrusion. Such components are typically based on a planar profile characterized by thin and thick regions, resulting in thin walls and thick volumes on the protruding solid, such as... Figure 10 As shown.
[0062] The method, as an initial stage, may include designing a 3D modeling object representing a mechanical component (i.e., a first B-rep). "Designing a 3D modeling object" refers to any action or series of actions that are at least part of the process of carefully creating the 3D modeling object. Therefore, the method may include creating a 3D modeling object from scratch. Optionally, the method may include providing a previously created 3D modeling object and then modifying it.
[0063] The method can be included in the manufacturing process, which may include generating a physical product corresponding to the second B-rep after the method is performed. The manufacturing may be performed after structural simulation based on the second B-rep, as previously mentioned and described below. In any case, the second B-rep constructed by the method can represent a manufactured object. The manufactured object can be a product such as a part or a component of a part. Because the method improves the construction of the second B-rep and allows for rapid and accurate structural simulation, it also improves the manufacturing of the product and thus increases the productivity of the manufacturing process.
[0064] The method is used for B-rep processing. B-rep processing refers to any action or series of actions used to modify a B-rep. In the case of the method, the B-rep processing includes providing the first B-rep in S10 and constructing the second B-rep based on the first B-rep. Before further discussing the B-rep processing performed by the method, refer now to Figures 11-32 Let's discuss the B-rep concept involved in the method.
[0065] The B-Rep model comprises topological entities 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 portion of a surface (i.e., the supporting surface). An edge is the boundary portion of a curve (i.e., the supporting curve). A vertex is a point in 3D space. They are related to each other as follows: The boundary portion of a curve is defined by two points (vertices) located on that curve. The boundary portion of a surface is defined by its boundary, which is the set of edges located on that surface. The edges of the boundaries of faces are connected together by sharing vertices. Faces are connected together by sharing edges. By definition, if two faces share an edge, they are adjacent. Similarly, if two edges share a vertex, they are adjacent.
[0066] Figure 11 and Figure 12 The B-Rep model of a cylindrical groove formed by three surfaces is described: a top flat plane and two side cylindrical surfaces. Figure 11 A perspective view of the slot is shown. The visible faces, edges, and vertices are numbered. Figure 12 An exploded view of all faces is shown. The reproduced numbers illustrate shared edges and vertices. Face 1 is the boundary portion of the plane. The boundary of face 1 includes edges 4 and 5, each of which is bounded by vertices 10 and 11. They both have the same supporting circle. Face 2 is bounded by edges 6, 8, 5, and 13, all located on the surface of the infinite cylinder. Faces 1 and 2 are adjacent because they share edge 5. Faces 2 and 3 are adjacent because they share edges 8 and 13. Faces 1 and 3 are adjacent because they share edge 4.
[0067] Figure 13 This illustrates the "boundary formed by..." topological relationship of the B-Rep model. Nodes in higher layers are faces, nodes in middle layers are edges, and nodes in lower layers are vertices. Figure 14 and Figure 15 Explanation Figure 14 The topological entities (faces, edges, vertices) shown in the figure and Figure 15 The relationships between supporting geometries (infinite cylinders, infinite planes, infinite lines, points) are shown in the diagram. In a CAD system, for example, that performs the method described above, the B-Rep model collects "boundary formation by..." relationships, relationships between topological entities and supporting geometries, and mathematical descriptions of the supporting geometries in a suitable data structure.
[0068] By definition, the interior edges of a B-Rep are shared by exactly two faces. Faces sharing an edge are considered to conflict with each other or with the shared edge. By definition, boundary edges are not shared; they form a boundary with only one face. By definition, a boundary face conflicts with at least one boundary edge. If all edges of a B-Rep are interior edges, the B-Rep is considered closed. If a B-Rep includes at least one boundary edge, the B-Rep is considered open. 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. By adding a disk-like face 14 whose boundary is formed by edges 6 and 7, the closed B-Rep... Figure 11 and Figure 12 The B-Rep shown in the figure is obtained, as in Figure 16 and Figure 17 As shown in the diagram. Closed B-Rep is used for modeling thick 3D volumes because it defines the space (virtually) surrounding the inner portion of the material. Open B-Rep is used for modeling 3D skin, which is a 3D object whose thickness is small enough to be ignored.
[0069] The dual graph of a B-Rep is a logical graph that captures only face proximity. It is defined as follows: Nodes of the dual graph are associated with faces of the B-Rep, and arcs of the dual graph are associated with edges of the B-Rep. If a B-Rep edge associated with an arc of the dual graph is shared by B-Rep faces associated with nodes, then the arc of the dual graph connects the two nodes of the dual graph. For example, Figure 16 The dual graph of the cylindrical B-Rep in Figure 18 As shown in the image, the arcs are marked with their edge numbers.
[0070] Each face of a B-Rep is assembled with a normal vector defined with the aid of the supporting surface. First, this normal vector is collinear with the normal vector of the supporting surface. Furthermore, the normal vector of a closed B-Rep modeled on a solid points outwards from the material. Let F be a face of the B-Rep and N be its external 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, if vector M = N × T points inwards from the face, then edge E is oriented counterclockwise, as shown below. Figure 19 Note that vector M is normalized because vectors N and T are normalized and perpendicular. By convention, all edges of all faces of B-Rep are oriented counterclockwise, as shown in... Figure 20 As explained above.
[0071] From a mathematical perspective, the standard B-Rep for an entity is used to represent a manifold object, meaning that locally, B-Rep effectively divides the adjacent space into two parts: the inside of the entity and the outside of the entity. While this property works well for real-life manufactured objects, it cannot represent useful configurations, such as multi-material objects or local approximations. For example, Figure 21 The diagram shows a solid made of several layers of different materials. The interfaces separating the materials are formed by surfaces shared by adjacent regions. Figure 22 A conventional B-Rep is shown, featuring a component with a reinforcing plate. Figure 23 The diagram shows a reinforcing plate approximated by a surface, while the adjacent components are volumes, indicating that it is a hybrid surface / volume object.
[0072] Non-manifold topology allows for consistency models to support these scenarios. By reusing and extending the B-Rep data structure, it captures edges shared by more than two faces, such as in... Figure 24 As explained in the text. It captures the boundary edge and lies inside its boundary surface, meaning it does not separate the material of the surface, as in... Figure 25 As explained in the text.
[0073] As discussed further below, the method can use surface extrapolation and surface extrapolation. By definition, a surface is a smooth mapping. in Various models can be used to calculate point P(u,v) based on parameters (u,v), such as Bezier, B-Spline, NURBS, or triangular geometry. Figure 26 The surface of the image as a parameter domain is described. In the context of this disclosure, the extrapolation process is used to extend the domain [a,b]×[c,d], which means that [a,b]×[c,d] is transformed into [(1-e)a,(1+e)b]×[(1-e)c,(1+e)d], where e>0 are the extrapolation coefficients. If the mapping P is curvature continuous, this process produces a curvature-continuous extrapolation surface. In the context of this disclosure, the extrapolation parameter can be e = 0.01. Figure 27 This illustrates the interpolation effect; the dashed line represents the shape before interpolation. Interpolating an opposite surface involves interpolating its supporting surface and replacing the surface's boundary curve with an offset boundary curve based on the interpolated supporting surface. The interpolation of the supporting surface is wide enough to encompass the offset boundary curve of the surface. Figure 28 This describes the extrapolation of a face f defined on a supporting surface P. The supporting surface P is extrapolated with e′>e, such that the extrapolated face Extrapol(f,e) can be defined on the wider supporting surface Extrapol(P,e′).
[0074] The method can use a more specific extrapolation operation on faces. The input to this operation is: the face f to be extrapolated, the extrapolation parameters e, and a list of faces L = {g}.k ,k=1,2,…}. Specifically, extrapolation simply offsets the boundary edges in face f that are shared with faces in list L. Figure 29 This explains the specific extrapolation of face f based on faces {g1,g2,g3}. Note that since rounded face h is not in the list {g1,g2,g3}, the edges in face f that are shared with face h are not involved in the extrapolation.
[0075] The method described can be used in examples to identify thin regions of the first B-rep using the concept of local parallelism of two faces. Before discussing this concept, two fundamental definitions are discussed: offsetting a face and thickening a face. It should be noted that the outward orientation of the normal vector is explicitly involved. Given a face f and a non-negative number λ in the B-rep, the offset operation is to compute the object Offset(f,λ) of the face parallel to face f at a distance λ. Note the outward normal vector N at point x on face f. f (x) is defined as follows:
[0076] Offset(f,λ)={x-λN f (x), x∈f}.
[0077] Offset operation by Figure 30 Explanation. The thickening operation computes the volume of the object Thick(f,λ), which is the volume enclosed by the surface f and its offset surfaces at a distance λ. It is defined as follows:
[0078] Thick(f,λ)={x-sN f (x), x∈f, s∈[0,λ]}.
[0079] Figure 31 This explains the thickening process.
[0080] Now we give the definitions of parallelization and local parallelization. If for every point x∈f, point x-λN f (x) lies on the plane g and if for every point y∈g, point y-λN g If (y) lies on surface f, then the two surfaces f and g are parallel at a distance λ. In the context of this disclosure, the concept of local parallelism is used. If there exists λ>0 such that surface g∩Thick(f,λ) and surface f∩Thick(g,λ) are parallel at some distance, then the two surfaces f and g are locally parallel. Figure 32 The above illustrates local parallelization. The solid black lines represent the corresponding portions of parallel surfaces f and g, thus making surfaces f and g locally parallel.
[0081] Return to reference Figure 1The flowchart illustrates the method, which includes providing S10 a first B-rep. The first B-rep is a solid representing a mechanical component. In other words, the first B-rep is a closed B-rep. Providing S10 the first B-rep may include creating the first B-rep, i.e., designing a 3D modeling object forming the first B-rep, as previously discussed. Optionally, providing S10 the first B-rep may include retrieving the first B-rep from (e.g., remote) memory where the first B-rep was stored after its creation. Providing S10 the first B-rep may include displaying the first B-rep.
[0082] Still refer to Figure 1 The flowchart further includes providing a predetermined thickness threshold in S10. The thickness threshold is a value of thickness, such as a strictly positive real number. Providing the predetermined thickness threshold in S10 may include, for example, a thickness threshold selected by a user, and then fed as input to construction S20. The user can select the thickness threshold by defining its value, for example, based on mechanical / structural considerations regarding the mechanical component. For example, the user can determine the thickness threshold in such a way that any region in the mechanical component having a thickness below that thickness threshold is a region that can be well approximated by an intermediate surface for structural and / or mechanical and / or manufacturing considerations.
[0083] Still refer to Figure 1 The flowchart further illustrates that the method includes constructing a second B-rep based on the first B-rep in S20. "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 which takes into account the first B-rep and a thickness threshold. In other words, 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 and includes both solid closed volume regions and surface regions. The second B-rep also represents a mechanical part, but with intermediate surfaces instead of volumes, used to represent thin regions of the mechanical part, as previously discussed and further discussed below. Construction S20 can be performed automatically (e.g., by a CAD system using component S20 to perform the method), for example, after providing S10. This means that the method can automatically construct the second B-rep, making the method efficient.
[0084] Still refer to Figure 1 The flowchart illustrates that constructing the second B-rep involves identifying one or more thin regions of the first B-rep in S200. The identification of one or more thin regions in S200 will now be discussed.
[0085] Each thin region is a volume bounded by the facet of the first B-rep and has a thickness less than a thickness threshold. The thickness threshold is used as input to construct S20 for use by identification S200. Identifying one or more thin regions in S200 may include finding the facet of the first B-rep and detecting groups of faces, each of which partially forms a boundary for a region with a thickness less than the thickness threshold. Identification S200 may further include pairing such groups into a first group and a second group, such that the first group and the second group of each pair form the boundary portion of thin regions that are locally parallel to each other.
[0086] Now refer to Figure 2 The flowchart is used to discuss an example of identifying S200. Figure 2 A flowchart illustrating an example of identifying one or more thin regions of S200 is shown.
[0087] In the example, identifying one or more thin regions in S200 includes determining a first group and a second group, each group comprising one or more adjacent and tangential planes of a first B-rep. Each first group is locally parallel to a corresponding second group and forms at least a portion of the boundary of the thin region with the corresponding second group.
[0088] As previously discussed, two faces of a first B-rep are adjacent when they share an edge of the first B-rep. These two faces are tangent when the angle between the normals along the shared edge is within the G continuity tolerance angle, as discussed later. This method determines first and second such groups, for example, by determining the faces of each group. Each determined first group forms part of the boundary of one of the thin regions, and a determined second group is locally parallel to that first group, forming another part of the boundary of that thin region. The parts are locally parallel. In fact, the first group and the second group are locally parallel. The two groups are separated by a distance lower than a thickness threshold. Determining such first and second groups allows for efficient identification by detecting only a portion of their boundaries (i.e., the portion formed by the first and second groups). Furthermore, this allows for the computation of the intermediate surfaces of the thin regions, as discussed further below.
[0089] Reference Figure 2 The flowchart, in this example, shows that determining the first group and the second group may include determining faces in the first B-rep that are locally parallel to the corresponding other faces. In other words, determining the first group and the second group includes determining locally parallel first and second faces in these examples. In these examples, determining the first group and the second group further includes grouping the first determined adjacent and tangential faces that are locally parallel to the second determined adjacent and tangential faces into the first group and the second group by S2200.
[0090] Determining the locally parallel first and second faces improves the speed and efficiency of the method. In practice, it would be tedious to identify all faces in the first and second groups at once. Instead, the method determines each coupling consisting of a first face (i.e., in the first group) and a second face locally parallel to the first face (i.e., the second face belongs to the second group locally parallel to the first group). The method then groups the determined couplings S2200 to form the first and second groups.
[0091] Determining a first face that is locally parallel to a second face can include verifying that the first face is locally parallel to the second face. For example, the method could find the face of a first B-rep and perform such verification for the coupling of the found faces.
[0092] Still refer to Figure 2 The flowchart illustrates this process. In this example, determining the surface includes determining candidate surfaces for S2000. A candidate surface is a first surface of a first B-rep whose points are located at a distance below a thickness threshold from a second surface of the first B-rep. In these examples, determining the surface further includes determining a first surface and a second surface for S2100 among the candidate surfaces. Each first surface is locally parallel to a corresponding second surface.
[0093] This improves the determination of the faces because, in these examples, the determination is performed in two steps. First, the couplings of the candidate faces are determined. Then, only a subset of these couplings is retained to form the determined faces, which are then grouped into a first group and a second group by S2200. This two-step approach improves robustness.
[0094] Determining the S2000 candidate surface may include finding a surface of a first B-rep and finding each coupling formed by the first surface and the second surface, such that the first surface has a point at a distance below a thickness threshold from the second surface. The first surface may be referred to as the "first candidate surface" and the second surface may be referred to as the "second candidate surface". The coupling may be referred to as the "coupling of candidate surfaces". Finding the coupling may include finding the first surface and detecting at least one second surface located at a distance below a thickness threshold from at least one point of the first surface. It should be understood that several such second surfaces may be detected, each located at a distance below a thickness threshold compared to a corresponding point of the first surface. In this case, the first surface is a candidate surface forming the coupling of candidate surfaces, and each candidate surface has a corresponding second surface.
[0095] Determining the S2000 candidate surface allows for the identification of every combination of surfaces of the first B-rep existing in the first and second surfaces, where the first surface is potentially parallel to the second surface. Then, the truly locally parallel first and second surfaces of S2100 are identified within the candidate surfaces to complete the surface determination. This makes the method robust and efficient.
[0096] Detecting at least one second surface may include:
[0097] – Sample the first surface as the sampling point; and
[0098] For each sampling point, a ray is projected from the sampling point, and if and once the projected ray intersects the other side of the first B-rep at a distance lower than the thickness threshold, the other side is detected as a second side that couples with the first side to form a candidate surface.
[0099] Determining the locally parallel first and second faces among the candidate faces may involve verifying the locally parallel faces of each coupling of the candidate faces, for example, by verifying that they satisfy the definition of locally parallelization discussed earlier. If the coupled faces are parallel, they are determined to be a coupling consisting of a first face that is locally parallel to the second face.
[0100] In the example, the two faces are locally parallel when the following condition is met:
[0101] – The ratio between the maximum distance between faces and the minimum distance between faces is less than a threshold; and / or
[0102] The ratio of the difference between the maximum distance between faces and the minimum distance between faces to the diagonal length of at least one of the faces is less than the tangent of the G1 continuity tolerance angle.
[0103] The length of the diagonal of a face can be defined as the maximum distance between two points on the face, which can be any suitable distance between the points, such as the Euclidean distance.
[0104] In other words, verifying that two faces are locally parallel can include:
[0105] – Verify that the ratio between the maximum distance between faces and the minimum distance between faces is less than a threshold; and / or
[0106] – The ratio of the difference between the maximum distance between surfaces and the minimum distance between surfaces to the diagonal length of at least one of the surfaces is less than the tangent of the G1 continuity tolerance angle.
[0107] Verifying that the ratio between the maximum distance and the minimum distance between faces is less than a threshold allows for relatively rigorous verification of the geometrical local parallelism of the faces from a geometric point of view. The threshold can be a small positive real number, such as less than 1, 0.5, or 0.2, for example, equal to 0.1. Verifying that the ratio between the maximum distance and the minimum distance between faces is less than a threshold can include:
[0108] – Sample the surface as sampling points;
[0109] – For each face in the plane, project each sampling point of the face onto another face;
[0110] – Calculate every (e.g., Euclidean) distance between a sample point on one face and its projection onto another face, calculate the maximum and minimum distances among these distances, and verify that the ratio between the maximum and minimum distances is less than a threshold; and
[0111] – Calculate each (e.g., Euclidean) distance between the sampling point on the other side and its projection on the surface, calculate the maximum and minimum distances among such distances, and verify that the ratio between the maximum and minimum distances is less than a threshold.
[0112] Verifying that the ratio of the difference between the maximum and minimum distances between surfaces to the diagonal length of at least one of the surfaces is less than the tangent of the G1 continuity tolerance angle allows for verification of local parallelism of surfaces from a manufacturing perspective. In practice, G1 continuity corresponds to engineering fillet continuity. Therefore, ensuring that the angle between two locally parallel surfaces is within this tolerance allows for annotation consistent with typical manufacturing constraints. The concept of G1 continuity is known in mechanical design itself. Verifying that the ratio of the difference between the maximum and minimum distances between surfaces to the diagonal length of at least one of the surfaces is less than the tangent of the G1 continuity tolerance angle can include:
[0113] – Sample the surface as sampling points;
[0114] – For each face in the plane, project each sampling point of that face onto another face;
[0115] – Calculate the distance (e.g., Euclidean) between the projections of a sampling point on one face onto the other face, calculate the maximum and minimum distances among these distances, and verify that the ratio of the difference between the maximum and minimum distances to the diagonal length of the face is less than the tangent of the G1 continuity tolerance angle; and
[0116] – Calculate each (e.g., Euclidean) distance between the sampling point of the other face and its projection on the face, calculate the maximum and minimum distances among such distances, and verify that the ratio between the difference between the maximum and minimum distances and the diagonal length of the other face is less than the tangent of the G1 continuity tolerance angle.
[0117] The ratio between the maximum distance between verification surfaces and the minimum distance between verification surfaces is lower than a threshold, and the ratio between the difference between the maximum distance between verification surfaces and the minimum distance between verification surfaces and the diagonal length of each surface is lower than the tangent of the G1 continuity tolerance angle. This improves the efficiency and robustness of verification.
[0118] Still refer to Figure 2The flowchart shows that grouping S2200 can 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. Grouping may include, for example, identifying the proximity and tangency between the determined first face on one hand and the determined second face on the other hand, which are parallel to the determined first face, based on a dual graph of the first B-rep.
[0119] Return to reference Figure 1 The flowchart further illustrates that, for each identified thin region, the method calculates the corresponding intermediate surface of the thin region identified in S210. As previously discussed, the thin region is the thin solid portion of the first B-rep. The intermediate surface of the solid portion of the B-rep is a known concept, and the calculation of the corresponding intermediate surface in S210 can be performed by any known method.
[0120] In the example, identifying one or more thin regions in S200 includes determining a first group and a second group as previously discussed. Calculating the corresponding intermediate surface in S210 for each identified thin region may include, for each determined first group that is locally parallel to the corresponding determined second group, calculating the intersection between the result of a first thickening operation of the first group and the result of an offset operation of the corresponding second group as the intermediate surface.
[0121] Calculating the intersection between the result of the first thickening operation in the first group and the result of the corresponding offset operation in the second group can include calculating the first thickening operation and the offset operation, and then determining the intersection of the corresponding results of these operations. This is an efficient and simple way to calculate the intermediate surface. The parameters of these operations can be fixed, for example, as parameters for calculating S20, so that the intersection results in the corresponding intermediate surface. For example, the thickening distance of the thickening operation can be greater than a thickness threshold but relatively close to that thickness threshold, for example, equal to 1.1 times the thickness threshold. The offset distance of the offset operation can be on the order of the thickening distance divided by 2, for example, equal to the thickness threshold divided by 2.
[0122] The offset operation can be an offset of the extrapolation of the corresponding second group. This allows for safe calculation of the intersection because the boundary curve of the result of the extrapolation (the group of faces extrapolated from the corresponding second group) is far from the boundary curve of the result of the first thickening operation. The extrapolation can have an extrapolation value equal to 0.001 times the value of the representative dimension of the first B-rep. Alternatively, the first thickening operation has a thickening distance greater than a thickness threshold, for example, equal to 1.1 times the thickness threshold. This makes the intersection reliable by avoiding tangent configuration when calculating the intersection. In the example, the offset operation can be an offset of the extrapolation of the corresponding second group and the first thickening operation has a thickening distance greater than a thickness threshold, for example, equal to 1.1 times the thickness threshold. This improves the robustness of calculating the corresponding intermediate surface of S210.
[0123] Still refer to Figure 1 The flowchart, in the example, shows that constructing S20 further includes calculating one or more local thick regions of the first B-rep in S220. Calculating the one or more thick regions in S220 includes, for each determined first group parallel to a determined corresponding second group of local areas, calculating the intersection between the result of a second thickening operation on the first group and the result of a third thickening operation on the corresponding second group. Calculating the one or more thick regions in S220 further includes subtracting each calculated intersection from the first B-rep.
[0124] Calculating the intersection of the result of the second thickening operation in the first group with the corresponding third thickening operation in the second group may include calculating the second and third thickening operations, and then calculating the intersection of their results. The intersection is calculated such that each such calculated intersection is a thin wall of the first B-rep, which substantially corresponds to one of the correspondingly identified thin regions. Note that the thickening distance between the third and second thickening operations can be on the order of a thickness threshold, for example, equal to 1.1 times the thickness threshold.
[0125] The second thickening operation of the first group can be a thickening of the extrapolation of the first group. Furthermore, in this case, the third thickening operation of the corresponding second group is a thickening of the extrapolation of the corresponding second group. And, the extrapolation of the first group and the extrapolation of the corresponding second group have different extrapolation values in this case. For example, the extrapolation of the first group can have an extrapolation value equal to 0.01 times the representative size of the first B-rep, and the extrapolation of the second group can have an extrapolation value twice that of 0.01 times the representative size of the first B-rep. This avoids overlap of the lateral surfaces of the results of the second and third thickening operations. Additionally, or optionally, the third and second thickening operations can each have a thickening distance greater than a thickness threshold. This makes the intersection reliable because the offset of the first group (forming a boundary for the result of the second thickening operation) is away from the surface that forms the boundary for the result of the third thickening operation. Moreover, the boundary surfaces of these results share the corresponding support surface.
[0126] Subtracting each calculated intersection from the first B-rep is equivalent to pruning 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. Thus, only the locally thick regions of the first B-rep, i.e., regions with a thickness greater than a thickness threshold, are retained from this subtraction.
[0127] The method further includes replacing the identified thin region with a corresponding intermediate surface. This may include trimming the thin region from the first B-rep and assembling the intermediate surface to the first B-rep in place of the trimmed thin region.
[0128] Still refer to Figure 1The flowchart shows that the replacement may include assembling the corresponding intermediate surface of S230 using the corresponding calculated thick region. This assembly is performed by assembling the boundary edges of the corresponding intermediate surface using the partition edges of the corresponding calculated thick region. This facilitates the meshing of the second B-rep.
[0129] Now we will discuss the algorithm for constructing S20. The construction of the second B-rep of S20 can be performed in this example by executing the following algorithm, which consists of five steps.
[0130] The algorithm's input data consists of a first B-rep S (also known as solid S) and a user-defined thickness threshold t > 0. In other words, providing S10 involves providing the first B-rep S10 and, by the user, providing S10 t. The algorithm's output data is the second B-rep, which is a non-manifold object made up of adjacent volumes and faces. The algorithm comprises five steps. For simplicity, the boundary faces of solid S are numbered f. i , i = 1, ..., n.
[0131] Step 1. Identify one or more thin regions of S200.
[0132] Step 1.1 Coupling of candidate local parallel planes
[0133] The purpose of step 1 is to identify all couplings (f) of locally parallel surfaces within entity S. i ,f j The coupling is arranged such that j > i. The algorithm utilizes intersection operations. Given a surface f i and point x∈f i The function Intersect(f i ,x,f j Find the face f of the entity. j and point y∈f j as well as Where λ>0 is the minimum possible value and is less than the thickness threshold. This function is in Figure 33 The explanation is as follows.
[0134] If there exist a point y and a surface f j Then the function Intersect(f i ,x,f j Returns "true" if point y and surface f do not exist. j Then the function Intersect(f i ,x,f j The first loop returns "false" for the expression y). The first loop generates a table of candidate locally parallel faces.
[0135]
[0136] The previous instructions are used to avoid negative effects during the scanning explained below. The table T is characterized by the combination of potentially locally parallel faces arranged in a repeating and arbitrary manner together with distances. The elements of the table T(·) are addressed as follows: T(i) is the i-th row of the table. It consists of the triplet T(i)=(f,g,d), where f and g are face identifiers and d is a distance. Then, the element f is addressed by T(1,i), the element g by T(2,i) and the element d by T(3,i). The table T is now sorted according to lexicographical order. This means that if p′>p, then T(1,p′)>T(1,p), or if T(1,p′)=T(1,p), then T(2,p′)>T(2,p), or if T(2,p′)=T(2,p), then T(3,p′)≥T(3,p). Specifically, this makes all identical pairs of faces consecutive. Thus, through linear scanning, all pairs of candidate locally parallel faces stored in the output table C(·) can be identified.
[0137]
[0138] According to this algorithm, all pairs of candidate locally parallel faces are numbered in such a way that f i ,f j ), so that i<j and (i,j)∈K, where Actual local parallelization is then analyzed according to the strategy below.
[0139] Step 1.2. Combination of exact or quasi / locally parallel faces
[0140] The candidate locally parallel faces (f,g) are either exactly parallel (with respect to a standard geometric tolerance) or quasi / locally parallel. The quasi-parallelization condition will now be specified in detail. Samples {x k , k=1,2,3,…} of face f and samples {y_l, l=1,2,3,…} of face g are obtained. For each k, project the point x k ∈f onto face g, which yields the point p_k∈g and the distance a k =||p k -x k || is stored. For each l, project the point y l ∈g onto face f, which yields the point q l ∈f, and the distance b k =||q l -y l || is stored. Then, denote a max =max k a k , a min =min k a k , b max =maxl b l b min =min l b l Let L(f) be the diagonal length of face f, i.e., L(f) = max{‖pq‖, p∈f, q∈f}, and let L(g) be the diagonal length of face g, i.e., L(g) = max{‖pq‖, p∈g, q∈g}. Then, if the following holds, faces f and g are quasi-parallel / locally parallel:
[0141]
[0142]
[0143]
[0144]
[0145] Where ε = 2.3deg is the G1 continuity tolerance angle and tanε ≈ 0.04. Applying this criterion to all couplings of candidate local parallel planes generally reduces the set K.
[0146] By definition, a lateral face is a face that connects two locally parallel faces of an input entity S. Lateral faces are reused for extrapolation purposes in further steps. For example, Figure 34 The list of local parallel faces of the entity shown is (f1,f9), (f3,f5), (f5,f7), which means K = {(1,9),(3,5),(5,7)}. The transverse faces are f4, f6, and f7. 10 .
[0147] Step 1.3. Group the tangent planes that are locally parallel to the tangent plane.
[0148] To simplify the topology of the resulting intermediate surfaces, it is necessary to identify groups of adjacent and tangent planes that are locally parallel to other groups of adjacent and tangent planes. The leftmost diagram in the next figure illustrates some of the appropriate grouping scenarios. A brute-force algorithm would create complex intermediate surfaces formed by many adjacent and tangent planes. The goal of grouping algorithms is to obtain intermediate surfaces characterized by a simpler topology.
[0149] Figure 35 This illustrates a local parallel plane. Figure 36 This illustrates the intermediate surface obtained without any grouping. The complexity of all faces is copied onto the intermediate surface. Figure 37This describes the topology of the intermediate surface when considering groups {f1,f2,f3,f4} and {f7,f8,f9}, and when the intermediate surface is obtained by offsetting the simplest group {f7,f8,f9}.
[0150] Grouping is performed according to the following algorithm. Consider the dual graph of the input entities. Arcs associated with sharp edges are marked "1" and arcs associated with smooth edges are marked "0". In the context of this disclosure, multiple arcs marked "0" connecting two identical nodes are replaced by a single arc, as in... Figure 38 This is explained in the text. This is very important for the identification of curved cuts, as explained below.
[0151] In the context of the current algorithm, the dual graph is rich in arcs that capture the coupling of locally parallel faces, as these were computed in previous steps. These arcs are labeled "2," meaning that when faces x and y are locally parallel, nodes x and y of the dual graph are connected to the arc labeled "2." The rich dual graph labeled E here is the input data for the grouping algorithm. The next figure illustrates the rich dual graph E of the highlighted entity machine. For readability, the front and back of the highlighted entities are ignored. Figures 39-40 In the example shown, the initial coupling of the local parallel planes is (f1, f 12 (f3,f) 10 (f3,f) 11 (f4,f8), (f5,f7). Figure 39 An example of an entity is shown, and Figure 40 The initial coupling is shown to correspond to the rich dual graph.
[0152] The first step is to collect all arcs marked "2" and their incident nodes in the subgraph D of the rich dual graph E. Next, arcs whose incident nodes are marked "0" in graph D are added, resulting in graph H. Figure 41 The diagram D illustrates this example. Figure 42 The diagram H illustrates this example.
[0153] By definition (see F. Harary, Graph Theory, Addison-Wesley, 1969, which is incorporated herein by reference), an arc of a graph is a “cutting arc” if removing the arc produces new connected components of the graph (see again F. Harary, Graph Theory, Addison-Wesley, 1969). A key step in the grouping algorithm is to remove all cutting arcs marked “0” from graph H, which produces graph H1. Figure 43 This illustrates the removal of the arc connecting nodes f3 and f4, which is a cut arc. The left image is graph H and the right image is graph H1.
[0154] Now remove all arcs marked "2" from graphic H1 to generate graphic H2. Next, identify the groups of faces through the connecting components of graphic H2. Figure 44 The connecting components of graphic H2 are explained. Figure 45 The group of adjacent and tangential planes that are locally parallel to the group of adjacent and tangential planes is shown.
[0155] Using the arc marked "2" in graph H1, coupling between groups can be easily achieved, such as in... Figure 45 As explained in the text. The group is labeled as {f i ,…,f j} and they include as many components as necessary. The example entity's group is {f 10 ,f 11 The coupling of the grouped faces {f1, f2}, {f4, f5}, and {f7, f8} is (f1, f2). 12 ), (f3,{f 10 ,f 11}), ({f7,f8},{f4,f5}).
[0156] Step 2. Local intermediate surface
[0157] The local intermediate surface is now calculated using the following algorithm. New value t + It is set to a value larger than the input thickness threshold t, typically t + = 1.1 × t. t + The rationale for its existence is to avoid tangent configurations, as explained later. The extrapolation value e is defined, typically e = 0.001 × D, where D is the representative size of the input entity. Given the coupling (f) of the local parallel planes... i ,f j ), and given the connection f i and f j The list L of horizontal faces, based on face f i Create volume Thick(f) i ,t + Next, based on surface fj, create the extrapolation surface Extrapol(fj,L,e) and the offset surface of this extrapolation surface. The local intermediate surface associated with the coupling (fi,fj) is represented as Mid(fi,fj). j And this is obtained by calculating the volume / surface intersection:
[0158]
[0159] The goal of extrapolation is to perform safe volume / surface intersection because the boundary curve of the (extrapolated) surface is far from the boundary of the volume. Figure 46This illustrates the local intermediate surface of the coupling (f3, f5) connected by the transverse surface f4. Surface P is Thick(f3, t + The supporting surface involved in the boundary of the boundary. It is mentioned in this step and reused in further steps.
[0160] Given pairs of groups ({f1,…,f...) n}、{f′1,…,f′ m}), select the side to offset to determine the target below:
[0161] - To capture the complexity of this pairwise set at the smallest intermediate surface with fidelity, and
[0162] - Generate the simplest and smallest intermediate surface possible.
[0163] To achieve this goal, the algorithm uses an evaluator. The first is based on the area ratio of the faces involved in the "quasi-parallelization" to measure pairs of groups ({f1,…,f…). n}、{f′1,…,f′ m The complexity of the side is measured by two criteria: the complexity of the side and the complexity of the side. The second criterion is the simplicity of the side, which is based on topological (number and type of elements) and geometric (type of surface).
[0164] Step 3. Local thin-walled
[0165] In this step, the algorithm locates the thin wall using volume; in a further step, the thin wall is used to create a locally thick region. For each coupling (i,j)∈K of the locally parallel surface, the surface f i and f j They are interpolated according to their connecting transverse plane L. Surface f i The value e is interpolated and the surface f j The value 2e is extrapolated and labeled as Extrapol(f) i ,L,e) and Extrapol(fj,L,2e). Then, by making the thick volume Thick(Extrapol(fi,L,e),t + ) and Thick(Extrapol(fj,L,2e),t + The volume V is calculated by intersecting the points. ij :
[0166] V ij =Thick(Extrapol(fi,L,e),t + )∩Thick(Extrapol(fj,L,2e),t + )
[0167] Figure 47This describes the volume V of the thin wall defined by the coupling (f3, f5) of the surfaces connected by the transverse surface f4. 3,5 It should be noted that surface P is now at V. 3,5 The supporting surface involved in the boundary. It is mentioned in this step and reused in further steps.
[0168] Step 4. Localized thick areas
[0169] Next, by subtracting all volumes V from the input entity S ij For each region (i,j) ∈ K, a locally thick region is obtained. Formally, a locally thick region is a volumetric connectivity component:
[0170]
[0171] Figure 48 This explains how to subtract all volumes V from the input entity S. ij The final thick region afterwards. Note that the volume V ij The entity S is wider than its neighboring lateral face. This is to avoid surface coexistence. After the sequence of Boolean operations, surface P is now involved in the boundary of entity R. Figure 38 The example shown has only one local thick region, but industrial testing shows that multiple local thick regions can exist.
[0172] Step 5. Final nonmanifold object
[0173] Up to this point, the generated data consists of lists of volumes (locally thick regions) and lists of faces (locally intermediate surfaces). The final step is to construct a single non-manifold object that blends the volumes and faces into a known topological data structure. Typically, the incident radiation between the boundary faces of a volume and the intermediate surfaces is captured by partitioning the boundary faces and sharing the partition edges with the boundary edges of the intermediate surfaces. Figure 49 The division of the volume's transverse surface into surfaces a and b sharing edge d is explained, so that edge d is shared with the intermediate surface c.
[0174] This topology is the best way to provide the mesh so that the edges and vertices of triangle mesh face c are shared with the edges and vertices of triangle mesh faces a and b. Figure 51 This illustrates a consistent mesh generated by a non-manifold topology. Conversely, Figure 50 This explains what happens when the topology is not resolved. The mesh is flawed because the triangles on face c do not fit the triangles on face b.
[0175] robustness of the algorithm
[0176] According to existing technology, intersecting tangent or overlapping surfaces are the cause of geometric algorithm failures. Figures 52 to 54This illustrates good, bad, and terrible scenarios. A good scenario is represented by two intersecting curves spanning a surface, such as in... Figure 52 As explained in the text. A bad situation is when the two surfaces intersect tangentially, such as in... Figure 53 As explained in the text. A bad situation is partial overlap between two surfaces, such as in... Figure 54 As explained in the text.
[0177] The algorithm allows for the avoidance of overlapping surfaces. During step 3, for Extrapol(f) i ,L,e) and Extrapol(f j Choosing different extrapolation values (e.g., L, 2e) avoids volume issues. Thick(Extrapol(fi, L, e), t) + ) and volume Thick(Extrapol(fj,L,2e),t + The horizontal overlap of ) . Select t + >t makes V ij The intersection is reliable because it makes the volume Thick(fi,t) reliable. + f forms the boundary i The offset surface is far from surface f j The face f j Make the volume Thick(Extrapol(fj,L,2e),t + ) forms a boundary and in to f i At a distance t. Similarly, make the volume Thick(Extrapol(f) at a distance t. j ,L,2e),t + f forms the boundary j The offset surface is far from surface f i The surface fi makes the volume Thick(Extrapol(fi,L,e),t + ) forms a boundary and in to f j At a distance t. Furthermore, the volume V ij The boundary surface is surface f i and f j This means they share the corresponding support surface. Figure 55 This explains that due to the extrapolation e of face f3 and the extrapolation 2e of face f5, the transverse face a is far from the transverse face b. Furthermore, the face offset(Extrapol(f5,{f4},2e),t + ) is far from face f3, and face Offset(Extrapol(f3,{f4},e),t + (Far away from the surface f5)
[0178] During step 4, when calculating subtraction SV ij At that time, V is consistent with the surface that forms the boundary of the input entity S.ij The faces that form the boundary partially share the same corresponding supporting surfaces. This makes subtraction completely safe, because the local overlap of faces is captured by the logical sharing of supporting surfaces, contrary to harmful numerical surveys.
[0179] During step 5, the offset surface is trimmed. The volume Thick(fi,t) + The surfaces that form the boundaries are also used to trim the entity S at step 4. Therefore, the support surface marked P in the previous figure is entirely preserved along the process. This is because there is a good fit between the boundary edges of the local intermediate surfaces and the boundary edges of the local thick regions.
[0180] Figures 56 to 69 The algorithm is explained. Figure 56 The input entity is shown and Figure 57 The corresponding output object calculated by the algorithm is shown. Figure 58 The input entity is shown and Figure 59 The corresponding output object calculated by the algorithm is shown. Figure 60 The input entity is shown and Figure 61 The corresponding output object calculated by the algorithm is shown. Figure 62 The input entity is shown and Figure 63 The corresponding output object calculated by the algorithm is shown. Figure 64 The input entity is shown and Figure 65 The corresponding output object calculated by the algorithm is shown. Figure 66 The input entity is shown and Figure 67 The corresponding output object calculated by the algorithm is shown. Figure 68 The input entity is shown and Figure 69 The corresponding output object calculated by the algorithm is shown.
[0181] These figures illustrate the fact that, given a solid portion modeled by its B-Rep and a given thickness threshold, the algorithm identifies all thin walls of the input solid. Then, the intermediate surface and local volume of each thin wall are calculated to materialize the thin wall. Thick regions are obtained by removing local volumes from the input solid. The resulting data is a mixed set of thick regions and intermediate surfaces arranged in a consistent topology, as shown in... Figures 70-73 As explained in the text. Figure 70 The input entity is shown and Figure 71 The corresponding output object calculated by the algorithm is shown. Figure 72 It shows representatives such as Figure 9 The input entity of the ejector pad 96 or 98 and the ejector pad. Figure 73 The corresponding output object calculated by the algorithm is shown. The thick pad is kept unchanged, while the intersecting ribs are approximated by the surface.
[0182] The method may further include explicitly constructing a second B-rep.
[0183] The method may further include meshing the second B-rep into the hybrid mesh S30.
[0184] Meshization S30 can be performed by any known method.
[0185] In the example, meshing S30 includes different meshing of the thin-plate region, elongated region, and complex region of the second B-rep. The thin-plate region is the intermediate surface of the second B-rep, having two principal dimensions longer than the third region. In the second B-rep, the thin-plate region is the corresponding intermediate surface. The elongated region is a region in the second B-rep with one principal dimension longer than the other two. The complex region is a region in the second B-rep that is neither an elongated region nor a thin-plate region. It can represent the shape of an anisotropic element. In these examples, meshing S30 may include:
[0186] - Mesh the thin sheet / intermediate surface of the second B-rep using triangular or quadrilateral elements. When the intermediate surface satisfies complex or elongated regions, meshing can include applying a seed equal to the seed of adjacent regions; and
[0187] - Use hexagonal or octagonal volume elements to mesh complex regions.
[0188] The meshing S30 of the example currently discussed can be performed significantly according to the meshing method described in Section 4 of Tierney & 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 (the entire contents of which are incorporated herein by reference).
[0189] Meshing S30 can be performed by user actions, such as through graphical user interaction. For example, a user can graphically define the elements of a mixed mesh, for instance, by clicking on the location of a second B-rep to place the element and / or by replacing the element and / or by arranging elements between them. To this end, the method can display the second B-rep to the user during meshing S30.
[0190] Figure 74 It shows the pair in Figure 71The example shown is a hybrid mesh generated by the meshing S30 performed by the second B-rep.
[0191] This method can further include performing structural simulations of S40 mechanical components based on hybrid meshes. The structural simulation can be any simulation of the structural behavior of the mechanical component, for example, for functional, compatibility, and / or quality purposes. The structural simulation is therefore a structural mechanics simulation. Furthermore, this method can further perform other types of simulations, such as vibration simulation, heat transfer simulation, bulk transport simulation, electromagnetic simulation, and / or fluid mechanics simulation.
[0192] Performing an S40 structural simulation involves defining boundary conditions for a hybrid mesh representing the mechanical components. Defining boundary conditions can be performed by the user, for example through graphical user interaction, and can include one or more of the following: fixing one or more parts of the mechanical component, defining vibration sources, and / or defining heat sources. Performing an S40 structural simulation can further include running a digital scheme, such as the finite element method (FEM), on the hybrid mesh. The digital scheme can be any digital scheme that discretizes the physical equations / laws that encapsulate the structural behavior for simulation.
[0193] The method may further include displaying the results of the structural simulation to the user, for example, to perform structural analysis of mechanical components and / or to make manufacturing decisions.
[0194] Figure 75 The method is illustrated in an example, showing a design flowchart for designing mechanical components. This method allows for rapid design of change loops due to reduced computation time. This translates to shorter design times and earlier time-to-market, or optional design surveys.
Claims
1. A computer-implemented method for performing B-rep processing to perform structural simulation of mechanical components, the method comprising: - Provided (S10): Forming a first B-rep representing the entity of the mechanical component; as well as A predetermined thickness threshold; - Based on the first B-rep, construct (S20) a second B-rep, the second B-rep forming a non-manifold object representing the mechanical component, the construction (S20) including: Identify (S200) one or more thin regions of the first B-rep, each thin region having a thickness smaller than the predetermined thickness threshold; and For each identified thin region, calculate (S210) the corresponding intermediate surface of the identified thin region, and replace the identified thin region with the corresponding intermediate surface. The second B-rep is meshed using a hybrid mesh comprising the 2D and 3D mesh elements by meshing each intermediate surface with 2D mesh elements and each solid portion with 3D mesh elements; and The structural simulation of the mechanical component is performed based on a hybrid mesh that meshes the second B-rep.
2. The method according to claim 1, wherein, Identifying (S200) the one or more thin regions includes determining a first group and a second group, each of the first group and the second group having one or more adjacent and tangential planes of the first B-rep, each of the first groups being locally parallel to the corresponding second group and forming at least a portion of the boundary of the thin region with the corresponding second group.
3. The method according to claim 2, wherein, Determining the first group and the second group includes: - Determine the faces of the first B-rep, each face being locally parallel to the corresponding other face; and - The first determined adjacent and tangential planes that are locally parallel to the second determined adjacent and tangential planes are grouped (S2200) into a first group and a second group.
4. The method according to claim 3, wherein, The defined surfaces include: - Determine (S2000) candidate surfaces, where the candidate surface is the first surface of the first B-rep, and the distance from a point on the first surface to the second surface of the first B-rep is less than the thickness threshold; and - Determine (S2100) a first face and a second face among the candidate faces, each of the first faces being locally parallel to the corresponding second face.
5. The method according to claim 2, 3 or 4, wherein, Two surfaces are locally parallel when the following conditions occur: - The ratio between the maximum distance between the faces and the minimum distance between the faces is less than a threshold; and / or - The ratio between the difference between the maximum distance between the faces and the minimum distance between the faces and the diagonal length of at least one of the faces is less than the tangent of the G1 continuity tolerance angle.
6. The method according to any one of claims 2-4, wherein, The calculation (S210) for the corresponding intermediate surface of each identified thin region includes, for each determined first group that is locally parallel to the determined corresponding second group, calculating the intersection between the result of the first thickening operation of the first group and the result of the offset operation of the corresponding second group as the intermediate surface.
7. The method according to claim 6, wherein: - The offset operation is an offset of the extrapolation of the corresponding second group, and / or - The first thickening operation has a thickening distance greater than the thickness threshold.
8. The method according to any one of claims 2-4, wherein, The construction (S20) further includes (S220) calculating (S220) one or more local thick regions of the first B-rep, wherein (S220) the calculation (S220) of the one or more thick regions includes: - For each determined first group that is locally parallel to the corresponding second group, calculate the intersection of the result of the second thickening operation of the first group and the result of the third thickening operation of the corresponding second group; and - Subtract each calculated intersection from the first B-rep.
9. The method according to claim 8, wherein: - The second thickening operation of the first group is a thickening of the extrapolation of the first group, and the third thickening operation of the corresponding second group is a thickening of the extrapolation of the corresponding second group, wherein the extrapolation of the first group and the extrapolation of the corresponding second group have different extrapolation values, and / or - The third thickening operation and the second thickening operation each have a thickening distance greater than the thickness threshold.
10. The method according to claim 8, wherein, The replacement includes assembling the corresponding intermediate surface with the corresponding calculated thick region by assembling the boundary edge of the corresponding intermediate surface with the dividing edge of the corresponding calculated thick region (S230).
11. The method according to claim 1, wherein, The method further includes converting the second B-rep mesh into a hybrid mesh.
12. The method according to claim 11, wherein, The method further includes performing structural simulation of the mechanical component based on the hybrid mesh.
13. A computer program product comprising instructions for performing the method according to any one of claims 1-12.
14. A computer-readable storage medium having instructions recorded thereon as claimed in claim 13.
15. A computer comprising a processor coupled to a memory and a graphical user interface, the memory having instructions recorded thereon as claimed in claim 13.
Citation Information
Patent Citations
Analytical shell-model producing apparatus
EP1460567A2
Method for simplifying shape
JP1994259505A