Design mechanical parts

Through the CAD system, the CAD system automatically recognizes and selects similar edges and performs rounded corners, the problem of low selection efficiency in mechanical parts design is solved, and efficient and accurate mechanical parts design is achieved.

CN111382480BActive Publication Date: 2025-01-03DASSAULT SYSTEMES SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201911407546.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-12-26
Filing Date
2019-12-26
Publication Date
2025-01-03
Estimated Expiration
2039-12-26

AI Technical Summary

Technical Problem

Existing 3D modeling object presentation methods for mechanical parts design are inefficient, especially when multiple selection of sharp edges is lacking efficiency and humanization.

Method used

The similar edges are automatically identified and selected through the CAD system, the similarity of edges is judged using a predetermined threshold, and the sharp edges are selected among the identified group edges, and the inner or outer rounded edge operations are automatically performed to replace the sharp edges.

Benefits of technology

It realizes efficient and humanized similar edge detection and multiple selection, improves the efficiency and accuracy of mechanical parts design, and is suitable for manufacturing processes such as machining and forging.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111382480B_ABST
    Figure CN111382480B_ABST
Patent Text Reader

Abstract

The present invention particularly relates to a computer-implemented method for designing a 3D modeled object representing a mechanical part using a CAD system. The method includes providing a B-rep representing the mechanical part. The B-rep has faces, edges and vertices. The method includes providing sharp edges. The method further includes automatically identifying groups of edges by the CAD system. The groups of edges include the provided sharp edges. Each first edge in the group of edges is similar in orientation to at least one second edge in the group of edges, and the first edge and the second edge share a face. The method also includes automatically selecting sharp edges in the group of edges by the CAD system. This method constitutes an improved method for designing mechanical parts.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer programs and systems, and more particularly to a method, system and program for designing a 3D modeling object representing a mechanical part through a CAD system. Background Art

[0002] Many systems and programs for the design, engineering and manufacturing of objects are available on the market. CAD is an abbreviation for computer-aided design, for example, it refers to software solutions for designing objects. CAE is an abbreviation for computer-aided engineering, for example, it refers to software solutions for simulating the physical behavior of future products. CAM is an abbreviation for computer-aided manufacturing, for example, 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 technical efficiency. 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 to develop products from concept to end of life across the entire concept of an extended enterprise. The PLM solution provided by Dassault Systèmes (trademarks CATIA, ENOVIA and DELMIA) provides an engineering center (for organizing product engineering knowledge), a manufacturing center (for managing manufacturing engineering knowledge), and an enterprise center (allowing enterprise integration and connection into engineering and manufacturing centers). Together, the system provides an open object model that links products, processes, and resources to enable knowledge-based dynamic product creation and decision support to drive optimized product definition, manufacturing preparation, production, and service.

[0003] Mechanical part design may require multiple selections of edges of interest for a B-rep representing the mechanical part. Existing methods for multiple selections of edges are not efficient. These methods lack efficiency and / or humanization.

[0004] Under such circumstances, there remains a need for an improved method for designing a 3D modeled object representing a mechanical part. Summary of the invention

[0005] Therefore, the present invention proposes a computer-implemented method for designing a 3D modeled object representing a mechanical part using a CAD system. The method includes providing a B-rep representing the mechanical part. The B-rep has a face, an edge, and a vertex. The method includes providing a sharp edge. The method also includes automatically identifying a group of edges by the CAD system. The group of edges includes the provided sharp edges. Each first edge in the group of edges is similar in orientation to at least one second edge in the group of edges, and the first edge and the second edge share a face. The method also includes automatically selecting (multiple) sharp edges within the group of edges by the CAD system.

[0006] This approach constitutes an improved method for designing mechanical parts.

[0007] It is noteworthy that the method allows the selection of several sharp edges. In addition, one or more sharp edges are selected among the identified grouped edges. The identified grouped edges include the provided sharp edges, and the edges in the identified grouped edges that share a face are at least similar in orientation in pairs. In other words, the edges in the grouped edges are relatively similar to each other, and therefore the selected sharp edges are relatively similar to the provided sharp edges. Therefore, the method allows similar edge detection and multiple selection of similar edges. In addition, the identification of the grouped edges and the subsequent selection of sharp edges are performed automatically, in other words, no user action is involved. After providing only one sharp edge, several sharp edges are automatically selected. Therefore, the method is user-friendly and efficient.

[0008] The method may include one or more of the following:

[0009] - if the angle between two edges is less than a predetermined threshold, then the two edges are similar in orientation;

[0010] - said predetermined threshold value is a function of the manufacturing process of the mechanical part;

[0011] - the mechanical part is a molded or forged part having a maximum draft angle, the predetermined threshold being based on the maximum draft angle;

[0012] - the mechanical part is a machined part having a maximum machining inclination angle, the predetermined threshold value being based on the maximum machining inclination angle;

[0013] - the predetermined threshold is less than 20°, 15° or 10°;

[0014] - said set of edges presents one or more paths of a cutting tool for machining a geometry corresponding to a portion of an outer surface of a mechanical part defined along said set of edges;

[0015] - the method further comprises applying the same fillet or round operation to the selected sharp edges;

[0016] - the radius of the filleting or rounding operation corresponds to the radius of the cutting tool;

[0017] - the mechanical part is a machined part, a molded part, a machined die for a molding manufacturing process, a forged part and / or a machined forged matrix for a forging manufacturing process;

[0018] - said set of edges corresponds to weight reduction features, space preservation features, fixing features, sealing features, adjustment features, mechanical bonding features, cooling features, reinforcement features, positioning features and / or features for supporting all machined and drilled protrusions;

[0019] - the selected sharp edges each have the same adjacent convexity as the provided sharp edges; and / or

[0020] - The adjacent convexity of an edge is a coupling of the convexity types of its end vertices, where:

[0021] If all edges that share a vertex are concave, the end vertex of the edge has a concave type;

[0022] If all edges that share a vertex are convex edges, the end vertex of that edge has a convex type; and

[0023] If at least one edge that shares a vertex is a concave edge and at least one edge that shares a vertex is a convex edge, then the end vertices of the edges have concave and convex types.

[0024] The invention also provides a computer program comprising instructions for executing the method.

[0025] The present invention also provides a computer-readable storage medium having the computer program recorded thereon.

[0026] The present invention also provides a system comprising a processor coupled to a memory having the computer program recorded thereon and to a graphical user interface. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Embodiments of the invention will now be described by way of non-limiting examples and with reference to the accompanying drawings, in which:

[0028] - Figure 1-3 An example of a mechanical part designed by the method is shown;

[0029] - Figure 4-24 The B-rep concept involved in this method is shown;

[0030] - Figure 25-37 The method is shown;

[0031] - Fig.38 shows an example of a graphical user interface for the system; and

[0032] - Fig.39 An example of this system is shown. DETAILED DESCRIPTION

[0033] The method is computer-implemented. This means that the steps (or substantially all steps) of the method are performed by at least one computer or any similar system. Therefore, the steps of the method may be performed fully or semi-automatically by a computer. In each example, the triggering of at least some steps of the method may be performed by user-computer interaction. The level of user-computer interaction required may depend on the level of automatic action foreseen and is balanced with the need to achieve the user's wishes. In each example, the level may be user-defined and / or predefined.

[0034] A typical example of a computer implementation of a method is to perform the method using a system suitable for this purpose. The system may include a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program, the computer program including instructions for performing the method. The memory may also store a database. The memory is any hardware suitable for such storage, which may include several physically distinct parts (e.g., one part for the program and possibly another part for the database).

[0035] The method is generally used for manipulating modeled objects. A modeled object is any object defined by data stored, for example, in a database. By extension, the expression "modeled object" refers to the data itself. The system may be a CAD system, and the modeled objects are defined by the corresponding data. Thus, CAD objects may be discussed.

[0036] By CAD system, it also means any system, such as CATIA, that is at least suitable for designing modeled objects based on a graphical representation (expression) of the modeled objects. In this case, the data defining the modeled objects include data that allow the modeled objects to be presented. The CAD system can, for example, use edges or lines (in some cases using faces or surfaces) to provide the presentation of CAD modeled objects. Lines, edges or surfaces can be presented in various ways, such as with non-uniform rational B-splines (NURBS). Specifically, a CAD file contains specifications from which geometric figures can be generated, which in turn allow the presentation to be generated. The specifications for the modeled objects can be stored in a single CAD file or in multiple CAD files. The typical size of the file presenting the modeled objects in the CAD system is in the range of 1MB (Megabyte) / part. Modeled objects can typically be a combination of thousands of parts.

