Methods, systems, and procedures for forming gaps on a surface
By providing clearance specifications and rounding operations, clearances are automatically formed on the surface, solving the problems of low efficiency and difficult parameter setting in existing technologies. This enables rapid and automated clearance design and optimization, meeting manufacturing and usage constraints.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- DASSAULT SYSTEMES SA
- Filing Date
- 2026-01-04
- Publication Date
- 2026-07-03
Smart Images

Figure CN122333653A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer programs and systems, and more particularly to a method, system, and program for forming gaps on a surface. Background Technology
[0002] The market offers numerous solutions, hardware, and software for the design, engineering, and manufacturing of objects. CAD (Computer-Aided Design) refers to software solutions used for designing objects. CAE (Computer-Aided Engineering) refers to software solutions used for analyzing and simulating the physical behavior of future products. CAM (Computer-Aided Manufacturing) refers to software solutions used for defining product manufacturing processes and resources. In these computer-aided design solutions, graphical user interfaces play a crucial role in technological efficiency. These technologies can be embedded in Product Lifecycle Management (PLM) solutions. PLM refers to an engineering strategy that transcends the concept of an extended enterprise, helping businesses share product data, apply common processes, and leverage enterprise knowledge to develop products from concept to the end of their lifecycle. Dassault Systèmes (traditionally known as CATIA, SIMULIA, DELMIA, and ENOVIA) offers PLM solutions that provide an engineering center to organize product engineering knowledge, a manufacturing center to manage manufacturing engineering knowledge, and an enterprise center that integrates and connects the engineering and manufacturing centers. All these solutions collectively provide a common model that links products, processes, and resources to enable dynamic, knowledge-based product creation and decision support, driving optimization in product definition, manufacturing readiness, production, and service.
[0003] When designing a product to be manufactured, gaps may need to be added to the design. In manufactured parts, gaps may be necessary for various reasons. Gaps may originate from mechanical reality to allow two different parts to be assembled together. For example, gaps are needed to allow parts to slide. In some cases, gaps are part of the current shape and define two parts of the same shape. In other cases, gaps define different components that must be assembled together (e.g., components made of different materials). In still other cases, gaps can be used to model the joint planes of molded parts. Figure 1A schematic diagram showing gaps with relevant specifications is provided. Gaps may also be necessary for buttons or other interactive elements, or may be included for design reasons. For example, Figure 2A A schematic diagram of a cross-section of a button with two gaps visible on both sides is shown, and Figure 2B The same schematic diagram shows this cross-section of a button with the relevant specifications.
[0004] Therefore, during the design phase of the model, gaps need to be modeled to implement these usage and / or manufacturing constraints. For example, in conceptual modeling, these gaps are modeled so that the shape of the designed product is as close to reality as possible. This allows for decision-making during the design review process.
[0005] One of the main ways to model gaps in a surface is using the shape fillet method. In this method, different intersecting shapes are merged together. Then, for each intersection, the user must perform a fillet operation to create the gap. An example of this method is shown in Figures 4 to 5. Figure 8 The diagram is shown schematically. (See Figures 4 to 4.) Figure 8 The diagram illustrates two geometric shapes, and the geometry set is updated accordingly. A geometry set is a list of all objects and operations applied to them; it can represent or correspond to, for example, a specification tree or feature tree of a model. Figure 4A In the graph, the intersection of two shapes, A and B, is represented by the graph itself. The geometric set associated with the graph contains both shapes. Figure 4B Side views of both shapes are shown to simplify the illustration. Figure 5 The first rounding operation between these two shapes is shown. Figure 5 In the middle, the lower left portion of the quadrant is retained, which includes trimmed shape A and trimmed shape B. The surfaces of shapes A and B are also trimmed simultaneously (topologically redefined by fillets to remove unnecessary material and produce a single topological object). The geometry set is updated accordingly. Figure 6 It shows the lower right part of the quadrant with Figure 5 The operations shown correspond to the operations. The geometry set is updated accordingly. Figure 7 and Figure 8 This illustrates a combination of the two rounding operations shown in the previous figure. This combination allows the gap to be simulated while preserving both topologies. Figure 9 It shows the same as Figure 4 to Figure 8 The result of the construction implemented in the middle corresponds to the surface of the gap.
[0006] This method can be used to create gaps along the intersection of two surfaces; however, this solution has several problems. First, for each fillet, the feature is copied, resulting in an exponential increase in the size of the specification tree and / or feature tree, as shown in Figures 4 to 5. Figure 8As shown. For complex shapes, update costs, the size of the specification tree and / or feature tree, and feature creation can cause problems; this can mean issues with productivity and computer performance. Furthermore, new geometry is created from the fillets of these shapes. These geometries can lead to material loss during the production phase. Additionally, in some cases, these geometries may be inside the shape. Such geometry can cause problems when processing the design, such as when creating thickness. This example is in... Figure 10 The diagram illustrates an example of this geometry at point 1001. Furthermore, the radius, thickness, and depth of the fillets, and more generally, the profile of the gaps, are difficult to define. In other words, the radius, thickness, depth, and / or profile of the gaps, which may be directly constrained by the manufacturing machine (e.g., a stamping press) that produces the part, may not be directly set as a mandatory constraint / input for the method. Since the gaps may not follow the underlying mesh structure of the shape, these parameters cannot be set using subdivision operations (e.g., beveling). These parameters may be critical during the production phase, and they may be subject to manufacturing steps and / or constraints that the product must meet. Therefore, this approach has significant limitations.
[0007] Rounding corners is one way to create gaps on a surface. Other, less direct methods also exist.
[0008] Another known method is proposed. Compared to the method described above, this second method is more flexible, but it is very time-consuming and requires a lot of user input. This method... Figures 11 to 15 As shown in the image. Figure 11 The diagram shows a surface 1101 representing an object on which a gap is to be introduced, and a guide curve 1102 for generating the shape of the gap. Figure 12 express Figure 11 The front view. The "front view" refers to a two-dimensional projection of surfaces and curves, thereby reducing the dimensionality of the object. Figure 13 The first two operations that must be performed by the user are shown. "Execute" means that the user manually enters commands into the program to perform the operation. The first operation O.1 is to project curve 1102 onto surface 1101. The projection gives curve 1301 located on the surface. Then, the user must perform the second operation O.2, which involves creating two parallel curves 1302 and 1303 of 1102 at a distance from 1102 (e.g., the thickness of the gap). Afterward, the user must perform two more operations, such as... Figure 14 As shown. The third operation, O.3, is to normalize curve 1301 by a certain distance (e.g., the depth of the gap) in the normal direction. This operation allows curve 1401 to be found. The fourth operation, O.4, is a trimming operation between the two parallel curves 1302 and 1303. Afterwards, the user must perform two additional operations, such as... Figure 15As shown. Operations O.5 and O.6 are surface blending operations, which connect curves 1302 and 1401, and curves 1303 and 1401 to obtain two surfaces 1501 and 1502.
[0009] Therefore, in Figures 13 to 15 In this method, the user must explicitly request six different operations (O.1 to O.6). All these operations and associated features are independent, making the process difficult to optimize. Using this method, each of the six operations results in the creation of at least one new feature, leading to an increase in the size of the specification tree and / or feature tree, memory consumption, and high CPU computation time. Furthermore, as an extremely manual process, this method requires a significant amount of time from the user. It can take several hours, for example, 4 to 6 hours, to create a single gap. Moreover, all operations must be repeated for each gap the user wants to introduce into the surface.
[0010] Finally, among all possible clearance design methods, the clearance specifications are difficult to change once applied. The steps and operations performed by the user are not linked together, and the user must adjust each of these operations for every change in specifications. Therefore, the clearance must be introduced at the end of the design process, and any modifications require a significant amount of time from the user. Furthermore, it is impossible to automatically implement clearance parameters that are required relative to manufacturing constraints and / or optimized for the physical use and / or manufacturing of the object being produced (e.g., the fillet radius used to connect the clearance flange to the surface, which may be directly dependent on the stamping press).
[0011] In this case, an improved solution is still needed to form gaps on the surface representing the surface portion of the product to be manufactured. Summary of the Invention
[0012] Therefore, a computer-implemented method for forming a gap on a surface is provided. The surface represents a surface portion of a product to be manufactured. The method includes providing specifications for the gap. The specifications include a connection radius between the surface and a flange of the gap. The specifications also include a profile of the gap. The specifications further include a shape defining the gap on the surface. The method further includes sweeping the profile along the shape. The method further includes connecting the result of the sweeping to the surface by applying a rounding operation. The rounding operation has a radius equal to the provided radius.
[0013] The method may include one or more of the following: The shape defining the gap includes one or more curves located on the surface; The shape includes projections of one or more curves onto the surface, and the projections are relative to the viewing direction during drawing, the normal direction of the surface, or a user-defined direction; The shape includes the intersection of the surface with one or more other surfaces; For each given curve included in the shape, two additional curves are determined that are parallel to the given curve, and the application of rounding operation includes trimming the portion of the surface between the two parallel additional curves. For each curve in the shape that has at least one extreme point located inside the surface, the curve is extended to a closed curve or a curve having an extreme point located at the boundary of the surface. The result of the rounding operation is separated into surfaces, each including a corresponding flange of the gap, the separation including the removal of the bottom portion of the gap; Wherein, the profile of the gap is a curve with two extreme points, the curve does not self-intersect and lies in a plane, the extreme points being at the same height in the plane; The profile is defined by the thickness of the gap and the depth of the gap; The specifications of the gap include the thickness of the gap and the depth of the gap, and the method includes: automatically calculating the contour based on the thickness of the gap and the depth of the gap; The shape of the gap, the profile of the gap, and the connection radius conform to manufacturing and / or use constraints; and / or The shape of the gap, the profile of the gap, and the connection radius are derived from a simulation of the product's performance relative to the manufacturing and / or usage constraints.
[0014] A computer-implemented data structure is also provided. The data structure includes specifications for the gap. These specifications form semantic data associated with data defining a surface representation of a surface portion of a product to be manufactured. The specifications include the connection radius between the surface and the flange of the gap, the profile of the gap, and the shape defining the gap on the surface.
[0015] A computer program is also provided, including instructions for performing the method.
[0016] A computer-readable storage medium is also provided on which the computer program and / or the data structure are recorded.
[0017] A system is also provided, including a processor coupled to a memory (and optionally to a graphical user interface) on which the computer program and / or the data structure are recorded.
[0018] An apparatus is also provided, including a data storage medium on which the computer program and / or the data structure are recorded.
[0019] The device can be formed or used as a non-transitory computer-readable medium, such as on Software as a Service (SaaS) or other servers or cloud-based platforms. The device may alternatively include a processor coupled to the data storage medium. The device can therefore form wholly or partially of a computer system (e.g., the device is a subsystem of an overall system). The system may also include a graphical user interface coupled to the processor. Attached Figure Description
[0020] A non-limiting example will now be described with reference to the accompanying drawings, in which: Figures 1 to 56 The method is shown; and Figure 57 An example of the system is shown. Detailed Implementation
[0021] A computer-implemented method for forming a gap on a surface is proposed. The surface represents a surface portion of a product to be manufactured. The method includes providing specifications for the gap. The specifications include the connection radius between the flange of the surface and the gap. The specifications also include the profile of the gap. The specifications also include the shape defining the gap on the surface. This shape may also be referred to as (and / or include) a guide for the path and / or trajectory defining the gap, and may include guide curves or guide surfaces, as discussed further below. The method also includes sweeping the profile along the shape. The method further includes attaching the result of the sweeping to the surface by applying a fillet operation. The fillet operation has a radius equal to the provided radius.
[0022] This method constitutes an improved solution for forming gaps on the surface representing a product to be manufactured.
[0023] It is worth noting that the gap is formed using the provided specifications. Therefore, designing gaps using this method is an ergonomic and efficient process that can automatically form gaps simply by requiring the user to provide the radius, profile, and shape (e.g., a guide defining the trajectory of the gap). It is noteworthy that the user can directly provide specifications that meet the manufacturing and / or physical use requirements of the product, as detailed below. Furthermore, providing gap specifications can include the possibility of using one or more default specifications and iterating the method during trial and / or optimization, as discussed further below. For example, the user can simply provide the shape of the gap, and the method can be used to form the gap on the surface using default radii and default profiles. The method can also include a list of default specifications and can include methods for inferring the shape of the gap (e.g., a curve on the surface) from the shape drawn by the user. Therefore, in contrast to the prior art methods discussed previously, designing gaps using this method can be completed in seconds (e.g., simply drawing a guide defining the shape of the gap and using default radii and profiles) and requires very little interaction (e.g., using mouse clicks, using keyboard input). This method objectively reduces the amount of user-machine interaction required for gap design, which improves ergonomics.
[0024] In this method, the computations required to calculate and display the gaps on the user interface are performed in real time, on the order of seconds, such as a second or a fraction of a second. Therefore, this method has higher CPU efficiency than the prior art methods discussed earlier.
[0025] The specifications of the gaps can be formed as part of a computer-defined data structure to be added to a surface (e.g., in a modeling object defining a product and / or surface). The data structure can also include operations performed by the method such that execution of the data structure results in the formation of gaps on the surface. This data structure can be referred to as a "modifier," which is semantically supplementary data associated with the modeling object (such as a surface) and can be formed by geometric type and stack operations to be added to a typeless object. Therefore, the specifications of the gaps in the method are easily modified, and such modifications result in the formation of modified gaps accordingly. In fact, after modifying the specifications (e.g., in the data structure), the method can automatically (i.e., without explicit user intervention) recalculate the gaps based on the new specifications. The specifications are modifiable, for example, through a user interface, such as... Figure 16As shown. As is known in the art, specifications can be stored in a configuration file and can be modified through the configuration file. Users can modify each specification independently of each other. After a specification is modified, the method may include recalculating the gaps, and the operations required to recalculate and display the gaps based on the new specifications on the user interface are performed in real time. Furthermore, during the design phase, several operations may be required to create the model; therefore, the associated specification tree and / or feature tree may become complex and difficult to navigate. Storing information about the gaps in a data structure associated with the surface (e.g., a modifier) can reduce the size of the feature tree, making it easier to navigate and thus further improving ergonomics. In addition, specifications can form modifiers compatible with the weakly typed definition of the surface, as discussed, for example, in European patent applications EP18306890.7 and EP18306891.5, which are incorporated herein by reference.
[0026] Another advantage is that the specifications of the provided gaps are not limited to the surface topology; for example, the gaps are not necessarily related to the mesh structure defining the surface or the subdivision of the mesh structure. Furthermore, this method has the advantage of being able to handle several inputs with the same input specifications (e.g., in the same modifier).
[0027] Implementations of this method can always output a surface; for example, they can output a base surface whenever invalid input is introduced. Implementations can check the validity of the input after each modification to the specifications of the gap and / or surface. However, these implementations can display a message in case of errors (impossible user input). The message can contain information to identify invalid input and can indicate the reason for the error. This greatly improves ergonomics: these implementations can assist users in creating gaps by indicating errors and allowing users to correct them, and by recalculating gaps in real time, all without interrupting surface creation and therefore without interrupting the manufacturing of the product to be manufactured.
[0028] This method may include, during the manufacturing process, and / or the output of the method may be directly used to manufacture a product. For example, the method may include, after forming gaps on a surface, storing the specifications of the surface with gaps in a file, and optionally, converting them into manufacturing instructions for manufacturing a product modeled from the surface with gaps (e.g., utilizing a known CAD-CAM conversion process). The method may also automatically send the manufacturing instructions and / or the stored file to manufacturing machinery, causing the machinery to produce the product represented by the surface with gaps formed according to the instructions. The method may include physical manufacturing or simply storing the manufacturing instructions obtained from the specifications and output of the method and / or sending these instructions to the manufacturing process.
[0029] The manufacturing process can be stamping sheet metal. Specifically, the method may include storing stamping instructions in a file for transmission to stamping machinery, such as a stamping press, to stamp sheet metal and produce a product modeled from a surface having the formed gaps. For example, the product to be manufactured may be an automotive part or body part (e.g., sheet metal parts of a body-in-white, such as a door or hood). Thus, the method may provide stamping instructions as output for an automotive body including gaps, such as those corresponding to doors, hoods, trunk lids, and / or fuel tank caps.
[0030] The profile of a gap may depend on (e.g., be determined by, or depend on, or be related to) the depth and thickness of the gap. The specifications of the gap may relate to manufacturing instructions and / or usage constraints. Specifically, the shape, profile, and connection radius of the gap may comply with manufacturing and / or usage constraints. For example, the specifications may verify one or more of the following: - The depth of the gap can correspond to the thickness of the product to be manufactured; that is, the surface portion can represent the exterior of the product to be manufactured, and the depth of the gap can be used to define the flange of the product; for example, if the manufacturing process includes stamping of sheet metal (e.g., if the product is a body part), the depth of the gap can correspond to the length of the flange when it is folded after stamping (as known from the stamping itself); furthermore, the depth can affect the weight, drag, and / or aerodynamic characteristics of the product, and therefore these characteristics can be related to the depth of the gap; - The connection radius can be constrained by the production machinery; for example, some manufacturing methods cannot produce sharp edges (e.g., milling), and the connection radius can depend on the physical constraints of the production machinery (e.g., the actual machine); for example, the radius can depend on (e.g., directly corresponding to) the radius of the stamping die used in the stamping process for forming the flange (by bending the sheet metal corresponding to the surface on a circular die portion having that radius to form the flange). - The connection radius may be limited by the bending tolerance of the material; that is, the manufacturing method may involve stamping metal sheets, and the radius may depend on the bending tolerance of the metal sheet used. - The thickness of the gap can affect aerodynamic performance and the extent of water ingress during exposure to rainwater; that is, the thickness of the gap, and more generally, the profile of the gap, can affect the amount of air and / or water entering and / or leaving the gap. - The thickness of the gap can be subject to temperature considerations; that is, the product can be exposed to temperature changes, and the parts used in the product can expand (e.g., whenever the temperature rises); the gap can be designed to allow expansion; furthermore, different materials expand differently whenever the temperature rises, so the method can include finding the optimal profile of the gap based on the different materials used. - The profile of the gap may have to conform to the door opening angle; that is, the gap may define a door (e.g., a car door, fuel tank cap, engine hood), and the profile of the gap (e.g., depth and / or thickness) may be subject to the necessity of opening the door to a specified opening angle. - The profile of the gap can affect how the individual parts of a product being manufactured are joined together and the overall stability of the product; that is, the product may consist of different parts defined by gaps, and the manufacturing process may include any method for joining the different parts together (e.g., welding); therefore, the method may include adjusting the profile of the gap based on the materials used and / or the joining techniques employed; and / or - The shape of the gap can correspond to the shape of different parts of the product to be manufactured; that is, the gap can define the shape of the product as part of the gap shape (e.g., door, button).
[0031] The aforementioned features can be included in the MODSIM method. The MODSIM method is a design approach that utilizes simulation to optimize for constraints (e.g., Key Performance Indicators, KPIs). Therefore, in this method, all variables included in the shape and / or profile of the connection radius, thickness, depth, and more generally, the gap, can be determined by simulation software (e.g., by Dassault Systèmes under the trademark SIMULIA). ® (Provided) for use and / or modification. Therefore, these values and / or variables can be optimized relative to several constraints, such as aerodynamic considerations, weight considerations, production cost considerations, or any of the aforementioned considerations. As mentioned above, the values and / or variables can also be subject to manufacturing constraints, which can depend on the physical machinery used during manufacturing (such as a stamping press).
[0032] In other words, this method allows users to directly input specifications that meet manufacturing and / or usage requirements (such as one or more of those listed above), and the method will then directly and automatically generate gaps that comply with those requirements. This means that, unlike the prior art methods discussed earlier, this method allows direct input of specifications that ensure the manufacturability and / or compliance with physical usage constraints of the final product (i.e., the product with the gaps generated by the method), a guarantee not provided by prior art methods.
[0033] In the examples, the user may not know in advance the optimal specifications for the gap for a given purpose and / or given specific manufacturing requirements of the product to be manufactured. For example, the user may not know in advance the optimal specifications relative to any of the aforementioned manufacturing and / or usage constraints. In these examples, the method can be used in conjunction with performance simulation to obtain the specifications. Specifically, the shape of the gap, the profile of the gap, and the connection radius can be derived from a performance simulation of the product relative to manufacturing and / or usage constraints. Therefore, the method may optionally include performing a simulation of the product to be manufactured, which gives the specifications of the gap as output, before providing the specifications of the gap, and optionally using at least a portion of the output of the simulation as the specifications of the gap. The simulation can be a manufacturing simulation (e.g., stamping) or a usage simulation (e.g., aerodynamic performance, crashworthiness). The simulation may include simulation and / or optimization of the implementation of any of the aforementioned manufacturing and / or usage constraints. Therefore, the method may take, for example, a surface, the shape of the gap to be formed, and instructions for simulation as inputs, and a surface having a gap formed according to the radius and profile obtained in the simulation and the given shape as output.
[0034] Alternatively, the user can select a default specification as the clearance specification. For example, the user can form several clearances by repeating the method using the default specification. Therefore, this method allows the entire design to have all clearances, and the specification of each clearance is only specified at the last step (i.e., modifying the default specification). The method may include running a simulation of the surface with the formed clearances after they have been formed. Again, the simulation can be a manufacturing simulation or a usage / constraint simulation. The method may also include, after the simulation, automatically changing the clearance specifications based on the simulation results or allowing the user to change the clearance specifications.
[0035] Alternatively, the design of the surface with the gap and some initial specifications can be provided as input to an optimization procedure. This optimization procedure can be programmed to automatically update the surface parameters and / or gap specifications such that the surface with the formed gap is optimized relative to some constraints and / or objectives (e.g., manufacturing and / or usage constraints discussed above). Such optimization procedures are well known in the art. Therefore, the method can include any known optimization method to optimize the gap specifications related to product performance relative to manufacturing and / or usage constraints. The optimized specifications are then used as input to produce the optimized gap.
[0036] This method is used to form gaps on a surface. Specifically, the method takes the specifications of the surface and the gaps as input, forms the gaps on the surface through sweeping and joining steps, and outputs a surface with the formed gaps. Such an output is also a surface, and therefore can be used as input for another execution of the method: the method can be executed multiple times, each time taking the output of a previous execution as input. The method may include displaying the output on a user interface (e.g., a display), storing the output in a file (e.g., a file containing manufacturing instructions and / or that can be converted with such instructions), and / or sending the output to another system (e.g., a server, manufacturing machinery).
[0037] A surface is a two-dimensional geometric object located in three-dimensional space and can represent the boundary of a product to be manufactured. A surface can be defined by equations, parameters, and / or control points. Surfaces can be created using a variety of modeling techniques and operations. For example, a surface can be part of a boundary representation (B-rep). For example, a surface can be a subdivided surface, as discussed in European Patent Application Publication EP1750228A2, which is incorporated herein by reference.
[0038] The surface refers to the surface portion of the product to be manufactured. This means that at some point after the method, i.e. downstream of the method, after the gaps are formed in the surface, a product model generated by the design and including the gaps defined by the method can be used to manufacture the product according to the design, as described above.
[0039] A gap in a surface is a discontinuity that divides a surface into multiple (at least two) subsurfaces. A gap can be a measurable void or space that divides a surface into multiple parts. Importantly, the presence of a gap may not necessarily result in a complete break in the surface. Gaps include flanges. A flange is a protruding surface at each side of the gap that connects to the surface. A flange can project inward relative to the natural orientation of a product, where the surface represents (e.g., in a car) the boundary between the interior and exterior. A flange can be perpendicular to the surface or at any angle relative to the surface. Flanges can be parallel to each other or at an angle to each other. The flanges projecting on each side of the gap can be connected to each other through the bottom of the gap, which is a geometry that can be at a different height from the surface. Figure 19 An example of surface 1901 with gap 1902 is shown. Figure 19 In the middle, gap 1902 creates a discontinuity between the left and right sides of the surface, but surface 1901 is connected. Figure 19 An example of user menu 1903 is also shown. (Screenshot) Figures 39 to 56 This provides many examples of gaps.
[0040] The gap can be defined by its specifications. The method includes providing the specifications of the gap. Specifications include radius, profile, and shape. For example, the method may include obtaining some specifications of the gap directly by a user (e.g., using a user interface) from a stored file (e.g., a configuration file) and / or from the output of another method (e.g., simulation and / or optimization methods as described above).
[0041] Figure 1 and Figure 2B An example of gap specifications is shown, including radius (corner radius), gap depth, and gap thickness. For example... Figure 2A-2B and Figure 3 As shown, a gap can be defined as a recess that follows an intruding surface in the main surface. This type of gap can also be called a "fingerprint" gap; its specifications can also include offset, i.e., the distance from the intruding surface.
[0042] The specification of a gap includes defining the shape of the gap on a surface. The shape of the gap is a geometric object indicating the location on the surface where the gap is to be formed. That is, where the discontinuity is to be created. This method may include obtaining the shape through a combination of different methods, and optionally, connecting different elements to form the shape. For example, the shape may include one or more curves. Each of these curves is called a shape curve. The shape curve may lie on the surface. The shape curve allows the user to easily see the location where the gap is created. The shape curve may be a curve projected onto the surface. Therefore, the shape may contain projections of one or more curves onto the surface. Specifically, the projection may be relative to the viewing direction during drawing, the normal direction of the surface, or a user-defined direction. The projection can be any projection known in the art. Therefore, providing the specification of the gap may also include providing the projection. The choice of projection may also be part of a data structure (e.g., a modifier) that includes the specification, allowing it to be changed at any time after the method has been described.
[0043] Figure 20 Surface 2001 is shown. Figure 21 The diagram shows three different curves 2101 that define the shape of the gap; these are the curves that will be projected onto the surface. Figure 22 The projection curve 2201 on the surface is shown in the figure.
[0044] Projecting curves onto a surface has additional advantages. In fact, it may be easier to design curves in 3D space and then project them onto a surface without being constrained by the surface. The curve to be projected can also come from other parts of the design, such as another component of the product to be manufactured.
[0045] Therefore, the specifications for providing clearance can include: - Obtain a curve drawn by the user and convert the curve into a curve usable by the method; wherein the conversion can be accomplished using any method known in the art, for example, any method for converting a curve drawn by the user into a curve defined by equations, parameters and / or control points; - The equations, parameters, and / or control points for the curve are obtained by the user through simulation or optimization processes; and / or - Obtain the option of projection; preferably, project the curve onto the surface.
[0046] For example, the curves mentioned above can be subdivided curves, as discussed in European patent applications EP23306674.5 and EP23306680.2, which are incorporated herein by reference.
[0047] The shape may also include the intersection of this surface with one or more other surfaces. This intersection may consist of one or more curves. The one or more other surfaces may be part of the design, for example, other parts of the product to be manufactured. They may also originate from predicted interactions between the product to be manufactured and the real world. Figure 24 An example is given in the text. Figure 23 Surface 2301 is shown, and Figure 24 The same surface and three other surfaces 2401 are shown. The shape of the gap includes the intersection of these other surfaces 2401 with surface 2301.
[0048] Therefore, the specifications for providing clearance may also include: equations, parameters and / or control points for the surface obtained by the user through simulation or optimization processes; and obtaining the intersection of the obtained surface with the surface.
[0049] Another advantage of defining the shape as described above using curves and / or surfaces is that the method can automatically recalculate the gap according to new specifications after the curves and / or surfaces are modified. For example, the curves and / or surfaces can be defined by parameters and / or control points, and the method can include detecting any changes in the parameters and / or control points in real time and then updating the gap in real time thereafter. Furthermore, the curves and / or surfaces to be projected can also be modified using geometric operations, such as rotation, expansion, or any geometric transformation of space. Therefore, the method can also include updating the gap after such geometric operations.
[0050] The method may further include: after obtaining the shape of the master surface and the gap including the curve to be projected and / or the surface as input, detecting problematic input (e.g., input that cannot be processed by the method to form the gap), reporting errors about these inputs (e.g., displaying an error containing details about the problematic input in the user interface), and continuing the method after ignoring the problematic input. Examples of problematic inputs that the method can detect may be: - Curves not projected onto the main surface; - The curve projected onto a point on the main surface; - Surfaces that intersect with the main surface in a trivial manner; - The surface that intersects the main surface at a certain point; and / or - A surface that intersects the main surface in two dimensions.
[0051] The method may also include making inferences about a portion of the input if the input does not meet certain requirements.
[0052] A closed curve is a curve without extrema, such as a circle, ellipse, egg, or any other closed curve known in the art. A closed curve located on a surface or having extrema at the boundary of a surface is called a separating curve. A separating curve divides a surface into two or more regions (i.e., surfaces) defined by the portion of the curve. For example, a separating curve can define the various parts of a product to be manufactured.
[0053] This method can detect unseparated shape curves as problematic input. Alternatively, the method may also include expanding each shape curve into a separated curve. That is, the method may also include expanding each curve included in the shape that has at least an extreme point located inside the surface (e.g., a curve located on the surface) into a closed curve or a curve with an extreme point located in the surface boundary. Thus, the method may include processing the shape before forming the gap such that each shape curve divides the surface into two or more parts.
[0054] This extension step allows users significant flexibility. For example, if the shape curve is derived from a projection of a curve, the user does not need to precisely check whether the endpoints of the projected curve correspond to the surface boundary. This method can automatically correct the curve by extending it into a separate curve. In the example, the curve can be obtained through different methods, and there may be rounding or approximation errors affecting the curve. Therefore, such a curve may not have an extreme point exactly at the surface boundary, and the extension method allows users to ignore such problems. Thus, the extension step saves users time and further improves the ergonomics of the method.
[0055] This method may include any method known in the art for extending a curve into a closed curve. For example, the method may include adding a portion of a geodesic originating from each extremum of the shape curve located within the surface. The geodesic may, for example, have the same tangent vector as the shape curve at the extremum.
[0056] The specifications also include the profile of the gap. The profile can be a transverse two-dimensional geometry of the gap. The profile can represent how the gap looks in each cross-section perpendicular to the shape, and can be the same in each cross-section perpendicular to the shape. The profile includes a flange and may include the bottom of the gap.
[0057] A profile can be a one-dimensional geometric object in a two-dimensional cross-section plane. The profile of a gap can be a curve with two extrema. The curve can be non-self-intersecting and lie in the plane. The extrema can be at the same height in the plane. "At the same height in the plane" means that the plane is given in Cartesian coordinates and the extrema have the same value relative to one of the coordinates (e.g., the vertical coordinate).
[0058] Designing the profile as a curve has considerable advantages. This method can include any known approach to designing a curve to obtain the profile. The profile can be readily adapted to the specific purpose of the object being manufactured, i.e., its use after manufacturing. The curve can also be obtained as the output of simulation and / or optimization methods known in the art. The profile of the gap can, for example, be U-shaped or V-shaped. A U-shape is a profile formed by two lines of equal length joining together through a semicircle at their lower extreme points. A V-shape is a profile formed by two lines of equal length joining together at their midpoint.
[0059] exist Figure 25 An example of a gap profile is given. The gap profile can be characterized and / or defined by multiple parameters. For example, the gap thickness can be defined as the distance between two extreme points of the profile. The gap depth can be the height difference between the extreme points (which can be at the same height) and the lowest point in the profile. The gap depth can also be the length of the flange.
[0060] The specifications of the gap can include the gap thickness and the gap depth, and the method can also include automatically calculating the profile based on the gap thickness and depth. That is, after obtaining the gap thickness and depth, the method can perform a series of actions to determine the gap profile. Such actions are implemented in... Figure 26 This is presented in the text and discussed in further detail below.
[0061] This method can also include default parameters for thickness and depth, thus providing users with on-the-spot selection of the gap profile. This further improves the ease and speed of use for users, and further enhances the ergonomics of the method.
[0062] The method may also include a list of possible profiles (and associated parameters). These profiles may be the most well-known profiles for a specific purpose and / or manufacturing constraints. Therefore, thanks to this method, a user can select the optimal profile for a given purpose and / or manufacturing constraints.
[0063] The specification includes the connection radius between the flange and the surface of the clearance. The connection radius is the radius of the fillet used in the downstream fillet operation in this method. The fillet operation is performed at the intersection between the surface and the flange to connect the surface to the flange. As is known in the art, fillets are an important part of the design, improving manufacturability, simplifying the machining process, extending product life, and facilitating easier alignment of parts during assembly.
[0064] The method also includes sweeping the contour along the shape. As is known in the art, sweeping is a geometric modeling technique for creating a three-dimensional shape by translating a two-dimensional contour along a specified path. In this method, the contour is the contour of the gap, and the specified path is the shape. Therefore, the method may include attaching the contour of the gap to arbitrary points of the shape and sweeping the contour along the shape.
[0065] The profile of the gap can be, for example, a curve in a plane. This curve can have extreme points at the same height in the plane. Therefore, the method can include attaching the profile to the surface at arbitrary points of the shape, such that... - The profile lies in a plane orthogonal to the shape at the stated point; and - The extreme points of the profile lie on the surface.
[0066] The method may then include sweeping the profile along the shape while satisfying the aforementioned conditions at each point. Therefore, the method may include changing the reference frame to place the profile in a plane. The plane may pass through one or more endpoints of the shape (e.g., endpoints of guides included in the shape, endpoints of trajectories included in the shape, or endpoints of curves included in the shape). The normal to the plane may be tangent to the shape at the endpoints. Orientation can be defined by positioning the two endpoints of the profile on a surface.
[0067] The method also includes attaching the sweeping result to the surface by applying a rounding operation. The rounding operation has a radius provided. The rounding operation may include a trimming operation. The rounding operation adds a fillet between the surface and the flange of the gap along the shape of the gap. The trimming operation may remove a portion of the surface along this shape. Specifically, the trimming operation may remove the portion of the surface above the gap. Such a trimming operation is, for example, in... Figure 5 and Figure 6 As shown in the diagram. The trimming operation can also remove the portion of the surface above the fillet portion that connects the flange to the surface. In other words, the fillet operation can first create a fillet connection between the flange and the surface, and then can automatically follow (e.g., automatically invoke) a trimming operation that removes unnecessary portions of the surface that still cover the gap and fillet connection. This may occur when the method does not identify two parallel curves as described herein. In the case where the method identifies two parallel curves, the method may first include a trimming operation to remove (trim) the portion between the two parallel curves, and then include a fillet connection between the flange and (trim) the surface, as discussed further below. Figures 28 to 30 (For trimming after rounded corners) and Figures 31 to 33 (The trimming before the fillet connection between two parallel curves) illustrates these alternative trimmings. In both cases, the trimming operation removes the portion of the surface above the gap.
[0068] The result of the fillet operation is a surface with the formed gap. The output of this method can be provided to a user, for example, through a graphical interface (e.g., a display), and can be further modified and / or sent directly to the manufacturing process.
[0069] The method may further include, prior to sweeping, determining two additional curves that are parallel to (and necessarily parallel to) each given curve included in the shape (i.e., for each shape curve). This method may include any known methods in the art for determining parallel curves. The sweeping operation can then be guided by the two parallel curves. For example, the profile may be a curve having two extreme points at the same height in a plane, and the method may include sweeping the profile in such a way that the extreme points of the profile always lie on the parallel curves. Furthermore, the method may also include trimming the portion of the surface defined by the two additional parallel curves as part of a fillet operation.
[0070] In a specific example, using two parallel curves as guides can provide a more stable solution and better control over the sweeping operation. In practice, the user has more direct access to the trimmed portion of the surface (i.e., the portion of the surface between the parallel curves) and the contact curve between the surface and the flange of the gap (i.e., the parallel curves).
[0071] In the example, surfaces with the formed gaps obtained using this method can be connected. For example, surfaces can be connected, and the profile can be a curve with two extreme points at the same height, and surfaces with the formed gaps obtained according to this method can be connected. Figure 19 An example of a connection with a gap is shown in the figure.
[0072] Because it may be important for design and subsequent manufacturing steps to assign different properties (e.g., material, thickness) to each surface defined by the shape of the gap, further steps may be required in this method. The method may also include separating the result of the fillet operation (i.e., the surface with the formed gap) into multiple surfaces, each comprising a corresponding flange of the gap. Separation may include removing the bottom of the gap.
[0073] Removing the bottom of a gap can break the surface along its shape. The bottom of the gap may exist in the surface solely for design reasons and may not be intended for use in the manufacturing process. After separation, multiple surfaces can be obtained, each defined by the flange of the gap or the boundary of the input surface. Each of these surfaces can be treated as a distinct object by the program (e.g., in a specification tree and / or feature tree), and therefore they can have different properties. One or more of the obtained surfaces can be modified, removed, or moved according to the design. However, these multiple surfaces can still be associated with the original surface, so that any change to the original surface can automatically cause changes to these multiple surfaces.
[0074] In the example, removing the bottom of the gap can be achieved by removing the bottom of the gap's profile and all the geometry generated from it. In fact, in the example, the gap's profile can have a bottom, and after removing the bottom of the gap's profile, the profile can become discontinuous (e.g., U-shaped, where the bottom is a semicircle). Therefore, in such an example, the bottom of the gap can consist of all the geometry obtained by applying all operations performed during the method (e.g., sweep operations; operations can be stored in a dataset, such as a modifier, or a history of all operations, such as a topology log) to the bottom of the gap's profile. Therefore, after removing the bottom of the gap's profile, the method can automatically update the surface by removing the bottom of the gap.
[0075] The separation operation can be part of the Convert to Geometry operation. Figure 38A The surface is shown as being divided into four different surfaces 3802 to 3805 by a gap 3801. Figure 38B The diagram shows a possible user menu for applying the operation of converting to geometry. This menu can be accessed, for example, by right-clicking on the surface with the mouse.
[0076] The different implementations of this method will now be discussed. These implementations can be combined, and any combination of the implementations discussed below is conceivable.
[0077] This presents an implementation of the process for creating the provided contour based on user-defined gap parameters. In this implementation, the user first selects the contour type, such as a U-shape or a V-shape, or any other contour, such as... Figure 25 The profile can be selected from the list via a menu or any method known in the art. The profile can be a connected curve in a plane that does not self-intersect, whose two extreme points are at the same height in that plane.
[0078] Depending on the type of contour selected, the user needs to enter one or more parameters and / or choose to accept the default parameters. For example, if the user selects a U-shape or a V-shape, the user may need to enter two parameters: thickness and depth.
[0079] Figure 26 The example illustrates a U-shaped profile. The user needs to provide thickness and depth as input. The implementation then creates a first line in the plane (i.e., Figure 26 The method involves two lines: line 1 (i.e., line 1) and line 2 (i.e., line 2). Line 1 has a length L (L = depth - thickness × 0.5), and line 2 is a horizontal offset distance D (D = thickness) of line 1 along the plane. The implementation then creates a semicircle in this plane, with its center C at the midpoint of the lower extreme points of lines 1 and 2, and a radius R = thickness × 0.5. The resulting curve is the profile of the gap. The resulting profile is G1 continuous. If the profile of the gap is smooth (as a curve), then the surface with the gap formed according to this method can be smooth. The smoothness of the surface may be beneficial for further applying operators and methods to the resulting surface.
[0080] For a V-shape, a similar process can be implemented, where two lines are created starting from points of equal height and distance equal to the thickness, and they join at a single point at the bottom. In this case, the contour is not smooth, and the method can be further modified to make the V-shape smoother.
[0081] One implementation may designate a portion of the curve as the "bottom of the gap." This portion of the curve may be, for example, a semicircle in the case of a U-shape, or the bottom junction in the case of a V-shape. The bottom of the gap may be any part of the contour that breaks the contour into two parts.
[0082] exist Figure 17 and Figure 18 The flowcharts for implementing the method and the flowchart for implementing the method including the determination of the two parallel curves discussed earlier are shown in the figure.
[0083] In both implementations, the specifications for providing the gap include: - Zero or more 1D inputs (e.g., 0, 1, 2 or more 1D inputs), i.e. zero or more curves; - Select the projection direction (not shown in the figure); - Zero or more 2D inputs (e.g., 0, 1, 2 or more 2D inputs), i.e. zero or more surfaces; - The main shape is the surface on which gaps will be formed; and - Profile creation (including selection of thickness and corner radius).
[0084] Both implementations include the step of joining (1), where zero or more 1D inputs are joined to form a joint body 1. The joint body 1 is then projected onto the main shape using a selected projection (e.g., the view direction or normal direction during creation). If the projection of a curve constituting the joint body 1 (i.e., one of the 1D inputs) is unusable in the implementation, an error can be indicated to the user. For example, an error can be indicated if the projection of the curve meets the following conditions: - The projection of the curve is empty, that is, the curve is projected outside the main shape; - The projection of a curve is a point, that is, the curve follows the direction of the projection.
[0085] The list of 1D input types that could cause the implementation to display an error message may be quite large. In any case, for all the following steps, each 1D input that caused the error is ignored. The implementation continues after discarding the input. However, after modifying any input, the discarded input can be reconsidered.
[0086] The curves obtained as projections are collected in tracking volume 1.
[0087] In parallel, both implementations include the step of joining (2), where zero or more 2D inputs are joined to form a joined body 2. The joined body 2 then intersects with the main shape. If the intersection of the surface constituting the joined body 2 (i.e., one of the 2D inputs) with the main shape is not usable in the implementation, an error is displayed to the user. For example, an error may be displayed if the intersection meets the following conditions: - Intersection is empty, that is, the surface does not intersect with the main shape; - Intersections are either a finite number of points or two-dimensional.
[0088] The list of 2D input types that could cause the implementation to display an error message may be quite large. In any case, each 2D input that caused the error is ignored for all subsequent steps. The implementation continues after discarding the input. However, discarded inputs can be reconsidered after any input has been modified.
[0089] The curves obtained from the intersection are collected in tracking volume 2.
[0090] Then, both embodiments include the step of joining (3), wherein tracking body 1 and tracking body 2 join to form a guide body. The guide body is a shape consisting entirely of a gap composed of curves located on a surface. The embodiments may further include the optional step of extending each curve in the guide body that has an extremum point inside the main shape into a curve that has an extremum point on the boundary using geodesics. Figure 17 (Not shown in the diagram). For example, an extension can be made using geodesics that begin at the extreme points, where the tangent vectors are the tangent vectors of the curve at these points.
[0091] In parallel with the above, both implementations include the step of creating the profile of the gap. This can be done according to any implementation, such as the one presented above. In any case, a profile volume (i.e., the profile of the gap) is created. A profile volume is a curve in a plane that has two extreme points and does not self-intersect, wherein the two extreme points are at the same height in the plane.
[0092] The two implementation methods differ in the subsequent steps.
[0093] Figure 17 The diagram shows a flowchart of a first embodiment of the method.
[0094] The first embodiment includes applying a sweep operation, i.e., sweeping the contour along the shape, after creating the guide body. The sweep operation uses the guide body and the contour body as input. In this embodiment, the curves including the guide body can be considered one by one. Alternatively, the embodiment may first check all intersections of curves in the guide body and apply the following operations in parallel for non-intersecting curves.
[0095] For each curve in the guide body, the implementation includes selecting an input anchor point. An input anchor point is a point on the curve that can be selected by the user or automatically determined by any method in the implementation. For example, if the curve has two extreme points, the input anchor point could be the center of the curve, or any other selected point. The anchor point can be the point with the lowest coordinates.
[0096] Then, this implementation includes performing a sweeping operation such that the profile of the gap is swept along a curve. Specifically, this implementation includes attaching the profile of the gap to the input anchor point in such a way that: - The plane of the profile is perpendicular to the curve; - The two extreme points of the profile lie on the surface; and - The input anchor point is the midpoint of the extreme point.
[0097] The profile of the attachment gap may also include changing the reference frame to place the profile in a plane, as explained above in this application. The sweep operation includes sweeping the profile along the curve in a manner that satisfies the above conditions at each point on the curve. If at any point, and for any reason, the sweep operation cannot be performed or fails, an error is prompted to the user, and the associated curve in the guide body is ignored for all subsequent steps. This implementation continues after discarding the curve.
[0098] This implementation also includes storing the obtained output, i.e., the union of all these swept profiles, in the swept body after the sweeping operation. By configuration, the swept body is a collection of surfaces and is connected to the main shape along the guide body.
[0099] This implementation also includes performing a fillet operation between the master shape and the swept profile based on the radius entered in the profile creation step. The fillet operation creates a new surface, represented as a gap body, from the master shape and the swept body. The fillet is performed along the guide body, i.e., along the intersection of the master shape and the swept body. The fillet operation includes trimming the support surface to trim a portion of the surface, which includes the portion between the extreme points of the swept profile that forms the swept body.
[0100] If, at any point and for any reason, the fillet operation cannot be performed, an error is displayed to the user, and the associated curve in the guide body is ignored for all subsequent steps. This implementation continues after discarding the curve.
[0101] exist Figures 27 to 30 The text shows the sweeping and rounding steps. Figure 27 Curve 2703 in the guide body is shown. The profile of the gap (i.e., the profile body) is shown as U-shape 2702. Figure 27 A sweep operation 2701 is shown for sweeping a profile in such a way that the two extreme points are always located on the surface. Figure 28 A side view of the main shape 2802, the outline 2702 of the gap, and the swept surface 2801, which is a combination of the main shape and the swept body, is shown. Figure 29 The diagram illustrates the fillet operation performed between the flanges of the main shape and the gap profile to create fillet 2901. Figure 30 The trimmed support surface 3001 is shown to be rounded to remove surface portions between gap profiles.
[0102] The result, i.e., the gap body, is displayed to the user. It is the main shape with a gap formed according to the user's specifications.
[0103] exist Figure 18 The diagram illustrates an implementation of the method using parallel curves, namely, the second implementation. Figure 18 It should be understood that at each step, all operations and constructions performed on the original surface are stored to form a dataset represented as a Topology Journal.
[0104] The second implementation includes the step of determining two parallel curves for each given curve in the guide body after creating the guide body: parallel curves. The parallel curves are necessarily also parallel to each other. The parallel curves are created at a distance equal to the thickness (e.g., both are half the thickness of the given curve), which is entered during profile creation. For this purpose, the implementation can use a geodesic mode. If at any point, and for any reason, the parallel curve operation cannot be performed or fails, an error is displayed to the user, and the given curve is ignored for all subsequent steps. The implementation continues after discarding the curve. All parallel curves are stored in parallel bodies 1 and 2, such that each curve in parallel body 1 is parallel to (at least) the curves in parallel body 2 and the guide body. This implementation may include determining parallel curves among non-intersecting parallel curves in parallel.
[0105] The implementation then includes selecting an anchor point for each given curve, for example, as in a previous implementation. The implementation then includes a dual-guided sweep step to sweep the contour volume along the curve, i.e., sweep the contour along the shape.
[0106] Specifically, an implementation similar to this method includes attaching the profile of the gap to the input anchor point in such a way that: - The plane of the profile is perpendicular to the curve; and - Each of the two extreme points of the profile lies on the corresponding parallel curve.
[0107] The profile of the attachment gap may also include changing the reference frame to place the profile in a plane, as explained above in this application. The dual-guided sweep operation involves sweeping the profile along two parallel curves in a manner that satisfies the conditions described above at each point on the curve. If, at any point, and for any reason, the dual-guided sweep operation cannot be performed or fails, an error is displayed to the user, and the given curve is ignored for all subsequent steps. This implementation continues after discarding the curve.
[0108] This implementation also includes storing the obtained objects (including the main shape and the swept contour) in the swept body after the dual-guided sweep.
[0109] The embodiment further includes a trimming operation, designed to trim the surface portion between two parallel curves resulting from each given curve in the guide body. If, at any point and for any reason, the trimming operation cannot be performed or fails, an error is displayed to the user, and the given curve is ignored for all subsequent steps. The embodiment continues after discarding the curve.
[0110] The pruned object is referred to as the pruned body. This implementation also includes attaching a history of all operations and constructions performed on the original surface to obtain the pruned body to the pruned body. These operations and constructions constitute a dataset represented as a topology log.
[0111] Finally, this implementation includes an edge rounding operation to create rounded corners along each parallel curve in parallel bodies 1 and 2 with the surface. In this second implementation, an edge rounding (rather than shape rounding) operation may be preferred because it better handles intersections of traces. Similarly, if at any point, and for any reason, the edge rounding operation cannot be performed or fails, an error is displayed to the user, and the given curve is ignored for all subsequent steps. This implementation continues after discarding the curve.
[0112] exist Figures 31 to 33 The steps of dual-guided sweeping, trimming, and edge rounding are shown in the diagram. Figure 31 Two parallel curves 3103 in parallel bodies 1 and 2 are shown respectively. The profile of the curves is shown as a U-shape 3102, and a sweep operation 3101 is used to sweep the profile so that the extreme points of the profile are located in the two parallel curves. Figure 32 The swept body 3203 and the main surface 3201 are shown in the side view. Figure 32 The trimming operation is also shown, in which the surface portion 3202 between the two parallel curves is removed. Finally, Figure 33 The fillet operation is shown, with fillet 3301 formed between the flange and the surface of the gap profile.
[0113] The result, i.e., the gap body, is displayed to the user. It is the main shape with a gap formed according to the user's specifications.
[0114] Both of the above implementation methods have several advantages: - Many steps of the implementation can be executed in parallel, thereby optimizing computation time; the implementation can be designed to use several different cores of the CPU and / or the GPU simultaneously; - The implementation can be applied to any type of surface, and it is independent of the topology of the shape (e.g., it is not associated with any mesh). - The implementation can always provide a surface as output; in the event of an error, the implementation can provide which input caused the error at which step as additional output; and - It can automatically execute and record all operations; whenever any input is modified, the method can modify the output in real time.
[0115] In specific examples, the second implementation may be more stable than the first implementation.
[0116] An implementation of the steps for converting the gap into a geometry (i.e., separating the surface with the formed gap along the shape of the gap) is described. The input to the implementation is a gap body obtained according to either of the two previously described methods, wherein the bottom of the curve is marked during profile creation. The gap body includes a log of all performed operations (and the order of execution), such as a topology log. As mentioned above, the bottom of the curve is a portion of the gap profile that breaks the gap profile into two parts, for example, by breaking the two flanges of the gap.
[0117] Whenever the user executes the command "Convert to Geometry", the implementation removes the bottom of the gap's profile and follows all topology actions performed by the previous implementation (e.g., stored in the topology log) to convert the main shape into a gap volume using the gap's profile without a bottom. This creates a broken surface.
[0118] These implementation methods are in Figures 34 to 37 This is presented in detail. The separation operation can be a pure topology operation. Figure 34 In the diagram, the profile of the gap is shown as a U-shape, with a flange 3401 and a bottom 3402 of the gap profile consisting of a semicircle. Figure 35 A portion of the result of the sweep operation is shown. The sweep operation applied to 3402 gives the bottom 3501 of the gap: this is a set of faces (i.e., two-dimensional geometric objects) obtained through the history of all executed operations applied to 3402 (e.g., sweep operations stored in the topology log). Figure 36 In the diagram, the surface 3601 including the gap is shown as both a swept bottom 3501 and a swept flange 3602 including the gap. The bottom 3501 of the gap can then be removed. This can be achieved, for example, by invoking an extraction topology operator with a "complementary mode". This operator retrieves all other surfaces and generates a multi-domain volume containing the set of all connected surfaces. Figure 37 In the diagram, separation is indicated at point 3703, and the surface sheet is separated into two parts, 3701 and 3702. For each of these new surfaces, a new volume can be created, and the new volume can be hosted by a feature. These new volumes can always remain associated with the original feature (i.e., the master surface).
[0119] A computer-implemented data structure is also provided (e.g., stored in a (e.g., non-transitory) computer-readable data storage medium). The data structure includes specifications for the gap. The specifications form semantic data associated with data defining a surface representation of a surface portion of a product to be manufactured. The specifications include the connection radius between the surface and the flange of the gap, the profile of the gap, and the shape defining the gap on the surface.
[0120] Specifically, surfaces can be defined by various features, such as equations, parameters or control points known in the art, operations applied to the surface, the joining of different surfaces, or any combination thereof. These features can form part of a computer-defined dataset expressing the surface (e.g., in a modeling object defining a product and / or surface). The data structures discussed above are computer-defined computer objects to be added to the surface. For example, a data structure can be a “modifier” as previously discussed, which is semantic supplementary data associated with a modeling object (such as a surface), and can be formed by geometric types and stack operations to be added to a typeless object. Adding a data structure to the computer definition of a surface can correspond to the steps in the method discussed herein that provide specifications, upon which further steps of the method can be performed. Thus, a data structure is a computer-defined computer object to be added to the surface in order to create gaps on the surface according to the method discussed herein.
[0121] The specifications of the gap can also be added to the dataset (e.g., a modifier). Furthermore, the modifier can also include all operations applied to the surface, particularly those operations in the step of forming a gap on the surface in the methods discussed herein (e.g., operations performed in any of the above embodiments).
[0122] Storing specifications as inherent characteristics can have significant efficiency implications. In fact, different objects (e.g., disjoint objects) can be processed in parallel. Furthermore, modifiers for objects can be optimized using any methods known in the art. Therefore, when multiple objects (at least one of which has gaps) exist in the same model (e.g., specification tree and / or feature tree), storing gap-related information in a data structure composed of semantic data implies a significant computational advantage. Since many products to be manufactured consist of several parts, each potentially with gaps, the data structure provides a better way to store information and optimize computations performed by the CPU and / or GPU. Moreover, storing data in modifiers further simplifies the model's specification tree and / or feature tree, making navigation and understanding easier. This allows users to spend less time navigating the specification tree and / or feature tree, thus reducing the number of clicks and user interactions required to complete the model. This further improves ergonomics.
[0123] Furthermore, since the specifications of the gaps can be stored as semantic data of the surface, they are easier to access (as an inherent property of the surface) and modify.
[0124] The method may also include obtaining multiple inputs (e.g., multiple profiles and / or specifications of the gaps) and optimizing the required steps to reduce the number of operations required to obtain a surface with multiple gaps. For example, Figure 18 Three examples of this optimization step are shown: step joint (1), joint (2), and joint (3) effectively reduce the computation time for obtaining a surface with multiple gaps. The method can also include meta-operators for processing multiple profiles and / or specifications simultaneously. For example, all input modifiers can be read from and processed simultaneously from the meta-operator. For example, a multi-domain body can be included, pointing to all profiles and / or specifications. For example, a sweep of a profile can process the entire multi-domain profile at once to generate a multi-domain shell for the sweep result. For example, fillet operations can be performed on multi-domain data. Such optimization steps reduce the number of operations to be performed, rather than operating on each input data. Therefore, this optimization step significantly enhances performance whenever multiple inputs are given.
[0125] Figures 39 to 56 These are screenshots illustrating an implementation of the method. These figures demonstrate the method and its advantages. Figure 39 A surface 3901 with a gap 3902 is shown. Such a gap is calculated according to this method. A curve 3903 is input by the user to determine the shape of the gap. Specifically, curve 3903 has been projected onto the surface to obtain a closed curve located on the surface. The curve located on the surface is the shape of the gap. Figure 40 The same surface is shown from a side view. Figure 40 In the middle, the surface specification tree / feature tree 4001 is visible.
[0126] Then, the user continues to modify the shape of the gap. To do this, in Figure 41 In the diagram, the user selects two control points 4101 (using the mouse cursor) and 4102. These control points control the shape of curve 3903. Therefore, by modifying control points 4102, the user modifies curve 3903 and thus its projection onto the surface, i.e., the shape of the gap. Figure 42 In the middle, modify the control curve 3903 along segment 4201. Then, by executing this method, recalculate the gap based on the new shape. Figure 43 The results show that gap 3902 has been recalculated and its shape follows the new specifications caused by curve 3903. Figure 44 It shows Figure 43 Side view.
[0127] Figure 45The surface and gap 4501 are shown. The gap is selected in the specification tree / feature tree, and its parameters are displayed on the left side of the user interface. Specifically, parameters regarding the gap thickness are selected, and user interface 4502 becomes visible. This user interface can be used to modify the gap thickness. The thickness is modified, and the result is displayed... Figure 46 As shown in the image. Figure 46 The gap in the middle is 4501 compared to Figure 45 The same gaps in them are much thicker. Figure 47 yes Figure 46 An enlarged version; the same gap can be seen from a close-up view.
[0128] Figure 48 The surface with the gap is shown at close range, where the flange of the gap can be seen. Figure 48 In the middle, the double-headed arrow 4801 is used to measure the depth of the gap. Figure 49 The same surfaces with gaps following the same shape are shown from the same angle. Figure 49 and Figure 48 The difference lies in the change in the gap specifications: in Figure 49 The depth of the interstitial gap has been reduced. In fact, Figure 49 The double-headed arrow 4901 is much shorter than 4801.
[0129] Figures 50 to 56 A model of the car body is shown. Figure 51 A close-up angle of the vehicle is shown, where control curve 5101 can be seen. This control curve is projected onto a surface (i.e., a model of the vehicle) to obtain the shape of the gap. Gap 5102 has been obtained according to this method. Gap 5102 defines the hood of the vehicle model. The user then continues to modify the shape of the gap. For this purpose, in Figure 52 In the middle, the user selects 5201 (using the mouse cursor) and controls two control points 5202 to control the shape of curve 5101. These control points follow... Figure 53 Move in direction 5301.
[0130] The result is Figure 54 As shown in the diagram. Based on the projection of the control curve, the gap has been modified at position 5401 (automatically according to this method). Figure 55 A second modification to the control curve was introduced. The control curve was modified along direction 5501, and the control point was moved through segment 5502. The results of the two modifications to the clearance are as follows: Figure 56 As shown in the diagram, the second modification can be seen at position 5601. The car's hood has been modified.
[0131] These screenshots illustrate how the gap specifications can be easily modified using this method. This can be done, for example, by modifying the corresponding parameters or control points. The calculations are performed in real time, and the results appear on the screen immediately (i.e., after a very short period of time, such as a few seconds). The modified gap can then be modified again.
[0132] "Designing and manufacturing a product (or a product to be manufactured) / mechanical component / mechanical product" refers to any action or series of actions that is at least a part of a process detailing the modeling object (3D or 2D) of the product / mechanical component / mechanical product. As previously stated, this method can form such a process or at least a part of such a process.
[0133] Therefore, this method typically manipulates modeling objects, such as surfaces envisioned in the method. A modeling object is any object defined by data, for example, stored in a database. By extension, the expression "modeling object" refers to the data itself. Depending on the type of system, modeling objects can be defined by different types of data. This system can actually be any combination of CAD, CAE, CAM, Product Data Management (PDM), and / or PLM systems. In these different systems, modeling objects are defined by corresponding data. Therefore, they can be referred to accordingly as CAD objects, PLM objects, PDM objects, CAE objects, CAM objects, CAD data, PLM data, PDM data, CAM data, and CAE data. However, these systems are not mutually exclusive, as modeling objects can be defined by data corresponding to any combination of these systems. Therefore, a system can simultaneously be a CAD, CAE, PLM, and / or CAM system, as will be apparent from the definition of such a system provided below.
[0134] CAD solutions (e.g., CAD systems or CAD software) also refer to any system, software, or hardware, such as CATIA, that is at least suitable for designing modeling objects based on their graphical representation and / or structured representation (e.g., feature trees). In this context, the data defining the modeling object includes data that allows the modeling object to be represented. CAD systems may provide a representation of CAD modeling objects, for example, using edges or lines (and in some cases, faces or surfaces). Lines, edges, or surfaces can be represented in various ways, such as non-uniform rational B-splines (NURBS). Specifically, CAD files contain specifications from which geometry can be generated, which in turn allows for the generation of representations. The specifications of the modeling object can be stored in a single CAD file or multiple CAD files. The typical size of a file representing a modeling object in a CAD system is in the range of one megabyte per part. Furthermore, the modeling object can often be an assembly of thousands of parts.
[0135] In a CAD environment, modeling objects can typically be 2D or 3D modeling objects, such as representing products like parts or part assemblies, or perhaps product assemblies. 2D or 3D modeling objects can be manufactured products, i.e., products to be manufactured. A "3D modeling object" refers to any object modeled from data that allows for its 3D representation. 3D representation allows parts to be viewed from all angles. For example, when represented in 3D, a 3D modeling object can be manipulated and rotated around any of its axes or around any axis on the screen displaying that representation. This specifically excludes 2D icons that are not modeled in 3D. The display of 3D representations aids in design (i.e., increases the speed at which designers can statistically complete their tasks). This accelerates the industrial manufacturing process because product design is part of the manufacturing process.
[0136] After virtual design of a 2D or 3D modeled object is completed using, for example, CAD / CAE software solutions or CAD / CAE systems, the 2D or 3D modeled object can represent the geometry of a real-world product to be manufactured, such as (e.g., machinery) parts or part assemblies (or equivalently, part assemblies, since from the perspective of this method, the part assembly itself can be considered a part, or the method can be applied independently to each part of the assembly), or more generally, any rigid body assembly (e.g., a moving mechanism). CAD / CAE software solutions allow for product design in a wide and unlimited range of industrial sectors, including: aerospace, architecture, engineering construction, consumer goods, high-tech equipment, industrial equipment, transportation, marine and / or offshore oil / gas production or transportation. Therefore, the 3D modeling objects designed using this method can represent industrial products, which can be any mechanical component, such as components of land vehicles (including, for example, automobiles and light truck equipment, racing cars, motorcycles, truck and motor equipment, trucks and buses, trains), components of aircraft (including, for example, fuselage equipment, aerospace equipment, propulsion equipment, defense products, airline equipment, space equipment), components of naval vehicles (including, for example, naval equipment, commercial ships, marine equipment, yachts and workboats, marine equipment), general mechanical components (including, for example, industrial manufacturing machinery, heavy mobile machinery or equipment, installation equipment, industrial equipment products, metal products, tire products), electromechanical or electronic components (including, for example, consumer electronics products, safety and / or control and / or instrumentation products, computing and communication equipment, semiconductors, medical devices and equipment), consumer goods (including, for example, furniture, home and garden products, leisure goods, fashion products, products of hard goods retailers, products of soft goods retailers), and packaging (including, for example, food, beverage and tobacco, beauty and personal care, and household product packaging).
[0137] CAD systems can be history-based. In this case, the modeling object is further defined by a history of data including geometric features. The modeling object can actually be designed by a natural person (i.e., a designer / user) using standard modeling features (e.g., extrusion, revolve, cut, and / or fillet) and / or standard surface features (e.g., sweep, blend, loft, fill, deform, and / or smooth). Many CAD systems that support this modeling capability are history-based. This means that the creation history of design features is typically maintained through an acyclic data stream that links the geometric features together via input and output links. The history-based modeling paradigm has been well-known since the early 1980s. The modeling object is described by two persistent data representations: history and B-rep (i.e., boundary representation). The B-rep is the result of calculations defined in the history. When representing the modeling object, the shape of the part displayed on the computer screen is the B-rep (e.g., tessellation of the B-rep). The history of the part is the design intent. Essentially, the history collects information about the operations the modeling object has undergone. B-rep can be saved along with history to make it easier to display complex parts. History can also be saved along with B-rep to allow for design changes to parts based on design intent.
[0138] A PLM system also refers to any system suitable for managing modeled objects that represent physically manufactured products (or products to be manufactured). In a PLM system, the modeled objects are therefore defined by data suitable for manufacturing the physical objects. These can typically be dimensional values and / or tolerance values. Having such values is indeed better for correctly manufacturing the objects.
[0139] CAE solutions also refer to any solution, software, or hardware suitable for analyzing the physical behavior of the modeled object. The well-known and widely used CAE technology is the Finite Element Model (FEM), which will be equivalently referred to as a CAE model below. FEMs typically involve dividing the modeled object into elements, i.e., finite element meshes, whose physical behavior can be calculated and simulated using equations. This type of CAE solution is manufactured by Dassault Systèmes under the trademark SIMULIA. ® Offered. Another evolving CAE technology involves modeling and analyzing complex systems composed of multiple components from different physical realms without the need for CAD geometry data. CAE solutions allow for simulation, and thus optimization, improvement, and validation of products to be manufactured. This type of CAE solution is offered by Dassault Systèmes under the trademark DYMOLA. ®CAE can be used to ensure that various structural requirements (such as, but not limited to, mass, stiffness, strength, and durability) are met through new CAD models. Some of these requirements can be referred to as Key Performance Indicators (KPIs). For many industrial products (such as automobiles, aircraft, consumer goods, and high-tech products), these KPIs are conflicting; for example, lower mass often leads to lower stiffness. Therefore, optimization methods are often applied to find the optimal trade-off between KPIs.
[0140] A CAM solution refers to any solution, software, or hardware suitable for managing manufacturing data of a product. Manufacturing data typically includes data related to the product to be manufactured, the manufacturing process, and the required resources. CAM solutions are used to plan and optimize the entire manufacturing process of a product. For example, it can provide CAM users with information about feasibility, the duration of the manufacturing process, or the amount of resources (such as a specific robot) that can be used at a particular step in the manufacturing process; and thus allow for decisions regarding management or required investment. CAM is a follow-up process to CAD processes and, possibly, CAE processes. For example, a CAM solution can provide information about machining parameters or molding parameters consistent with extrusion features provided in a CAD model. Such CAM solutions are manufactured by Dassault Systèmes under the trademarks CATIA, Solidworks, or DELMIA. ® supply.
[0141] CAD and CAM solutions are therefore closely related. In fact, CAD solutions focus on the design of a product or part, while CAM solutions focus on how to manufacture it. Designing a CAD model is the first step in computer-aided manufacturing. Specifically, CAD solutions provide key functionalities such as feature-based modeling and boundary representation (B-rep) to reduce the risk of errors and loss of accuracy during the manufacturing process handled using CAM solutions. In reality, the CAD model is designed for manufacturing. Therefore, it serves as a virtual twin (also known as a digital twin) of the object to be manufactured, with two objectives: - Check the correct behavior of the object to be manufactured in a specific environment; and - Ensure the manufacturability of the object to be manufactured.
[0142] Alternatively, the modeling object output / designed / processed / considered as input by the method can be a CAD model, such as including or composed of feature trees and / or B-rep. Such a model can be derived from a CAE model and can be generated by a CAE-to-CAD conversion process, which the method can include, for example, in the initial stage.
[0143] CAD models can be feature-based (e.g., they can include feature trees and optionally corresponding B-reps obtained by performing feature tree operations). Feature-based 3D models allow for the detection and automatic resolution of geometric errors in the CAD model that will affect the manufacturing process, such as interference, for example, in the determination of manufacturing or CAM files as discussed below. Interference is the mutual penetration that occurs between two parts of a 3D model, for example, due to their relative motion. Furthermore, such interference can sometimes only be detected by finite element analysis based on a feature-based CAD model. Therefore, the resolution of interference can be performed using the CAD solution or automatically by the CAD solution by iteratively modifying the parameters of the features and performing finite element analysis.
[0144] As another example, feature-based 3D models allow for the automated creation of machine toolpaths via Computer Numerical Control (CNC), for instance, in the process of determining manufacturing or CAM files, as discussed below. Using CNC, each object to be manufactured receives a customized computer program, which is stored in and executed by the machine control unit (a microcomputer attached to the machine). This program contains the instructions and parameters that the machine tool will follow. Milling machines, lathes, routers, grinders, and laser cutters are common examples of machine tools whose operation can be automated using CNC.
[0145] A key characteristic of CAD models is that they can be precisely and explicitly designed by linking a small number of high-level parametric design operations, including, but not limited to, sketching, extrusion, and chamfering, and edited by modifying their high-level parameters. This is a key difference from polyhedral representations such as triangular surface meshes, which can represent any 3D shape but do not offer the modification or parametric capabilities required in industrial design environments.
[0146] Because CAD models are parametric models of parts / products, they have a smaller memory footprint than other models such as CAE models. In fact, instead of storing a collection of discrete geometric elements like finite element methods, CAD models allow for the storage of lists of features and parameters, which is even smaller in terms of storage and memory footprint. Besides facilitating model editability, processing CAD models also reduces the memory requirements of the underlying system compared to, for example, CAE models. This is equivalent to the CAE-to-CAD conversion process effectively compressing the CAE model into a CAD model with lower memory requirements (e.g., memory footprint), in addition to converting the CAE model into a more easily editable CAD model.
[0147] The generation of custom computer programs from CAD files can be automated. Therefore, this generation can be error-proof and ensure a perfect reproduction of the CAD model into the manufactured product. CNC is considered to offer higher precision, complexity, and repeatability than manual machining. Other benefits include greater accuracy, speed, and flexibility, as well as capabilities such as contour machining, which allows milling contour shapes, including those generated in the 3D design.
[0148] B-rep (Boundary Representation) is a 3D representation of a mechanical part. Specifically, a B-rep is a persistent data representation describing a 3D modeled object representing a mechanical part. A B-rep can be the result of a series of operations and / or calculations performed during the design phase of representing a 3D modeled object of a mechanical part. When representing a modeled object, the shape of the mechanical part displayed on the computer screen is a B-rep (e.g., a B-rep subdivision). In the example, the B-rep represents a portion of the modeled object.
[0149] B-Rep comprises topological entities and geometric entities. Topological entities are: faces, edges, and vertices. Geometric entities are 3D objects: surfaces, planes, curves, lines, and points. By definition, a face is a bounded portion of a surface, called a supporting surface. An edge is a bounded portion of a curve, called a supporting curve. A vertex is a point in 3D space. They are related to each other as follows: A bounded portion of a curve is defined by two points (vertices) located on the curve. A bounded portion of a surface is defined by its boundary, which is a set of edges located on the surface. The boundaries of the edges of a face are connected by sharing vertices. Faces are connected by sharing edges. If two faces share an edge, then the two faces are adjacent. Similarly, if two edges share a vertex, then the two edges are adjacent. In CAD systems, B-Rep uses an appropriate data structure to aggregate "defined by..." relationships, relationships between topological entities and supporting geometries, and the mathematical description of the supporting geometry. The internal edges of a B-Rep are edges shared by exactly two faces. By definition, boundary edges are not shared and define only one face. By definition, a boundary face is defined by at least one boundary boundary. A B-Rep is considered closed if all its edges are internal. A B-Rep is considered open if it includes at least one boundary edge. Closed B-Reps are used to model thick 3D volumes because they define the internal portion of the space that (virtually) surrounds the material. Open B-Reps are used to model 3D skins, representing 3D objects whose thickness is small enough to be negligible.
[0150] The key advantage of B-Rep over any other representation type used in CAD modeling lies in its ability to accurately represent arbitrary shapes. All other representations in use (such as point clouds, distance fields, and meshes) perform approximations of shapes by discretization. B-Rep, on the other hand, contains surface equations representing an accurate design, thus forming a true "master model" for further manufacturing, whether generating CNC toolpaths or discretizing to the correct sample density for a given 3D printer technology. In other words, by using B-Rep, a 3D model can be an accurate representation of a manufactured object. B-Rep is also advantageous for simulating the behavior of 3D models. In stress, thermal, electromagnetic, or other analyses, it supports the local refinement of simulated meshes to capture physical phenomena, and for kinematics, it supports realistic contact modeling between surfaces. Finally, B-Rep allows for a small memory and / or file footprint. First, because the representation contains surfaces based solely on parameters. In other representations such as meshes, the equivalent surface comprises up to thousands of triangles. Second, because B-Rep does not contain any history-based information.
[0151] This method can be incorporated into a production process, which may include, after executing the method, producing a physical product corresponding to the modeled object designed / processed / output by the method. The production process may include the following steps: - (For example, automatically) apply the method to obtain the CAD model output by the method; - Use the obtained CAD model to manufacture the part / product.
[0152] Manufacturing using a CAD model refers to any actual action or series of actions involving / participating in the manufacturing of a product / part represented by a CAD model. Manufacturing using a CAD model may include, for example, one or more of the following steps: - Edit the obtained CAD model; - Perform simulations based on CAD models or corresponding CAE models (e.g., CAE models that generate CAD models after a CAE-to-CAD conversion process), such as simulations for verifying mechanical, usage and / or manufacturing characteristics and / or constraints (e.g., structural simulations, thermodynamic simulations, aerodynamic simulations). - Edit the CAD model based on the simulation results; - Optionally (i.e., depending on the manufacturing process used, the production of the mechanical product may or may not include this step), (e.g., automatically) based on (e.g., edited) CAD model (e.g., control instructions from CAD files storing CAD models and / or specifications of CAD models) to determine manufacturing documents / CAM files (e.g., including manufacturing instructions for manufacturing the product represented by the CAD model and / or control instructions for the manufacturing process and / or control instructions for commanding the manufacturing process or its manufacturing tools) for the production / manufacturing of the product; - In view of manufacturing the product represented by the CAD model, the CAD file and / or the manufacturing file / CAM file are sent to the factory; and / or - (e.g., automatically) produce / manufacture a mechanical product represented by a model initially output by the method, based on a determined manufacturing file / CAM file or CAD model. This may include (e.g., automatically) feeding the manufacturing file / CAM file and / or CAD file to the machine performing the manufacturing process.
[0153] This final step in production / manufacturing can be referred to as the manufacturing step or production step. This step involves creating / fabricating parts / products based on CAD models and / or CAM files, for example, when the CAD models and / or CAD files are fed to one or more manufacturing machines or computer systems controlling those machines. The manufacturing step may include performing any known manufacturing process or a series of manufacturing processes, such as one or more additive manufacturing steps, one or more cutting steps (e.g., laser cutting or plasma cutting steps), one or more stamping steps, one or more forging steps, one or more bending steps, one or more deep drawing steps, one or more molding steps, one or more machining steps (e.g., milling steps), and / or one or more punching steps. Because the design methodology improves the design of the model (CAE or CAD) representing the part / product, manufacturing and its productivity are also improved.
[0154] Editing a CAD model can include one or more edits performed by a user (i.e., a designer) using a CAD solution. Modifications to a CAD model can include one or more modifications to each of the geometry and / or parameters of the CAD model. Modifications can include any or a series of modifications performed on the model's feature tree (e.g., modifications to feature parameters and / or specifications) and / or modifications performed on the CAD model's display representation (e.g., B-rep). Modifications that maintain the technical functionality of the part / product are those performed by the user that may affect the model's geometry and / or parameters, but only for the purpose of making the CAD model more technically compatible with the downstream use and / or manufacturing of the part / product. Such modifications can include any or a series of modifications to make the CAD model technically compatible with the specifications of machines used in downstream manufacturing processes. Such modifications may additionally or alternatively include any or a series of modifications to make the CAD model technically compatible with further use of the product / part once it is manufactured, such modifications or series of modifications being based, for example, on simulation results.
[0155] CAM files can include a manufacturing setup model obtained from a CAD model. The manufacturing setup can include all the data required to manufacture the mechanical product (e.g., control instructions for controlling the manufacturing process), such that it has a geometry and / or material distribution corresponding to the geometry and / or material distribution captured by the CAD model, which may depend on manufacturing tolerances. Determining the production file can include applying any CAM (Computer-Aided Manufacturing) or CAD-to-CAM solution to (e.g., automatically) determine the production file from the CAD model (e.g., any automated CAD-to-CAM conversion algorithm). Such CAM or CAD-to-CAM solutions can include one or more of the following software solutions, which enable the automatic generation of manufacturing instructions and toolpaths for a given manufacturing process based on a CAD model of the product to be manufactured: - Fusion 360 - FreeCAD - CATIA, - SOLIDWORKS - Dassault Systèmes NC shop programmer, see details https: / / my.3dexperience.3ds.com / welcome / fr / compass-world / rootroles / nc-shop-floor-programmer , - Dassault Systèmes NC turning and milling machine programmers, see details. https: / / my.3dexperience.3ds.com / welcome / fr / compass-world / rootroles / nc-mill-turn-machine-programmer , and / or - Dassault Systèmes powder bed machine programmer, see https: / / my.3dexperience.3ds.com / welcome / fr / compass-world / rootroles / powder-bed-machine-programmer.
[0156] The product / part can be an additively manufactured part, i.e., a part manufactured through additive manufacturing (i.e., 3D printing). In this case, the production process does not include the step of determining the CAM file, and proceeds directly to the production / manufacturing step by feeding the CAD model directly (e.g., automatically) to the 3D printer. The 3D printer is configured to 3D print the mechanical product directly and automatically based on the CAD model when a CAD model representing the mechanical product is fed to it (e.g., and when 3D printing is initiated by the 3D printer operator). In other words, the 3D printer receives (e.g., automatically) the CAD model fed to it, (e.g., automatically) reads the CAD model, and (e.g., automatically) prints the part by adding material (e.g., layer by layer) to reproduce the geometry and / or material distribution captured by the CAD model. The 3D printer adds material to reproduce the geometry and / or material distribution captured by the CAD model with virtually accurate reproduction, depending on the resolution of the 3D printer, and optionally with or without tolerance errors and / or manufacturing corrections. Manufacturing may include, for example, determining such manufacturing corrections and / or tolerances automatically by the user (e.g., the operator of the 3D printer) or by the 3D printer or the computer system controlling it, for example by modifying CAD files to match the specifications of the 3D printer. The production process may additionally or alternatively include determining (e.g., automatically by the 3D printer or the computer system controlling it) the printing orientation from the CAD model, for example, to minimize overhang volume (as described in European Patent No. 3327593, which is incorporated herein by reference), layer slicing (i.e., determining the thickness of each layer), and layer-by-layer path / track and other characteristics of the 3D printer head (e.g., for the laser beam, such as path, speed, intensity / temperature, and other parameters).
[0157] The product / part can alternatively be a machined part (i.e., a part manufactured by machining), such as a milled part (i.e., a part manufactured by milling). In this case, the production process may include the step of determining a CAM file. This step can be performed automatically by any suitable CAM solution to automatically obtain the CAM file from the CAD model of the machined part. Determining the CAM file may include (e.g., automatically) checking the CAD model for any geometric peculiarities (e.g., errors or artifacts) that could affect the production process and (e.g., automatically) correcting such peculiarities. For example, if the CAD model still includes sharp edges (because machining or milling tools cannot produce sharp edges), then machining or milling based on the CAD model may not be performed, and in this case, determining the CAM file may include (e.g., automatically) rounding or chamfering such sharp edges (e.g., having a rounding or chamfer radius corresponding to the radius of the cutting head of the machining tool (e.g., substantially equal to the tolerance error)) so that machining or milling based on the CAD model can be completed. More generally, the determination of CAM files can automatically include rounding or chamfering geometry within the CAD model that is incompatible with the radius of machining or milling tools to enable machining / milling. This check and possible corrections (e.g., rounding or chamfering of geometry) can be performed automatically as previously discussed, but can also be performed manually by a user (e.g., a machining engineer) who manually performs corrections on the CAD and / or CAM solution, for example, a solution that restricts the user from performing corrections to make the CAD model conform to the specifications of the tools used in the machining process.
[0158] In addition to inspection, the determination of CAM files may further include (e.g., automatically) determining the machining or milling path, i.e., the path taken by the machining tool to machine the product. The path may include a set of coordinates and / or parametric trajectories that the machining tool must follow for machining, and determining the path may include (e.g., automatically) calculating these coordinates and / or trajectories based on the CAD model. This calculation may be based on the calculation of the boundaries of a Minkowski subtraction of the CAD model represented by the CAD model of the machining tool, as discussed, for example, in Dassault Systèmes European Patent Application EP21306754.9, filed December 13, 2021, which is incorporated herein by reference. It should be understood that the path may be a single path, for example, followed continuously by the tool without disrupting contact with the material to be cut. Alternatively, the path may be a series of sub-paths followed by the tool in a specific order, for example, followed continuously by the tool without disrupting contact with the material to be cut. Optionally, determining the CAM file may then include (e.g., automatically) setting machine parameters, including cutting speed, cutting / piercing height, and / or die opening stroke, for example, based on the determined path and machine specifications. Optionally, determining the CAM file may then include (e.g., automatically) configuring nesting, where the CAM solution determines the optimal orientation of the part to maximize machining efficiency.
[0159] For machined or milled parts, the determination of the CAM file thus generates and outputs a CAM file including machining paths, and optionally including configured nested specifications and / or set machine parameters. This output CAM file can then be fed (e.g., directly and automatically) to the machining tool, and / or the machining tool can then be programmed (e.g., directly and automatically) by reading the file, based on which the production process includes production / manufacturing steps, where the machine performs machining of the product according to the production file, for example, by directly and automatically executing the production file. The machining process involves the machining tool cutting an actual block of material to reproduce the geometry and / or material distribution captured by the CAD model, which, for example, depends on tolerances (e.g., tens of micrometers for milling).
[0160] The product / part may alternatively be a molded part, i.e., a part manufactured by molding (e.g., injection molding). In this case, the production process may include the step of determining a CAM file. This step can be performed automatically by any suitable CAM solution to automatically obtain the CAM file from the CAD model of the molded part. Determining the CAM file may include (e.g., automatically) performing a series of molding checks based on the CAD model to check that the geometry and / or material distribution captured by the CAD model is suitable for molding, and (e.g., automatically) performing appropriate corrections if the CAD model is not suitable for molding. Performing the checks and appropriate corrections (if any) may be performed automatically, or alternatively, by a user (e.g., a molding engineer), for example using a CAD and / or CAM solution that allows the user to perform appropriate corrections to the CAD model, but limits him / her to corrections to make the CAD model conform to the specifications of the molding tool. The checks may include: verifying that the dimensions of the virtual product represented by the CAD model are consistent with the mold and / or verifying that the CAD model includes all draft angles required to demold the product, as known in the molding process itself. The determination of the CAM file may then include determining the amount of liquid material to be molded and / or the time for the liquid material to harden / solidify within the mold based on the CAD model, and outputting a CAM file including these parameters. The production process then includes (e.g., automatically) performing molding based on the output file, wherein the mold shapes the liquid material into a shape corresponding to the geometry and / or material distribution captured by the CAD model within the determined hardening time, for example, depending on tolerances (e.g., in conjunction with or by modifying the draft angle to achieve demolding).
[0161] The product / part can alternatively be a stamped part, also known as a "stamped component," i.e., a part manufactured by a stamping process. In this case, the production process may include (e.g., automatically) determining CAM files based on a CAD model. The CAD model represents the stamped part, which may have one or more flanges (if the part is to include some flanges), and in the latter case, additional material may need to be removed to form the unfolded state of one or more flanges of the part, as known from the stamping process itself. Thus, the CAD model includes portions representing the part without flanges (in some cases, the entire part) and possible external additional patch portions representing flanges (if any), which may have additional material (if any). This additional patch portion may exhibit G2 continuity over a certain length and then G1 continuity over another length.
[0162] In this stamping scenario, determining the CAM file may include (e.g., automatically) determining stamping press parameters, such as the dimensions of the stamping die or punch and / or stamping force, based on the geometry and / or material distribution of the virtual product captured by the CAD model. If the CAD model also includes a representation of the unfolded state of one or more flanges to be removed to form the part, the removed material can be cut, for example, by machining, and determining the CAM file may also include determining the corresponding machining CAM file, for example, as previously discussed. If one or more flanges are present, determining the CAM file may include determining the geometric specifications of the G2 and G1 continuity portions to allow the flanges to be folded toward the inner surface of the stamped part and along the G2 continuity length during the folding process after stamping itself and after removing the additional material. The CAM file thus determined may therefore include: parameters of the stamping tool, the specifications optionally used for folding the flanges (if any), and machining production documents optionally used for removing the additional material (if any).
[0163] The stamping production process can then, for example, directly and automatically output a CAM file, and perform the stamping process based on that file (e.g., automatically). The stamping process may include stamping (e.g., punching) a portion of the material to form a product represented by the CAD file, which may have an unfolded flange and additional material (if any). Where appropriate, the stamping process may then include cutting the additional material based on the machining production file and folding the flange based on the specifications for folding the flange, thereby folding the flange along its G2 continuity length and providing a smooth appearance for the outer boundary of the part. In the latter case, once the part is made, its shape differs from its virtual counterpart represented by the CAD model because the additional material is removed and the flange is folded, whereas the CAD model represents a part with the additional material and the flange in an unfolded state.
[0164] This method is implemented by a computer. This means that the steps (or essentially all steps) of the method are executed by at least one computer or any similar system. Therefore, the steps of the method may be executed by the computer fully or semi-automatically. In the example, the triggering of at least some steps of the method can be performed through user-computer interaction. The required level of user-computer interaction can depend on the anticipated level of automation and be balanced with the need to fulfill the user's intentions. In the example, this level can be user-defined and / or predefined.
[0165] A typical example of a computer implementation of the method is to utilize a system suitable for this purpose to execute the method. This system may include a processor coupled to memory and a graphical user interface (GUI), on which a computer program containing instructions for executing the method is stored. The memory may also store a database. The memory is any hardware suitable for such storage and may comprise several physically distinct parts (e.g., one for the program and possibly one for the database).
[0166] Figure 57 An example of a system is shown, where the system is a client computer system, such as a user's workstation.
[0167] The client computer in this example includes a central processing unit (CPU) 5701 connected to an internal communication bus 5700, and random access memory (RAM) 5707 also connected to the bus. The client computer also includes a graphics processing unit (GPU) 5711 associated with video random access memory 5710 connected to the bus. The video RAM 5710 is also referred to in the art as a frame buffer. A mass storage device controller 5702 manages access to mass storage devices, such as hard disk drives 5703. Mass storage devices suitable for tangibly representing computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor storage devices such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and flash memory devices; disks such as internal hard disks and removable disks; and magneto-optical disks. Any of the foregoing may be supplemented or incorporated by specially designed application-specific integrated circuits (ASICs). Network adapter 5705 manages access to network 5706. The client computer may also include a tactile device 5709, such as a cursor control device, 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 5708. Furthermore, the cursor control device allows the user to select various commands and input control signals. The cursor control device includes multiple signal generating devices for inputting control signals to the system. Typically, the cursor control device can be a mouse, with mouse buttons used to generate signals. Alternatively or additionally, the client computer system may include a touchpad and / or touchscreen.
[0168] The computer program may include computer-executable instructions, which include means for causing the system to perform the method. The program may be recorded on any data storage medium, including the system's memory. The program may be implemented, for example, in digital electronic circuitry, or in computer hardware, firmware, software, or a combination thereof. The program may be implemented as means, such as a product tangibly embodied in a machine-readable storage device for execution by a programmable processor. The method steps may be executed by a programmable processor that executes the instruction program to perform the function of the method by manipulating input data and generating output. Thus, the processor may be programmable and coupled to receive and send data and instructions from the data storage system, at least one input device, and at least one output device. If desired, the application program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language. In any case, the language may be a compiled or interpreted language. The program may be a complete installation or update program. In any case, the application of the program on the system generates instructions for performing the method. Alternatively, the computer program may be stored and executed on a server in a cloud computing environment that communicates with one or more clients over a network. In this scenario, the processing unit executes the instructions included in the program, thereby enabling the method to be executed in a cloud computing environment.
Claims
1. A computer-implemented method for forming a gap on a surface, said surface representing a surface portion of a product to be manufactured, the method comprising: Provide the specifications for the gap, the specifications including: The connection radius between the surface and the flange of the gap; The outline of the gap; and The shape defining the gap on the surface; Sweep the outline along the shape; and The result of the sweep is attached to the surface by applying a rounding operation, the rounding operation having a radius that is provided.
2. The method of claim 1, wherein, The shape defining the gap includes one or more curves located on the surface.
3. The method according to claim 2, wherein: The shape includes projections of one or more curves onto the surface, and the projections are relative to the viewing direction during drawing, the normal direction of the surface, or a user-defined direction; and / or The shape includes the intersection of the surface with one or more other surfaces.
4. The method according to claim 2 or 3, wherein, The method further includes: for each given curve included in the shape, determining two additional curves that are parallel to the given curve, and applying a rounding operation including trimming the portion of the surface located between the two parallel additional curves.
5. The method according to any one of claims 2 to 4, wherein, The method further includes: for each curve included in the shape having at least one extreme point located inside the surface, expanding the curve into a closed curve or a curve having an extreme point located at the boundary of the surface.
6. The method according to any one of claims 1 to 5, wherein, The method further includes separating the result of the rounding operation into surfaces each including a corresponding flange of the gap, the separation including removing the bottom of the gap.
7. The method according to any one of claims 1 to 6, wherein, The profile of the gap is a curve with two extreme points that do not self-intersect and lie in a plane at the same height.
8. The method according to any one of claims 1 to 7, wherein, The profile is defined by the thickness of the gap and the depth of the gap.
9. The method according to claim 8, wherein, The specifications of the gap include the thickness of the gap and the depth of the gap, and the method includes: automatically calculating the contour based on the thickness of the gap and the depth of the gap.
10. The method according to any one of claims 1 to 9, wherein, The shape of the gap, the profile of the gap, and the connection radius comply with manufacturing and / or use constraints.
11. The method according to claim 10, wherein, The shape of the gap, the profile of the gap, and the connection radius are derived from a simulation of the product's performance relative to the manufacturing and / or usage constraints.
12. A computer-implemented data structure including gap specifications, the specifications forming semantic data, the semantic data being associated with data defining a surface representation of a surface portion of a product to be manufactured, the specifications comprising: The connection radius between the surface and the flange of the gap; The outline of the gap; as well as The shape defining the gap on the surface.
13. A computer program comprising instructions that, when executed by a computer system, cause the computer system to perform the method as described in any one of claims 1 to 11.
14. A computer-readable data storage medium having a computer program as described in claim 13 and / or a data structure as described in claim 12 recorded thereon.
15. A computer system comprising a processor coupled to a memory, the memory storing a computer program as claimed in claim 13 and / or a data structure as claimed in claim 12.
Citation Information
Patent Citations
Process for creating a parametric surface having a required geometrical continuity
EP1750228A2
Orientation of a real object for 3D printing
EP3327593A1
Flexible modeling using a weak type definition
EP3674931A1
3D axis machining design
EP4195088A1
Converting a subdivision curve controlled by a base mesh into a corresponding CAD curve format
EP4535211A1