Product parameterized surface modeling method based on parallel heuristic optimization
By combining parallel heuristic optimization and GPU computing with the Runge-Kutta algorithm, we have automated the efficient splicing and topology guarantee of parametric surfaces for complex products, solving the problem of low efficiency in traditional methods and achieving efficient surface optimization design.
Patent Information
- Application Number
- CN202610109303.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-27
- Publication Date
- 2026-06-02
- Estimated Expiration
- 2046-01-27
AI Technical Summary
Traditional parametric surface modeling processes are inefficient, rely on human experience, are difficult to find the global optimal solution, and serial calculations cannot meet the real-time requirements of modern industrial design, especially when dealing with complex geometries.
A parallel heuristic optimization approach is adopted, utilizing GPU parallel computing and the Runge-Kutta optimization algorithm. By constructing a comprehensive objective function, surface stitching and topology guarantees are automatically achieved. The control points and weights of NURBS surface patches are used to extract and optimize design variables.
It improves the speed of optimizing the parametric surface design of complex products, ensures surface smoothness and topological robustness, and realizes efficient automated surface modeling.
Smart Images

Figure CN121582515B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of computer-aided design and manufacturing technology, and relates to a parametric surface modeling method for products based on parallel heuristic optimization. Background Technology
[0002] With the rapid development of computer-aided design (CAD) and computer-aided manufacturing (CAM) technologies, product design is playing an increasingly important role in fields such as aerospace, automotive manufacturing, mold design, and consumer electronics. Parametric modeling, as one of the core technologies of modern CAD systems, allows designers to define and modify complex free-form surfaces by adjusting geometric parameters (such as control point coordinates, weights, node vectors, etc.) and topological parameters.
[0003] In practical engineering design, high-quality surface modeling not only requires meeting basic aesthetic requirements but also strictly adhering to geometric constraints and engineering standards, such as surface fairness, watertightness, and manifoldness. However, traditional parametric surface modeling processes typically face the following major technical challenges:
[0004] 1. Complex multi-objective optimization problem:
[0005] Designing a perfect surface is often a complex multi-objective optimization problem. Designers need to meet the requirements of approximating the shape accurately while also considering the smoothness of the surface, the continuity of the boundary connections, and specific topological structures. Most existing commercial CAD software relies on human experience, using manual dragging of control points or repeated parameter adjustments for trial and error. This approach is not only inefficient and heavily dependent on the designer's personal experience, but also makes it difficult to manually find the global optimum when dealing with complex surfaces with hundreds or thousands of control points.
[0006] 2. Limitations of traditional numerical optimization methods:
[0007] To automate this process, existing technologies often introduce gradient-based numerical optimization algorithms (such as Newton's method and gradient descent). However, many constraints in surface modeling (such as topological connectivity and manifold determination) are often nonlinear, nonconvex, or even nondifferentiable. This makes traditional gradient algorithms prone to getting trapped in local optima and extremely difficult, or even impossible, to calculate the derivatives of complex geometric constraints.
[0008] 3. Serial computation is inefficient:
[0009] Traditional surface optimization algorithms are typically executed serially on CPUs, failing to fully utilize the parallel computing capabilities of modern hardware. When dealing with complex geometries composed of a large number of repetitive units (such as parametric textures and microstructure arrays), the time consumption of serial computation increases linearly or even exponentially, which cannot meet the real-time or rapid iteration requirements of modern industrial design. Summary of the Invention
[0010] To address the aforementioned technical problems in the existing technology, this invention proposes a product parametric surface modeling method based on parallel heuristic optimization, the specific technical solution of which is as follows:
[0011] A parametric surface modeling method for products based on parallel heuristic optimization includes the following steps:
[0012] Step 1: Input the initial parametric surface model of the product through the CAD system interface and extract the design variables;
[0013] Step 2: Based on the input parametric surface, construct a spliced surface that meets the geometric continuity requirements between adjacent surfaces to form a complete surface model;
[0014] Step 3: Establish an optimization objective to measure the smoothness of the complete surface model, and add topological correctness constraints to form a comprehensive objective function;
[0015] Step 4: Based on GPU parallel computing, with the goal of minimizing the comprehensive objective function, the RungeKutta optimization algorithm is used to perform heuristic iterative optimization in the design variable space until convergence, and the optimal modeling result of the product parametric surface is output.
[0016] Furthermore, the initial parametric surface model includes multiple NURBS surface patches. All optimizable parameters, including the control point coordinates and weights of each surface, are extracted from the NURBS surface patches to construct a design variable vector.
[0017] Furthermore, step 2 specifically includes:
[0018] Step 2.1: Based on the input parametric surface, extract the boundary curves and control points of adjacent surfaces;
[0019] Step 2.2: Construct based on adjacent surface boundary curves and control points Positionally continuous initial spliced surfaces;
[0020] Step 2.3: Apply tangential / normal constraints to the initial spliced surface to achieve... continuous.
[0021] Furthermore, step 2.2 specifically includes:
[0022] Step 2.2.1: Connect the boundary curves of two adjacent surfaces and Represented as NURBS curves with the same degree and node vectors;
[0023] Step 2.2.2: with The control point list and weights are used as the initial splicing surface. exist The control points and weights of the column, The control point list and weights are used as the initial splicing surface. exist Column control points and weights;
[0024] Step 2.2.3: At the boundary Direction, using linear B-spline basis functions, with node vectors [0,0,1,1], constructing a system that satisfies... and A continuous curved surface at a given position.
[0025] Furthermore, step 2.3 specifically includes:
[0026] Step 2.3.1: At the boundary Select several sampling points in the direction and establish a homogeneous coordinate space. Continuity equation;
[0027] Step 2.3.2: [The text appears to be incomplete and contains several grammatical errors. A more accurate translation would require the full context.] The continuity equation is discretized at each sampling point. By utilizing the linear property of the derivatives of the basis functions, the equation at the sampling points is transformed into a linear equation about the control points and weights.
[0028] Step 2.3.3: Solve the equations of all sampling points simultaneously to deduce the surface control mesh that satisfies the constraints. Finally, by adjusting the position and weight of the control points, the spliced surface is made to satisfy the constraints at both boundary points. Continuity.
[0029] Furthermore, step 3 specifically includes:
[0030] Step 3.1: Sample on each NURBS surface patch in the model and at a series of parameter sampling points. The principal curvature is calculated at the point, and then the local smoothing energy based on the curvature is calculated. The surface smoothing objective function is obtained by weighted summation of the local energies of all sampling points on all surfaces.
[0031] Step 3.2: Construct a topology correctness penalty term based on discrete mesh detection: Discretize the model to generate a mesh, and traverse and check each vertex of the mesh to find all containing vertices. The pieces are then arranged into a list, and from that list, all pieces are found that... An edge with one endpoint For each edge Find all that simultaneously contain and The other endpoint face; if an edge shared by three or more faces is found, then the vertex... If the vertices are non-manifolds, a topological correctness penalty term is obtained by counting the corresponding vertices.
[0032] Step 3.3: Combine the surface smoothing objective function with the topology correctness penalty term to form the final comprehensive objective function driving the optimization algorithm.
[0033] Furthermore, step 4 specifically includes:
[0034] Step 4.1: Algorithm Initialization: Set algorithm parameters, including the number of individuals in the population. Maximum number of iterations Randomly generated within the feasible region of the variable. The candidate solutions constitute the initial population. ;
[0035] Step 4.2: GPU parallel iterative optimization: With the goal of minimizing the comprehensive objective function, parallel fitness evaluation and parallel individual update based on the Runge-Kutta mechanism are performed;
[0036] Step 4.3: Perform GPU optimization convergence determination and output the optimal modeling parameters of the product parameterized surface.
[0037] Further, step 4.2 specifically includes:
[0038] Step 4.2.1: In the GPU programming model, map each individual in the RUN algorithm to one or more thread blocks;
[0039] Step 4.2.2: For the current generation population Each individual in The comprehensive objective function value is computed in parallel on the GPU, and the individual with the best fitness value (i.e., the minimum value) is identified from the population and denoted as the current global optimum. Its fitness value is This process employs two levels of parallelism: at the coarse-grained level, geometric calculations on different NURBS surface patches are performed in parallel; at the fine-grained level, multiple individuals in the population undergo independent fitness assessments in parallel.
[0040] Step 4.2.3: Based on the Runge-Kutta mechanism, calculate four search direction vectors (i.e., slopes) in parallel for each individual in the population, and then calculate the candidate update position of that individual by weighted average.
[0041] Furthermore, step 4.3 specifically includes:
[0042] Step 4.3.1: Repeat step 4.2 to check if the required number of iterations has been reached. Or, the combined objective function value changes and key error indicators are below the engineering tolerance;
[0043] Step 4.3.2: When the convergence condition is met, the system outputs the globally optimal design variables. That is, the optimal modeling parameters of the parametric surface of the product.
[0044] The beneficial effects of this invention are: it fully leverages the gradient-free global optimization capability of the Runge-Kutta heuristic optimization algorithm and the parallel computing capability of the GPU, while ensuring the quality of the parametric surface modeling and geometric topological robustness of the product, and significantly improves the solution speed of multi-objective free-form surface optimization design. This allows the automatic splicing, surface smoothing and topology guarantee of complex product parametric surfaces to be completed efficiently under a unified optimization framework and integrated into the geometric kernel of the CAD / CAM software system. Attached Figure Description
[0045] Figure 1 This is a flowchart of a product parametric surface modeling method based on parallel heuristic optimization in this embodiment;
[0046] Figure 2 This is a schematic diagram of the parameter surface input in this embodiment;
[0047] Figure 3 This is a schematic diagram of the optimized parametric surface output in this embodiment. Detailed Implementation
[0048] To make the objectives, technical solutions, and technical effects of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments.
[0049] This embodiment provides a product parametric surface modeling method based on parallel heuristic optimization, including the following steps:
[0050] Step 1: Input the parametric surface model of the product through the CAD system interface and extract the design variables;
[0051] Users input the CAD model data of the target product through the system's parametric surface modeling interface. The initial surface shape corresponding to this model is as follows: Figure 2 As shown. The specific steps are as follows:
[0052] Step 1.1: Input the initial parametric surface model of the product: This model consists of multiple NURBS surface patches. The user needs to specify or import the degree, control point mesh, weights and node vectors of each surface patch;
[0053] After receiving the above input, the system will proceed to the next step;
[0054] Step 1.2: Unified Representation of Surface Models: The system uniformly represents the product's geometric shape as K parametric NURBS surface patches. The set of surfaces, each defined by its control point grid, weights, and B-spline basis functions. The mathematical form of points on a surface patch is the control points. With p-th order B-spline basis functions defined on the node vectors in the u and v directions and q-th order B-spline basis functions A linear combination; each control point corresponds to a weighting coefficient. The equation of the surface is given by rational fractions:
[0055]
[0056] Step 1.3: Design Variable Extraction and Organization: The system automatically extracts all optimizable parameters from the input model, including the control point coordinates and weights of each NURBS surface patch, and constructs a design variable vector. .
[0057] Step 2: Parametric Surface Stitching Modeling: New stitched surfaces are constructed between given parametric surfaces, ensuring that the surfaces meet the specified geometric continuity to obtain a complete surface model. The system automatically constructs bridging surfaces between the surfaces that need to be connected based on the initial model and the user-specified continuity requirements. Specifically, it performs the following three steps:
[0058] Step 2.1: Extract the boundary curves and control points of adjacent surfaces: For a pair of parametric surfaces that need to be spliced... and Two corresponding boundary curves were precisely extracted from its NURBS mathematical representation. and These boundary curves are also rational B-spline curves, and their control points, weights, and node vectors can be directly obtained from the control point grid rows / columns at the boundary of the surface.
[0059] Step 2.2: Construction The initial splicing surface with continuous position is executed through the following three sub-steps:
[0060] Step 2.2.1: [The text appears to be incomplete and contains several grammatical errors. A more accurate translation would require the full context.] and Represented as NURBS curves with the same degree and node vectors;
[0061] Step 2.2.2: with The control point list and weights are used as the splicing surface. exist The control points and weights of the column, The control point list and weights are used as the splicing surface. exist Column control points and weights;
[0062] Step 2.2.3: For The direction is determined using linear B-spline basis functions, with nodal vectors [0,0,1,1]. The surface constructed in this way strictly satisfies mathematical conditions. and , achieved continuous.
[0063] Step 2.3: Apply tangential / normal constraints to the initial spliced surface to achieve... Continuity: By establishing and solving a spliced surface A system of linear constraint equations for internal control points and weights, ensuring they are within the boundary. and The locations are respectively with adjacent curved surfaces and The condition of continuous tangent planes, i.e., consistent normal directions, must be met. This process specifically executes the following sub-steps:
[0064] Step 2.3.1: At the boundary Select K+1 sampling points in the direction In homogeneous coordinate space, establish the following continuity equation: place, ,in and Represented in homogeneous coordinates, and It is a scalar function;
[0065] Step 2.3.2: Apply the continuity equation at each sampling point Discretize the data and use the linear property of the derivatives of the basis functions to obtain the form as follows: The linear relationship, where The vector of internal control points and weights to be determined is the vector consisting of all internal control points and their weights on the bridging surface, excluding the first and last columns. Given the Jacobian matrix, it depends on the basis functions and their derivatives; This is a constant vector calculated from the fixed boundary control points; , Given vectors; , For undetermined scalars;
[0066] Step 2.3.3: Solve the equations for all sampling points simultaneously to form a system of equations for the unknown vector. and scalar The system of linear equations:
[0067]
[0068] in The coefficient matrix, Since the constant term is , the system of equations is . A complete mathematical description of continuity constraints. Similarly, for A similar system of equations can be established at the boundaries. Finally, this linear system is solved to ensure that the spliced surface satisfies the following conditions at both boundary points. Continuity.
[0069] Step 3: Construct a comprehensive evaluation function: Establish an optimization objective to measure the smoothness of the complete surface model, and add topological correctness constraints to form a comprehensive objective function.
[0070] The system automatically constructs a comprehensive objective function to drive optimization based on the complete surface model obtained in step 2. The specific steps are as follows:
[0071] Step 3.1: Construct the objective function for surface smoothing based on principal curvature and rate of change of curvature. For each NURBS surface patch in the model, at a series of parameter sampling points Calculate its principal curvature Furthermore, the local smoothing energy based on curvature is calculated. ,in and These are the weighting coefficients. It is obtained by weighted summation of the local energies at all sampling points on all surface patches. The design space vector is composed of parameters such as weights and control points of each NURBS surface;
[0072] Step 3.2: Construct a topology correctness penalty term based on discrete mesh detection To ensure that the optimized model is a watertight manifold structure, the system discretizes the model to generate a mesh, and then iterates through and checks each vertex of the mesh to find all containing vertices. The pieces of dough form a list. ,from In the middle, find all those that are... An edge with one endpoint For each edge Find all that simultaneously contain and The other endpoint face; if an edge shared by three or more faces is found, then the vertex... It is a non-manifold, and a counting penalty is applied to the corresponding vertices, with the penalty term being... ,in This is the penalty weighting coefficient;
[0073] Step 3.3: Combining to form the comprehensive objective function: Combining the above two items to form the final comprehensive objective function driving the optimization algorithm: .
[0074] Step 4: GPU Parallel Heuristic Optimization: Using the RungeKutta optimization algorithm, heuristic iterative optimization is performed on the design variable space in a GPU parallel environment. After the optimization converges, the optimal shape parameters of the product parametric surface can be obtained, and then the optimized final surface can be output.
[0075] The system calls the integrated RungeKutta optimization algorithm module to minimize the comprehensive objective function on a GPU parallel architecture. To achieve this goal, an efficient search is performed in the design variable space. The specific steps are as follows:
[0076] Step 4.1: Algorithm Initialization: Set algorithm parameters, including the number of individuals in the population. Maximum number of iterations And so on. Within the feasible region of the variable, randomly generate... The candidate solutions constitute the initial population. ;
[0077] Step 4.2: GPU Parallel Iterative Optimization: Perform parallel fitness evaluation and parallel individual update based on the Runge-Kutta mechanism, specifically executing the following three steps:
[0078] Step 4.2.1: GPU Thread Mapping and Data Management: In the GPU programming model, each individual in the RUN algorithm is mapped to one or more thread blocks;
[0079] Step 4.2.2: Parallel fitness assessment: For the current generation population Each individual in The comprehensive objective function value is computed in parallel on the GPU. The individual with the optimal fitness value (minimum) is identified from the population and denoted as the current global optimum. Its fitness value is ;
[0080] This process employs two levels of parallelism: at the coarse-grained level, geometric calculations on different NURBS surface patches are performed in parallel; at the fine-grained level, multiple individuals in the population undergo independent fitness assessments in parallel.
[0081] Step 4.2.3: Parallel update of individual positions based on the Runge-Kutta mechanism: For each individual in the population, calculate four search direction vectors, i.e., slopes, in parallel: , , , Then, according to the weighted average formula Calculate the candidate update position for this individual.
[0082] Step 4.2.4: Local Enhancement of the Global Optimal Solution: For the current global optimal solution... Apply a small random perturbation to generate a test solution .if Superior Then use replace .
[0083] Step 4.3: GPU optimization convergence determination and result output, the specific steps are as follows:
[0084] Step 4.3.1: Convergence Condition Check: Repeat step 4.2 to check if the number of iterations has been reached. Or, the combined objective function value changes and key error indicators are below the engineering tolerance;
[0085] Step 4.3.2: Output: The algorithm terminates when the convergence condition is met. The system outputs the globally optimal design variables. These are the optimal modeling parameters for the product's parametric surface. The CAD geometry engine uses these parameters to reconstruct and output the final optimized parametric surface model of the product, such as... Figure 3 As shown in the image, this model can be directly used for subsequent CNC machining, simulation analysis, or visualization.
[0086] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention in any way. Although the implementation process of the present invention has been described in detail above, those skilled in the art can still modify the technical solutions described in the foregoing examples or make equivalent substitutions for some of the technical features. All modifications and equivalent substitutions made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A product parametric surface modeling method based on parallel heuristic optimization, characterized in that, Includes the following steps: Step 1: Input the initial parametric surface model of the product through the CAD system interface and extract the design variables; Step 2: Based on the input parametric surface, construct a spliced surface that meets the geometric continuity requirements between adjacent surfaces to form a complete surface model; Step 3: Establish an optimization objective to measure the smoothness of the complete surface model, and add topological correctness constraints to form a comprehensive objective function, which specifically includes: Step 3.1: Sample on each NURBS surface patch in the model and at a series of parameter sampling points. The principal curvature is calculated at the point, and then the local smoothing energy based on the curvature is calculated. The surface smoothing objective function is obtained by weighted summation of the local energies of all sampling points on all surfaces. Step 3.2: Construct a topology correctness penalty term based on discrete mesh detection: Discretize the model to generate a mesh, and traverse and check each vertex of the mesh to find all containing vertices. The pieces are then arranged into a list, and from that list, all pieces are found that... An edge with one endpoint For each edge Find all that simultaneously contain and The other endpoint face; if an edge shared by three or more faces is found, then the vertex... If the vertices are non-manifolds, a topological correctness penalty term is obtained by counting the corresponding vertices. Step 3.3: Combine the surface smoothing objective function with the topology correctness penalty term to form the final comprehensive objective function driving the optimization algorithm; Step 4: Based on GPU parallel computing, with the goal of minimizing the comprehensive objective function, the RungeKutta optimization algorithm is used to perform heuristic iterative optimization in the design variable space until convergence, and the optimal modeling result of the product parametric surface is output.
2. The method as described in claim 1, characterized in that, The initial parametric surface model includes multiple NURBS surface patches. All optimizable parameters are extracted from the NURBS surface patches, including the coordinates and weights of the control points of each surface, to construct a design variable vector.
3. The method as described in claim 1, characterized in that, Step 2 specifically includes: Step 2.1: Based on the input parametric surface, extract the boundary curves and control points of adjacent surfaces; Step 2.2: Construct based on adjacent surface boundary curves and control points Positionally continuous initial spliced surfaces; Step 2.3: Apply tangential / normal constraints to the initial spliced surface to achieve... continuous.
4. The method as described in claim 3, characterized in that, Step 2.2 specifically includes: Step 2.2.1: Connect the boundary curves of two adjacent surfaces and Represented as NURBS curves with the same degree and node vectors; Step 2.2.2: with The control point list and weights are used as the initial splicing surface. exist The control points and weights of the column, The control point list and weights are used as the initial splicing surface. exist Column control points and weights; Step 2.2.3: At the boundary Direction, using linear B-spline basis functions, with node vectors [0,0,1,1], constructing a system that satisfies... and A continuous curved surface at a given position.
5. The method as described in claim 3, characterized in that, Step 2.3 specifically includes: Step 2.3.1: At the boundary Select several sampling points in the direction and establish a homogeneous coordinate space. Continuity equation; Step 2.3.2: [The text appears to be incomplete and contains several grammatical errors. A more accurate translation would require the full context.] The continuity equation is discretized at each sampling point. By utilizing the linear property of the derivatives of the basis functions, the equation at the sampling points is transformed into a linear equation about the control points and weights. Step 2.3.3: Solve all the equations of the sampling points simultaneously to deduce the surface control mesh that satisfies the constraints. Finally, by adjusting the position and weight of the control points, the surfaces are spliced together.
6. The method as described in claim 1, characterized in that, Step 4 specifically includes: Step 4.1: Algorithm Initialization: Set algorithm parameters, including the number of individuals in the population. Maximum number of iterations Randomly generated within the feasible region of the variable. The candidate solutions constitute the initial population. ; Step 4.2: GPU parallel iterative optimization: With the goal of minimizing the comprehensive objective function, parallel fitness evaluation and parallel individual update based on the Runge-Kutta mechanism are performed; Step 4.3: Perform GPU optimization convergence determination and output the optimal modeling parameters of the product parameterized surface.
7. The method as described in claim 6, characterized in that, Step 4.2 specifically includes: Step 4.2.1: In the GPU programming model, map each individual in the RUN algorithm to one or more thread blocks; Step 4.2.2: For the current generation population Each individual in The comprehensive objective function value is computed in parallel on the GPU, and the individual with the best fitness value (i.e., the minimum value) is identified from the population and denoted as the current global optimum. Its fitness value is This process employs two levels of parallelism: at the coarse-grained level, geometric calculations on different NURBS surface patches are performed in parallel; at the fine-grained level, multiple individuals in the population undergo independent fitness assessments in parallel. Step 4.2.3: Based on the Runge-Kutta mechanism, calculate four search direction vectors (i.e., slopes) in parallel for each individual in the population, and then calculate the candidate update position of that individual by weighted average.
8. The method as described in claim 6, characterized in that, Step 4.3 specifically includes: Step 4.3.1: Repeat step 4.2 to check if the required number of iterations has been reached. Or, the combined objective function value changes and key error indicators are below the engineering tolerance; Step 4.3.2: When the convergence condition is met, the system outputs the globally optimal design variables. That is, the optimal modeling parameters of the parametric surface of the product.