[0037] In the context of CAD, a modeled object may typically be a 3D modeled object, which, for example, presents a product (e.g., a part or a combination of parts) or may present a combination of products. By "3D modeled object" is meant any object modeled by data that allows its 3D rendering. 3D rendering allows viewing of the part from all angles. For example, when rendered in 3D, the 3D modeled object can be manipulated and rotated around any of its axes or around any axis in the screen displaying the rendering. In particular, this excludes 2D icons that are not 3D modeled. The display of the 3D rendering facilitates design (i.e., statistically increases the speed at which designers complete their tasks). Since product design is part of the manufacturing process, this can also speed up the industrial manufacturing process.

[0038] "Designing a 3D modeled object" refers to any action or series of actions that constitute at least a part of the detailed production process of a 3D modeled object. Thus, the method may comprise creating a 3D modeled object from scratch. Alternatively, the method may comprise providing a previously created 3D modeled object and then modifying the 3D modeled object.

[0039] The method may be included in a manufacturing process, which may include producing a physical product corresponding to the modeled object after performing the method. In any case, the modeled object designed by the method can present a manufactured object. Therefore, the modeled object can be a modeled entity (i.e., a modeled object that presents an entity). The manufactured object can be a product, such as a part or a combination of parts. Because the method improves the design of the modeled object, the method also improves the manufacture of the product and therefore increases the productivity of the manufacturing process.

[0040] The 3D modeled object may present the geometry of a product to be manufactured in the real world, such as a part (e.g. a mechanical part) or a combination of parts (or equivalently, an assembly of parts, since from the perspective of the method an assembly of parts may be considered as a part itself, or the method may be applied independently to each part of the assembly), or more generally any rigid body assembly (e.g. a moving mechanism), after its virtual design, such as has been completed using a CAD software solution or a CAD system. CAD software solutions allow the design of products in a wide variety of unlimited industrial sectors, including: aerospace, architecture, construction, consumer goods, high-tech devices, industrial equipment, transportation, ships and / or offshore oil / gas production or transportation. Therefore, the 3D modeled object designed by the method can present an industrial product, which can be any mechanical parts, such as parts of land vehicles (including, for example, equipment for automobiles and light trucks, racing cars, motorcycles, trucks and automobile equipment, trucks and buses, trains), parts of air vehicles (including, for example, fuselage equipment, aerospace equipment, propulsion equipment, defense products, aviation equipment, space equipment), parts of marine vehicles (including, for example, naval equipment, commercial ships, offshore equipment, yachts and workboats, ship equipment), general mechanical parts (including, for example, industrial manufacturing machinery, heavy mobile machinery or equipment, installation equipment, industrial equipment products, metal products, tire manufacturing products), electromechanical or electronic parts (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, for example, packaging of food and beverages and tobacco, beauty and personal care, household products).

[0041] In various examples, the mechanical part may be one or a possible combination of a machined part (i.e., a part manufactured by a machining manufacturing process), a formed part (i.e., a part manufactured by a molding manufacturing process), a machined die for a molding manufacturing process (i.e., a die manufactured by a machining manufacturing process), a forged part (i.e., a part manufactured by a forging manufacturing process), and / or a machined forged substrate for a forging manufacturing process (i.e., a forged substrate manufactured by a machining manufacturing process). The machined part may be a machined forged substrate. Additionally or alternatively, the machined part may be a machined die.

[0042] Figure 1-3 Three examples of mechanical parts designed by this method are shown. Figure 1 In the embodiment, the machined part is an aluminum aerospace machined part 10. Figure 2 In the embodiment, the mechanical part is an aerospace machined part 20 . Figure 2 Also shown is a cutting tool 22 for machining the part 20. Figure 3 In the embodiment, the mechanical part is an automobile forging part 30.

[0043] The provision of a B-rep that presents the mechanical part is now discussed.

[0044] A B-rep is a 3D representation of a mechanical part. Specifically, a B-rep (i.e., a boundary representation) is a persistent data representation that describes a 3D modeled object that represents the mechanical part. A B-rep may be the result of a calculation and / or a series of operations performed during the design phase of a 3D modeled object that represents the mechanical part. When the modeled object is represented, the shape of the mechanical part displayed on the computer screen is the B-rep (e.g., a subdivision of the B-rep). In various examples, a B-rep represents a portion of a model object.

[0045] B-Rep consists of topological entities and geometric entities. Topological entities are: faces, edges and vertices. Geometric entities are 3D objects: surfaces, planes, curves, lines, points. By definition, a face is a bounded part of a surface, called a supporting surface. An edge is a bounded part of a curve, called a supporting curve. A vertex is a point in 3D space. The relationship between them is as follows. The bounded part of a curve is defined by two points (vertices) located on the curve. The bounded part of a surface is defined by its boundary, which is a set of edges located on the surface. The edges of the boundary of a face are connected by shared vertices. Faces are connected by shared edges. If two faces share an edge, they are adjacent. Similarly, if two edges share a vertex, they are adjacent. Figure 4-5 A B-rep of a cylindrical groove made of three faces is shown: a top planar face and two side cylindrical faces. Figure 4 A perspective view of the slot is shown. Visible faces, edges and vertices are numbered. Figure 5 An exploded view of all faces is shown. Repeated numbers indicate edge and vertex sharing. Face 1 is a bounded portion of the plane. The boundary of face one includes edges 4 and 5, each of which is bounded by vertices 10 and 11. They all have the same supporting circle. Face 2 is bounded by edges 6, 8, 5, and 13, all of which lie on the surface of an 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. Figure 6 Shows the description Figure 4 The topological relationships of the B-Rep are "defined". The nodes in the higher layers are faces, the nodes in the middle layers are edges, and the nodes in the lower layers are vertices. Figure 7 Shows the description Figure 4 A graph of the relationships between topological entities (faces, edges, vertices) of a B-rep. Figure 8 Shows Figure 4 In a CAD system, a B-Rep collects the "defined" relations, the relations between topological entities and supporting geometry, and the mathematical description of the supporting geometry in an appropriate data structure.

[0046] An interior edge of a B-Rep is an edge that is shared by exactly two faces. By definition, a boundary edge is not shared, it only bounds one face. By definition, a boundary face is bounded by at least one boundary edge. A B-Rep is called closed if all of its edges are interior edges. A B-Rep is called open if it includes at least one boundary edge. Figure 4 The B-Rep of the example shown in is open because edges 6 and 7 are boundary edges. In contrast, edges 4, 5, 8, and 13 are interior edges. A closed B-Rep is obtained from Figure 4 The example of is obtained by adding a disk-shaped surface 14 bounded by edges 6 and 7, as Fig. 9 shown. Fig.10 Shows the description Fig. 9 A closed B-Rep is used to model thick 3D volumes because it defines the interior space portion of the (virtually) closed material. An open B-Rep is used to model 3D skins, which represent 3D objects whose thickness is small enough to be ignored.

[0047] The dual graph of a B-Rep is a logical graph that captures only the adjacency of faces. It is defined as follows. The nodes of the dual graph are associated with the faces of the B-Rep, and the arcs of the dual graph are associated with the edges of the B-Rep. An arc of the dual graph connects two nodes of the dual graph if the edge of the B-Rep associated with the arc of the dual graph is shared by the faces of the B-Rep associated with the two nodes of the dual graph. Fig.11 Shows Fig. 9 The dual graph of the closed B-rep of . The arcs are labeled with the numbers of the edges.

[0048] In the context of this method, a ribbon is a set of faces and edges captured by a connected subgraph of a dual graph. In other words, the faces of the ribbon are associated with the nodes of the connected subgraph, and the edges of the ribbon are associated with the arcs of the connected subgraph. The faces of the ribbon form arc-connected portions of the B-rep. In each example, the connected subgraph is or includes a cycle. In each example, the connected subgraph includes two or more cycles. In each example, the connected subgraph does not include a cycle.

