3D design of B-REP skin
By providing a computer implementation method of B-Rep skin in the CAD system, the problem of lack of replacement B-Rep partial functions in the prior art is solved, and a more efficient and ergonomic design process is achieved.
Patent Information
- Application Number
- CN201911021933.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-10-26
- Filing Date
- 2019-10-25
- Publication Date
- 2025-02-21
- Estimated Expiration
- 2039-10-25
AI Technical Summary
The existing CAD system lacks the ability to replace the B-Rep section when designing B-Rep skin, which affects the efficiency and ergonomics of the design.
By providing a computer-implemented method of B-Rep skin in the CAD system, users are allowed to define surfaces through graphical user interaction and automatically construct B-rep replacement. The method includes creating a new face and generating a B-rep component to replace the B-rep part.
Improved ergonomics, providing an intuitive and ergonomic user interaction, allowing users to directly define surfaces, simplifying the design process of B-Rep skins.
Smart Images

Figure CN111105501B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer programs and systems and, more particularly, to methods, systems and programs for designing 3D modeled objects representing mechanical components. Background Art
[0002] There are many systems and programs for object design, engineering and manufacturing available on the market. CAD is an acronym for Computer-Aided Design, e.g. it refers to software solutions for designing objects. CAE is an acronym for Computer-Aided Engineering, e.g. it refers to software solutions for simulating the physical behavior of future products. CAM is an acronym for Computer-Aided Manufacturing, e.g. it refers to software solutions for defining manufacturing processes and operations. In such computer-aided design systems, graphical user interfaces play an important role in terms of technical efficiency. These technologies can be embedded in a Product Lifecycle Management (PLM) system. PLM refers to a business strategy that helps companies share product data, apply common processes, and exploit corporate knowledge to develop products on the concept of an extended enterprise from concept to end of life. The PLM solution provided by Dassault Systèmes (trademarks CATIA, ENOVIA and DELMIA) provides an engineering center to organize product engineering knowledge, a manufacturing center to manage manufacturing engineering knowledge, and an enterprise center to enable enterprise integration and connectivity to the engineering center and the manufacturing center. Together, all of these systems deliver an open object model that links products, processes, and resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production, and service.
[0003] Many existing CAD systems allow designers to model mechanical parts in a boundary representation (B-Rep) format via graphical user interaction. In this framework, the ergonomics of the user interaction is particularly important. For this reason, some CAD systems provide a system in which the user can define a surface for replacing a given face of a B-Rep body (i.e. a closed B-Rep), and then the system automatically updates the B-Rep body so that the given face is replaced by a new face created from the defined surface. In particular, software solutions distributed in the trademarks Onshape, SolidEdge and ProEngineer.
[0004] However, there still exists a need for a CAD system that provides such functionality when designing a B-Rep skin (ie, an open B-Rep). Summary of the invention
[0005] Therefore, a computer-implemented method for designing a 3D modeled object representing a mechanical component is provided. The method includes providing a B-Rep skin at a CAD system. The B-Rep skin represents a mechanical component. The B-rep skin has a B-rep portion. The B-Rep portion includes a boundary surface bounded by one or more boundary edges of the B-rep skin, and one or more first faces each adjacent to the boundary surface at a corresponding internal edge of the B-rep skin. The method also includes defining a surface by interacting with a graphical user of the CAD system. The method also includes automatically constructing a B-rep replacement by the CAD system. The construction includes creating one or more second faces, each of which is adjacent to the boundary surface and bounded by a corresponding boundary edge of the B-rep skin. The construction also includes generating a B-rep component. The B-rep component includes one or more third faces each co-pointing with the surface. Each third face has one or more edges. Each edge of each third face is internal to the B-rep component. The B-rep component also includes one or more fourth faces each co-pointing with a corresponding first face and adjacent to a corresponding third face. The B-rep component also includes one or more fifth faces each co-pointed with the corresponding second face and adjacent to the corresponding third face. The construction also includes removing each fifth face from the B-rep component. The method also includes replacing the B-rep portion in the B-Rep skin by replacing it with the B-rep.
[0006] This approach improves ergonomics when designing B-Rep skins representing mechanical parts through graphical user interaction with a CAD system.
[0007] Notably, the method allows for user interaction, wherein the user graphically defines a surface and the CAD system automatically constructs a B-Rep replacement for the B-rep portion of the B-Rep skin. Since the one or more third faces are each co-point with the surface, the method is intuitive and ergonomic, since the user directly defines the geometry that is ultimately part of the result when defining the surface. And since the one or more fourth faces are each co-point with the respective first face and adjacent to the respective third face, the method constructs a B-Rep replacement that is consistent with the initial geometry of the B-Rep skin, in other words with minimal changes to the initial geometry.
[0008] In addition, the method is particularly suitable for this construction of the B-Rep skin case, because the method can be performed even if the B-rep part includes a boundary surface, in other words, a surface bounded by one or more boundary edges of the B-rep skin. To this end, the method creates one or more second surfaces that are each adjacent to the boundary surface and bounded by the corresponding boundary edge of the B-rep skin. Then, during generation, the one or more second surfaces are treated similarly to the one or more first surfaces, that is, in order to produce one or more fifth surfaces that are each co-pointed with the corresponding second surface and adjacent to the corresponding third surface. This provides robustness for the method. And when the surface to be replaced is surrounded by adjacent surfaces (first and second surfaces), the generation of the third surface, the fourth surface and the fifth surface can be performed in a robust manner according to the user's intention.
[0009] Furthermore, this similar treatment of the first and second faces makes the functionality easy to program to be effective both in the case of the method where the face to be replaced is a boundary face of a B-Rep skin and in the case where the face to be replaced is an inner surface of a B-Rep skin or a B-Rep body. In practice, the program may simply include tests for running the creation of one or more second faces and / or not creating one or more second faces and the generation and removal of one or more fifth faces, the condition being affirmative when the face to be replaced is a boundary face formed by one or more boundary edges and negative otherwise. The program may run the other modules in the same manner, regardless of whether the condition is affirmative or negative. Such a program may be suitable for all situations, since a boundary face of a B-Rep skin or an inner surface of a B-Rep skin or an inner surface of a B-Rep body may be replaced as input as in the method.
[0010] The method may include one or more of the following:
[0011] - Creation including thickening of B-rep sections;
[0012] - thickening includes determining a B-rep offset of the B-rep portion, constructing one or more side surfaces connecting the B-rep offset to the B-rep portion, and determining one or more second surfaces based on the one or more side surfaces;
[0013] - one or more side faces include one or more side strip faces, each side strip face being delimited by a respective boundary edge of the B-rep portion and a corresponding boundary edge of the B-rep offset, each side strip face being adjacent to the boundary face and being delimited by a respective boundary edge of the B-rep portion forming a respective second face;
[0014] - each lateral strip surface forming a corresponding second surface is supported by a ruled surface;
[0015] - the ruled surface has the type Where L(w,t)=S(u(w),v(w))+tδN(u(w),v(w)), where: S is the supporting surface of F defined for parameters u and v, where F is the surface of the B-rep part bounded by the corresponding boundary edges, δ is the offset value,
[0016] -N(u,v) is the normal vector of S defined for parameters u and v, where is through Defined for parameters u and v The supporting surface of is the face of the B-rep offset bounded by the corresponding boundary edge, and w is such that are the parameters of the 3D curve supporting the corresponding boundary edge, and t is the parameter t∈[0,1].
[0017] - the mechanical part comprises a bent and / or stamped planar sheet;
[0018] - the boundary surface is completely located on the respective side of the curved surface, the thickening being performed in the opposite direction to the curved surface;
[0019] - the method further comprises providing (S10) an initial B-Rep skin representing the mechanical component before providing (S30) the B-Rep skin, the initial B-Rep skin having an initial boundary surface, the surface dividing the initial boundary surface into a plurality of boundary sub-surfaces, the corresponding boundary sub-surfaces forming boundary surfaces of the B-Rep portion, the providing of the B-Rep skin comprising dividing the initial B-Rep skin into a plurality of B-Rep sub-skins, the corresponding B-Rep sub-skins forming the B-Rep skin, each other B-Rep sub-skin having a corresponding B-Rep portion, the B-Rep portion comprising a corresponding boundary sub-surface bounded by one or more boundary edges of the other B-Rep sub-skins, and for each other B-Rep sub-skin, performing construction and replacement relative to its corresponding B-Rep portion;
[0020] -The generation includes: generating one or more third surfaces by extrapolating and / or trimming the surfaces, generating one or more fourth surfaces by extrapolating and / or trimming the supporting surfaces of the corresponding first surfaces, and / or generating one or more fifth surfaces by extrapolating and / or trimming the supporting surfaces of the corresponding second surfaces.
[0021] - extrapolating the surface comprises: when the surface is a canonical surface with a 2D parameter domain, extending the 2D parameter domain; when the surface is a procedural surface with input elements defining a 3D motion for sweeping a planar profile, extrapolating the input elements; and / or when the surface is a free-form surface, continuously extending the surface curvature; and / or
[0022] - The mechanical component is: an automotive component, an aerospace component, a consumer product component, a defense component, a construction component, a shipbuilding component, a mining industry component, a marine and offshore component, or an industrial equipment component, a thin component, and / or a composite component, a plastic modeled component, or a stamped component.
[0023] A computer program comprising means for executing the method is also provided.
[0024] There is also provided a non-transitory data storage medium having the computer program recorded thereon.
[0025] There is also provided a CAD system comprising a processor and a graphical user interface coupled to a memory having the computer program recorded thereon. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Embodiments of the invention will now be described by way of non-limiting examples and with reference to the accompanying drawings, in which:
[0027] - Figure 1-7 Examples of mechanical components that can be designed by this method are shown;
[0028] - Figure 8 An example of the system's graphical user interface is shown;
[0029] - Fig. 9 An example of the system is shown;
[0030] - Figure 10-16 The B-Rep format is shown;
[0031] - Figure 17-19 shows a "Replace Face" operation on a B-Rep body;
[0032] - Figure 20-22 The problem of "replacing a face" operation using a B-Rep skin that is solved by the method described is shown;
[0033] - Fig.23 a flowchart showing an example of the method; and
[0034] - Figure 24-47 The method is shown. DETAILED DESCRIPTION
[0035] The method is computer-implemented. This means that the steps (or substantially all steps) of the method are performed by at least one computer forming a CAD system. Therefore, each step of the method may be performed fully automatically by a processor of the CAD system, or via user-interaction. In an example, the triggering of at least some of the steps of the method may be performed by user-interaction.
[0036] The CAD system may include a processor and a graphical user interface (GUI) coupled to a memory having recorded thereon a computer program including instructions for performing the method. The memory may also store a database. The memory is any hardware suitable for such storage, possibly including several physically distinct parts (e.g., one for the program and perhaps one for the database). The CAD system may include a display unit for the graphical user interface to display any information to, for example, a user of the method.
[0037] For example, the provision of B-Rep skins can be performed via user interaction. The user can design an initial B-Rep skin from scratch by interacting with a graphical user of the CAD system, and / or retrieve an already designed initial B-Rep skin, and can also selectively edit the retrieved initial B-Rep skin by interacting with a graphical user of the CAD system. The user can then define the surface by interacting with a graphical user of the CAD system. This can be performed after the user activates the corresponding function of the system, for example, by menu selection and / or graphics and / or keyboard input to specifically execute the method (e.g., a "replace face" function). The B-Rep input to the method can be such an initial B-Rep (optionally edited), or, as discussed later, a B-Rep sub-skin generated by the division of the initial B-Rep, which can be automatically executed. In both cases, the construction of the B-rep replacement is automatically performed by the CAD system, so that the user does not need to intervene. Replacing a B-rep portion by B-rep replacement can be performed automatically. The replacement may follow the construction automatically, or may be triggered by the user, for example after a preview of the display result is automatically displayed to the user and the user verifies the result.
[0038] By "graphical user-interaction" in the context of defining geometric objects refers only to the general graphical design capabilities of the CAD system. Thus, this means any user-interaction in which the designer employs a tactile system (e.g., a mouse or a touch device, such as a sensitive / touch screen or a sensitive / touch pad) to activate a design scene represented on a display unit and one or more locations where geometric objects are to be placed. The location of the activated scene may include positioning a cursor of a mouse thereon or performing a touch thereon. At least a portion of the geometric object is displayed substantially in real time after activation. Specifically, the definition of a surface may include a user graphically interacting with a scene displaying a B-Rep skin while the B-Rep skin is displayed so as to position and visualize the surface relative to the B-Rep skin. Thus, the CAD system provides visual feedback to the user defining the surface.
[0039] The method generally manipulates modeling objects. A modeling object is any object defined by data stored, for example, in a database. By extension, the expression "modeling object" represents the data itself. Depending on the type of system, modeling objects can be defined by different kinds of data. The system can actually be any combination of a CAD system, a CAE system, a CAM system, a PDM system and / or a PLM system. In those different systems, modeling objects are defined by corresponding data. Therefore, one can say CAD objects, PLM objects, PDM objects, CAE objects, CAM objects, CAD data, PLM data, PDM data, CAM data, CAE data. However, these systems are not mutually exclusive, since modeling objects can be defined by data corresponding to any combination of these systems. Therefore, a system is likely to be both a CAD and a PLM system.
[0040] CAD system further means any system suitable for designing modeled objects based on at least a graphical representation of the modeled objects, such as CATIA. In this case, the data defining the modeled objects include data allowing the modeled objects to be represented. The CAD system can, for example, use edges or lines (in some cases using faces or surfaces) to provide representations of CAD modeled objects. Lines, edges or surfaces can be represented in various ways, for example, non-uniform rational B-splines (NURBS). Specifically, CAD files contain specifications from which geometric figures can be generated, and allow the specifications of the representation to be generated. The specifications of the modeled objects can be stored in a single CAD file or in multiple CAD files. The typical size of the files representing the modeled objects in the CAD system is in the range of 1MB per component. And the modeled objects can usually be a combination of thousands of components.
[0041] In the context of CAD, a modeled object may typically be a 3D modeled object. A "3D modeled object" refers to 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, when a 3D modeled object is represented 3D, the 3D modeled object may be manipulated and rotated about any of its axes or about any axis in the screen on which the representation is displayed. This specifically excludes 2D icons, which are not modeled in 3D. The display of a 3D representation facilitates design (i.e., increases the speed at which a designer can statistically complete a task). Since the design of a product is part of the manufacturing process, this can speed up the manufacturing process in industry.
[0042] "Mechanical component" means any product or part of a product to be manufactured in the real world after its virtual design (e.g., using a CAD software solution or a CAD system) is completed. A mechanical component can be an assembly of components (e.g., a moving mechanism), a single rigid component, or a part of a rigid component. For a model object "representing a mechanical component" means here that the geometry of the model object represents the spatial distribution of the material of one or more Class A surfaces of the mechanical component, and the defined Class A surfaces are the external surfaces of the virtual product that are visible to the end user. Specifically, the B-Rep skin can at least partially (e.g., completely) represent the material envelope of the mechanical component (i.e., at least a portion of the external skin of the mechanical component).
[0043] CAD software solutions allow the design of products in a wide range of unlimited industrial sectors, including: aerospace, architecture, construction, consumer goods, high-tech equipment, industrial equipment, transportation, marine and / or offshore oil / gas production or transportation. Therefore, the 3D modeled object designed by the method can represent an industrial product that can be any mechanical part, such as a part of a land vehicle (including automobile and light truck equipment, racing cars, motorcycles, trucks and automobile equipment, trucks and buses, trains), a part of an air vehicle (including, for example, fuselage equipment, aerospace equipment, propulsion equipment, defense products, aviation equipment, space equipment), a part of a naval vehicle (including, for example, naval equipment, commercial ships, offshore equipment, yachts and workboats, marine equipment), general mechanical parts (including, for example, industrial manufacturing machinery, heavy mobile machinery or equipment, installed equipment, industrial equipment products, metal products, tire manufacturing products), electromechanical or electronic components (including, for example, consumer electronics, safety and / or control and / or instrumentation products, computing and communication equipment, semiconductors, medical devices and equipment), consumer products (including, for example, furniture, home and garden products, leisure products, fashion products, products of hard goods retailers, products of soft goods retailers), packaging (including food and beverage and tobacco, beauty and personal care, household product packaging).
[0044] The mechanical component may in particular be an automotive component (i.e. a mechanical component of an automotive / car), an aerospace component (i.e. a mechanical component of an aerospace vehicle such as a satellite), a consumer product component (i.e. a product or part of a product that can be placed on a shelf and / or packaged and purchased), a defense component (i.e. a mechanical component of a vehicle or actual object used for defense), a building component (i.e. a part of a building object such as a wall of a building or a whole building), a shipbuilding component, a marine and offshore component (e.g. used on offshore oil platforms), a mining industry component (i.e. a mechanical component of equipment used for mining), or an industrial equipment component (such as a manufacturing mechanical component). Such mechanical components are indeed very good, usually represented by a B-Rep skin. Additionally or alternatively, the mechanical component may be a thin component. A thin component is a mechanical component that can be obtained by forming an initial sheet metal material. The size of the metal sheet thickness may be greater than 0.1 mm and / or less than 10 mm, for example of the order of 1 mm, and / or the size may be greater than 0.1 m×0.1 m and / or less than 10 m×10 m, for example of the order of 1 m×1 m. The B-Rep skin represents such mechanical parts very well, as its thickness is negligible. Additionally or alternatively, the mechanical part can be a composite part, a plastic modeled part, or a stamped part. Such mechanical parts are indeed very well represented, usually with a B-Rep skin, and they are usually thin parts. Furthermore, many automotive parts, aerospace parts, or consumer products are manufactured in this way.
[0045] Figure 1-7 A B-Rep skin representing a mechanical component that can be designed by this method is shown. Figure 1-2 A B-Rep skin representing half of a consumer product (i.e., a shampoo bottle) is shown. Including this method, the user can design one half and then activate the symmetry operator to obtain the final bottle. Figure 3-4 A B-Rep skin representing a car part is shown. Figure 5-7 Shown are the B-Rep skins representing the composite part, the plastic modeled part, and the stamped part respectively.
[0046] Figure 8An example of a GUI for a CAD system is shown. GUI 2100 may be a typical CAD-like interface with standard menu bars 2110, 2120, as well as a bottom toolbar 2140 and a side toolbar 2150. As known in the art, such menus and toolbars include a user-selectable set of icons, each of which is associated with one or more operations or functions. Some of these icons are associated with software tools, suitable for editing and / or working on a 3D modeling object 2000 displayed in GUI 2100. Software tools may be grouped into workbenches. Each workbench includes a subset of software tools. Specifically, one of the workbenches is an editing workbench suitable for editing geometric features of a modeling product 2000. In operation, a designer may, for example, preselect a portion of an object 2000, then initiate an operation (e.g., change dimensions, colors, etc.) or edit geometric constraints by selecting an appropriate icon. For example, a typical CAD operation is the modeling of punching or folding of a 3D modeling object displayed on a screen. GUI may, for example, display data 2500 associated with the displayed product 2000. In the example of the figure, data 2500 displayed as a "feature tree" and its 3D representation 2000 relate to a brake assembly including a brake caliper and a disc. The GUI may further display various types of graphical tools 2130, 2070, 2080, for example, to facilitate 3D orientation of an object, to trigger a simulation of an operation to edit a product, or to present various properties of the displayed product 2000. A cursor 2060 may be controlled by a haptic device to allow the user to interact with the graphical tools.
[0047] Fig. 9An example of the system is shown, where the system is a client computer system, such as a user's workstation. The client computer of this example includes 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 (BUS). The client computer is also provided with a graphics processing unit (GPU) 1110, which is associated with a video random access memory 1100 connected to the bus. Video RAM 1100 is also referred to as a frame buffer in the art. A mass storage device controller 1020 manages access to a mass storage device such as a hard disk drive 1030. Mass storage devices suitable for tangibly embodying 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 above contents can be supplemented or merged by specially designed ASICs (application-specific integrated circuits). A network adapter 1050 manages access to a network 1060. The client computer may also include a tactile device 1090, such as a cursor control device, a keyboard, etc. The cursor control device is used in the client computer to allow the user to selectively position the cursor at any desired location on the display 1080. In addition, the cursor control device allows the user to select various commands and input control signals. The cursor control device includes a plurality of signal generating devices for inputting control signals to the system. Typically, the cursor control device may be a mouse, the buttons of which are used to generate signals. Alternatively or additionally, the client computer system may include a sensitive pad and / or a sensitive screen.
[0048] The computer program may include instructions executable by a computer, the instructions including a unit for causing the above-mentioned system to perform the method. The program can be recorded on any data storage medium, including the memory of the system. The program can be implemented, for example, in digital electronic circuits or computer hardware, firmware, software, or a combination thereof. The program can be implemented as a device (e.g., a product) tangibly embodied in a machine-readable storage device to be executed by a programmable processor. The method steps can be performed by a programmable processor that executes an instruction program to perform the functions of the method by operating on input data and generating output. Therefore, the processor can be programmable and coupled to receive data and instructions from a data storage system, at least one input device, and at least one output device, and to transmit data and instructions to the data storage system, at least one input device, and at least one output device. If necessary, the application program can be implemented in a high-level process or object-oriented programming language or in an assembly or machine language. In any case, the language can be a compiled language or an interpreted language. The program can be a complete installation program or an update program. In any case, the application of the program on the system structure will generate instructions for executing the method.
[0049] "Designing a 3D modeled object" specifies any action or series of actions that is at least part of a process of drawing up a 3D modeled object. Thus, the method may comprise creating a 3D modeled object from a sketch. Alternatively, the method may comprise providing a previously created 3D modeled object and then modifying the 3D modeled object.
[0050] The method may be included in a manufacturing process, which may include, after performing the method, manufacturing a physical product having a shape corresponding to the modeled object. In any case, the modeled object designed by the method can represent a manufactured object. Therefore, the modeled object can be a modeled entity (i.e., a modeled object representing an entity). The manufactured object can be a product, such as a component or a combination of components. Because the method improves the design of the modeled object, the method also improves the manufacture of the product, thereby increasing the productivity of the manufacturing process. In an example, the 3D modeled object designed by the method can be input to a 3D printer that can automatically 3D print the manufactured object.
[0051] Although the concepts used by the boundary representation (B-Rep) format and its methods are well known, they will now be discussed.
[0052] B-Rep models include topological entities and geometric entities. Topological entities are: faces, edges, and vertices. Geometric entities are 3D objects: surfaces, planes, curves, lines, points.
[0053] By definition, a face is a bounded portion of a surface, called the supporting surface. An edge is a bounded portion of a curve, called the supporting curve. A vertex is a point in 3D space. The relationship between them is as follows. The boundary portion of a curve is defined by two points (vertices) that lie on the curve. The bounded portion of a surface is defined by its boundary, which is a set of edges that lie on the surface. The edges of a face's boundary are connected together by shared vertices. Faces are connected together by shared edges. By definition, if two faces share an edge, they are adjacent on said edge. Similarly, if two edges share a vertex, they are adjacent.
[0054] Figure 10-11 Shown is a B-Rep model of a cylindrical trough consisting of three faces: a top planar surface and two side cylindrical faces. Fig.10 is a stereoscopic view of a slot. Visible faces, edges, and vertices are numbered. Fig.11 is an exploded view of all faces. Repeated numbers show edge and vertex sharing. Face 1 is a boundary portion of a plane. The boundary of face one includes edges 4 and 5, each of which is formed by vertices 10 and 11. They all have the same support circle. Face 2 is formed by edges 6, 8, 5, and 13, all of which lie on an infinite cylindrical surface. Faces 1 and 2 are adjacent because they share edge 5. Face 2 and face 3 are adjacent because they share edges 8 and 13. Face 1 and face 3 are adjacent because they share edge 4.
[0055] Fig.12 The "bounded by" topological relationship of the B-Rep model is shown. The nodes of the higher layers are faces, the nodes of the middle layers are edges, and the nodes of the lower layers are vertices.
[0056] Figure 13-14 The relationship between topological entities (faces, edges, vertices) and supporting geometric figures (infinite cylinder, infinite plane, infinite line, point) is shown.
[0057] In a CAD system, the B-Rep model collects in appropriate data structures the "bounded by" relationships, the relationships between topological entities and supporting geometry, and the mathematical description of the supporting geometry.
[0058] Now let's talk about modeling volumes and skin.
[0059] By definition, an internal edge of a B-Rep is shared by exactly two faces. By definition, a boundary edge is not shared, it bounds only one face. By definition, a boundary face is incident on at least one boundary edge.
[0060] 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 includes at least one boundary edge. Figure 10-14 The exemplary B-Rep of is open because edges 6 and 7 are boundary edges. In contrast, edges 4, 5, 8, and 13 are interior edges. Figure 15-16 As shown, a closed B-Rep is obtained from this example by adding a disk-shaped face 14 bounded by edges 6 and 7 .
[0061] A closed B-Rep is used to model 3D volumes, as it defines the interior portion of a spatially closed material. An open B-Rep is used to model 3D skin, which is a 3D object whose thickness is small enough to be negligible.
[0062] We now discuss the application of the procedure on B-Rep volumes (hereinafter also referred to as the "replace face" operation).
[0063] In the CAD industry, virtual 3D objects are realized through B-Rep models. A very useful design operation is to replace a face of a given B-Rep by another face. This is an effective method for locally changing the shape of a 3D object. More precisely, it involves the B-Rep of the object to be designed, the face of the B-Rep to be replaced, and the replacement face. The replacement face does not belong to the B-Rep of the 3D object. Fig.17 As shown, the goal of the CAD system is to merge the replacement faces into the B-Rep.
[0064] From an algorithmic point of view, in the first step, the system can remove the faces to be replaced from the B-Rep, thus creating Fig.18 In the second step, the adjacent faces of the replaced (removed) face can be extrapolated as needed, such as Fig.18 If necessary, the replacement surface can also be extrapolated, allowing trimming, such as Fig.18 In the final step, the replaced faces can be trimmed and merged to the B-Rep, which will produce the updated shape of the 3D object.
[0065] The key step of this "Replace Face" operation is the merging step. When the 3D object is a volume, it is modeled by a closed B-Rep, which means there are no boundary edges. Specifically, the replaced face is surrounded by neighboring faces everywhere. When used for trimming, these (extrapolated) neighboring faces provide clear results, such as Fig.18 This is because the intersection between the extrapolated and replaced faces has a closed loop that defines which parts to keep and which parts to discard, as shown in Fig.19 shown.
[0066] When the 3D object is a skin, it is modeled by a B-Rep with boundary edge features. If the replaced face is a boundary face, some of its boundary edges are not shared by any adjacent faces, such as Fig. 20 As shown in the left figure in . After removing the replaced face from the B-Rep ( Fig. 20 ), and extrapolate adjacent faces ( Fig. 20), the geometry available for trimming the replacement surface is not satisfactory.
[0067] This is because the intersection between the extrapolated and replaced faces is an open curve that does not define any parts to keep, such as Figure 21-22 shown.
[0068] This makes it impossible for a "Replace Face" algorithm designed for the volume to change the shape of the skin boundary surface (if it is not adapted for this specific case). The method provides such adaptation and restores the closed B-Rep situation of incorporating the replacement surface into the skin. This is accomplished by creating one or more second surfaces, each of which is adjacent to the boundary surface and formed by a corresponding boundary edge of the B-rep skin. In the example discussed later, such creation can be performed by calculating an intermediate volume through the offset of the initial skin. The "Replace Face" operation can be performed on the intermediate volume, and the resulting volume includes the expected shape, from which the resulting skin can be extracted.
[0069] Thus, the method extends the design capabilities of CAD systems by providing a "Replace Face" operation that works indifferently with volumes and skins. Design time is reduced by avoiding tedious manual solutions. In addition, it is worth noting that in the examples, the method makes use of advanced algorithms: thickening the "Replace Face" on skins and volumes. Since these algorithms can exist independently in the geometric modeling library of the CAD system, a simple and reliable programming method is provided for the method of these examples.
[0070] Industrial tests have shown that the geometry provided by this method is particularly suitable for further design of the modeled object: trimming, merging with other skin models.
[0071] Reference now Fig.23 Discuss examples of this approach.
[0072] The method begins by providing S10 an initial B-Rep skin representing part or all of a mechanical component. In this example, providing S10 is performed via user interaction, such as by a user designing a B-Rep. In other examples, the initial B-Rep may be provided as already-designed, such as retrieved in a memory or received from a remote computer.
[0073] The method then includes defining an S20 surface, for example, by graphical user interaction with the CAD system after the user initiates a "Replace Face" operation. The surface may be constrained. For example, the surface may be defined by the user as one or more connected faces in B-Rep format. The surface may optionally be unconstrained. For example, the user may define a surface without specifying boundaries, such as a canonical surface, a procedural surface, or a NURBS, or the user may define a face, but the system may consider only the supporting surface for the purpose of running the algorithm.
[0074] In an example, the user may further specify at least one face of the initial B-Rep skin to be replaced based on the surface within a "Replace Face" operation, e.g., before or after defining S20. In an alternative example, the CAD system may automatically identify at least one face of the B-Rep intended to be replaced, e.g., as at least one face having a minimum distance from a defined surface and / or satisfying any other criteria.
[0075] The at least one face may consist of a single face, or alternatively comprise several adjacent faces (e.g. forming an "above-face", i.e., an assembly of connected faces). The following discussion focuses on the case where the at least one face consists of at least one face consisting of an initial boundary face of an initial B-rep skin (i.e., a face bounded by one or more initial boundary edges of the initial B-rep skin). However, it should be noted that the algorithm can be applied to any other input face or group of faces.
[0076] An initial boundary face is a face that forms an initial B-Rep portion, wherein the initial B-Rep portion has one or more first faces that are each adjacent to the initial boundary face at a corresponding initial internal edge of the initial B-rep skin. "B-Rep portion" simply means a portion of a B-Rep skin that represents a B-Rep format. The first face can be automatically identified by a CAD system, for example, if necessary (i.e., depending on the results of S310). In other words, the method can automatically determine the B-Rep portion.
[0077] The method of the example then includes a scheme S30 automatically executed by the system for providing one or more B-Rep (sub)skins with respective B-Rep portions for independent processing by the subsequent algorithms of steps S40 and S50. Scheme S30 allows for the replacement of processing faces at S40 and S50, which are always completely on the respective side of the surface (i.e., do not intersect the surface). This provides robustness to the method. However, scheme S30 is optional. The method can indeed proceed directly to S40 after S20, or alternatively the situation envisioned by scheme S30 and tested at S310 can be prohibited.
[0078] Scheme S30 includes testing S310 whether the surface defined at S20 divides the initial boundary surface into a number of sub-surfaces (referred to as "boundary" sub-surfaces). "Dividing" means that the surface intersects the initial boundary surface, and the intersection divides the initial boundary surface into a number of parts, each of which is completely located on a corresponding side of the surface.
[0079] Test S310 may produce a negative result, meaning that the surface does not intersect the initial boundary surface, so that the algorithm may proceed to S40 using the untouched (ie, undivided) initial B-Rep portion of the initial B-Rep skin as a single input.
[0080] However, test S310 may alternatively produce a positive result, in which case the method divides S320 the initial B-Rep skin into several B-Rep sub-skins (i.e., B-Rep skins that form only part of the initial B-Rep skin) based on the manner in which the surface divides the initial boundary surface (i.e., using the same division locations as the division tested at S310). The method then determines S330 a corresponding B-Rep part for each such B-Rep sub-skin, the B-Rep part including a corresponding boundary sub-surface bounded by one or more boundary edges of the B-Rep sub-skin (i.e., a portion of an initial boundary surface, a boundary sub-surface that is completely located on a corresponding side surface of the surface. In this case, construction S40 and replacement S50 are performed for each B-Rep sub-skin relative to its respective B-Rep part. In other words, each B-Rep sub-skin, its corresponding B-Rep part, and the corresponding boundary surface of the B-Rep part (a sub-surface of the initial boundary surface) are input to S40 and S50 for independent (e.g., parallel) processing. After independently executing S40 and S50, the generated / updated / modified B-Rep sub-skins can be connected or stitched together (e.g., automatically).
[0081] The method performs after S30 (automatically) constructing S40 and (automatically and / or after user verification) (depending on the result of test S310) replacing S50 a B-Rep portion of each B-Rep sub-skin or a B-Rep portion of an initial B-Rep skin. In the following description of the example method, a single run of constructing S40 and replacing S50 is discussed, and the term "sub" is removed when referring to B-Rep sub-skins, sub-portions and boundary sub-faces.
[0082] Construction S40 of a B-rep replacement for an input B-Rep portion of an input B-Rep skin includes creating S410 one or more second faces each adjacent to a boundary face and bounded by a corresponding boundary edge of the B-rep skin. In the example, for each boundary edge of the B-rep skin (where the boundary face is not adjacent to a first face), one or more second faces are created such that the boundary face is surrounded by (the first face and the second face), i.e., a boundary face without free edges.
[0083] Creation S410 may include, for example, thickening the B-rep portion in a direction opposite to the surface (since the face lies entirely on one side of the surface, the thickening may be performed in a direction from the surface towards the face, so that in either case the thickening produces a volume that does not intersect the surface). This provides a result that is ultimately consistent from a mechanical point of view and in a robust manner.
[0084] Thickening includes determining S4110 a B-rep offset of a B-rep portion in an example (this is simply an offset of the B-rep portion that represents a B-Rep format), constructing S4120 connecting the B-rep offset to one or more sides of the B-rep portion. One or more second sides may be determined S4130 as a minimum set of sides required such that no free edges exist on a boundary surface based on the one or more sides. In an example, the one or more sides may be constructed at S4120 such that a B-Rep portion that itself formed an open B-Rep skin now forms a closed B-Rep body having the B-Rep offset and the one or more sides. In other examples, thickening determines an offset of the entire B-Rep skin such that a closed volume is formed by the B-Rep skin, its offset, and the one or more sides.
[0085] After thickening, the method includes generating S420 a B-rep component that will replace the B-Rep portion. The B-Rep component is simply a patch in the format of a B-Rep skin that presents the same geometry as the surface and can be smoothly sewn to the B-Rep skin when it replaces the B-Rep portion therein so that a mechanically consistent result is produced according to the user's intention.
[0086] The B-Rep component includes one or more third faces (e.g., a single third face), each face being co-pointed with the surface (i.e., at least a portion of each third face is geometrically located on the surface), wherein each third face has one or more edges, and each edge of each third face is ultimately located inside the B-rep component. The B-Rep component also includes one or more fourth faces, each being co-pointed with a respective first face (i.e., at least a portion of each fourth face is geometrically located on a supporting surface of the respective first face) and adjacent to the respective third face, and one or more fifth faces, each being co-pointed with a respective second face (i.e., at least a portion of each fifth face is geometrically located on a supporting surface of the respective second face) and adjacent to the respective third face. In other words, the B-Rep component presents the same topology or general shape as the portion of the B-Rep enlarged by the one or more second faces, but a portion of the B-Rep component is geometrically co-pointed with the surface, and a portion of it is geometrically co-pointed with a ring of first and second faces arranged around the input face to be replaced (initially a boundary face).
[0087] In an example, generating S420 includes generating one or more third surfaces by extrapolating and / or trimming the surfaces, generating one or more fourth surfaces by extrapolating and / or trimming the supporting surfaces of the corresponding first surfaces, and / or generating one or more fifth surfaces by extrapolating and / or trimming the supporting surfaces of the corresponding second surfaces. If the surface is defined as finite and not large enough to be trimmed by the fourth and fifth surfaces, the surface can be extrapolated to make trimming possible. Similarly, if the first and second surfaces are not large enough to allow the surface to trim them, they can be extrapolated. Generating S420 thus performs interpolation of the first, second, and third surfaces, as previously described with reference to FIG. Figure 17-19 shown.
[0088] In the example, the surface is defined by the user as a new face to replace an existing face of the B-Rep skin from a user experience point of view. The new face is typically similar to the existing face in terms of overall size, and the new face is positioned completely separate from and approximately parallel to the existing face, or intersecting the existing face along a single curve (thus dividing the existing face into two sub-faces only). In practice, as is known from the technical field of CAD design, a "replace face" operation can be used to perform slight adjustments to a generally acceptable topology. The size and position of the new face can be designed in such a way that (multiple) extrapolations and (multiple) trimmings produce (once the replacement is performed) a topology that is identical to the initial topology of the B-Rep skin around the face to be replaced. Reference has been made to the above. Figure 17-21 This is shown.
[0089] The method then includes removing S430 each fifth face from the B-rep component so that the B-Rep component presents the same topology or overall shape as the B-Rep part without the one or more second faces. This allows the initial topology to be adhered to.
[0090] Finally, the method comprises replacing S50 the B-rep portion by the B-rep replacement in the B-Rep skin, for example upon user authentication.
[0091] In the example, the "Replace Face" operation may be particularly simple from a user interaction perspective. Select the entity or skin (1), select the replacement face(s) (3), select the replacement surface (4) press the OK button on the selected entity or skin (2). The alternative without this operation would be to manually cut and assemble multiple surface pieces, which is not only long and tedious, but also quickly becomes unstable in the case of a posteriori modifications and updates. The title of the "Replace Face" operation in a single feature allows it to be edited afterwards and highlighted in a significantly more stable manner.
[0092] Implementation of this method will now be discussed.
[0093] A "thickening" operation on the skin is discussed.
[0094] The method makes use of a so-called "thickening" operation on the skin. From the designer's point of view, this operation changes a zero-thickness 3D object modeled by the skin into a thick (or thin) object modeled by the volume. The thickness value is user-defined. The principle is to calculate an offset of the input skin. In the context of this method, this offset is directed to one side of the input skin. The main steps of the thickening algorithm can be described as follows: Fig.24 shown.
[0095] In other words, the one or more side surfaces may include one or more lateral strip surfaces. Each lateral strip surface may be delimited by a respective boundary edge of the B-rep portion and a corresponding boundary edge of the B-rep offset. In this case, each transverse strip surface adjacent to the boundary surface and delimited by a respective boundary edge of the B-rep skin may form a respective second surface.
[0096] In an example, each transverse banded surface forming a corresponding second surface may be supported by a ruled surface. This allows one or more second surfaces to be created at S410 that are relevant from a mechanical point of view, ultimately leading to a result that is relevant from a mechanical point of view (after replacing S50). An example for performing this operation is now discussed.
[0097] Offset Surface Definition
[0098] From a mathematical point of view, given the input skin surface F, given the support surface S, and given the offset value δ, the support surface S of the offset surface is defined as in, is the normal vector of the surface S.
[0099] Extrapolated value
[0100] The first step calculates extrapolated values for the input surfaces to prevent gaps from separating the offset surfaces. The problem is that the offset surfaces of adjacent input faces may separate or intersect, depending on the offset values and their relative positions. Fig.25 Three adjacent faces F1, F2, F3 are shown that share a sharp edge. The offset is generated where the surface and Separate simultaneous surfaces and intersect, which makes it possible to further and The repair becomes a problem.
[0101] This problem is solved by extrapolating the surfaces S1 and S2 in such a way that the corresponding offset surfaces intersect. The extrapolation value is αδ, where α is the maximum angle between the normal vectors of faces F1 and F2 measured along the shared edge. Fig.26 A suitable extrapolation of the surfaces S1 and S2 is shown, resulting in intersecting offset surfaces S1 and S2.
[0102] Calculating parallel skins
[0103] The second step is used to calculate the offset skin by using the offset (extrapolated) surface of the input skin and trimming the offset surface. After this step, the geometry and topology of the parallel skin are known, such as Figure 27-28 shown.
[0104] Boundary Vertex Offset
[0105] The boundary vertices of the skin are usually shared by only two faces. Let F1 and F2 be the faces incident to the boundary vertex V. Consider the offset surfaces S1 and S2 of the support surfaces S1 and S2, respectively, and their intersection curve C. In essence, if Figure 27-28 As shown, this curve intersects the offset boundary curves of faces F1 and F2 at points V1 and V2.
[0106] The side strip surface is composed of the surface L1 constructed by the boundary curve of the surface F1, the surface L2 constructed by the boundary curve of the surface F2, the triangular surface T constructed by the vertices V, V1 and V2, and the connecting strip surfaces L1 and L2, as shown in FIG. Fig.29 shown.
[0107] Geometry of the side ribbon surface
[0108] The closure connects the boundary of the input skin to the boundary of its parallel skin. Note that the boundary edge of the input skin defined on its supporting surface S The corresponding boundary 3D curve is The corresponding boundary curve parallel to the skin is
[0109]
[0110] Therefore, the strip connecting these two boundary curves is a ruled surface where t∈[0,1], and
[0111] L(w,t)=S(u(w),v(w))+tδN(u(w),v(w))
[0112] The geometry of such a lateral strip surface conforms to the plate theory as defined, for example, in "KD Hjelmstad, Fundamentals of Structural Mechanics, Springer, 2005". In practice, a typical industrial component designed in a CAD system using this method will be manufactured by bending or stamping an initially planar sheet (usually a thin plate). According to plate theory, a line perpendicular to the mean surface of the initial plate becomes, by deformation, a line perpendicular to the reference surface of the deformed plate. In the example of the method by using the surface normal N in the previous definition of the strip lateral surface, this property is accurately captured, as Fig.30 This is because the normal vector to the reference surface is also the normal vector to any surface parallel to the reference surface. In fact, for any real number δ, the tangent plane to the parallel surfaces is given by the vector and They are all perpendicular to the normal vector N of the initial surface S. First, Then, since N and <N u ,Definition of N>=0 u ,N>=0, because for all u, v is ||N(u,v)|| 2 =1, so With S v This means that the geometry of the side strip surface is the same as that of the deformed plate, e.g. Fig.30 shown.
[0113] Thus, such examples of the method provide particularly accurate results when the mechanical component comprises a bent and / or stamped planar sheet. Indeed, when the B-Rep portion represents a portion of such a sheet, the creation S410 is consistent with the true shape of the mechanical component. However, these examples of the method also provide a good approximation in the case of modeled components such as plastic modeled components or composite components.
[0114] Examples of surface extrapolation that may be implemented at S420 and / or S4110 are now discussed. In these examples, the extrapolation strategy depends on the nature of the input surface: canonical surface, procedural surface, or free-form surface.
[0115] Typical surfaces are: plane, sphere, cylinder, cone, torus. As long as the normal vector is correctly defined, they can be extrapolated by extending the [a,b]×[c,d] domain. For example, a conical surface should not be extrapolated beyond its vertex.
[0116] Procedural surfaces are defined by sweeping a planar profile along a 3D motion defined by a guide element. Procedural surfaces are extruded surfaces, revolved surfaces, ruled surfaces, and complex swept surfaces. Extruded surfaces are profiles swept along line segments. Revolved surfaces are profiles revolved about an axis. Ruled surfaces It is the motion of a line segment guided by two curves R(w,t)=C1(w)+t(C2(w)-C1(w)) or by the normal field of a surface, just like the previously defined side strip surface L(w,t)=S(u(w),v(w))+tδN(u(w),v(w)).
[0117] like Fig.31 As shown, the side strip surfaces can be easily extrapolated in the t direction by expanding the interval [0,1].
[0118] Complex swept surfaces are motion profiles guided by spine curves and other elements (curves or surfaces). The process surface is extrapolated in two steps. First, the input elements (defining intervals, profiles, extrusion lines, rotation angles, spine curves, guiding elements) are extrapolated, and second, the swept surface is recalculated from its new input. In particular, the ruled surface is extrapolated in its linear direction t (according to the previous sign) for the expansion of the corresponding interval definition. This process ensures that the extrapolation of a ruled surface is another ruled surface.
[0119] A typical free-form surface is a NURBS surface defined by a grid of control points. Extrapolation can be done by adding control points, as defined in L. Piegl, W. Tiller, The NURBS book, Springer 1996, in such a way that the input surface is unchanged and the match to the initial NURBS surface is continuous in curvature.
[0120] Face classification
[0121] Once the thickening operation is completed, the B-Rep of the resulting volume will include three types of faces: the faces of the input skin (called input faces), new faces adjacent to the input faces (called side faces (created in step three of the thickening algorithm)), and all other faces, (called interior faces (created in step two of the thickening algorithm)). Fig.32 Examples are shown for input skin, resulting thick volumes and all types of faces.
[0122] The side and interior faces are collectively referred to as extra faces because they are created by the thicken operation.
[0123] We now present an algorithm for the non-intersecting case.
[0124] The principle of the method is to use a "replacement face" operation that is adapted to a volume in a skin area. The input data is the skin, the replaced face of the skin selected by the user and the replacement face selected by the user, such as Figure 33-34 For clarity, the algorithm is first described for the case where the replacement face does not intersect the replaced face. The case of intersection is described in the next section. The system performs the following steps.
[0125] Step 1 is to separate the unchanged parts of the input skin. This is done by keeping the replaced face and all its neighbors in a data structure called local input skin. Other faces (if any) are not changed by this operation. They are named unchanged skin and stored for reuse in step 5. This makes the thickening operation in step 2 safer by involving only the relevant faces. The risk of thickening failing on some unchanged faces is avoided. This is done by Fig.35 Shown.
[0126] Step 2 is used to create a volume by thickening the local input skin obtained from step 1. The thickness is directed to the side of the skin opposite to the replacement face. The thickness value is small enough to make the operation successful. Typical values are greater than 0.1mm or 0.2mm and / or less than 2mm or 1mm, such as 0.5mm. For clarity, the illustration features larger thickness values. The additional faces created by the thickening are appropriately labeled for further management. This step utilizes a thickening algorithm. This is done by Fig.36 Shown.
[0127] Step 3 is used to perform a "replace face" operation on the volume calculated in the previous step. This step makes use of the existing "replace face" algorithm. This is done by Fig.37 Shown.
[0128] Step 4 is used to remove the faces marked (in step 2) as extra faces added by the thickening operation. The resulting skin is the local shape of this result. This is determined by Fig.38 Shown.
[0129] Step 5 is used to connect the unchanged skin (extracted in step 1) with the locally formed skin extracted in step 4, thereby generating the formed skin. The connection operation is logically rewritten using the topological relationship of "... is bounded by...". No geometric calculation is involved. This is done by Fig.39 Shown.
[0130] All steps of the algorithm (disjoint cases) are collected in Fig.40 middle.
[0131] Now we present an algorithm for the intersection case.
[0132] Now let's discuss the complex case. When the replacement face intersects the replaced face, the thickening direction of step 2 is uncertain because the replacement face is located on both sides of the replaced face. In this case, the solution is to use the replacement face to split the local input skin obtained at step 1. This produces at least two partial local input skins, each of which is characterized by a partial replaced face. By design, each partial replaced face is located on one side of the replacement face. Then, the previous algorithm is run on each partial local input skin, which produces as many parts as there are partial locally formed skins. The locally formed skin is obtained by connecting all the partial locally formed skins together.
[0133] The algorithm is now explained using the same local input skin and a slightly different replaced face that intersects the replacement face. Fig.41 Shown.
[0134] Splitting the local input skin with the replacement face produces two partial local input skins. Fig.42 Shown.
[0135] Now, a non-intersection algorithm is performed on the first partial skin, which produces a first formed partial skin. These steps are described in Fig.43 Shown in.
[0136] Now, the non-intersection algorithm is performed on the second partial local skin, which produces a second formed partial local skin. These steps are described in Figure 44-45 Note the opposite direction of thickening from the previous step.
[0137] Now connect the formed partial skins to obtain the formed partial skins. The adjacent parts of the replaced surface after trimming ( Fig.46 ) are merged so that their shared smooth edges ( Fig.46 (right image).
[0138] Fig.47 The block diagram of describes the algorithm for the intersection case by using the algorithm for the non-intersection case.
[0139] For the sake of brevity, the method has been discussed to operate on replacing a single face by another single face. However, the method can also be used in other situations, such as replacing a set of adjacent faces of an input skin with another set of adjacent faces.
Claims
1. A computer-implemented method for designing a 3D modeled object representing a mechanical component, the method comprising: - providing (S10, S30) at the CAD system a B-Rep skin representing the mechanical component, wherein the B-Rep skin at least partially represents a material envelope of the mechanical component, the B-Rep skin having a B-Rep portion, the B-Rep portion comprising: ■ a boundary surface bounded by one or more boundary edges of the B-Rep skin, and ■ one or more first faces each adjacent to the boundary face at a respective interior edge of the B-Rep skin; - defining (S20) a surface by interacting with a graphical user of said CAD system; - automatically constructing (S40) a B-Rep replacement by the CAD system, the constructing (S40) comprising: o creating (S410) one or more second faces each adjacent to said boundary face and bounded by a respective boundary edge of said B-Rep skin; ○ Generate (S420) a B-Rep component, which includes: ■ one or more third faces each being co-pointed with the defining surface, at least a portion of each third face being geometrically located on the surface, each third face having one or more edges, each edge of each third face being internal to the B-Rep component, ■ one or more fourth faces each being co-pointed with the respective first face and adjacent to the respective third face, at least a portion of each fourth face being geometrically located on the supporting surface of the respective first face; and ■ one or more fifth faces each being co-pointed with the respective second face and adjacent to the respective third face, at least a portion of each fifth face being geometrically located on the supporting surface of the respective second face; and o removing (S430) each fifth face from the B-Rep assembly; and - Rep part is replaced (S50) in said B-Rep skin by said B-Rep replacement.
2. The method according to claim 1, wherein: The creating (S410) includes thickening the B-Rep portion.
3. The method according to claim 2, wherein: The thickening includes: - determining (S4110) a B-Rep offset of the B-Rep portion; - constructing (S4120) connecting the B-Rep offset to one or more sides of the B-Rep portion; and - Determining (S4130) the one or more second surfaces according to the one or more side surfaces.
4. The method according to claim 3, wherein: The one or more side surfaces include one or more side strip surfaces, each of which is bounded by a corresponding boundary edge of the B-Rep portion and a corresponding boundary edge of the B-Rep offset, and each side strip surface is adjacent to the boundary surface and is bounded by a corresponding boundary edge of the B-Rep skin forming a corresponding second surface.
5. The method according to claim 4, wherein: Each of the side strip surfaces forming a corresponding second surface is supported by a ruled surface.
6. The method according to claim 5, wherein: The ruled surface has the type Among them, L(w,t)=S(u(w),v(w))+tδN(u(w),v(w)), where: - S is the supporting surface of F defined for parameters u and v, where F is the surface of the B-Rep portion bounded by the corresponding boundary edges, -δ is the offset value, - N(u,v) is the normal vector of S defined for the parameters u and v, where is through For the parameters u and v defined The supporting surface of is the face of the B-Rep offset bounded by the corresponding boundary edge, -w is to make are the parameters of the 3D curve supporting the corresponding boundary edge, and -t is the parameter t∈[0,1].
7. The method according to claim 6, wherein: The mechanical components comprise bent and / or stamped planar sheets.
8. The method according to any one of claims 2 to 7, wherein: The boundary surfaces are completely located on the respective sides of the defining surfaces, and the thickening is performed in a direction opposite to the defining surfaces.
9. The method according to claim 8, wherein: - the method further comprises, before providing (S30) the B-Rep skin, providing (S10) an initial B-Rep skin representing the mechanical component, the initial B-Rep skin having an initial boundary surface; - the curved surface divides the initial boundary surface into a number of boundary sub-surfaces, and the corresponding boundary sub-surfaces form the boundary surface of the B-Rep part; - providing (S30) the B-Rep skin comprises dividing (S320) the initial B-Rep skin into a number of B-Rep sub-skins, the respective B-Rep sub-skins forming the B-Rep skin, - each other B-Rep sub-skin has a corresponding B-Rep portion including a corresponding boundary sub-face bounded by one or more boundary edges of the other B-Rep sub-skin, and - For each other B-Rep sub-skin, performing said construction (S40) and said replacement (S50) with respect to its corresponding B-Rep part.
10. The method according to any one of claims 1 to 7, wherein: The generating (S420) includes: - generating one or more third surfaces by extrapolating and / or modifying said defined surfaces, respectively, - generating one or more fourth surfaces by extrapolating and / or trimming the supporting curves of the corresponding first surfaces, respectively, and / or - generating one or more fifth surfaces by extrapolating and / or modifying the supporting curves of the corresponding second surfaces, respectively.
11. The method according to claim 10, wherein: Extrapolated surfaces include: - when the surface is a canonical surface with a 2D parameter domain, extending the 2D parameter domain; - when the surface is a procedural surface having input elements defining a 3D motion for sweeping a plane profile, extrapolating the input elements; and / or - When the surface is a free-form surface, continuously extending the surface curvature.
12. The method according to any one of claims 1 to 7, wherein: The mechanical components are: - automotive parts, aerospace parts, consumer product parts, defence parts, construction parts, shipbuilding parts, mining industry parts, marine and offshore parts, or industrial equipment parts, - thin components, and / or - Composite parts, plastic modeled parts, or stamped parts.
13. A computer program product comprising instructions for executing, by a processor, the method according to any one of claims 1 to 12.
14. A non-transitory data storage medium having recorded thereon a computer program which, when executed by a processor, causes the processor to implement the method according to any one of claims 1 to 12.
15. A CAD system comprising a processor coupled to a memory and a graphical user interface, the memory recording a computer program which, when executed by the processor, causes the processor to implement the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Detecting cut-outs
CN106959669A
Mechanisms for constructing spline surfaces to provide inter-surface continuity
WO2017142953A1