Parameterization of CAD models
The method optimizes parameterization of CAD 3D models by aligning gradients with vector fields, addressing the inefficiencies in existing systems, resulting in improved manufacturing processes and productivity through natural parameterization.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- DASSAULT SYSTEMES SA
- Filing Date
- 2022-05-18
- Publication Date
- 2026-05-11
AI Technical Summary
Existing CAD systems lack efficient methods for parameterizing 3D models of mechanical parts, particularly in aligning gradients with vector fields to achieve natural parameterization, which is crucial for manufacturing processes.
A computer implementation method that optimizes an objective function to align gradients of candidate parameters with vector fields, using a 3D model's skin portion and vector fields representing the boundary and/or trajectory, to determine the value distribution of parameters, facilitating natural parameterization of sweeps.
The method provides robust parameterization that follows the natural direction of sweeps, reducing noise and imperfections, enabling efficient manipulation, editing, and manufacturing processes such as molding, machining, and additive manufacturing, while improving productivity and adaptability of CAD models.
Smart Images

Figure 0007856484000091 
Figure 0007856484000092 
Figure 0007856484000093
Abstract
Description
[Technical Field]
[0001] This disclosure relates to the field of computer programs and systems, and more specifically to methods, systems, and programs for parameterizing computer-aided design (CAD) 3D models of mechanical parts. [Background technology]
[0002] The market offers numerous systems and programs for the design, engineering, and manufacturing of objects. CAD stands for Computer-Aided Design, and refers to software solutions for designing objects, for example. CAE stands for Computer-Aided Engineering, and refers to software solutions for simulating the physical behavior of future products, for example. CAM stands for Computer-Aided Manufacturing, and refers to software solutions for defining manufacturing processes and operations, for example. In such computer-aided design systems, graphical user interfaces play a crucial role in terms of technical efficiency. These technologies can be integrated into Product Lifecycle Management (PLM) systems. PLM is a business strategy that helps companies share product data, apply common processing, and leverage enterprise knowledge to help develop products from concept to lifecycle, across the concept of an extended enterprise. Dassault Systèmes' PLM solutions (under the trademarks CATIA, ENOVIA, and DELMIA) provide an Engineering Hub for organizing product engineering knowledge, a Manufacturing Hub for managing manufacturing engineering knowledge, and an Enterprise Hub that enables enterprise integration and connectivity to the Engineering and Manufacturing Hubs. Together, these systems provide an open object model that links products, processes, and resources to enable dynamic, knowledge-based product creation and decision support, facilitating product definition, manufacturing preparation, production, and service optimization.
[0003] Some of these systems and programs offer functionality for processing CAD models of mechanical parts.
[0004] In "Levy et al., “Least Squares Conformal Maps for Automatic Texture Atlas Generation”, ACM Transactions on Graphics (TOG), 21 (3), 2002, pp. 362-371," a quasi-conformal parameterization method based on the least-squares approximation of the Cauchy-Riemann equations is presented. The objective function defined in this way minimizes angular deformation.
[0005] In "Mullen et al., “Spectral Conformal Parameterization”, Computer Graphics Forum, Wiley, 2008, 27 (5), 2008, pp. 1487-1494," a spectral procedure is described for automatically and efficiently performing discrete free-boundary conformal parameterization of triangular mesh patches without introducing artifacts that frequently occur due to positional constraints on vertices or excessive bias caused by sampling irregularities. Advanced parameterization is calculated via constrained minimization of discrete-weighted conformal energy by finding the maximum value of eigenvalues / eigenvectors in a generalized eigenvalue problem involving symmetric sparse matrices. [Overview of the project] [Problems that the invention aims to solve]
[0006] Against this backdrop, there is still a need for improved solutions for processing CAD models of mechanical parts. [Means for solving the problem]
[0007] Accordingly, a computer implementation method is provided for parameterizing a computer-aided design (CAD) 3D model of a mechanical part that includes a portion having a material distribution arranged as a sweep. The sweep has a trajectory and a boundary. The method includes providing a 3D model including a skin portion representing the outer surface of the portion of the mechanical part, and one or more vector fields, each representing the boundary and / or the trajectory. The method further includes determining the value distribution of each parameter of the skin portion for each vector field by optimizing an objective function that rewards the alignment of the gradients of candidate parameters with the vector field.
[0008] This method may include one or more of the following: The objective function is to reward alignment between the gradient of the candidate parameters and the vector field by imposing a penalty on the error between the gradient of the candidate parameters and the vector field. The error is the distance between the gradient of the candidate parameter and the vector field, and this distance is based on the metric tensor. The objective function is as follows:
number
number
[0009] A computer program including instructions for executing the method is further provided.<Furthermore, a computer-readable storage medium on which the computer program is recorded is provided.
[0011] Furthermore, a system is provided that includes a processor coupled to memory on which the computer program is stored. [Brief explanation of the drawing]
[0012] Refer to the attached diagram to illustrate a non-limiting example.
[0013] [Figure 1] This method is illustrated as an example. [Figure 2] This method is illustrated as an example. [Figure 3] This method is illustrated as an example. [Figure 4] This method is illustrated as an example. [Figure 5] An example of the graphical user interface for this system is shown. [Figure 6] An example of this system is shown. [Modes for carrying out the invention]
[0014] This specification proposes a computer implementation method for parameterizing computer-aided design (CAD) 3D models of mechanical parts. The mechanical part includes a portion having a material distribution arranged as a sweep. The sweep has a trajectory and a boundary. The method includes providing a 3D model and one or more vector fields. The 3D model includes a skin portion representing the outer surface of the portion of the mechanical part. Each vector field represents the boundary and / or the trajectory. The method further includes determining the value distribution of each parameter of the skin portion for each vector field by optimizing an objective function. The objective function rewards alignment of the gradients of candidate parameters with the vector fields.
[0015] The present invention constitutes an improved solution for processing CAD 3D models of machine parts or parts thereof. In particular, the method provides parameterization of a skin portion of a CAD model representing the outer surface of a part of a machine part, having a material distribution arranged as a sweep. In other words, the method allows parameterization of the sweep of a machine part. To "provide parameterization of a skin portion" means to determine the value distribution of one or more (e.g., two) parameters that describe the geometry and / or topology of the skin portion. Parameterization of sweeps is particularly relevant to the field of CAD manufacturing, as will be described below.
[0016] Furthermore, this method not only allows the sweep to be parameterized, but also provides a natural parameterization, that is, a parameterization that is optimal with respect to the natural direction of the sweep. In fact, this method provides as input one or more vector fields, each representing the boundary and / or trajectory of the sweep, that is, the one or more vector fields form one or more vector fields of the natural direction of the sweep. The natural direction of the sweep is the direction of its trajectory or the direction of the curvature of its boundary, for example, the direction of the sweep's contour curve or the sweep's guide curve. For example, one or more vector fields may be aligned with the principal curvature direction of the skin portion. Next, this method determines the value distribution of each parameter for each vector field by optimizing an objective function that rewards the alignment of the gradients of candidate parameters (i.e., candidate solutions for optimization) with the vector fields. Thus, the value distribution of each parameter determined by this method, i.e., the value distribution of each parameter resulting from the optimization that rewards the alignment of gradients with the vector fields, each has a gradient that tends to align with each vector field. Therefore, the determined value distribution as a whole follows the natural direction of the sweep represented by the input vector field of one or more vector fields. In other words, this method provides parameterization that follows the natural direction of the sweep. For example, the determined value distribution as a whole may constitute an arc-length parameterization of the sweep in which each parameter increases along the natural direction with the arc length. In the example where the part is cylindrical and its skin is the outer surface of that part (i.e., the cylindrical surface), the determined value distribution of one or more parameters may be a value distribution of one or more cylindrical coordinates that increases along the direction (i.e., axis) of each cylindrical coordinate system. Such parameterization results in the most natural interpretation of the cylindrical surface. This method can obtain such natural parameterization for general sweeps with more complex contours / guide curves. The natural parameterization obtained by this method is particularly relevant to CAD manufacturing. In fact, such parameterization facilitates the determination of the sweep's contour curve and / or guide curve, and ultimately, in the context of constructing the feature tree described below, it becomes possible to describe the sweep by its contour and / or guide curve, for example, as a CAD sweep feature.Because natural parameterization follows the direction related to the manufacturing of the materials placed as sweeps, this parameterization also facilitates editing sweeps that take into account the manufacturing of corresponding parts of machine components. This makes editing that takes manufacturing requirements into account easier.
[0017] Furthermore, the parameterization of the sweep through optimization performed by this method makes the parameterization robust to noise and imperfect surfaces, resulting in an improved solution for obtaining sweep parameterization. In other words, the CAD model may be a noisy CAD model (e.g., a CAD model noisy due to outlier points, especially if the 3D model is a 3D point cloud, or a CAD model noisy due to the non-smoothness of the outer surface of the CAD model, especially if the 3D model is a 3D mesh), or the CAD model may contain one or more imperfect surfaces (e.g., one or more surfaces with holes). In practice, the optimization rewards the overall gradient alignment between the candidate parameters and each vector field (e.g., the objective function may be an integral), and therefore tends to reduce the effects of local noise or holes.
[0018] As mentioned above, parameterization of CAD 3D models, or at least some parameterization such as their skinning, is particularly relevant to the CAD manufacturing field, namely software solutions that support the design and manufacturing processes, with the aim of manufacturing physical products corresponding to the CAD 3D models being designed. In this context, CAD 3D models represent manufactured goods that can be produced downstream of the design. Therefore, this method may be part of such a design and / or manufacturing process. This method may, for example, constitute, or be part of, the step of obtaining CAD features from a provided CAD 3D model. A CAD feature is a parametric and geometric description of a spatial domain having specific geometric or topological properties. If the spatial domain is a sweep, the CAD feature is a sweep CAD feature. Generally, a provided CAD model may not include the associated data of the underlying CAD features of the model, and the process of obtaining CAD features from a provided CAD 3D model involves obtaining one or more CAD features (e.g., one or more extrude, revolve, fillet, or sweep features) so that the provided CAD 3D model can be described by the application of one or more CAD features. Within such a design and / or manufacturing process, the step of acquiring CAD features may include parameterizing the geometry (i.e., parts such as skin portions) of the CAD 3D model having each CAD feature. For example, the step of acquiring CAD features may be a step of building a feature tree, or part thereof. Within the step of acquiring CAD features, this method parameterizes at least a portion of the CAD model, i.e., the skin portion, while other methods may parameterize other portions (e.g., skin portions). This method may thereby generate swept CAD features to represent the skin portions, for example, within a feature tree. It should be understood that this method may be repeated to generate multiple swept CAD features (e.g., CAD features at different locations on the CAD 3D model).Parameterization facilitates the manipulation / editing of CAD models. In particular, the parameterization of sweeps performed by this method facilitates the editing of sweeps. Following the step of acquiring a CAD feature including this method, further design and / or manufacturing steps may be performed using the parameterized CAD feature, especially the parameterized sweep acquired by this method. These additional steps may include further design and / or editing operations, testing, simulation, and / or manufacturing. In other words, this method may be included within the manufacturing CAD process in a step where the CAD model is adapted for use in subsequent manufacturing CAD process steps (e.g., further design / editing operations, testing, simulation, and / or manufacturing). This method may be included in many other applications that use the CAD model parameterized by this method.
[0019] Thus, this method improves the parameterization of the skin portion of CAD 3D models, enabling preparation with manufacturing in mind, for example. For instance, the parameterized skin portion can be edited considering the characteristics of downstream manufacturing processes (e.g., molding, machining, additive manufacturing). This facilitates the preparation and setup of manufacturing equipment (molds, machining tools, 3D printers, etc.). In this way, this method improves the manufacturing of products represented by CAD models and enhances the productivity of the manufacturing process.
[0020] Therefore, this method is used to parameterize a CAD model or at least a portion thereof. Parameterized CAD 3D models or at least a portion thereof, in contrast to non-parameterized 3D models such as discrete representations (point clouds, meshes, voxel representations, etc.), enable simple manipulation and / or editing capabilities and / or efficient storage to memory. For example, once parameterized by this method, the skin portion may be fitted to canonical primitives (e.g., parallelepipeds or cylinders) or parameterized with other adaptive geometry tools, such as non-canonical parameterized surfaces like NURBS. In any application of this method, including the applications described below, the CAD 3D model may be a measured CAD 3D model (i.e., a CAD model obtained from physical measurements of a mechanical part, as described below). In such cases, parameterization of the skin portion of the CAD 3D model allows processing of the (raw) measured CAD 3D model, and ultimately (i.e., once parameterization is obtained) allows editing of the measured CAD 3D model. Therefore, this method can generally be used to parameterize the skin portion of a machine part for measurement, and then process it into an editable data structure.
[0021] As described above, this method parameterizes a portion of a machine part having a material distribution arranged as a sweep. Each portion of a machine part having a material distribution arranged as a sweep is a consistent portion from a manufacturing perspective. That is, in the real world, the relevant portion of the machine part has a geometry that requires or is adapted to each manufacturing process (e.g., molding, additive manufacturing, or machining), for example, a geometry corresponding to a machining path (e.g., preferred under manufacturing constraints) or a mold characteristic (e.g., preferred under manufacturing constraints). In all these examples, the manufacturing settings for the machine part may be determined by the sweep contour and / or guide curves that can be inferred based on the parameterization provided by this method. Therefore, this method may be included in a manufacturing CAD process that includes a step of setting up a manufacturing process based on the sweep contour and / or guide curves obtained based on the sweep parameterization provided by this method, where this method may include obtaining the sweep contour and / or guide curves.
[0022] In one example, a machine part may be a molded part, and that part may be manufactured by molding. In these examples, the sweep may be an extrusion. In such cases, parameterization of the skin portion representing the part allows the application of a draft operator to the parameterized skin portion, which is the parameterized extruded surface in these examples (for example, by calculating the extruded profile using parameterization). In other words, the parameterization provided by this method allows the extruded profile curve to be reconstructed, from which the draft operator can be easily constructed. As is well known from CAD manufacturing, the draft operator is applicable to the extruded feature, and the application of the draft operator allows a draft angle to be defined with respect to the extruded axis, giving the extruded surface a conical shape. During the molding process of the corresponding part, which retains this conical shape obtained at the design stage, the conical shape facilitates the removal of the part from the mold (i.e., demolding / removal). In the case of a typical sweep, the sweep's profile curve and / or guide curve can be determined as described above by parameterizing the skin portion representing the part. This ultimately allows other operators to be defined and applied to the parameterized skin portion, so that the shape of the skin portion is particularly suitable for molding. Therefore, this method may be included in a manufacturing CAD process for designing and / or manufacturing a molded part, which includes an editing step downstream of the parameterization performed by this method. The editing step may include applying draft operators to the skin portion parameterized by this method to satisfy the corresponding mold constraints of the downstream molding process, thereby facilitating demolding / demolition / extraction of the molded portion. More generally, if the sweep is a general sweep (i.e., not necessarily an extrusion), the editing step may include any editing of the sweep based on the parameterization provided by this method so that the skin portion of the CAD 3D model object satisfies the mold constraints. In other words, for a general sweep, as with an extrusion, operators can be defined so that the sweep is suitable for molding by faithfully restoring the curve in question through the parameterization obtained by this method.
[0023] In one example, mechanical parts and their components may be manufactured by additive manufacturing. Parameterization of the skin portion allows for the definition of a print path along the natural direction of the sweep, for example, the sweep trajectory (or, if the sweep involved in this method is defined by one or more contours and / or one or more guide curves, one of those guide / contour curves). Therefore, this method may be included in a manufacturing CAD process for designing and / or manufacturing mechanical parts manufactured by additive manufacturing. This process may include defining a print path along the sweep trajectory based on the parameterization of the skin portion obtained by this method. This process may further include defining the settings of a 3D printer that performs additive manufacturing according to the defined print path.
[0024] For example, a machine part may be a machined part, and that part may be manufactured by machining (e.g., cutting). In such a case, parameterization of the skin portion makes it possible to define the path of a machining tool (e.g., a cutting tool) along the natural direction of the parameterization determined by this method, for example, defining a path for cutting the material along these directions. As described above, this method may include obtaining the sweep contour and / or guide curves that form a natural curve for the machining tool, i.e., the machining tool is configured to be more efficient when machining along these curves, for example, machining along these curves is faster and / or more accurate. For example, if the sweep is an extrusion, the machining tool may be configured to cut the material along the extrusion contour curve. Therefore, this method may be included in a manufacturing CAD process for designing and / or manufacturing machine parts manufactured by machining. This process may include defining the path of a machining tool along a natural direction and based on the parameterization obtained by this method. This process may further include defining the settings of a machining tool that performs machining according to the defined path.
[0025] We have discussed the use of parameterization in CAD manufacturing. Now, let's describe other applications that may be relevant to the context of CAD manufacturing or other contexts.
[0026] In the first application, the parameterization of the skin portion of the CAD model obtained by this method may be used in the construction of the B-rep. The construction of the B-rep is described in the references "P. Benko et al., “Algorithm for reverse engineering boundary representation models”, Computer-Aided Design, 33, 2001, pp. 839-851", "A. Tumanin, “Polygonal Mesh to B-Rep Solid Conversion: Algorithm Details and C++ Code Samples”" published on the website Habr.com on September 4, 2019, and "Beniere et al., “Recovering Primitives in 3D CAD meshes”, Proceedings of SPIE, 2011", all of which are incorporated herein by reference. As is well known, a B-rep is a collection of connected boundary surface elements (e.g., as is well known, in STEP file format). B-rep construction may include fitting a surface to the skin portion parameterized by this method and bounding the surface using each parameterization obtained by this method (i.e., determining the B-rep's phase data, i.e., the "- is bounded by -" relationship). According to this first application, this parameterization method may be included in a computer implementation process for converting a CAD 3D model representing a mechanical part into a boundary representation.
[0027] In a second application, the parameterization obtained by this method may be used to construct a feature tree. This second application includes using the obtained parameterization to construct a feature tree representation of a CAD 3D model. In fact, constructing the feature tree may include applying this method to one or more parts of a machine part to obtain one or more parameterizations for one or more skin parts. Then, in the feature tree construction, each parameterized skin part may be added to the feature tree. Thus, this parameterization method may be included in a computer implementation process for constructing a feature tree from a CAD 3D model representing a machine part. The feature tree construction process may include the following: This method must be applied at least once, and each application must generate a parameterized value distribution for the skin portion representing the material distribution placed as a sweep in the CAD model. Define a corresponding sweep CAD feature for each parameterized skin portion based on its parameterization, and optionally parameterize each other geometry as a corresponding CAD feature. Include each parameterized CAD feature in the feature tree of the mechanical part.
[0028] In a third application, the value distribution of each parameter obtained by this method is used for remeshing (e.g., if the provided CAD 3D model is a 3D mesh) or resampling (e.g., if the provided CAD 3D model is a 3D point cloud). According to the third application, the skin portion may be parameterized as described above, thereby enabling remeshing or resampling of the CAD 3D model. This remeshing / resampling may be used to remove noise from the CAD 3D model (e.g., removing outlier points, especially in the case of a 3D point cloud, or smoothing the outer surface of the CAD model, especially in the case of a 3D mesh). Additionally or alternatively, remeshing / resampling may be used to efficiently tessellate the 3D mesh, that is, the mesh face size may be adapted to the curvature of the corresponding surface in order to ensure an optimal discretization distance to the accurate surface while optimizing the mesh weight (in storage) by minimizing the number of faces. For example, remeshing / resampling may be used to minimize the mesh weight while ensuring a sufficiently short distance to the accurate surface (e.g., in this case, proximity to the surface is considered a constraint and not an optimization). Therefore, this method constitutes an improved solution for adapting a mesh to enable a procedure for adapting to a 2D planar parametric space and surface fitting to skin portions, instead of applying more complex meshing operations. Thus, this parameterization method may be included in a computer implementation process for remeshing (or resampling) a CAD 3D model, which is a 3D mesh (or 3D point cloud) representing a mechanical part.
[0029] In a fourth application, the value distribution of one or more parameters obtained by this method may be used for texture mapping of a CAD model, also known as "texturing." Texturing refers to the process of applying an image to a CAD model with minimal deformation. In this application, the method may provide parameterization including two parameters, which can provide a correspondence with the pixels of an image. Texturing may include applying an image based on the parameterization, for example, by fitting the image to contours and / or guide curves obtained based on the parameterization provided by this method. This fourth application may include calculating a 2D projection of the skin portion of a 3D model of CAD using the obtained parameterization, for example, by calculating UV mapping, which is known in the field of computer graphics. Furthermore, the parameterization may be used to minimize deformation of the mapping. Thus, the method may be included in a computer implementation process for texture mapping of CAD models.
[0030] The value distributions of one or more parameters obtained by this method may be used for other purposes, such as 3D deformation, 3D rendering (calculation of geometric / material attributes, occlusion culling, shadow determination), 3D animation, and / or shape compression. In particular, parameterizing parts of a machine component, each placed as a sweep, brings adaptability and significant compression to the parameterization of a 3D CAD model of a machine component. The adaptability enabled by this method allows for the generation of ad-hoc meshes of various sizes of faces (triangles / quadrilaterals, etc.) from the parameterized CAD model. In examples where machining and / or rendering are performed in real time, the generated mesh may have large face sizes and a small memory footprint to improve real-time performance. In other examples, where machining is high precision and / or rendering is high quality, the generated mesh may have small faces (e.g., triangles with edge lengths of 1 mm) generated from the same parameterized CAD model. Parameterization as performed by this method enables efficient saving of CAD models, in particular avoiding the saving of extremely precise versions of meshes with large memory footprints. These applications are discussed in the reference “A survey of Simple Geometric Primitives Detection Methods for Captured 3D data”, Computer Graphics Forum, 2018, which is incorporated herein by reference.
[0031] This method typically manipulates modeling objects, such as CAD 3D models. A modeling object is any object defined by data stored, for example, in a database. Therefore, the expression "modeling object" refers to the data itself. Depending on the type of system, modeling objects may be defined by various types of data. The system may actually be any combination of CAD systems, CAE systems, CAM systems, PDM systems, and / or PLM systems. In these various systems, modeling objects are defined by corresponding data. Thus, CAD objects, PLM objects, PDM objects, CAE objects, CAM objects, CAD data, PLM data, PDM data, CAM data, and CAE data may be discussed. However, since modeling objects may be defined by data corresponding to any combination of these systems, these systems are not exclusive to each other.
[0032] In the context of CAD, a modeled object is typically a 3D modeled object or 3D model representing a product, such as a part or an assembly of parts, or sometimes an assembly of a product. "3D modeled object" or "3D model" means an object modeled with data that enables a 3D representation. 3D representation allows parts to be viewed from all angles. For example, a 3D modeled object, when represented in 3D, may be processed and rotated based on any axis of its nature or any axis of the displayed screen. Therefore, 2D icons, in particular, that are not modeled in 3D are excluded. 3D representation facilitates design (i.e., statistically improves the speed at which designers perform tasks). Since product design is part of the manufacturing process, this speeds up the manufacturing process in industry.
[0033] A 3D modeled object or 3D model may represent the geometry of a product after a virtual design of the product to be manufactured in the real world has been completed, for example by a CAD software solution or CAD system. The product may be a (e.g., mechanical) part or an assembly of parts (parts and assemblies of parts are equivalent, since an assembly of parts may be considered a part itself from the perspective of this method, or since this method may be applied independently to each part of an assembly), or more generally, an assembly of any rigid body (e.g., a movable mechanism). CAD software solutions enable the design of products in a wide range of industrial sectors, including aerospace, architecture, construction, consumer goods, high-tech equipment, industrial equipment, transportation, marine, and / or offshore oil / gas production or transportation. The 3D modeled objects designed by this method may be industrial products that could be any mechanical parts, such as parts for land vehicles (e.g., automobile and light truck equipment, racing cars, motorcycles, truck and motor equipment, trucks and buses, trains, etc.), parts for aircraft vehicles (e.g., airframe equipment, aerospace equipment, propulsion equipment, defense products, aircraft equipment, space equipment, etc.), parts for marine vehicles (e.g., naval equipment, commercial ships, offshore equipment, yachts and workboats, marine equipment, etc.), general mechanical parts (e.g., industrial manufacturing machinery, heavy machinery or equipment, installation equipment, industrial equipment products, metalworking products, tire manufacturing products, etc.), electrical machinery or electronic components (e.g., home appliances, security and / or control and / or measurement products, computing and communication equipment, semiconductors, medical devices and equipment, etc.), consumer goods (e.g., furniture, home and garden products, leisure goods, fashion products, products of durable goods retailers, products of textile retailers, etc.), and packaging (e.g., food and beverages and tobacco, beauty and personal care, household goods packaging, etc.).
[0034] Any 3D model can form a discrete geometric representation of a 3D real-world object, such as a machine part. A discrete geometric representation is a data structure that contains a discrete set of data fragments. Each data fragment can also be called a discrete element. Each data fragment represents a geometric entity placed in 3D space. Each geometric entity represents a position on a 3D object (in other words, each part of the material that makes up the solid represented by the 3D object). A collection of geometric entities (i.e., a combination or juxtaposition) as a whole represents at least a portion of a 3D object. A discrete geometric representation may contain, for example, more than 100, 1000, or 10000 data fragments.
[0035] A discrete geometric representation may be, for example, a 3D point cloud where each geometric entity is a point. A discrete geometric representation may be, for example, a 3D mesh where each geometric entity is a tile or face of a mesh. A 3D mesh may be regular or irregular (i.e., it may consist of homogeneous or non-homogeneous faces). A 3D mesh may be a polygonal mesh, for example, a triangular mesh. A 3D mesh may be obtained from a 3D point cloud by triangulating the 3D point cloud (for example, by Delaunay triangulation).
[0036] 3D point clouds or 3D meshes may be determined, for example, by physically measuring real objects in a reconstruction process. The 3D reconstruction process may include providing real objects, providing one or more physical sensors, each configured to acquire a specific physical signal, and operating those one or more physical sensors in a real-world scene to acquire one or more physical signals (i.e., scanning the real objects with each sensor). The 3D reconstruction may then automatically determine a 3D point cloud and / or 3D mesh based on the measurements, according to any known technique. The one or more sensors may include multiple (e.g., RGB and / or image or video) cameras, and the determination may include structure-from-motion analysis. The one or more sensors may optionally or additionally include one or more depth sensors (e.g., on an RGB-depth camera), and the determination may include 3D reconstruction from depth data. The one or more depth sensors may include, for example, lasers (e.g., LiDAR) or ultrasonic emitter-receivers.
[0037] Alternatively, a 3D point cloud or 3D mesh may be obtained from a 3D model object representing the skin (i.e., outer surface) of a solid or mechanical part, for example, by raycasting to the 3D model object or by tessellating the 3D model object. Tessellation may be performed according to any rendering process of the 3D model object. Such a rendering process may be coded on any CAD system to display a graphic representation of the 3D model object. The 3D model object may be designed by or created by a CAD system user.
[0038] CAD systems may be history-based. In this case, the modeled object is further defined by data containing a history of its geometric features. The modeled object may actually be designed by a physical person (i.e., a designer / user) using standard modeling functions (extrude, revolve, cut, round, etc.) and / or standard surface functions (sweep, blend, loft, fill, deform, and / or smooth, etc.). Many CAD systems that support such modeling functions are history-based systems. This means that the creation history of design features is stored by a non-cyclic data flow that typically links the aforementioned geometric features via input and output links. The history of a part is the design intent. Essentially, the history collects information about the actions performed on the modeled object, thereby enabling design changes of the part in accordance with the design intent. The history-based modeling paradigm may be implemented according to any method known in the art.
[0039] A PLM system further means a system adapted to the management of modeled objects that represent manufactured (or products to be manufactured) physical products. Therefore, in a PLM system, modeled objects are defined by data suitable for manufacturing physical objects. This data is typically dimensional values and / or tolerances. Setting such values is desirable for the correct manufacturing of the object. For example, a PLM system can manage manufacturing tolerances such as machining and forming for features provided in a CAD model.
[0040] A CAM solution further refers to a solution (hardware or software) suited to managing product manufacturing data. Manufacturing data typically includes data related to the product being manufactured, the manufacturing process, and the necessary resources. CAM solutions are used to plan and optimize the entire product manufacturing process. For example, a CAM solution can provide CAM users with information regarding feasibility, the duration of the manufacturing process, or the number of resources, such as specific robots, that may be used at a particular step of the manufacturing process, thus enabling decisions regarding management or necessary investments. CAM is a subsequent process following the CAD process and, optionally, the CAE process. For example, a CAM solution may provide information regarding machining or forming parameters consistent with one or more features of a CAD model. Such CAM solutions are offered by Dassault Systèmes under its trademark DELMIA®.
[0041] CAE solutions further refer to solutions (hardware or software) suited to analyzing the physical behavior of modeled objects. A widely used and well-known CAE technique is the finite element method (FEM), which typically involves dividing a modeled object into elements whose physical behavior can be calculated and simulated through equations. Such CAE solutions are offered by Dassault Systèmes under its trademark SIMULIA®. Another growing CAE technique involves modeling and analyzing complex systems composed of multiple components from different fields of physics without CAD geometry data. CAE solutions enable simulation, and therefore, the optimization, improvement, and verification of manufactured products. Such CAE solutions are offered by Dassault Systèmes under its trademark DYMOLA®.
[0042] PDM is an abbreviation for Product Data Management. A PDM solution refers to a solution (hardware or software) suited to managing all types of data related to a specific product. PDM solutions can be used by all parties involved in the product lifecycle, primarily engineers, but also project managers, finance personnel, sales representatives, and buyers. PDM solutions are typically based on a product-oriented database. This allows parties to share consistent data about the product, preventing them from using different data. Such PDM solutions are offered by Dassault Systèmes under its trademark ENOVIA®.
[0043] This method includes providing a CAD 3D model of a machine part that includes a portion having a material distribution arranged as a sweep. The CAD 3D model includes a skin portion representing the outer surface of the portion of the machine part. The portion of the machine part may be an exact part of the machine part, and the machine part may include other parts as well. This method determines the value distribution of one or more parameters of the skin portion. This method may be iterative, i.e., applied to one or more other parts of the machine part, each having a material distribution arranged as a sweep. For each application of this method to another part, the value distribution of the parameters of the skin portion representing the outer surface of each other part is determined. Thus, this method may parameterize multiple sweep portions of the machine part, for example, all sweep portions. Alternatively, the portion of the machine part may be the machine part itself, in which case this method determines the parameterization of the outer surface of the machine part itself that is arranged as a sweep. The portion of the machine part may be created by a machining process, an additive manufacturing process, and / or molding.
[0044] This method may include performing a segmentation method before providing a CAD 3D model. The segmentation method may provide one or more segments of the CAD 3D model. The skin portion may include, or consist of, one or more segments of the CAD 3D model obtained in the segmentation process. Alternatively or additionally, there may be a sweep detection step prior to this method that detects whether the material distribution of a machine part or its outer surface is arranged as a sweep.
[0045] As described above, providing a CAD 3D model may include measuring or acquiring the CAD 3D model, for example, by providing a physical sensor, operating the physical sensor on a mechanical part (e.g., scanning the mechanical part), and performing a 3D reconstruction process to acquire the 3D model. Alternatively, providing a 3D model may include creating the 3D model, for example, by sketching it. Another alternative is that providing a 3D model may include retrieving the 3D model from a database (e.g., located remotely) where the 3D model is stored after it has been created or acquired.
[0046] "External surface" means a surface that is in contact with a medium other than the machine part, such as another machine part or air. In other words, the external surface forms a boundary between the outside and inside of the machine part in that portion. "Skin portion" means any surface representation (open or closed surface) of the external surface (i.e., "skin") of that portion of the machine part. The skin portion may represent at least a portion of the boundary (i.e., surface) of each 3D model, and at least a portion of that boundary represents the external surface. In other words, the skin portion is a part of the 3D model of the machine part provided that corresponds to the external surface of the machine part. That is, while the entire CAD 3D model represents the machine part, the skin portion is a part of the CAD 3D model that represents the external surface of a particular part of the machine part. The skin portion may be an exact portion of the boundary of the CAD 3D model provided if that portion is an exact part of the machine part. In this case, the 3D model includes other parts, each representing a different part of the machine part. Alternatively, if that portion is the machine part itself, the skin portion may be the outer boundary of the CAD 3D model.
[0047] A portion represented by an external surface as a material distribution is arranged as a sweep. “A portion having a material distribution arranged as a sweep” means that the material in that portion is distributed in 3D space in a sweep form. “Sweep” means an object or its surface defined by the trajectory and boundary resulting from sliding and / or rotating the contour along each 3D curve. The sweep trajectory is the overall direction of the sweep. The trajectory may be represented by each 3D curve. 3D curves are sometimes equivalently called guide curves. The sweep boundary is the external surface of the sweep and may be equivalently called the sweep outline or contour lines. The sweep boundary may be defined by sliding the contour boundary along the trajectory. The sweep contour may be formed according to each contour curve; that is, the contour curve may define the contour boundary. Therefore, the sweep boundary may be formed by sliding the contour curve along a guide curve and / or rotating the contour curve along a guide curve. The rotation in a sweep may be defined according to each spine curve. The sweep may be an extrusion. As is well known, in an extrusion, the guide curve is a linear axis, also called the extrusion axis. Alternatively, the sweep may be a rotation. As is well known, in a rotation, the guide curve is at least part of a circle. Alternatively, the sweep may be a fillet. As is well known, a fillet feature is obtained from a CAD 3D model by reducing the sweep with a circular contour curve (i.e., only a portion of the sweep boundary with a circular contour is visible).
[0048] This method parameterizes a CAD 3D model by parameterizing the skin portion of the model. As described above, this means that the method determines one or more value distributions for each parameter of the skin portion (i.e., each distribution corresponds to each parameter). In this method, the method determines the value distribution for each parameter for one of the one or more vector fields. In other words, for each vector field, the method assigns the corresponding parameter values to each location of the skin portion (for example, vertices of the 3D mesh if the provided skin portion is represented by a 3D mesh, or points of the point cloud if the provided skin portion is represented by a point cloud). In one example, the one or more vector fields include two vector fields, and the method determines 2D parameterization of the skin portion. Determining "2D parameterization" means that the method determines two value distributions, i.e., two value distributions for two parameters (one parameter for each of the two vector fields provided) for the skin portion. In other words, in these examples, the method determines two parameters for each location of the skin portion. In other examples, the one or more vector fields described above consist of a single vector field, and this method determines a single-value distribution of the parameters of this single vector field.
[0049] To parameterize a CAD 3D model, this method determines the value distribution of each parameter in the skin portion by optimization. Before that, this method includes providing input to the optimization. Providing input includes providing a 3D model and providing one or more vector fields. Each vector field represents the boundary and / or trajectory of the sweep. "Each vector field representing the boundary and / or trajectory" means that each vector field, i.e., a set of vectors in 3D space, represents the trajectory and / or boundary. For example, a vector field may represent the trajectory and / or boundary by streamlines defined according to the vector field. As is known in the fields of fluid dynamics and computer graphics, for example, a streamline defined according to a vector field is a curve that is tangent to the vector field at all its points. The one or more vector fields as a whole may represent the boundary (also called the "contour") and trajectory of the sweep, and thereby represent the sweep. Thus, each of the one or more parameters determined for each vector field may constitute the complete parameterization of the skin portion. Each of the one or more vector fields may belong to a set of tangent vector fields defined in the skin portion and may be optionally smooth. In one example, the one or more vector fields include multiple vector fields that are all aligned in the principal curvature directions of the skin portion. The principal directions are the directions of the principal curvatures, which are known in the field of differential geometry. In these examples, providing a vector field may include obtaining a vector field, which may include calculating a vector field whose direction follows in a manner that is optimal for the principal curvature directions of the skin portion.
[0050] Next, in addition to providing input, the method determines the value distribution of each parameter by optimizing an objective function. The objective function rewards the alignment of the candidate parameter gradients (i.e., the free variable for optimization) with the vector field such that the objective function tends to have higher values when the gradients of the candidate parameters are farther from the vector field (i.e., not aligned). Thus, optimizing the objective function is equivalent to minimizing the objective function, or, conversely, maximizing the alignment of the candidate parameter gradients with the vector field. In one example, optimizing the objective function is to minimize the objective function. The reward, i.e., encouraging the parameter gradients to align with the vector field, may be incorporated into the objective function as an integral form of the measure of the misalignment between the candidate parameter and the vector field gradients. The candidate parameters may be represented as a value distribution of the skin portion, and the optimization may (e.g., iteratively) explore values of the objective function for multiple value distributions (i.e., value distributions corresponding to multiple candidate parameters).
[0051] The determined value distribution forms the parameterization of the sweep. In addition to determining this parameterization, the method may optionally include creating sweep features corresponding to the value distribution of one or more parameters. The method may further optionally include saving / archiving the created sweep CAD features. The saved / archived features may be used later in the feature tree creation / retrieval process. In the feature tree creation process, the created sweep CAD features may be integrated into the feature tree of the CAD 3D model.
[0052] The objective function may reward alignment between the candidate parameter gradients and the vector field by penalizing the error between the candidate parameter gradients and the vector field. The error represents the difference between the candidate parameter gradients and the vector field. The error may be the distance between the parameter gradients and the vector field. The distance may be defined based on a metric tensor, which is known in differential geometry. The metric tensor may be any metric tensor in a field of differential geometry suitable for defining the distance.
[0053] The objective function may be as follows:
number
number
[0054] In one example, the candidate parameter f is in the following space
number
[0055] For example, to optimize the objective function, we can approximate the solution to the Poisson problem as follows: H *1 This includes finding in (M).
number
number
[0056] By optimizing the objective function through finding an approximation of the solution to the Poisson problem, computationally efficient solutions are provided for the optimization problem and the resulting distribution of the parameters.
[0057] In one example, the skin portion is represented by a 3D discrete geometric representation with discrete elements, and the approximation of the solution to the Poisson problem is H * 1 (M) is in a discrete space. The 3D discrete geometric representation may be a 3D surface mesh. In such a case, the parameterization of the mesh is the value of each parameter for each vertex of the mesh (
number
[0058] In one example, a discrete space is as follows:
number
[0059] In one example, the material distribution is arranged as an extrusion. An extrusion is a specific case of a sweep where the guide curve is a linear axis, i.e., the extrusion axis. Furthermore, the spine curve may be the same curve as the guide curve of the extrusion. The boundary of the extrusion (i.e., the "extruded surface") is created by sliding the contour along the extrusion axis. In a specific example, the contour curve is a planar (i.e., 2D) curve on the contour plane perpendicular to the extrusion axis. In such an example, the method further includes providing the extrusion axis. One or more vector fields include a vector field formed by the cross product between the normals of the extrusion axis and the skin sub-axis. Such a vector field follows the boundary of the extrusion along the contour, i.e., follows the direction of the contour. Thus, optimizations that tend to align the gradient of a parameter to a vector field result in a parameterization that describes the boundary by following the boundary along the contour. In such an example, the parameter values increase along the contour. Thus, the method provides an improved parameterization of the extruded surface in which the parameter values convey information about the extrusion. The vector field thus formed is tangent to the surface and perpendicular to the extrusion. In one example, the material distribution is represented as a rotation. The rotation is a specific case of a sweep in which the guide curve is (at least) part of a circle. Furthermore, the spine curve may be the same curve as the guide curve of the rotation. In a specific example, the contour curve is a planar (i.e., 2D) curve on the contour plane. In such an example, the method further includes providing an axis of rotation. One or more vector fields include a vector field formed by the cross product of the normal of the skin portion and a vector tangent to the skin portion along the trajectory, i.e., a vector tangent to the skin portion and parallel to the direction induced by the trajectory. Such a vector field follows the boundary of the rotation along the contour, and therefore, by optimization which tends to align the gradient of the parameters with the vector field, a parameterization that describes the boundary by following the boundary along each contour. In such an example, the parameter values increase along each contour. The vector field may be a unit vector field, i.e., a vector field divided by the norm.
[0060] The method may further include calculating the sweep contour based on the determined value distributions. Calculating the contour may include determining the value distributions of one or more parameters. Calculating the contour may include calculating each contour plane (for each vector field) and / or fitting one or more curves. Fitting each curve may include solving a minimization problem. In such an example, the curve is fitted based on the parameter values by minimizing the distance between reductions / projections of skin portions on each contour plane (e.g., projections of vertices of a 3D mesh if the CAD model is a 3D mesh, and projections of points of a point cloud if the CAD model is a point cloud). The method may obtain each such curve by searching the space of curves defined on the contour plane. The method may optionally obtain each curve by a regularized regression method. Regularization improves the interpolation quality of the solution to avoid overfitting. Regression may be performed according to known methods. By considering the values of one or more parameters, the method provides an improved solution for fitting curves. Fitting a curve (such as a contour or guide curve) using parameters obtained according to a vector field involves the following:
number
[0061] This method is implemented on a computer. This means that the steps (or substantially all steps) of this method are performed by at least one computer or any similar system. Thus, the steps of this method are performed by the computer, sometimes fully automatically, or sometimes semi-automatically. In one example, the initiation of at least some steps of this method may be performed through user-computer interaction. The required level of user-computer interaction may depend on the expected level of automation and be balanced with the need to implement the user's wishes. In one example, this level may be user-defined and / or predefined.
[0062] For example, the step of providing a CAD 3D model of a machine part may be initiated by a user action. For example, the action may include the user importing, loading, or creating a CAD 3D model. Similarly, providing one or more vector fields may be initiated by a user action. For example, the action may include inserting data that defines each of the one or more vector fields.
[0063] A typical example of a computer implementing this method is running it on a system adapted for this purpose. The system may include a processor coupled with memory and a graphical user interface (GUI), where memory stores a computer program containing instructions for performing this method. Memory may also store a database. Memory is any hardware adapted for such storage and may include several physically distinct components (e.g., one for the program and possibly one for the database).
[0064] Figure 5 shows an example of a GUI for a system where the system is a CAD system. Model 2000 is an example of a 3D model of the CAD provided in this method. GUI 2100 may be a typical CAD-like interface having standard menu bars 2110, 2120 and bottom and side toolbars 2140, 2150. Such menus and toolbars include a set of icons that the user can select, each icon being associated with one or more actions or operations known in the art. Some of these icons are associated with software tools suitable for editing and working with the 3D modeled object 2000 displayed in GUI 2100. The software tools may be grouped into workbenches. Each workbench consists of a subset of software tools. In particular, one of the workbenches is an editing workbench suitable for editing the geometric features of the modeled product 2000. During operation, the designer may, for example, pre-select a portion of the object 2000, select the appropriate icon, and then begin an operation (e.g., changing dimensions, color, etc.), or edit geometric constraints. For example, a typical CAD operation is modeling the extrusion and folding of a 3D modeled object displayed on the screen. The GUI may display, for example, data 2500 related to the displayed product 2000. In the example shown, the data 2500 and its 3D representation 2000, displayed as a "feature tree," relate to a brake assembly including a brake caliper and disc. The GUI may further display various types of graphic tools 2130, 2070, 2080 for, for example, facilitating the 3D orientation of an object, initiating a simulation of the operation of the edited product, or rendering various attributes of the displayed product 2000. The cursor 2060 may be controlled by a haptic device to allow the user to interact with the graphic tools.
[0065] Figure 6 shows an example of a system, where the system is a client computer system, such as a user's workstation.
[0066] The client computer in this example includes a central processing unit (CPU) 1010 connected to an internal communication bus 1000, and random access memory (RAM) 1070 also connected to the bus. The client computer further includes a video random access memory 1100 and associated graphics processing unit (GPU) 1110 connected to the bus. The video RAM 1100 is also known in the art as a frame buffer. A mass storage device controller 1020 manages access to mass storage devices such as a hard drive 1030. Mass storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, such as semiconductor memory devices like EPROMs, EEPROMs, and flash memory devices; magnetic disks like internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks 1040. Any of the above may be complemented by or incorporated into specially designed application-specific integrated circuits (ASICs). A network adapter 1050 manages access to the network 1060. The client computer may also include haptic devices 1090, such as a cursor control device and a keyboard. A cursor control device is used in a client computer to allow the user to selectively position the cursor at any desired location on the display 1080. Furthermore, the cursor control device allows the user to select various commands and input control signals. The cursor control device includes several signal generating devices for inputting control signals to the system. Typically, the cursor control device may be a mouse, and the mouse buttons are used to generate signals. Alternatively or additionally, the client computer system may include a pressure-sensitive pad and / or a pressure-sensitive screen.
[0067] A computer program may include instructions that can be executed by a computer, and the instructions include means for causing the system to perform the Method. The program may be recordable on any data storage medium, including the system's memory. The program may be implemented, for example, in digital electronic circuits, or in computer hardware, firmware, software, or a combination thereof. The program may be implemented as a device, for example, a product tangibly embodied in a machine-readable storage device for execution by a programmable processor. The steps of the Method may be performed by a programmable processor that executes a program of instructions to perform the functions of the Method by acting on input data and producing output. Thus, the processor may be programmable or coupled to receive data and instructions from a data storage system, at least one input device, and at least one output device, and to transmit data and instructions to them. The application program may be implemented in a high-level procedural programming language or an object-oriented programming language, or in assembly language or machine language, as necessary. In any case, the language may be a compiled or interpreted language. The program may be a full installation program or an update program. In any case, the application of the program on the system results in instructions for performing the Method.
[0068] Next, we will explain how to implement this method.
[0069] This method utilizes the geometric characteristics of CAD features to construct parameterization of surface meshes arising from CAD features, achieving improved parameterization that follows natural directions. For example, CAD features are often constructed from contour curves or guide curves. However, if the skin portion is a mesh, such contour / guide curve data does not need to be included in the skin portion. To facilitate the calculation of the curves themselves (or their approximations), parameters on a mesh (e.g., a surface mesh) that increases along one of those curves may be calculated (i.e., determined).
[0070] In particular, this method calculates parameters on a surface mesh that follow a specific vector field on the mesh. When the mesh approximates a surface resulting from CAD operators such as extrusion, rotation, fillet, and sweep, and the vector field is a directional field obtained from relevant geometric information from that surface, this method uses the parameters to efficiently calculate approximate values of contour curves, guide curves, and / or fillet radii.
[0071] The parameter calculation performed by this method is fast because it is based on solving a sparse and symmetric linear system. Furthermore, the calculation is robust and works well even on noisy and imperfect surfaces. The method can be further refined by performing curve fitting (contour, guide) using the calculated parameters.
[0072] In implementing this method, providing a CAD 3D model representing a part of a machine component is necessary.
number
number
number
number
number
number
number
number
number
number
[0073] Let (M,g) be an oriented smooth Riemannian manifold of dimension d, where g is the metric tensor. In the case of a differential manifold M, T p M represents the tangent vector space at point p∈M, TM represents the tangent bundle of M, and Γ(TM) represents the set of (smooth) tangent vector fields on M.
number
number
[0074] The implementation of this method measures how well f ∈ H 1 (M) follows on M by calculating the following energy (i.e., the error / distance between the gradient of the candidate parameter f and the vector field X): [Number] In this formula, |·| g 2 = g(·,·), ω g ∈ Ω d (M) is the standard volume form on (M,g), and H 1 (M) is the Sobolev space of (weakly) differentiable L 2 functions (whose (weak) derivatives are also L 2 ). Here, since df is the derivative of f, it is a cotangent vector field, and df # is the associated tangent vector field (via the metric tensor g), also called the gradient of f, and denoted by gradf. In coordinates, (grad f) i = g ij (df) j .
[0075] The implementation of this method determines the value distribution of the parameter f that most follows the tangent vector field X by optimizing an objective function that rewards the alignment of the gradient of the candidate parameter (denoted by f) and the vector field X as follows: [Number] In this formula, [Number] is. H * 1 (M) is a more appropriate space for this optimization than H 1 (M) to provide the uniqueness of the solution of the optimization problem: · The differential d is H * 1 is injective in (M). In fact,
Math
Math
Math
[0076] Solving the optimization problem (OPT) is equivalent, according to the conventional variational method, to finding the weak solution of the Poisson problem in H * 1 (M): ]>
Math
[0077] ]> In the implementation of this method, d = 2, ]>
Math
Math
[0078] ]> The implementation of this method optimizes the objective function by finding an approximation of the solution of the Poisson problem in the restricted space V of dimension n - 1 * :
number
number
[0079] This method is implemented by obtaining a finite element approximation of the solution to the Poisson problem (EDP) by solving the following linear system:
number
number
[0080] In this equation, L is the von Neumann discrete Laplacian with cotangent weights:
number
[0081] Of the above formulas, n τ(i,j) τ is the normal vector of triangle τ(i,j), and f is a vector containing the parameter values at the vertices of the mesh.
[0082] This method involves solving the parameter value distribution:
number
[0083] coefficient
number
number
[0084] The resulting linear system is sparse and symmetric, and can therefore be solved easily and quickly. Next, this implementation may obtain the contour of the sweep based on the distribution of values f.
[0085] In a particular implementation following the above, a general sweep defined as S(u,v)=γ(v)+R(v)p(u) may be parameterized, in this equation,
number
number
number
[0086] In one example, the principal direction of curvature is used to create a vector field X that aligns with the principal direction of curvature. u and X v You may calculate this if the spine curve of the sweep is equal to the guide curve (i.e., the contour rotates according to the guide curve), and the contour plane is orthogonal to the (initial) tangent vector of the contour, i.e.,
number
[0087] Each parameter is obtained by solving each optimization problem and each linear system.
[0088] Furthermore, this implementation uses parameters to fit a segmented surface onto the data, that is, to calculate both (approximations of) guide curves and contour curves. The guide curves are approximated by the curves between the following sets:
number
number
number
number
number
number
number
number
number
[0089] Next, you may fit the solution by solving an optimization problem of the following form:
number
number
[0090] Next, I will explain the specific implementation of two sweep examples.
[0091] <Example 1: Extruded surface> Material distribution on the extrusion axis
number
[0092] This implementation uses a vector field formed by the cross product of the normals of the extrusion axis and the skin portion, i.e., X=u e This includes providing ×n. The vector field X is a unit vector field X, and ∇ α X α The condition is met: =0. For each element (i.e., face) τ of the mesh M, the constant value of the vector field is set as follows: X τ =u e ×n τ Next, solving the linear system as described above, we get vertex v i parameter f i The value obtained is obtained.
[0093] This implementation further involves the vertices v of the mesh i The parameter f above i The extrusion contour may be calculated based on the determined value distribution, and a curve approximating the contour may be fitted as shown in Figure 3.
[0094] First, the reduction (i.e., projection) onto the contour plane is calculated.
number
number
number
number
number
number
number
number
[0095] Next, in this implementation, the calculated parameterized f is used to reduce Π e A curve is fitted to the points on the contour plane, which is the image of the mesh vertices through the curve.
[0096] As shown in Figure 4, in this implementation, all
number
number
number
number
number
number
number
[0097] Here, the optimization problem becomes the following regression:
number
number
number
[0098] This implementation adds regularization terms of the following form:
number
[0099] Here, the optimization problem becomes the following ridge regression: [Number] At this time, H ik = φ k ″(f i ) holds. The analytical solution of ridge regression is [Number] and in this formula, [Number] and by setting Φ(t) = (φ1(t), …, φ K (t)) T , the optimal curve is as follows: [Number]
[0100] [Example 2: Rotating Surface] The material distribution is about the following axis: [Number] and the center [Number] when arranged as rotation around the periphery will be described.
[0101] This implementation involves a vector field formed by the cross product between the normal of the skin part and the vector tangent to the skin part along the trajectory, that is, [Number] (in this formula, [Number] and n p is the value of the normal vector of S at point p) and includes providing. The vector field X is a unit vector field and follows the contour direction.
[0102] The reduction (i.e., projection) to the contour plane is calculated using the following mapping in the same way as for the extrusion:
number
Claims
1. A computer implementation method for parameterizing a computer-aided design (CAD) 3D model of a mechanical part, which includes a portion having a material distribution arranged as a sweep with a trajectory and boundary, - A 3D model including a skin portion representing the outer surface of the part of the machine component, - Each of the vector fields X that represent the boundary and / or the trajectory To provide, The objective function that assigns a reward to the alignment of the gradient of the candidate parameter f with the vector field X determines the value distribution of each parameter in the skin portion for each vector field X. Computer implementation methods, including those mentioned above.
2. The method according to claim 1, wherein the objective function rewards the alignment of the gradient of the candidate parameter f and the vector field X by imposing a penalty on the error between the gradient of the candidate parameter f and the vector field X.
3. The aforementioned error is the distance between the gradient df# of the candidate parameter f and the vector field X, as shown below: [Math 1] The method according to claim 2, wherein the distance is based on the metric tensor g.
4. The objective function is as follows: [Math 2] The method according to claim 3, wherein in this equation M is the skin portion, X is the vector field X, f is the candidate parameter f, df# is the gradient of the candidate parameter f, ωg is the standard volume form of the skin portion with respect to the metric tensor g, and |df#-X|g2 is the distance between the gradient df# of the candidate parameter f with respect to the metric tensor g and the vector field X.
5. The candidate parameter f is in the following space [Math 3] It belongs to the space that represents, and in this equation, H 1 The method according to claim 4, wherein (M) is the Sobolev space of weakly differentiable functions on the skin portion M.
6. Optimizing the aforementioned objective function approximates the solution to the Poisson problem as shown below. * 1 (M) including finding [Math 4] In this equation, ∂M indicates the boundary of the skin portion M, and ∇ α X α is the divergence of the vector field X, and ιY(ω) is an n-form ω∈Ω on M relating to the vector field Y∈Γ(TM). n The method according to claim 5, wherein the inner product of (M), where TM is the tangent bundle of M and Γ(TM) is the set of smooth tangent vector fields on the skin portion M.
7. The skin portion is represented by a 3D discrete geometric representation with discrete elements, and the approximation of the solution to the Poisson problem is H * 1 The method according to claim 6, wherein (M) is located in a discrete space.
8. The discrete space is as follows: [Math 5] In this equation, n is the number of discrete elements of the discrete geometry representation, and each φ i is a continuous piecewise linear function on the skin portion M associated with the discrete element i, the method according to claim 7.
9. The method according to claim 1, wherein the one or more vector fields X include a plurality of vector fields that are all aligned in the principal curvature direction of the skin portion.
10. The method according to claim 1, further comprising the material distribution being arranged as an extrusion, the computer implementation method providing the extrusion axis, and the one or more vector fields X include a vector field formed by the cross product of the extrusion axis and the normal of the skin portion.
11. The method according to claim 1, wherein the material distribution is arranged as a rotation, and the computer implementation method further includes providing a rotation axis, and the vector field X includes one or more vector fields formed by the cross product of the normal to the skin portion and a vector tangent to the skin portion along the trajectory.
12. The method according to claim 1, further comprising the computer implementation method calculating the contour of the sweep based on the determined value distribution.
13. A computer program including instructions for performing the computer implementation method described in any one of claims 1 to 12.
14. A computer-readable record containing the computer program described in claim 13. storage medium.
15. A processor connected to a memory storing the computer program described in claim 13. A system equipped with these features.