[0049] Each face of a B-Rep is equipped with a normal vector, which is defined with the help of the supporting surface. First of all, the normal vector is collinear with the normal vector of the supporting surface. Moreover, the normal vector of a closed B-Rep presenting a mechanical part points to the outside of the material. Let F be a face of this B-Rep and N 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 the vector M=N×T points to the inner area of ​​the face, then the edge E is oriented counterclockwise, as Fig.12 As shown. Note that since vectors N and T are normalized and perpendicular, vector M is normalized. By convention, all edges of all faces of a B-Rep are oriented counterclockwise, as Fig.13 Two properties of the B-Rep structure are apparent. First, each internal edge of a B-Rep is shared by exactly two faces. Second, each internal edge is used by its two adjacent (incident) faces in opposite directions. For these two reasons, given an internal edge of a B-Rep and given the direction of that edge, there is only one face bounded by that edge through that direction. The boundary edges of a B-Rep are bounded by only one face and are then used through only one direction.

[0050] The concept of edge convexity is discussed below. Given a B-Rep of a 3D modeled object, let E be the edge shared by faces F1 and F2, and let X be a point on edge E. The external normal vectors of faces F1 and F2 are denoted by N1 and N2, respectively. Let P1 and P2 be planes passing through point X, with normal vectors N1 and N2, respectively. Planes P1 and P2 locally define an outer 3D region and an inner 3D region near point X. Essentially, the vector N1+N2 points to the outer 3D region. Let M1 and M2 be the corresponding material vectors of point X relative to faces F1 and F2. Essentially, the vector M1+M2 points to the convex 3D region. By definition, if N1+N2 and M1+M2 have opposite directions, that is, if 〈M1+M2,N1+N2〉<0, then the edge E is convex at point X, as Fig.14 and 15 If it is convex at all points, then the edge E is convex. On the contrary, if Fig.16 and 17 As shown, if N1+N2 and M1+M2 have the same direction, that is, if 〈M1+M2,N1+N2〉>0, then the edge E is said to be concave at point X. If it is concave at all points, then the edge E is concave. Otherwise, 〈M1+M2,N1+N2〉=0 means that the edge is a smooth edge or a knife edge. Fig.18 and 19 As shown, the smooth edge makes M1+M2=0 and N1=N2. This usually happens in the B-Rep of a typical mechanical part. Fig. 20 and Fig.21 As shown, the blade is such that N1 + N2 = 0 and M1 = M2. The blade is described for completeness, but is not typically used to model mechanical parts.

[0051] From a geometric point of view, the outer fillet surface replaces a convex sharp edge with a smooth transition. The transition surface is the envelope surface of the rolling ball that connects the adjacent faces of the initial sharp edge. Similarly, the inner fillet surface replaces a concave sharp edge with a smooth transition based on the same rolling ball geometry. Fig. 22 and Fig.23 The geometry of the outer and inner fillet faces is shown. Fig. 22 A convex edge 220 and a concave edge 222 are shown. Fig.23 A bullnose face 230 and a fillet face 232 are shown, which are obtained by replacing edge 220 and edge 222, respectively, with a smooth transition based on the geometry of a rolling ball. Like canonical surfaces (e.g., cylinder, plane, sphere, cone), bullnose and fillet faces are typically provided with a logical type in the B-Rep data structure. If this logical type is missing, it can be identified as follows. Using Parameterization S: So that, for all u∈[a,b], the curve is the part of the circle whose radius does not depend on u. Alternatively, for all v∈[c,d], the curve is the portion of a circle whose radius does not depend on v. A face supported by surface S is a bullnose surface if the external normal vector of the B-rep is oriented toward the concave side of the circle. A face supported by surface S is a bullnose surface if the external normal vector of the B-rep is oriented toward the convex side of the circle. Fig.24 The parameterization of a bullnose face 240 and a fillet face 242 is shown. The bullnose face and the fillet face behave like a convex edge and a concave edge, respectively. This is because, from a mechanical point of view, a bullnose face is a smooth transition instead of a convex sharp edge, while a fillet face is a smooth transition instead of a concave sharp edge. This situation often occurs when designing mechanical parts that are manufactured by molding and machining methods.

[0052] The provision of B-rep may include displaying the B-rep on a display of the CAD system. The provision of B-rep may come from the action of the user, for example, the interaction between the user and the CAD system of the method. In each example, the 3D modeling object presented by the B-rep (for example, part) may have been designed by another user on another CAD system, and optionally stored in a memory and / or sent to the CAD system of the method (for example, via a network). The provision of B-rep may include retrieving the B-rep from the memory. In each example, the user and another user are different, and the CAD system of the method and another CAD system are different. In these examples, the CAD system of the method and another CAD system can be connected via a network. In each example, the user and another user are the same, and the CAD system of the method and another CAD system are the same.

[0053] The provision of a sharp edge is now discussed.

[0054] Providing a sharp edge may specify any action that results in specifying (e.g., selecting, e.g., picking out) a sharp edge among the edges of the B-rep, the one sharp edge being the provided sharp edge. The provided sharp edge may form data that is an input to the identification of a group of edges and the selection of sharp edges, such as an input to one or more algorithms involving the identification of the group of edges and the selection of sharp edges. In each example, the provided sharp edge is an edge of a functional area. In these examples, the functional area may include a group of edges, the group of edges including two or more edges. In these examples, each first edge of the functional area is similar in orientation to at least one second edge of the functional area that shares a face with the first edge. The functional area may include two or more sharp edges. In these examples, one or more of the two or more sharp edges may have the same neighboring convexity as the provided sharp edge. In each example, all of the two or more sharp edges have the same neighboring convexity as the provided sharp edge.

[0055] In various examples, the provision of the sharp edge is performed by a user. The provision of the sharp edge by the user may, for example, include selecting the sharp edge by the user. In these examples, the B-rep may be displayed on a display of the CAD system, and the user may select the sharp edge on the displayed B-rep, for example, by graphically interacting with the sharp edge. Selecting the sharp edge may include clicking on or substantially on the sharp edge (e.g., using a tactile device such as a mouse). Alternatively, selecting the sharp edge by graphically interacting with the sharp edge may include performing a touch on or substantially on the sharp edge (e.g., using a user's finger).

[0056] Alternatively, the provision of sharp edges may be performed automatically by a CAD system.

[0057] Now let's discuss the grouped edges. Hereinafter, the grouped edges may be referred to as "identified grouped edges".

[0058] Each first edge in the set of edges is similar in orientation to at least one second edge in the set of edges. Since the provided sharp edge is included in the set of edges, the provided sharp edge is similar in orientation to one or more other edges in the set of edges. In various examples, the set of edges includes two or more sharp edges. In various examples, two or more sharp edges in the set of edges are similar in orientation to the provided sharp edge. In various examples, all sharp edges in the set of edges are similar in orientation to the provided sharp edge.

[0059] In each example, the edges in the group of edges are edges of the functional area. In these examples, since the face of the functional area forms an arc-shaped connected portion of the B-rep, since the provided sharp edge is contained in the functional area, and since each first edge in the group of edges is similar in orientation to at least one second edge of the functional area that shares a face with it, the following conditions hold: each first edge in the group of edges is similar in orientation to at least one second edge in the group of edges that shares a face with it, each second edge itself is similar in orientation to at least one third edge in the group of edges that shares a face with it, ..., each (n-1)th edge itself is similar in orientation to at least one nth edge in the group of edges that shares a face with it, and each nth edge itself shares a face with the provided sharp edge and is similar in orientation to the provided sharp edge. In other words, in these examples, after providing the sharp edge, the method automatically identifies one or more edge lists, each of which includes the provided sharp edge, and the edges in each list are similar in orientation to each other. In these examples, the one or more edge lists form the group of edges. In various examples, the identified set of edges consists of edges that contain the largest functional area of ​​the provided sharp edge, and each first edge thereof is similar in orientation to at least one second edge that shares a face with the first edge.

[0060] Reference now Figure 25-27 Discuss examples of identified groups of edges. Fig.25 An example of a B-rep (eg, a portion thereof) provided according to the method is shown. Edges 1, 2, 3, 4, 5, and 6 are sharp edges of the B-rep. Fig.26 Surfaces A, B, C, D, E, and F of B-rep are shown to be shared by edges 5 and 6, edges 4 and 5, edges 3 and 4, edges 2 and 3, edges 1 and 2, and edges 1 and 6, respectively. Edge 1 is a sharp edge provided according to the method, for example, by a user graphically interacting with the sharp edge. Edges 1, 2, 3, 4, 5, 6 and surfaces A, B, C, D, E, and F form a functional area, which is composed of Fig. 27 is captured by a graph of Fig.25 A connected subgraph of the dual graph of the B-rep (e.g., a portion thereof). The connected subgraph is a cycle here. Edges 1, 2, 3, 4, 5, and 6 form the identified group of edges. In other words, the method can automatically identify the group of edges as an edge list {1, 2, 3, 4, 5, 6}. Each first edge in the list is similar in orientation to each second edge in the list that shares a face with the first edge. In other words, the edges in the list are similar in orientation to each other.

[0061] Reference now Figure 28-30Another example of identified groups of faces is discussed. Fig.28 An example of a B-rep (eg, a portion thereof) provided according to the method is shown. Edges 1, 2, 3, and 4 are sharp edges of the B-rep. Fig.29 The faces A, B, C, D of the B-rep are shown to be shared by edges 1 and 2, edges 2 and 3, edges 3 and 4, and edges 1 and 4, respectively. Edge 1 is a sharp edge provided according to the method. Edges 1, 2, 3, 4 and faces A, B, C, D form a functional area, which is composed of Fig.30 is captured by a graph of Fig.28 A connected subgraph of the dual graph of the B-rep (e.g., a portion thereof). The connected subgraph is here a cycle. Edges 1, 2, 3, 4 form the identified edge group. In other words, the method can automatically identify the edge group as an edge list {1, 2, 3, 4}. Each first edge in the list is similar in orientation to each second edge in the list that shares a face with the first edge. In other words, the edges in the list are similar in orientation to each other.

[0062] In each example, the method is thus able to identify all edges of the functional area including the provided sharp edge. Thus, the method allows identifying one or more lists of edges that are similar in orientation to each other, each list containing the provided sharp edge. In other words, the method identifies edges that are relatively similar to the first edge. Furthermore, the identification is performed automatically by the CAD system without any user action. Thus, the method performs a user-friendly and efficient similar edge detection.

[0063] In various examples, the set of edges presents one or more paths of a cutting tool for machining a geometry corresponding to the portion of the outer surface of the machine part defined along the set of edges. The cutting tool may be a milling tool.

[0064] After providing the sharp edge, the method can automatically identify the edge presenting one or more paths of the cutting tool. In other words, the method automatically identifies one or more paths of the cutting tool.

[0065] In various examples, the geometry corresponding to the outer surface portion of the mechanical part is the geometry of the outer surface portion of the mechanical part defined along the set of edges. In these examples, the outer surface portion of the mechanical part may include an outer surface of one or more material layouts of the mechanical part.

[0066] Alternatively, the geometry corresponding to the outer surface portion of the mechanical part can be the geometry of the outer surface portion of the substrate. In these examples, the substrate is used to shape the mechanical part during the manufacturing process. In these examples, the outer surface portion of the substrate shapes the outer surface portion of the mechanical part. In other words, the geometry corresponds to the outer surface portion of the mechanical part because it is the geometry of the outer surface portion of the substrate that shapes the geometry of the outer surface portion of the mechanical part. The outer surface portion of the substrate can include the outer surface of one or more material layouts of the substrate. The substrate can be a machined forging substrate used to shape the mechanical part during the forging manufacturing process. Alternatively, the substrate can be a machined mold used to shape the mechanical part during the molding manufacturing process.

[0067] Machining a geometry corresponding to an outer surface portion of a mechanical part may include continuously applying a cutting tool to an outer surface of one or more material layouts (e.g., one or more material layouts of a mechanical part or one or more material layouts of a substrate used to shape the mechanical part during manufacturing). Continuously applying a cutting tool to a material layout (e.g., one of the one or more material layouts) may result in a change in the geometry of the material layout. In these examples, machining a geometry corresponding to an outer surface portion of a mechanical part may include changing the geometry of the outer surfaces of the one or more material layouts by applying a cutting tool to the outer surfaces of the one or more material layouts. In these examples, the changed geometry of the outer surfaces of the one or more material layouts may form a machined geometry corresponding to the outer surface portion of the mechanical part.

[0068] In each example, the continuous application of cutting tools is to apply the cutting tools without stopping the cutting tools and / or without lifting the cutting tools from the mechanical parts within a given time period. In other words, within a given time period, the cutting tool continuously works and / or contacts the material to which it is applied. In these examples, the path of the cutting tool can be the outer surface of a material layout (e.g., a material layout of a mechanical part and / or a material layout of a matrix used to shape the mechanical part during the manufacturing process). In these examples, the outer surface of the material layout has a geometry suitable for the continuous application of the cutting tool. Therefore, one or more paths can form the outer surface of one or more material layouts (e.g., one or more material layouts of a mechanical part and / or one or more material layouts of a matrix used to shape the mechanical part during the manufacturing process), and the geometry of the outer surface is suitable for the continuous application of the cutting tool. In other words, given the shape and / or mechanical properties and / or geometric properties of the cutting tool, it is mechanically possible and / or realistic and / or easy to continuously apply the cutting tool on this geometry.

[0069] The grouped edges present one or more paths. In each example, the edges in the grouped edges define a face. The defined face forms part of a B-rep. In each example, the edges in the grouped edges are edges of a functional area. In these examples, the edges in the grouped edges define a face of the functional area. In these examples, a portion of a B-rep is a grouped face consisting of all faces of the functional area. Thus, in these examples, this portion of the B-rep is an arcuately connected portion of the B-rep. Figure 25-27 The example faces A, B, C, D, E, F form an example of this part of the B-rep. Figure 28-30 The example of the face A, B, C, D of the example forms the example of this part of B-rep. In each example, this part of B-rep presents the outer surface of one or more material layouts of the mechanical part. In other words, the outer surface of the one or more material layouts is defined along the grouped edges. Such an example is now discussed.

[0070] In various examples, the one or more paths form an outer surface of one or more material layouts of a mechanical part presented by the portion of the B-rep, the geometry of the outer surface being suitable for continuous application of a cutting tool. In other words, in these examples, the set of edges can present the one or more paths, wherein the portion of the B-rep presents an outer surface of one or more material layouts of a mechanical part formed by the one or more paths.

[0071] Additionally or alternatively, the one or more paths may form an outer surface of one or more material layouts of a substrate used to shape a mechanical part during a manufacturing process, the outer surface having a geometry suitable for continuous application of a cutting tool. Shaping the mechanical part may consist in molding the mechanical part during a molding manufacturing process, or may consist in forging the mechanical part during a forging manufacturing process. In these examples, the outer surface of the one or more material layouts of the substrate may shape the outer surface of the one or more material layouts of the mechanical part presented by the portion of the B-rep. In other words, in these examples, the grouped edges may present one or more paths, wherein the portion of the B-rep presents an outer surface of one or more material layouts of the mechanical part, which is shaped by the outer surface of the substrate formed by the one or more paths.

[0072] This part of B-rep includes a sharp edge provided. The sharp edge provided can present a position on a path in the one or more paths, which is an intermediate position, for example, not the end of the path. Alternatively, the sharp edge provided can present a position constituting the end of one or more paths in the one or more paths. In each example, the end is the starting point for applying a cutting tool. Such examples are now discussed. In these examples, in order to machine a geometric shape corresponding to the outer surface portion of a mechanical part, the cutting tool has a starting point, which is a position on the outer surface of one or more material layouts (for example, one or more material layouts of a mechanical part and / or one or more material layouts of a matrix used to shape a mechanical part during manufacturing). The cutting tool contacts the outer surface of one or more material layouts at this position. The position is presented by the sharp edge provided. This position is the starting point for applying a cutting tool, wherein the cutting tool contacts the outer surface at this point, and then the cutting tool can be started and applied continuously following one or more paths. In other words, the cutting tool can be applied continuously according to one or more tracks, wherein each track starts at a starting position presented by a first edge, and each track follows the corresponding path in the one or more paths. In other words, this portion of the B-rep may correspond to a set of one or more trajectories followed by the cutting tool during its continuous application (e.g., starting at a location presented by a sharp edge provided). However, in each example, this portion of the B-rep (or equivalently, the set of edges) corresponds only to the set of one or more trajectories, and is not closely related to the machining process itself. In other words, as previously mentioned, the design of the B-rep may take into account the characteristics of the machining process and the tool, but the actual setup and / or development of the machining process may be carried out at a later stage. For example, the starting point and / or end point of the cutting tool application and / or the trajectory of the cutting tool may be actually specified at a later stage.

[0073] Figure 1 Shown are weight-reducing pockets 12 of an aluminum aerospace machined part 10. In the case of an aluminum aerospace machined part 10, each weight-reducing pocket (eg, weight-reducing pocket A) is an example of an exterior surface portion. Figure 2 A cutting tool 22 is shown for machining the geometry of a lightening pocket 24 , which in the case of machining an aerospace part 20 is an example of an exterior surface portion. Figure 3A weight-reducing pocket 32 ​​is shown, which in the case of an automotive forged part 30 is an example of an outer surface portion. The outer surface portion of the automotive forged part 30 has a geometry formed by the geometry of the outer surface of the material layout of the machined forged matrix. Two holes 34 and 36 are space-retaining features, which are other examples of outer surface portions of the automotive forged part 30. These outer surface portions have a geometry formed by the outer surface portion of the material layout of the machined forged matrix. The two holes can be machined in a subsequent machining process of the part 30.

[0074] The concept of "directionally similar" is now discussed.

[0075] In each example, when a face presents a portion of the path of a cutting tool for machining a geometry corresponding to a portion of the outer surface of a mechanical part defined along a group of edges, the two edges sharing the face are similar in orientation. In other words, a face shared by two similar edges can present a material layout having an external geometry suitable for continuous application of a cutting tool. In each example, when the material layout is not too curved and / or not too turned and / or not too folded, the material layout has a geometry suitable for continuous application of a cutting tool. On the contrary, when it is unrealistic and / or impossible to continuously apply a cutting tool on the material layout (e.g., mechanically) (e.g., because the cutting tool is required to perform an unrealistic and / or impossible tilt (e.g., turn)), the material layout has a geometry that is not suitable for continuous application of a cutting tool.

[0076] By identifying edges that are similar in orientation, the method thus allows identification of one or more paths of a cutting tool for machining a geometry corresponding to the outer surface portion of a machine part defined along the set of edges.

[0077] In various examples, two edges are similar in orientation if the angle of the two edges is less than a predetermined threshold.

[0078] For example, let u1 and u2 be two edges, x1 and y1 be the vertices of edge u1, and x2 and y2 be the vertices of edge u2. Let α be a predetermined threshold. In each example, the angle between edges u1 and u2 is less than the predetermined threshold α if the following conditions are met:

[0079] (1)max{〈y1-x1,y2-x2〉,〈y1-x1,x2-y2〉}≥cosα‖y1-x1‖‖y2-x2‖.

[0080] In various examples, the predetermined threshold is provided by a user prior to identifying groups of edges.

[0081] In various examples, the predetermined threshold is a function of a manufacturing process of the mechanical part.

[0082] Thus, the set of edges can be automatically identified based on the satisfaction of directional similarities between the edges in the set of edges corresponding to the manufacturing requirements of the mechanical part. In various examples, the directional similarities of the edges are determined based on a function of the manufacturing process of the mechanical part so that the identified set of edges presents one or more paths of a cutting tool for machining a geometry corresponding to the outer surface portion of the mechanical part defined along the set of edges.

[0083] The predetermined threshold value may be provided semi-automatically. For example, a user may specify a manufacturing process for a mechanical part, and the CAD system automatically determines the predetermined threshold value based on the manufacturing process. Specifying the manufacturing process may include selecting the manufacturing process (e.g., by interacting with software of the CAD system (e.g., with a touch or haptic device such as a mouse). Alternatively, specifying the manufacturing process may include declaring the manufacturing process (e.g., by interacting with the CAD system (e.g., using a keyboard)).

[0084] In examples where the predetermined threshold is a function of the manufacturing process of the mechanical part, the mechanical part may be a molded or forged part having a maximum draft angle. In these examples, the predetermined threshold is based on the maximum draft angle. Alternatively, in examples where the predetermined threshold is a function of the manufacturing process of the mechanical part, the mechanical part may be a machined part having a maximum machining tilt angle. In these examples, the predetermined threshold is based on the maximum machining tilt angle.

[0085] In various examples, the predetermined threshold is less than four times the maximum draft angle, for example, less than three times the maximum draft angle, for example, less than two times the maximum draft angle. In these examples, the predetermined threshold can be greater than half the maximum draft angle, for example, greater than the maximum draft angle, for example, greater than two times the maximum draft angle.

[0086] Alternatively, the predetermined threshold is less than four times the maximum machining tilt angle, such as less than three times the maximum machining tilt angle, such as less than two times the maximum machining tilt angle. In these examples, the predetermined threshold may be greater than half the maximum machining tilt angle, such as greater than the maximum machining tilt angle, such as greater than two times the maximum machining tilt angle.

[0087] In each example, the maximum draft angle of the plastic molded part is equal to 1°. In each example, the maximum draft angle of the iron molded part or the aluminum molded part is equal to 2° or 3°. In each example, the maximum draft angle of the forged part is 5°.

[0088] In various examples, the maximum machining inclination angle of the machining mold for molding plastic parts is equal to 1°. In various examples, the maximum machining inclination angle of the machining mold for molding iron parts or aluminum parts is equal to 2° or 3°. In various examples, the maximum machining inclination angle of the machining forged base for forged parts is 5°.

[0089] In various examples, the predetermined threshold is less than 20°, 15°, or 10°.

[0090] exist Figure 25-27 In the example of , edges 1, 2, 3, 4, 5, and 6 are included in the group of edges because the angle between edges 1 and 2 is less than a predetermined threshold, the angle between edges 2 and 3 is less than a predetermined threshold, the angle between edges 3 and 4 is less than a predetermined threshold, the angle between edges 4 and 5 is less than a predetermined threshold, and the angle between edges 5 and 6 is less than a predetermined threshold. Therefore, edges 1, 2, 3, 4, 5, 6 and faces A, B, C, D, E, F defined by these edges correspond to a portion of the B-rep where the edges are similar in orientation. This portion of the B-rep actually presents the path of a cutting tool used to machine a geometry corresponding to a portion of an outer surface of a mechanical part.

[0091] exist Figure 28-30 In the example of , edges 1, 2, 3, 4 are included in the group of edges because the angle between edges 1 and 2 is less than a predetermined threshold, the angle between edges 2 and 3 is less than a predetermined threshold, and the angle between edges 3 and 4 is less than a predetermined threshold. Therefore, edges 1, 2, 3, 4 and the faces A, B, C, D defined by these edges correspond to a portion of the B-rep where the edges are similar in orientation. This portion of the B-rep actually presents the path of a cutting tool used to machine a geometry corresponding to a portion of an outer surface of a mechanical part.

[0092] Now let's discuss the selection of sharp edges.

[0093] In each example, the selected sharp edge consists of all sharp edges in the identified set of edges. Alternatively, the selected sharp edge can consist of a strict portion of the sharp edges in the identified set of edges. In these examples, the provided sharp edges are selected.

[0094] In various examples, the selected sharp edges each have the same adjacent convexity as the provided sharp edges.

[0095] The sharp edges having the same adjacent convexity as the provided sharp edge may form a strict portion of the sharp edges in the identified set of edges. The provided sharp edge is included in the strict portion. Alternatively, all sharp edges in the identified set of edges may each have the same adjacent convexity as the provided sharp edge.

[0096] In each example, if the sharp edge is located in a first portion of the B-rep, the provided sharp edge is located in a second portion of the B-rep, and the first and second portions of the B-rep have the same convexity relative to an inward direction of the B-rep, then the sharp edge has the same adjacent convexity as the provided sharp edge.

[0097] Therefore, after providing a sharp edge, the method automatically identifies and selects (e.g., all) the following sharp edges that are similar in orientation to the provided sharp edge (because the selected sharp edge is included in the group of edges) and have the same adjacent convexity. Therefore, the method automatically selects several edges that are relatively similar to the provided sharp edge from a geometric and topological perspective. Therefore, the method performs efficient and accurate similar edge detection.

[0098] In each example, the identified grouped edges present one or more paths of a cutting tool, which is used to machine a geometric shape corresponding to a portion of an outer surface of a mechanical part defined along the grouped edges. Each path in the one or more paths may correspond to the trajectory of the cutting tool during its continuous application. The sharp edge provided may present a position on a path in the one or more paths, which is an intermediate position, for example, not the end of the path. Alternatively, the sharp edge provided may present a position constituting the end of one or more paths in the one or more paths. In these examples, the sharp edges in the identified grouped edges having the same adjacent convexity as the adjacent convexity of the provided sharp edges present a turn (e.g., bend) in the trajectory of the cutting tool during its continuous application. In other words, each of these sharp edges presents a point (e.g., position) on the path of the cutting tool at which the cutting tool turns during the continuous application of the cutting tool. In these examples, the edges in the identified grouped edges that do not have the same adjacent convexity as the adjacent convexity of the provided sharp edges do not present a turn of the cutting tool. By selecting only sharp edges having the same adjacent convexity as the provided sharp edge, the method automatically selects (eg, all) sharp edges that present a turn of the cutting tool and automatically discards sharp edges that do not present a turn of the cutting tool.

[0099] In each example, the adjacent convexity of an edge is a coupling of the convexity types of its end vertices. In these examples, if all edges that share a vertex are concave edges, then the end vertices of the edges have a concave type. In these examples, if all edges that share a vertex are convex edges, then the end vertices of the edges have a convex type. In these examples, if at least one edge that shares a vertex is a concave edge and at least one edge that shares a vertex is a convex edge, then the end vertices of the edges have concave and convex types.

[0100] We now discuss the implementation of the notion of adjacent convexity for edges. Specifically, let u be an edge, and let nodes x and y be its end vertices. Note that v i , i = 1, ..., n all edges share vertex x, and note that w j ,j=1,…,m all edges share vertex y. Edge v i One is edge u, edge w j One of them is also edge u. If all edges v i , i=1,…,n are all convex, then the vertex x is said to have a convex shape type. i , i=1,…,n are all concave, then vertex x is said to have a concave type. Otherwise, if v i At least one of them is convex, and v i A vertex x is said to have both concave and convex shape types if the other of the two is concave. i , i=1,…,n are all convex, then vertex y is said to have a convex shape type. i , i=1,…,n are all concave, then vertex y is said to have a concave type. Otherwise, if w i At least one of them is convex, and w i If one of the edges is concave, then vertex y is said to have concave and convex type. The adjacent convexity of an edge u is the coupling of the convexity types of its end vertices x and y. The adjacent convexities of edge u can therefore be (concave type, concave type), (concave type, convex type), (convex type, convex type), (concave and convex types, concave type), (concave and convex types, convex type) or (concave and convex types, concave and convex types). The adjacent convexity (convex type, concave type) is equivalent to the adjacent convexity (concave type, convex type). The adjacent convexity (concave type, concave and convex types) is equivalent to the adjacent convexity (concave and convex types, concave type). The adjacent convexity (concave type, concave and convex types) is equivalent to the adjacent convexity (concave and convex types, concave type). The adjacent convexity (concave and convex types, convex type) is equivalent to the adjacent convexity (convex, concave and convex types). Fig.31 The concept of adjacent convexity is shown. Fig.31 A B-rep is shown with edges 1, 2, 3, 4, 5, 6, and 7. The adjacent convexity of edge 6 is (convex type, convex type) because both end vertices 1 and 2 of edge 6 have convex type. The adjacent convexity of edge 7 is (concave and convex type, concave and convex type) because both end vertices 3 and 5 of edge 7 have concave and convex type. The adjacent convexity of edge 4 is (concave and convex type, convex type) because end vertex 3 has concave and convex type, and end vertex 2 has convex type.

[0101] Figure 25-27The sharp edges 1, 2, 3, 4, 5, 6 of the example are selected because they all have adjacent convexities (convex type, concave type) of the provided sharp edge 1. Figure 28-30 The sharp edges 1, 2, 3, 4 are selected because they all have adjacent convexities (convex type, concave type) of the provided sharp edge 1.

[0102] Figure 32-33 An example of a B-rep with sharp edges 1, 2, 3, 4, 5, 6, 7 and 8 is shown, as Fig.32 shown. Fig.33 Shown is face A shared by edges 1, 2, 3 and 6, face B shared by edges 2, 3, 4 and 5, face C shared by edges 4 and 7, face D shared by 7 and 8, and face E shared by edges 8 and 1. Fig.36 Shows Fig.32 and Fig.33 The dual graph of the B-rep of . The dual graph includes two cycles and captures a functional region. Edge 1 is the sharp edge provided. The identified group of edges consists of edges 1, 2, 3, 4, 5, 6, 7, and 8. These edges are Fig.36 The edges of the functional area captured by the dual graph of the two cycles of . Edges 2, 3, and 6 are identified because they share face A with edge 1 and are similar in orientation to edge 1. Edges 5 and 4 are identified because they share face B with edge 2 and are similar in orientation to edge 2. Edge 7 is identified because it shares face C with edge 4 and is similar in orientation to edge 4. Edge 8 is identified because it shares face E with edge 1 and is similar in orientation to edge 4. The sharp edge 1 provided has adjacent convexities (convex type, convex type). Therefore, sharp edges 2, 3, 4, 7, 8 are selected because they all have adjacent convexities (convex type, convex type). Sharp edges 5 and 6 are not selected because they all have adjacent convexities (concave and convex types, concave and convex types). Figure 32-33 B-rep of presents a mechanical part that is first molded and then machined. Fig.34 shows a B-rep of a mechanical part after the molding process. Fig.35 The machine part in which the cuts have been machined is shown after the machining process. The sharp edges 1, 2, 3, 4, 7, 8 are selected because they present the path of the cutting tool used to machine the geometry of the mold, which makes Fig.34 The geometric shape of the outer surface of the molded mechanical part is formed. The sharp edges 5 and 6 are not selected because they present the boundaries of the machined cutouts, which do not exist during the first molding process of the mechanical part, but are machined during the machining process.

[0103] In each example, the grouped edges correspond to one or a possible combination of weight reduction features (i.e., performing a weight reduction function), space retention features (i.e., performing a space retention function), fixing features (i.e., performing a fixing function), sealing features (i.e., performing a sealing function), adjustment features (i.e., performing an adjustment function), mechanical bonding features (i.e., performing a mechanical bonding function), cooling features (i.e., performing a cooling function), strengthening features (i.e., performing a strengthening function), positioning features (i.e., performing a positioning function) and / or features that support all machined and drilled protrusions (i.e., performing a function of supporting all machined and drilled protrusions).

[0104] A feature is a material layout of a mechanical part that performs a mechanical function. In each example, a feature has a geometry that presents and / or corresponds to and / or forms a material layout. A group of edges may correspond to a feature. In each example, this means that at least a portion (e.g., the entirety) of the geometry of a feature is presented by a portion of a B-rep, which is formed by the coupling (e.g., all) of the edges in the group of edges and the faces that share the edges in the group of edges and / or by the faces defined by the edges in the group of edges (e.g., all). In each example, the portion of the B-rep is connected in an arc.

[0105] In various examples, the set of edges presents one or more paths of a cutting tool used to machine a geometry corresponding to a portion of an outer surface of a mechanical part defined along the set of edges. In these examples, the outer surface portion of the mechanical part may be an outer surface portion of the geometry of one or more features. In other words, the set of edges both corresponds to one or more features of the mechanical part (e.g., one or a possible combination of the features) and presents one or more paths of a cutting tool because the geometry machined by the continuous application of the cutting tool along the one or more paths corresponds to the geometry of the one or more features.

[0106] In various examples, the mechanical part is a molded part. In these examples, the grouped edges may correspond to one or possibly a combination of weight reduction features, space conservation features, and / or reinforcement features.

[0107] Alternatively or additionally, the mechanical part may be a machined part. In these examples, the grouped edges may correspond to one or possible combinations of weight reduction features, space retention features, fixing features, sealing features, adjustment features, locating features, mechanical bonding features, cooling features, and / or locating pin features.

[0108] Alternatively or additionally, the mechanical part may be a forged part. In these examples, the set of edges may correspond to one or possibly a combination of weight reduction features, reinforcement features, and / or features for supporting all machined and drilled protrusions.

[0109] Figure 1-3 Examples of weight reduction features 12 , 24 , and 32 are shown.

[0110] exist Figure 25-27 In the example, edges 1, 2, 3, 4, 5, and 6 correspond to weight-reducing features. Figure 28-29 In the example, edges 1, 2, 3, and 4 correspond to Fig.28 The B-rep presents the space-retaining features of the crankcase in the external shape. Fig.32 In the example of , edges 1, 2, 3, 4, 5, 6, 7, 8 correspond to parts of the linear motion guide feature. The cutout corresponds to the locating feature.

[0111] An example of identifying groups of edges and selecting sharp edges is now discussed.

[0112] The identification of grouped edges and the selection of sharp edges are performed automatically. The identification of grouped edges and the selection of sharp edges may therefore include the automatic execution of one or more algorithms (e.g., by one or more processors). One or more first algorithms of the one or more algorithms may identify grouped edges, and then one or more second algorithms may select sharp edges along with the grouped edges. Alternatively, the one or more algorithms may simultaneously identify grouped edges and select sharp edges. The one or more algorithms may be any algorithm or group of algorithms suitable for identifying grouped edges and selecting sharp edges.

[0113] The identification of the grouped edges may include iteratively accessing the edges of the B-rep. The iterative access may start from the sharp edge provided. In each example, when accessing an edge, the identification may include determining that the edge is similar in orientation to another edge, the other edge shares a face with the edge being accessed, and the other edge has been accessed. If it is determined that the edge being accessed is similar in orientation to the other edge, the edge is collected and identified as part of the grouped edges. In each example, the iterative access continues until all edges of a functional area are identified, the functional area includes the sharp edge provided, and each first edge of the functional area is similar in orientation to at least one second edge, and the first edge and the second edge share a face. In each example, the functional area is the largest functional area including the sharp edge provided, and each first edge thereof is similar in orientation to at least one second edge, and the first edge and the second edge share a face. In other words, iterative access is performed until a grouped edge formed by the edges of such a functional area is identified.

[0114] In various examples, the selection may be made according to a requirement. In various examples, the requirement is specified (e.g., declared) by a user, e.g., before identifying a group of edges and selecting a sharp edge, e.g., by interacting with a CAD system (e.g., software of a CAD system), e.g., by using touch or a keyboard or a tactile device (e.g., a mouse). In various examples, the requirement is to select each sharp edge within the group of edges. Alternatively, the requirement may be to select each sharp edge within the group of edges that has the same adjacent convexity as the provided sharp edge. In other words, sharp edges that do not have the same adjacent convexity as the provided sharp edge are not selected.

[0115] In each example, the selection is performed during the identification of the grouped edges. For example, once an edge is identified as part of the grouped edges, it is automatically determined whether the edge meets the requirements. If the edge meets the requirements, the edge is selected. In other words, as the identification of the grouped edges proceeds, the sharp edges that meet the requirements are selected within the identified edges. Alternatively, the selection of sharp edges can be performed after identification, for example, by iteratively collecting the edges that meet the requirements in the identified grouped edges.

[0116] The implementation of identifying groups of edges and selecting sharp edges is now discussed.

[0117] The user provides a sharp edge u. The user then selects the input option Option∈{1,2} which automatically specifies the requirement. If Option=1, the requirement is to select every sharp edge within the group of edges. If Option=2, the requirement is to select every sharp edge within the group of edges that has the same adjacent convexity as the provided sharp edge. The output is the set S of selected sharp edges. The set S is initialized by the empty set. The algorithm runs the function Ribbon(·) twice for edge u. The first call involves edge u according to one (arbitrary) direction, denoted as +u, and the second call involves edge u according to the opposite direction, denoted as –u. The set S is determined according to the following pseudocode:

[0118] S:=S∪Ribbon(+u,α,Option)∪Ribbon(-u,α,Option)

[0119] Function Ribbon(·) identifies the edges of a ribbon including a provided sharp edge u, wherein each first edge of the ribbon forms an angle with at least one second edge of the ribbon that is less than a predetermined threshold α. Function Ribbon(·) also selects sharp edges upon request. A unique last-in-first-out (LIFO) list is used by the standard instructions Push(·), Pop(·) and Size. The instruction Push(Z) adds object Z to the top of the list and increases its size. The instruction Pop(Z) produces the last object of the list (denoted as Z), removes it from the list and decreases its size. Edges are directional, which means that if v is an internal edge, the method Adj(v) will return the only face of the B-Rep bounded by edge v according to the direction of edge v, while Adj(-v) will return the other face, such as Fig.37 If w is a boundary edge, and if Adj(w)(Adj(-w)) returns the face bounded by w, then Adj(-w)(adj(w)) returns the empty set. For example, according to Fig.37 , Adj(b) returns the rightmost face, and Adj(-b) returns the empty set. The function Ribbon(·) contains the function This function returns a list of directed edges that bound the face f. The function Ribbon(·) is described by the following pseudo code:

[0120]

[0121]

[0122] The instruction SameAngle(v,w,α) returns "true" if the angle between v and w is less than a predetermined threshold α, and returns "false" otherwise. The instruction SameAngle(v,w,α) may include determining that the angle between v and w is less than α, the determination being made according to formula (1). The instruction SameNC(v,w) returns "true" if v and w have the same adjacent convexity, and returns "false" otherwise. The instruction Returns a set W that includes the directed boundary edges of the unique faces bounded by directed edge v, but not edge v itself. For example, it returns directed edges a, b, and c, such as Fig.37 As shown. In addition, edge b is a boundary edge, and

[0123] exist Figure 25-27 In the example of , running the previous algorithm with Option=1 results in the selection of sharp edges 1, 2, 3, 4, 5, 6. Figure 28-30In the example of , running the previous algorithm with Option=1 or Option=2 results in the selection of sharp edges 1, 2, 3, 4. Figure 32-33 In the example of , running the previous algorithm with Option=2 results in the selection of sharp edges 1, 2, 3, 4, 7, 8.

[0124] The method allows multiple selections of sharp edges at the same time. The selected sharp edges are part of the identified group of edges, which may be composed of edges of functional areas and contain the provided sharp edges. In other words, the selected sharp edges are relatively similar to the provided sharp edges. The selection of sharp edges is automatically performed after the sharp edges are provided (for example, by a user), so the method provides efficient and user-friendly multiple selections of similar edges. The selected sharp edges may additionally be sharp edges in the identified group of edges, each of which has an adjacent convexity that is the same as the adjacent convexity of the provided sharp edge. In other words, the method allows multiple selections of edges that are relatively similar to the provided sharp edges in terms of geometry (because the selected sharp edges are relatively similar to the provided sharp edges in terms of orientation), and are also topologically similar to the provided sharp edges (because their adjacent convexities are the same). Therefore, the method allows user-friendly and efficient multiple selections of edges according to geometric similarity requirements and optionally according to geometric and topological similarity requirements. In addition, the identified group of edges can present one or more paths of a cutting tool for machining a geometry corresponding to the outer surface portion of a mechanical part defined along the group of edges. The selected sharp edge can present the turning of the cutting tool along these one or more paths. Therefore, the method therefore allows the automatic identification of the following part of the B-rep, which presents one or more paths of the cutting tool and the turning of the cutting tool along these one or more paths. The requirement that the selected sharp edge has the same adjacent convexity as the provided sharp edge makes it possible to distinguish the sharp edges that truly correspond to the turning of the cutting tool (that is, the selected sharp edge) from the sharp edges that do not truly correspond to the turning of the cutting tool (that is, the selected sharp edge), although these sharp edges are relatively similar to the provided sharp edge in geometry. Therefore, the method is robust and effective.

[0125] In various examples, the method further includes applying a same filleting operation or a same filleting operation to the selected sharp edges.

[0126] The operation of applying a fillet (rounding) to a sharp edge includes replacing the sharp edge by a smooth transition. The smooth transition is a concave (respectively convex) surface that is the envelope surface of the rolling ball connecting the adjacent surfaces of the sharp edge. For example, as a result of applying a rounding operation to the convex edge 220, Fig. 22The convex edge 220 is Fig.23 For example, as a result of the filleting operation applied to the concave edge 222, Fig. 22 The concave edge 222 is Fig.23 The inner fillet surface 232 is replaced. As previously referenced Figure 22-24 As discussed, the inner and outer fillet surfaces can be made using Parameterized as S: So that for all u∈[a,b], the curve is a part of a circle whose radius does not depend on u. Alternatively, for all v∈[c,d], the curve is a part of a circle whose radius does not depend on v. The radius of the fillet (round) operation specifies the radius of the circle. In the following, the radius of the fillet (round) operation may be referred to as the "radius of the concave (respectively convex) face (i.e., the face that replaces the sharp edge)".

[0127] In each example, applying the same outer fillet (inner fillet) operation to all selected sharp edges includes automatically and uniformly applying the outer fillet (correspondingly, inner fillet) operation to all selected sharp edges. Automatically and uniformly applying the operation to the selected sharp edges is: (e.g., selecting, e.g., based on a user action) specifying the operation, (e.g., by interacting with a CAD system, e.g., based on a user action) starting the operation, and (e.g., by a CAD system) automatically applying the operation (e.g., substantially) the same and / or (e.g., substantially) simultaneously to all selected sharp edges. Specifying the operation may include, for example, selecting the type of operation between an inner fillet type and an outer fillet type by interacting with software of the CAD system. Specifying the operation may further include declaring (e.g., by using a keyboard) the radius of the selected outer fillet or inner fillet operation.

[0128] Since the same Fillet operation is applied to all selected sharp edges, each selected sharp edge will be replaced by a smooth transition, which is a convex (respectively, concave) face. Each smooth transition has the same radius, which is one of the Fillet operation. Figure 32-35 In the example, the same fillet operation is applied to all selected edges 1, 2, 3, 4, 7, 8. Therefore, they are all replaced by convex faces with the same radius, such as Fig.35 shown.

[0129] In each example, the set of edges presents one or more paths of a cutting tool for machining a geometry corresponding to the outer surface portion of a mechanical part defined along the set of edges. In these examples, the radius of the outer or inner fillet operation can correspond to the radius of the cutting tool.

[0130] Due to the application of the fillet (round) operation, each selected sharp edge is replaced by a concave (respectively, convex) surface. The concave (convex) surface that replaces the sharp edge can therefore present a cylindrical portion of a geometry processed by applying a cutting tool (i.e., the outer surface of the geometry is a portion of the inner (respectively, outer) portion of the cylindrical side). As previously discussed, the geometry can be the geometry of the outer surface of one or more material layouts of a mechanical part, or can be formed by the geometry of the outer surface of one or more material layouts of a substrate. The radius of the fillet (round) operation corresponds to the radius of the cutting tool, wherein the cylindrical portion of the geometry makes it possible for the cutting tool to be in continuous contact with all cylindrical portions of the geometry during the application of the cutting tool. In each example, the radius of the rounded corner (round) operation is equal to or substantially equal to the radius of the cutting tool.

[0131] exist Figure 2 In the example of FIG. 1 , the geometry of the outer surface portion of the lightening pocket 24 of the mechanical part 20 is such that the cutting tool 22 can continuously contact the outer surface portion even when the cutting tool passes through a curved portion of the outer surface portion of the lightening pocket 24 .

[0132] The rounding or filleting of selected sharp edges allows the design of more practical mechanical parts. In fact, the selected sharp edges can present the turning of the cutting tool, and the cutting tool cannot be applied to sharp turns. The cutting tool can only be applied to smooth turns with a radius that is suitable so that the cutting tool can continuously contact the processed geometry during the turn. Therefore, the method allows the conversion of (e.g. all) sharp edges that present a turn into a smooth transition that (e.g. mechanically) presents an actual turn of the cutting tool. In addition, the method is so effective and user-friendly because (e.g. all) sharp edges are automatically and uniformly converted into smooth transitions without user action.

[0133] Fig.38 An example of a GUI for a system is shown, where the system is a CAD system.

[0134] GUI 2100 can be a typical CAD-like interface with standard menu bars 2110, 2120 and bottom and side toolbars 2140, 2150. Such menus and toolbars contain a set of user-selectable icons, each of which is associated with one or more operations or functions as known in the art. Some of these icons are associated with software tools and are suitable for editing and / or working on 3D modeling objects 2000 displayed in GUI 2100. Software tools can be grouped into workbenches. Each workbench contains a subset of software tools. In particular, one of the workbenches is an editing (version) workbench suitable for editing geometric features of modeling product 2000. In operation, a designer can, for example, pre-select a portion of object 2000, 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 to model the punching or folding of a 3D modeling object displayed on the screen. GUI can, for example, display data 2500 related to the displayed product 2000. In the example of the figure, data 2500 displayed as a "feature tree" and its 3D rendering 2000 relate to a brake assembly including a brake caliper and a disc. A brake assembly such as that presented by the 3D rendering 2000 can be designed by the method. The GUI can further show various types of graphical tools 2130, 2070, 2080, for example, for facilitating 3D orientation of an object, for triggering simulation of an operation of an edited product, or for rendering various properties of the displayed product 2000. A cursor 2060 can be controlled by a haptic device to allow a user to interact with the graphical tools.

[0135] Fig.39 An example of the system is shown where the system is a client computer system, such as a user's workstation.

[0136] 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. 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. The video RAM 1100 is also known in the art as a frame buffer. 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; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks 1040. Any of the above devices may be supplemented by or incorporated into 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 tactile device 1090, such as a cursor control device, a keyboard, etc. A 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 into the system. Typically, the cursor control device may be a mouse, the buttons of which are used to generate the signals. Alternatively or additionally, the client computer system may include a sensitive pad and / or a sensitive screen.

[0137] The computer program may include instructions executable by a computer, the instructions including measures for causing the above-mentioned system to perform the method. The program may be recorded on any data storage medium, including the memory of the system. The program may be implemented, for example, in digital electronic circuits or computer hardware, firmware, software, or a combination thereof. The program may be implemented as a device (e.g., a product) tangibly embodied in a machine-readable storage device for execution by a programmable processor. The method steps may be performed by a programmable processor executing an instruction program to perform the functions of the method by operating on input data and generating output. Therefore, the processor may 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 send data and instructions to the data storage system, at least one input device, and at least one output device. If necessary, the application may be implemented in a high-level procedural or object-oriented programming language or in an assembly or machine language. In any case, the language may be a compiled language or an interpreted language. The program may be a complete installer or updater. In any case, the application of the program on the system generates instructions for executing the method.

Claims

1. A computer-implemented method for designing a 3D modeled object representing a mechanical part using a CAD system, the method comprising: - providing a B-rep representing the mechanical part, the B-rep having faces, edges and vertices; - providing sharp edges by user selection of sharp edges on the B-rep; -Automatically by the CAD system: Identifying a set of edges including the provided sharp edge, each edge in the set of edges having an angle with another edge sharing a face with the edge being less than a predetermined threshold, such that the edges in the set of edges sharing a face are similar in orientation; and Selecting sharp edges within the set of edges, each of the selected sharp edges having the same adjacent convexity as the provided sharp edge, the adjacent convexity of an edge being a coupling of the convexity types of its end vertices, wherein: - if all edges sharing a vertex are concave edges, the end vertex of that edge has concave type; - if all edges that share a vertex are convex edges, then the end vertex of that edge has a convex type; and - If at least one edge that shares a vertex is a concave edge and at least one edge that shares a vertex is a convex edge, then the end vertices of the edges have concave and convex types.

2. The method according to claim 1, wherein: The predetermined threshold is a function of a manufacturing process of the mechanical part.

3. The method according to claim 2, wherein: The mechanical parts are: - a molded or forged part having a maximum draft angle, said predetermined threshold being based on said maximum draft angle; or - a machined part having a maximum machining inclination angle, said predetermined threshold being based on said maximum machining inclination angle.

4. The method according to claim 2 or 3, wherein: The predetermined threshold is less than 20°, 15° or 10°.

5. The method according to any one of claims 1 to 3, wherein: The set of edges presents one or more paths of a cutting tool for machining a geometry corresponding to a portion of an exterior surface of the machine part defined along the set of edges.

6. The method according to claim 5, wherein: The method also includes applying a similar filleting or rounding operation to selected sharp edges.

7. The method according to claim 6, wherein: The radius of the filleting or bullnose operation corresponds to the radius of the cutting tool.

8. The method according to any one of claims 1 to 3, wherein: The mechanical parts are: -machined parts; - Moulded parts; - Machined moulds for moulding manufacturing processes; - forged parts; and / or -Machinery forged substrate for forging manufacturing process.

9. The method according to any one of claims 1 to 3, wherein: The groups of edges correspond to: -Weight loss features; - Space preservation features; -Fixed features; - Sealing features; - Regulation function; - Mechanical bonding characteristics; -Cooling characteristics; - Enhanced features; - positioning features; and / or -Features used to support all machined and drilled protrusions.

10. A computer program product comprising instructions for executing the method according to any one of claims 1 to 9.

11. A computer-readable storage medium having recorded thereon the computer program product according to claim 10.

12. A computer comprising a processor coupled to a memory and a display, the memory having recorded thereon the computer program product of claim 10.