CN113421342A - Grid division method and system for closed cylindrical surface with complex boundary constraint - Google Patents

Grid division method and system for closed cylindrical surface with complex boundary constraint Download PDF

Info

Publication number
CN113421342A
CN113421342A CN202110711412.6A CN202110711412A CN113421342A CN 113421342 A CN113421342 A CN 113421342A CN 202110711412 A CN202110711412 A CN 202110711412A CN 113421342 A CN113421342 A CN 113421342A
Authority
CN
China
Prior art keywords
point
boundary
boundary ring
value
linked list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110711412.6A
Other languages
Chinese (zh)
Inventor
董天林
刘云华
刘清华
潘隽永
刘坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Tianyu Software Co ltd
Original Assignee
Wuhan Tianyu Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Tianyu Software Co ltd filed Critical Wuhan Tianyu Software Co ltd
Priority to CN202110711412.6A priority Critical patent/CN113421342A/en
Publication of CN113421342A publication Critical patent/CN113421342A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

The invention discloses a grid division method of a closed cylindrical surface with complex boundary constraint, which comprises the following steps: obtaining a plurality of boundary rings of a closed cylindrical surface and a plurality of parameters from an entity model, wherein the parameters comprise a coordinate system of the closed cylindrical surface, the radius of the closed cylindrical surface and the axis direction of the closed cylindrical surface, sequentially performing discrete calculation on each edge in each boundary ring of the closed cylindrical surface to obtain a plurality of discrete points, all the discrete points corresponding to the boundary rings form a discrete point chain table corresponding to the boundary rings, the arrangement sequence of the discrete points in the discrete point chain table is consistent with the arrangement sequence of the discrete points in the edge where the discrete points are located, performing mapping transformation on each discrete point in the discrete point chain table corresponding to each boundary ring to obtain a corresponding plane mapping point, and establishing a mapping relation between the plane mapping point and the corresponding discrete point. The invention can solve the technical problem that no grid division method aiming at the closed cylindrical surface with complex boundary constraint exists at present.

Description

Grid division method and system for closed cylindrical surface with complex boundary constraint
Technical Field
The invention belongs to the technical field of computer graphics and computer aided design, and particularly relates to a grid division method and a grid division system for a closed cylindrical surface with complex boundary constraint.
Background
When the part is converted in a light weight mode, the part needs to be analyzed into a plurality of curved surfaces, wherein the ratio of the closed cylindrical surface to all the curved surfaces is large, and in order to realize triangular meshing of the whole part, the triangular meshing of the closed cylindrical surface is a very important part.
However, at present, no method for meshing closed cylindrical surfaces with complex boundary constraints is disclosed.
Disclosure of Invention
Aiming at the defects or improvement requirements of the prior art, the invention provides a method and a system for meshing a closed cylindrical surface with complex boundary constraint, and aims to solve the technical problem that no method for meshing the closed cylindrical surface with complex boundary constraint exists at present.
To achieve the above object, according to one aspect of the present invention, there is provided a method for meshing a closed cylindrical surface with complex boundary constraints, comprising the steps of:
(1) obtaining a plurality of boundary rings of the closed cylindrical surface and a plurality of parameters from the solid model, wherein the parameters comprise a coordinate system of the closed cylindrical surface, the radius of the closed cylindrical surface and the axial direction of the closed cylindrical surface.
(2) Sequentially performing discrete calculation on each edge in each boundary ring of the closed cylindrical surface obtained in the step (1) to obtain a plurality of discrete points, wherein all the discrete points corresponding to the boundary ring form a discrete point chain table corresponding to the boundary ring, and the arrangement sequence of the discrete points in the discrete point chain table is consistent with the arrangement sequence of the discrete points in the edge where the discrete points are located;
(3) mapping each discrete point in the discrete point chain table corresponding to each boundary ring obtained in the step (2) to obtain a corresponding plane mapping point, and establishing a mapping relation between the plane mapping point and the corresponding discrete point, wherein the plane mapping points corresponding to all the discrete points in the discrete point chain table corresponding to the boundary ring form the plane point chain table corresponding to the boundary ring;
(4) classifying the boundary rings obtained in the step (1) to obtain a first index value index1 and a second index value index2 of the boundary rings forming the outer boundary of the closed cylindrical surface, an index linked list crosslist corresponding to a plurality of boundary rings divided by a partial plane in which x is greater than 0 in the xoz plane, and an index linked list Ncrosslist corresponding to a plurality of boundary rings which are not divided;
(5) dividing the boundary ring corresponding to each index value in the index linked list cross obtained in the step (4) to obtain three types of boundary ring linked lists, namely connect1, connect2 and connect 3;
(6) repeating the step (5) for the two boundary rings which form the outer boundary of the closed cylindrical surface and correspond to the first index value index1 and the second index value index2 to obtain three types of updated boundary ring chain tables, namely, connect1 ', connect2 ' and connect3 ';
(7) reversing the boundary ring chain table connect1 ', connect 2' and connect3 'updated in the step (6) to obtain a boundary ring chain table connect 1', connect2 'and connect 3' subjected to reversing processing;
(8) classifying the boundary ring linked list according to the coordinates of the plane mapping points in the boundary ring linked list after the reverse processing in the step (7) to obtain four types of classified boundary ring linked lists;
(9) acquiring the number of layers of each boundary ring in the first-class boundary ring chain list and the third-class boundary ring chain list obtained in the step (8), and forming a new boundary ring by each boundary ring in each odd-numbered layer in the first-class boundary ring chain list and the third-class boundary ring chain list and each boundary ring positioned on the upper layer and contained in the odd-numbered layer;
(10) performing coordinate transformation on each new boundary ring obtained in the step (9), performing triangular mesh division on each boundary ring subjected to coordinate transformation to obtain a point chain table vList and a corresponding triangular topological relation chain table fList, and determining a discrete point corresponding to each plane mapping point in the point chain table vList according to the mapping relation between the plane mapping points and the discrete points established in the step (3);
(11) acquiring the number of layers of each boundary ring in the second-class boundary ring chain list and the fourth-class boundary ring chain list obtained in the step (8), and forming a new boundary ring by each boundary ring in each even layer and each boundary ring positioned on the upper layer and contained in the even layer in the obtained second-class boundary ring chain list and fourth-class boundary ring chain list;
(12) performing coordinate transformation on each new boundary ring obtained in the step (11), performing triangular mesh division on each boundary ring after the coordinate transformation to obtain a point chain table vList and a corresponding triangular topological relation chain table fList, and determining a discrete point corresponding to each plane mapping point in the point chain table vList according to the mapping relation between the plane mapping points and the discrete points established in the step (3);
(13) and (3) carrying out coordinate transformation on the first layer of the boundary ring linked list connect 1', the second type of boundary ring linked list and the fourth type of boundary ring linked list and the boundary ring in the index linked list Ncrosslist obtained in the step (4), carrying out triangular grid division on each boundary ring after the coordinate transformation to obtain a point linked list vList and a corresponding triangular topological relation linked list fList, and determining a discrete point corresponding to each plane mapping point in the point linked list vList according to the mapping relation between the plane mapping points and the discrete points established in the step (3).
Preferably, the discrete computation of the different edges in step (2) is to perform corresponding processing according to the types of the different edges:
if a certain edge is a straight line, directly taking two end points of the edge as discrete points;
if a certain edge is a circle or a circular arc, the number of discrete points is equal to:
Figure BDA0003133913230000031
wherein endangle is the end angle of the arc, startangle is the start angle of the arc, h is the depth input by the user, and r represents the radius of the arc;
if a certain edge is an intersecting line, directly obtaining intersecting points in the intersecting line, equating the total length of line segments obtained by connecting all intersecting points to the circumference of a circle, calculating the number of corresponding discrete points by using the formula, and if the number of the discrete points is less than the total number of the intersecting points, sampling the intersecting points with the number equal to the number of the discrete points from all intersecting points as the discrete points; if the number of discrete points is equal to the total number of the intersecting points, using all the intersecting points as discrete points; if the number of the discrete points is larger than the total number of the intersecting points, inserting a new discrete point between two adjacent intersecting points by using a Lagrange interpolation method, and sampling all the obtained discrete points and all the intersecting points to obtain a plurality of points with the total number equal to the number of the discrete points as the discrete points.
If a certain edge is a NURBS curve, acquiring a plurality of control points from the NURBS curve, equating the total length of line segments obtained by connecting all the control points to be the circumference of a circle, calculating the number of corresponding discrete points by using the formula, dividing the difference between the maximum value and the minimum value of the node vector of the NURBS curve by the number of the discrete points to obtain a step value, acquiring the node vectors corresponding to all the discrete points according to the maximum value, the minimum value and the step value of the node vector, and finally acquiring the corresponding discrete points according to the node vector corresponding to each discrete point, the node vector of the NURBS curve and the control points in the NURBS curve.
Preferably, the step (3) is specifically that, firstly, any discrete point Pt in the discrete point chain table is taken, the angle of Pt in the closed cylindrical surface coordinate system is calculated, and the angle is used as the x value of the plane mapping point mPt corresponding to the discrete point Pt; if the direction from the interpPt to the Pt is the same as the direction of the z axis, the y value of the plane mapping point mPT is the distance dis between the Pt and the interpPt, if the direction from the interpPt to the Pt is opposite to the direction of the z axis, the y value of the plane mapping point mPT is-dis, the z value of the plane mapping point mPT is 0, wherein the Pt is projected onto the xoy plane according to the axial direction to obtain the interpPt, and the included angle between the interpPt and the x axis is the angle of the Pt in the closed cylindrical surface coordinate system.
Preferably, step (4) comprises the sub-steps of:
(4-1) initializing the maximum value max and the minimum value min of the coordinates to the y value of the first plane mapping point in the plane point chain table corresponding to the 1 st boundary ring, and setting a counter i to be 1;
(4-2) judging whether i is larger than the total number of the boundary rings obtained in the step (1), if so, entering the step (4-8), otherwise, entering the step (4-3);
(4-3) setting a counter j equal to 1;
(4-4) judging whether j is larger than the total number of plane mapping points in the plane point chain table corresponding to the ith boundary ring, if so, entering the step (4-7), otherwise, entering the step (4-5);
(4-5) judging whether the y value of the jth plane mapping point in the plane point chain table corresponding to the ith boundary ring is greater than the coordinate maximum value max, or is between the coordinate maximum value max and the coordinate minimum value min, or is less than the coordinate minimum value min, if the y value is greater than the coordinate maximum value max, setting the first index value index1 to i, the coordinate maximum value max to the y value of the jth plane mapping point, and proceeding to step (4-6), if the y value is between the coordinate maximum value max and the coordinate minimum value min, proceeding to step (4-6), if the y value is less than the coordinate minimum value min, setting the second index value index2 to i, the coordinate minimum value min to the y value of the jth plane mapping point, and proceeding to step (4-6);
(4-6) setting a counter j ═ j +1, and returning to step (4-4);
(4-7) setting a counter i ═ i +1, and returning to the step (4-2);
(4-8) setting a counter k equal to 1;
(4-9) judging whether k is larger than the total number of the boundary rings obtained in the step (1), if so, ending the process, otherwise, entering the step (4-10);
(4-10) judging whether k is equal to the first index value index1 or the second index value index2, if so, entering the step (4-12), otherwise, entering the step (4-11);
(4-11) judging whether the kth boundary ring is divided by a part of the xoz plane where x is larger than 0, if so, storing the k value into a linked list crossbar, and entering the step (4-12), otherwise, storing the k value into a linked list Ncrrosslist, and entering the step (4-12);
(4-12) setting k ═ k +1, and returning to step (4-9);
preferably, step (5) comprises the sub-steps of:
(5-1) setting a counter m to 1;
(5-2) judging whether m is larger than the total number of index values in crosslist, if so, ending the process, otherwise, entering the step (5-3);
(5-3) setting a counter n to be 1, setting an initialization linked list recordentiationList to be null, and setting an initialization variable findCount to be 0;
(5-4) judging whether n is larger than the total number of plane mapping points in a plane point chain table corresponding to a boundary ring corresponding to the mth index value in the index chain table crosslist, if so, entering the step (5-31), otherwise, entering the step (5-5);
(5-5) acquiring an nth plane mapping point nPt in a plane point chain table corresponding to a boundary ring corresponding to an mth index value in the index chain table cross list and a previous plane mapping point pPt thereof, judging whether n is equal to 1, if so, setting n as the total number of plane mapping points in the plane point chain table corresponding to the boundary ring corresponding to the mth index value in the index chain table cross list, then entering the step (5-6), otherwise, setting p to n-1, and then entering the step (5-6);
(5-6) judging whether the difference between the x value of the nth plane mapping point nPt in the plane point linked list corresponding to the boundary ring corresponding to the mth index value in the index linked list cross and the x value of the previous point plane mapping point pPt is less than a threshold value threshold (which is 120 to 180, preferably 180), if so, adding the plane mapping point nPt into the linked list recognitionList, then entering the step (5-30), otherwise, indicating that the two plane mapping points are positioned at two sides of the plane xoz, and entering the step (5-7);
(5-7) judging whether the x value of the nth plane mapping point nPt is equal to 0 and the x value of the pth plane mapping point pPt is equal to 360, if so, entering the step (5-13), otherwise, entering the step (5-8);
(5-8) judging whether the x value of the nth plane mapping point nPt is equal to 360 and the x value of the pth plane mapping point pPt is equal to 0, if so, entering the step (5-14), otherwise, entering the step (5-9);
(5-9) judging whether the x value of the nth plane mapping point nPt is equal to 0, if so, entering the step (5-15), otherwise, entering the step (5-10);
(5-10) judging whether the x value of the nth plane mapping point nPt is equal to 360, if so, entering the step (5-16), otherwise, entering the step (5-11);
(5-11) judging whether the x value of the p-th plane mapping point pPt is equal to 0, if so, entering the step (5-17), otherwise, entering the step (5-12);
(5-12) judging whether the x value of the p-th plane mapping point pPt is equal to 360, if so, entering the step (5-18), otherwise, entering the step (5-19);
(5-13) recording the nth plane mapping point nPt as a point nsPt and the pth plane mapping point pPt as a point nbPt;
(5-14) recording the nth plane mapping point nPt as a point nbPt and the pth plane mapping point pPt as a point nsPt;
(5-15) recording the nth plane mapping point nPt as a point nsPt, setting the x value of the point nbPt to 360, and setting the y value of the point nbPt to the y value of the intersection of a line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and a straight line where x is 0;
(5-16) setting the x value of the point nsPt to 0, setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0, and recording the nth plane mapping point nPt as the point nbPt;
(5-17) recording the p-th plane mapping point pPt as a point nsPt, setting the x value of the point nbPt to 360, and setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the p-th plane mapping point pPt and the straight line where x is 0;
(5-18) setting the x value of the point nsPt to 0, setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0, and recording the pth plane mapping point pPt as a point nbPt;
(5-19) setting the x value of the point nsPt to 0, setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0, setting the x value of the point nbPt to 360, and setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0;
(5-20) judging whether findCount is 0 or 1, and if so, entering the step (5-21); if the value is 1, entering the step (5-23);
(5-21) judging whether the x value of the nth plane mapping point nPt is smaller than a threshold value threshold, if so, adding the point nsPt into the linked list recognitionList, then entering the step (5-22), otherwise, adding the point nbPt into the linked list recognitionList, and then entering the step (5-22);
(5-22) judging whether the nth plane mapping point nPt is the last point in the list recognitionList, if yes, adding the nth plane mapping point nPt into the recognitionList, setting findCount to 1, and then entering the step (5-30), otherwise, entering the step (5-30);
(5-23) judging whether the x value of the last point in the linked list recognitionList is smaller than a threshold value threshold, and the point nsPt is not the last point in the linked list recognitionList, if so, adding the point nsPt into the recognitionList, and then entering the step (5-25), otherwise, entering the step (5-24);
(5-24) judging whether the x value of the last point in the linked list recognitionList is greater than threshold, and the point nbPt is not the last point in the linked list recognitionList, if so, adding the point nbPt into the linked list recognitionList, then entering the step (5-25), otherwise, emptying the linked list recognitionList, and entering the step (5-30);
(5-25) judging whether the total number of the midpoints in the linked list is greater than 2, if so, entering the step (5-26), and otherwise, entering the step (5-27);
(5-26) judging that the value of x of one of the first point and the last point in the linked list recognitionList is 0 and the value of x of the other point is 360, if so, adding the linked list recognitionList into the linked list connect1, and then entering the step (5-28), otherwise, entering the step (5-27);
(5-27) judging whether the x value of the second point in the linked list recognitionList is smaller than threshold, if so, adding the linked list recognitionList into the linked list connect2, and then entering the step (5-28), otherwise, adding the linked list recognitionList into the linked list connect3, and then entering the step (5-28);
(5-28) emptying the linked list recognitionList, judging whether the x value of the nth plane mapping point nPt is smaller than a threshold value threshold, if so, adding the point nsPt into the linked list recognitionList, then turning to the step (5-29), otherwise, adding the point nbPt into the recognitionList, and then turning to the step (5-29);
(5-29) setting findCount equal to 1, judging whether the point nPt is not the last point in the linked list recognitionList, if not, adding the point nPt into the linked list recognitionList, and then entering the step (5-30), and if so, entering the step (5-30);
(5-30) setting a counter n ═ n +1, and returning to the step (5-4);
(5-31) setting m ═ m +1, and returning to step (5-2).
Preferably, in this step (7), first, each boundary ring in the boundary ring linked list connect1 'is determined, if the x value of the first plane mapping point in the boundary ring is greater than the x value of the last plane mapping point, the boundary ring in the boundary ring linked list connect 1' is processed in the reverse direction, otherwise, no processing is performed on the boundary ring, then, each boundary ring in the boundary ring linked list connect2 'is determined, if the y value of the first plane mapping point in the boundary ring is less than the y value of the last plane mapping point, the boundary ring in the boundary ring linked list connect 2' is processed in the reverse direction, otherwise, no processing is performed on the boundary ring; and finally, judging each boundary ring in the boundary ring linked list connect3 ', if the y value of the first plane mapping point in the boundary ring is greater than the y value of the last plane mapping point, performing reverse processing on the boundary ring in the boundary ring linked list connect 3', otherwise, not performing any processing on the boundary ring.
Preferably, step (8) comprises the sub-steps of:
(8-1) obtaining y values of first plane mapping points in all boundary rings corresponding to the boundary ring linked list connect1 'after reverse processing, and sequencing all boundary rings corresponding to the boundary ring linked list connect 1' according to the sequence from large to small;
(8-2) classifying all boundary rings corresponding to the boundary ring link table connect 2' according to the y values of the plane mapping points in the boundary rings to obtain two types of classified boundary ring link tables;
(8-3) classifying all boundary rings corresponding to the boundary ring link table connect 3' according to the y values of the plane mapping points in the boundary rings to obtain two types of classified boundary ring link tables;
preferably, the step (8-2) is specifically configured to, if the y value of the first plane mapping point in a certain boundary ring corresponding to the boundary ring linked list connect2 'is greater than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect 1', or is less than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect1 ', take the boundary ring corresponding to the boundary ring linked list connect 2' as the first class, and add the first class of boundary ring linked list boundary 1; otherwise, taking the boundary ring corresponding to the boundary ring linked list connect 2' as a second class, and adding the second class boundary ring linked list boundary 2;
specifically, if the y value of the first plane mapping point in a certain boundary ring corresponding to the boundary ring linked list connect3 'is greater than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect 1', or is less than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect1 ', taking the boundary ring corresponding to the boundary ring linked list connect 3' as a third class, and adding the third class of boundary ring linked list boundary 3; otherwise, the boundary ring corresponding to the boundary ring linked list connect 3' is taken as the fourth type, and added into the boundary ring linked list boundary4 of the fourth type.
Preferably, the coordinate transformation process is to multiply the x value of each plane mapping point in the boundary ring by the radius of the closed cylinder, then by pi, and then divided by 180, thereby converting it to the corresponding arc length.
According to another aspect of the present invention, there is provided a meshing system for a closed cylindrical surface with complex boundary constraints, comprising:
the first module is used for obtaining a plurality of boundary rings of the closed cylindrical surface and a plurality of parameters from the solid model, wherein the parameters comprise a coordinate system of the closed cylindrical surface, the radius of the closed cylindrical surface and the axial direction of the closed cylindrical surface.
The second module is used for sequentially carrying out discrete calculation on each edge in each boundary ring of the closed cylindrical surface acquired in the second module to obtain a plurality of discrete points, all the discrete points corresponding to the boundary ring form a discrete point chain table corresponding to the boundary ring, and the arrangement sequence of the discrete points in the discrete point chain table is consistent with the arrangement sequence of the discrete points in the edge where the discrete points are located;
a third module, configured to perform mapping transformation on each discrete point in the discrete point chain table corresponding to each boundary ring obtained in the first module to obtain a corresponding plane mapping point, and establish a mapping relationship between the plane mapping point and the corresponding discrete point, where the plane mapping points corresponding to all the discrete points in the discrete point chain table corresponding to the boundary ring form the plane point chain table corresponding to the boundary ring;
a fourth module, configured to classify the boundary rings obtained by the first module to obtain a first index value index1 and a second index value index2 of the boundary rings that form the outer boundary of the closed cylindrical surface, and an index linked list crosslist corresponding to a plurality of boundary rings divided by a partial plane where x is greater than 0 in the xoz plane, and an index linked list Ncrosslist corresponding to a plurality of boundary rings that are not divided;
a fifth module, configured to segment the boundary ring corresponding to each index value in the index linked list cross obtained by the fourth module, so as to obtain three types of boundary ring linked lists, namely, connect1, connect2, and connect 3;
a sixth module, configured to repeat the fifth module for two boundary rings corresponding to the first index value index1 and the second index value index2 that form the outer boundary of the closed cylindrical surface, so as to obtain three updated types of boundary ring chain tables, namely, connect1 ', connect2 ', and connect3 ';
a seventh module, configured to perform inverse processing on the boundary ring chain table connect1 ', connect 2', and connect3 'updated by the sixth module, to obtain a boundary ring chain table connect 1', connect2 ', and connect 3' after the inverse processing;
the eighth module is used for classifying the boundary ring linked list according to the coordinates of the plane mapping points in the boundary ring linked list after the reverse processing of the seventh module so as to obtain four types of classified boundary ring linked lists;
a ninth module, configured to obtain the number of layers where each boundary ring in the first-class boundary ring linked list and the third-class boundary ring linked list obtained by the eighth module is located, and form a new boundary ring by using each boundary ring in each odd-numbered layer in the obtained first-class boundary ring linked list and third-class boundary ring linked list and each boundary ring located in the previous layer and included in the odd-numbered layer;
a tenth module, configured to perform coordinate transformation on each new boundary ring obtained in the ninth module, perform triangular mesh division on each boundary ring after the coordinate transformation to obtain a point chain table vList and a corresponding triangular topological relation chain table fList, and determine a discrete point corresponding to each plane mapping point in the point chain table vList according to a mapping relationship between a plane mapping point and a discrete point established by the third module;
an eleventh module, configured to obtain the number of layers where each boundary ring in the second-class boundary ring chain table and the fourth-class boundary ring chain table obtained by the eighth module is located, and form a new boundary ring by using each boundary ring in each even-numbered layer in the obtained second-class boundary ring chain table and fourth-class boundary ring chain table and each boundary ring located in the layer above and included in the even-numbered layer;
a twelfth module, configured to perform coordinate transformation on each new boundary ring obtained in the eleventh module, perform triangular mesh division on each boundary ring after the coordinate transformation, so as to obtain a point chain table vList and a corresponding triangular topological relation chain table fList, and determine a discrete point corresponding to each plane mapping point in the point chain table vList according to a mapping relation between a plane mapping point and a discrete point established by the third module;
and a thirteenth module, configured to perform coordinate transformation on the boundary ring in the first layer of the boundary ring linked list connect 1', the second-class boundary ring linked list and the fourth-class boundary ring linked list, and the boundary ring in the index linked list Ncrosslist obtained by the fourth module, perform triangular mesh division on each boundary ring after the coordinate transformation, so as to obtain a point linked list vList and a corresponding triangular topological relation linked list fList, and determine a discrete point corresponding to each plane mapping point in the point linked list vList according to a mapping relationship between a plane mapping point and a discrete point established by the third module.
In general, compared with the prior art, the above technical solution contemplated by the present invention can achieve the following beneficial effects:
(1) the invention can obtain the division results with different precisions according to different precision control parameters by adopting the step (2), and has strong adaptability.
(2) The invention adopts the coordinate transformation in the steps (10), (12) and (13), thereby ensuring that the plane mapping result is basically consistent with the actual space expansion result, and avoiding the problem of error of the grid division result.
Drawings
FIG. 1 is a schematic representation of a closed cylindrical surface with complex boundary constraints according to the present invention;
FIG. 2 is a schematic diagram of a boundary ring obtained by classification according to the present invention;
FIG. 3 is a schematic diagram of triangulating each boundary ring after coordinate transformation by step (13) of the method of the present invention;
FIG. 4 is a schematic diagram of the discrete points corresponding to each plane mapping point obtained in step (14) of the method of the present invention;
FIG. 5 is a flow chart of the method of meshing a closed cylinder with complex boundary constraints of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
As shown in fig. 5, the present invention provides a method for meshing a closed cylindrical surface with complex boundary constraints (fig. 1 shows a closed cylindrical surface, which has two boundary rings forming an outer boundary and the remaining boundary rings forming an inner boundary), comprising the following steps:
(1) the plurality of boundary rings of the closed cylindrical surface and a plurality of parameters are obtained from the solid model, wherein the parameters comprise a coordinate system (coordinate origin, x-axis direction, y-axis direction and z-axis direction) of the closed cylindrical surface, the radius of the closed cylindrical surface and the axis direction of the closed cylindrical surface.
Specifically, the entity model in this step may be a UG entity model or a ProE entity model.
(2) Sequentially performing discrete calculation on each edge in each boundary ring of the closed cylindrical surface obtained in the step (1) to obtain a plurality of discrete points, wherein all the discrete points corresponding to the boundary ring form a discrete point chain table corresponding to the boundary ring, and the arrangement sequence of the discrete points in the discrete point chain table is consistent with the arrangement sequence of the discrete points in the edge where the discrete points are located;
specifically, the discrete computation of different edges in this step is to perform corresponding processing according to the types of the different edges: if a certain edge is a straight line, directly taking two end points of the edge as discrete points;
if a certain edge is a circle or a circular arc, the number of discrete points is equal to:
Figure BDA0003133913230000131
wherein endangle is the end angle of the arc, startangle is the start angle of the arc, h is the depth input by the user, and r represents the radius of the arc; for a circle, the result of the subtraction of endangle and startangle equals 2 π; based on the resulting number of discrete points, the corresponding discrete points can be determined.
If a certain edge is an intersecting line, directly obtaining intersecting points in the intersecting line, equating the total length of line segments obtained by connecting all intersecting points to the circumference of a circle, calculating the number of corresponding discrete points by using the formula, and if the number of the discrete points is less than the total number of the intersecting points, sampling the intersecting points with the number equal to the number of the discrete points from all intersecting points as the discrete points; if the number of discrete points is equal to the total number of the intersecting points, using all the intersecting points as discrete points; if the number of the discrete points is larger than the total number of the intersecting points, inserting a new discrete point between two adjacent intersecting points by using a Lagrange interpolation method, and sampling all the obtained discrete points and all the intersecting points to obtain a plurality of points with the total number equal to the number of the discrete points as the discrete points.
If a certain edge is a Non Uniform Rational B-spline (NURBS) curve, acquiring a plurality of control points from the NURBS curve, equating the total length of line segments obtained by connecting all the control points to be the circumference of a circle, calculating the number of corresponding discrete points by using the formula, dividing the difference between the maximum value and the minimum value of the node vector of the NURBS curve by the number of the discrete points to obtain a step value, obtaining node vectors corresponding to all the discrete points according to the maximum value, the minimum value and the step value of the node vector, and finally obtaining the corresponding discrete points according to the node vector corresponding to each discrete point, the node vector of the NURBS curve and the control points in the NURBS curve.
The step (2) has the advantages that the edge is subjected to discrete calculation according to the precision, different discrete points can be obtained according to different precision parameters, the more the discrete points are, the result after grid division is approximate to the original three-dimensional model
(3) Mapping each discrete point in the discrete point chain table corresponding to each boundary ring obtained in the step (2) to obtain a corresponding plane mapping point, and establishing a mapping relation between the plane mapping point and the corresponding discrete point, wherein the plane mapping points corresponding to all the discrete points in the discrete point chain table corresponding to the boundary ring form the plane point chain table corresponding to the boundary ring;
specifically, the method comprises the steps of firstly, taking any discrete point Pt in a discrete point chain table, calculating the angle of the Pt in a closed cylindrical surface coordinate system (projecting the Pt on an xoy plane according to the axial direction to obtain interPt, wherein the included angle [0,360 ] between the interPt and an x axis is the angle of the Pt in the closed cylindrical surface coordinate system), and taking the angle as the x value of a plane mapping point mPT corresponding to the discrete point Pt; if the direction from the interpPt to the Pt is the same as the direction of the z axis, the y value of the plane mapping point mPT is the distance dis between the Pt and the interpPt, if the direction from the interpPt to the Pt is opposite to the direction of the z axis, the y value of the plane mapping point mPT is-dis, the z value of the plane mapping point mPT is 0, and the plane mapping point mPT represents a plane point;
(4) classifying the boundary rings obtained in the step (1) to obtain a first index value index1 and a second index value index2 of the boundary rings forming the outer boundary of the closed cylindrical surface, an index linked list crosslist corresponding to a plurality of boundary rings divided by a partial plane in which x is greater than 0 in the xoz plane, and an index linked list Ncrosslist corresponding to a plurality of boundary rings which are not divided;
the method comprises the following substeps:
(4-1) initializing the maximum value max and the minimum value min of the coordinates to the y value of the first plane mapping point in the plane point chain table corresponding to the 1 st boundary ring, and setting a counter i to be 1;
(4-2) judging whether i is larger than the total number of the boundary rings obtained in the step (1), if so, entering the step (4-8), otherwise, entering the step (4-3);
(4-3) setting a counter j equal to 1;
(4-4) judging whether j is larger than the total number of plane mapping points in the plane point chain table corresponding to the ith boundary ring, if so, entering the step (4-7), otherwise, entering the step (4-5);
(4-5) judging whether the y value of the jth plane mapping point in the plane point chain table corresponding to the ith boundary ring is greater than the coordinate maximum value max, or is between the coordinate maximum value max and the coordinate minimum value min, or is less than the coordinate minimum value min, if the y value is greater than the coordinate maximum value max, setting the first index value index1 to i, the coordinate maximum value max to the y value of the jth plane mapping point, and proceeding to step (4-6), if the y value is between the coordinate maximum value max and the coordinate minimum value min, proceeding to step (4-6), if the y value is less than the coordinate minimum value min, setting the second index value index2 to i, the coordinate minimum value min to the y value of the jth plane mapping point, and proceeding to step (4-6);
(4-6) setting a counter j ═ j +1, and returning to step (4-4);
(4-7) setting a counter i ═ i +1, and returning to the step (4-2);
after the steps (4-1) to (4-7), the finally obtained first index1 and first index2 boundary rings form the outer boundary of the closed cylindrical surface, and the rest boundary rings form the inner boundary of the closed cylindrical surface.
(4-8) setting a counter k equal to 1;
(4-9) judging whether k is larger than the total number of the boundary rings obtained in the step (1), if so, ending the process, otherwise, entering the step (4-10);
(4-10) judging whether k is equal to the first index value index1 or the second index value index2, if so, entering the step (4-12), otherwise, entering the step (4-11);
(4-11) judging whether the kth boundary ring is divided by a part of the xoz plane where x is larger than 0, if so, storing the k value into a linked list crossbar, and entering the step (4-12), otherwise, storing the k value into a linked list Ncrrosslist, and entering the step (4-12);
(4-12) setting k ═ k +1, and returning to step (4-9);
the above-mentioned steps (4-1) to (4-12) have an advantage. . .
(5) Dividing the boundary ring corresponding to each index value in the index linked list cross obtained in the step (4) to obtain three types of boundary ring linked lists, namely connect1, connect2 and connect 3;
the method comprises the following substeps:
(5-1) setting a counter m to 1;
(5-2) judging whether m is larger than the total number of index values in crosslist, if so, ending the process, otherwise, entering the step (5-3);
(5-3) setting a counter n to be 1, setting an initialization linked list recordentiationList to be null, and setting an initialization variable findCount to be 0;
(5-4) judging whether n is larger than the total number of plane mapping points in a plane point chain table corresponding to a boundary ring corresponding to the mth index value in the index chain table crosslist, if so, entering the step (5-31), otherwise, entering the step (5-5);
(5-5) acquiring an nth plane mapping point nPt in a plane point chain table corresponding to a boundary ring corresponding to an mth index value in the index chain table cross list and a previous plane mapping point pPt thereof, judging whether n is equal to 1, if so, setting n as the total number of plane mapping points in the plane point chain table corresponding to the boundary ring corresponding to the mth index value in the index chain table cross list, then entering the step (5-6), otherwise, setting p to n-1, and then entering the step (5-6);
(5-6) judging whether the difference between the x value of the nth plane mapping point nPt in the plane point linked list corresponding to the boundary ring corresponding to the mth index value in the index linked list cross and the x value of the previous point plane mapping point pPt is less than a threshold value threshold (which is 120 to 180, preferably 180), if so, adding the plane mapping point nPt into the linked list recognitionList, then entering the step (5-30), otherwise, indicating that the two plane mapping points are positioned at two sides of the plane xoz, and entering the step (5-7);
(5-7) judging whether the x value of the nth plane mapping point nPt is equal to 0 and the x value of the pth plane mapping point pPt is equal to 360, if so, entering the step (5-13), otherwise, entering the step (5-8);
(5-8) judging whether the x value of the nth plane mapping point nPt is equal to 360 and the x value of the pth plane mapping point pPt is equal to 0, if so, entering the step (5-14), otherwise, entering the step (5-9);
(5-9) judging whether the x value of the nth plane mapping point nPt is equal to 0, if so, entering the step (5-15), otherwise, entering the step (5-10);
(5-10) judging whether the x value of the nth plane mapping point nPt is equal to 360, if so, entering the step (5-16), otherwise, entering the step (5-11);
(5-11) judging whether the x value of the p-th plane mapping point pPt is equal to 0, if so, entering the step (5-17), otherwise, entering the step (5-12);
(5-12) judging whether the x value of the p-th plane mapping point pPt is equal to 360, if so, entering the step (5-18), otherwise, entering the step (5-19);
(5-13) recording the nth plane mapping point nPt as a point nsPt and the pth plane mapping point pPt as a point nbPt;
(5-14) recording the nth plane mapping point nPt as a point nbPt and the pth plane mapping point pPt as a point nsPt;
(5-15) recording the nth plane mapping point nPt as a point nsPt, setting the x value of the point nbPt to 360, and setting the y value of the point nbPt to the y value of the intersection of a line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and a straight line where x is 0;
(5-16) setting the x value of the point nsPt to 0, setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0, and recording the nth plane mapping point nPt as the point nbPt;
(5-17) recording the p-th plane mapping point pPt as a point nsPt, setting the x value of the point nbPt to 360, and setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the p-th plane mapping point pPt and the straight line where x is 0;
(5-18) setting the x value of the point nsPt to 0, setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0, and recording the pth plane mapping point pPt as a point nbPt;
(5-19) setting the x value of the point nsPt to 0, setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0, setting the x value of the point nbPt to 360, and setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0;
(5-20) judging whether findCount is 0 or 1, and if so, entering the step (5-21); if the value is 1, entering the step (5-23);
(5-21) judging whether the x value of the nth plane mapping point nPt is smaller than a threshold value threshold, if so, adding the point nsPt into the linked list recognitionList, then entering the step (5-22), otherwise, adding the point nbPt into the linked list recognitionList, and then entering the step (5-22);
(5-22) judging whether the nth plane mapping point nPt is the last point in the list recognitionList, if yes, adding the nth plane mapping point nPt into the recognitionList, setting findCount to 1, and then entering the step (5-30), otherwise, entering the step (5-30);
(5-23) judging whether the x value of the last point in the linked list recognitionList is smaller than a threshold value threshold, and the point nsPt is not the last point in the linked list recognitionList, if so, adding the point nsPt into the recognitionList, and then entering the step (5-25), otherwise, entering the step (5-24);
(5-24) judging whether the x value of the last point in the linked list recognitionList is greater than threshold, and the point nbPt is not the last point in the linked list recognitionList, if so, adding the point nbPt into the linked list recognitionList, then entering the step (5-25), otherwise, emptying the linked list recognitionList, and entering the step (5-30);
(5-25) judging whether the total number of the midpoints in the linked list is greater than 2, if so, entering the step (5-26), and otherwise, entering the step (5-27);
(5-26) judging that the value of x of one of the first point and the last point in the linked list recognitionList is 0 and the value of x of the other point is 360, if so, adding the linked list recognitionList into the linked list connect1 (which is initially empty), then entering the step (5-28), otherwise, entering the step (5-27);
(5-27) judging whether the x value of the second point in the linked list recognitionList is smaller than threshold, if so, adding the linked list recognitionList into the linked list connect2 (which is initially empty), then entering the step (5-28), otherwise, adding the linked list recognitionList into the linked list connect3 (which is initially empty), and then entering the step (5-28);
(5-28) emptying the linked list recognitionList, judging whether the x value of the nth plane mapping point nPt is smaller than a threshold value threshold, if so, adding the point nsPt into the linked list recognitionList, then turning to the step (5-29), otherwise, adding the point nbPt into the recognitionList, and then turning to the step (5-29);
(5-29) setting findCount equal to 1, judging whether the point nPt is not the last point in the linked list recognitionList, if not, adding the point nPt into the linked list recognitionList, and then entering the step (5-30), and if so, entering the step (5-30);
(5-30) setting a counter n ═ n +1, and returning to the step (5-4);
(5-31) setting m ═ m +1, and returning to step (5-2);
after the steps (5-1) to (5-31) are performed, the obtained linked lists connect1, connect2 and connect3 are the boundary ring linked lists obtained after segmentation.
The steps (5-1) to (5-31) have the advantages that the characteristic that the range of the angle value of the closed cylindrical surface is 0 to 360 is utilized, the boundary ring is further analyzed and classified, and a foundation is laid for accurate grid division in the subsequent process.
(6) Repeating the step (5) for the two boundary rings which form the outer boundary of the closed cylindrical surface and correspond to the first index value index1 and the second index value index2 to obtain three types of updated boundary ring chain tables, namely, connect1 ', connect2 ' and connect3 ';
the process of this step is identical to the process of the substeps (5-3) to (5-30) in the step (5) described above, and will not be described herein again.
(7) Reversing the boundary ring chain table connect1 ', connect 2' and connect3 'updated in the step (6) to obtain a boundary ring chain table connect 1', connect2 'and connect 3' subjected to reversing processing;
specifically, the step first judges each boundary ring in the boundary ring linked list connect1 ', if the x value of the first plane mapping point in the boundary ring is greater than the x value of the last plane mapping point, performs reverse processing on the boundary ring in the boundary ring linked list connect 1', otherwise does not perform any processing on the boundary ring, then judges each boundary ring in the boundary ring linked list connect2 ', if the y value of the first plane mapping point in the boundary ring is less than the y value of the last plane mapping point, performs reverse processing on the boundary ring in the boundary ring linked list connect 2', otherwise does not perform any processing on the boundary ring; and finally, judging each boundary ring in the boundary ring linked list connect3 ', if the y value of the first plane mapping point in the boundary ring is greater than the y value of the last plane mapping point, performing reverse processing on the boundary ring in the boundary ring linked list connect 3', otherwise, not performing any processing on the boundary ring.
(8) Classifying the boundary ring linked list according to the coordinates of the plane mapping points in the boundary ring linked list after the reverse processing in the step (7) to obtain four types of classified boundary ring linked lists;
the method comprises the following substeps:
(8-1) obtaining y values of first plane mapping points in all boundary rings corresponding to the boundary ring linked list connect1 'after reverse processing, and sequencing all boundary rings corresponding to the boundary ring linked list connect 1' according to the sequence from large to small;
(8-2) classifying all boundary rings corresponding to the boundary ring link table connect 2' according to the y values of the plane mapping points in the boundary rings to obtain two types of classified boundary ring link tables;
specifically, if the y value of the first plane mapping point in a certain boundary ring corresponding to the boundary ring linked list connect2 'is greater than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect 1', or is less than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect1 ', the boundary ring corresponding to the boundary ring linked list connect 2' is taken as a first class, and is added to a first class boundary ring link list boundary 1; otherwise, taking the boundary ring corresponding to the boundary ring linked list connect 2' as a second class, and adding the second class boundary ring linked list boundary 2;
(8-3) classifying all boundary rings corresponding to the boundary ring link table connect 3' according to the y values of the plane mapping points in the boundary rings to obtain two types of classified boundary ring link tables;
specifically, if the y value of the first plane mapping point in a certain boundary ring corresponding to the boundary ring linked list connect3 'is greater than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect 1', or is less than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect1 ', the boundary ring corresponding to the boundary ring linked list connect 3' is taken as the third class, and is added to the boundary ring link table boundary3 of the third class; otherwise, taking the boundary ring corresponding to the boundary ring linked list connect 3' as a fourth class, and adding the boundary ring linked list boundary4 of the fourth class;
as shown in fig. 2, it is shown that the classified boundary rings are of the second and fourth classes.
(9) Acquiring the number of layers of each boundary ring in the first-class boundary ring chain table and the third-class boundary ring chain table obtained in the step (8), and forming a new boundary ring by using each boundary ring of each odd-numbered layer (such as the first layer) in the first-class boundary ring chain table and the third-class boundary ring chain table and each boundary ring which is positioned at the upper layer (namely the second layer) and is contained in the odd-numbered layer;
specifically, if the second plane mapping point in a boundary ring is surrounded by N other boundary rings, the boundary ring is a N +1 th layer boundary ring, where N is a non-negative integer.
(10) Performing coordinate transformation on each new boundary ring obtained in the step (9), performing triangular mesh division on each boundary ring subjected to coordinate transformation to obtain a point chain table vList and a corresponding triangular topological relation chain table fList, and determining a discrete point corresponding to each plane mapping point in the point chain table vList according to the mapping relation between the plane mapping points and the discrete points established in the step (3);
specifically, the coordinate transformation process multiplies the x value of each plane mapping point in the boundary ring by the radius of the closed cylinder, then multiplies by pi, and then divides by 180, thereby converting it to the corresponding arc length.
Specifically, the triangulation in this step is disclosed in detail in "calculate geometry", and is not described herein again.
(11) Acquiring the number of layers of each boundary ring in the second-class boundary ring chain table and the fourth-class boundary ring chain table obtained in the step (8), and forming a new boundary ring by using each boundary ring in each even layer (such as the second layer) in the obtained second-class boundary ring chain table and the obtained fourth-class boundary ring chain table and each boundary ring which is positioned at the upper layer (namely the third layer) and is contained in the even layer;
(12) performing coordinate transformation on each new boundary ring obtained in the step (11), performing triangular mesh division on each boundary ring after the coordinate transformation to obtain a point chain table vList and a corresponding triangular topological relation chain table fList, and determining a discrete point corresponding to each plane mapping point in the point chain table vList according to the mapping relation between the plane mapping points and the discrete points established in the step (3);
specifically, the coordinate transformation process multiplies the x value of each plane mapping point in the boundary ring by the radius of the closed cylinder, then multiplies by pi, and then divides by 180, thereby converting it to the corresponding arc length.
Specifically, the triangulation in this step is disclosed in detail in "calculate geometry", and is not described herein again.
(13) Performing coordinate transformation on the first layer of the boundary ring linked list connect 1', the second type boundary ring linked list and the fourth type boundary ring linked list, and the boundary ring in the index linked list Ncrosslist obtained in the step (4), performing triangular grid division on each boundary ring after the coordinate transformation (as shown in fig. 3) to obtain a point linked list vList and a corresponding triangular topological relation linked list fList, and determining a discrete point corresponding to each plane mapping point in the point linked list vList according to the mapping relation between the plane mapping point and the discrete point established in the step (3) (as shown in fig. 4);
specifically, the coordinate transformation process multiplies the x value of each plane mapping point in the boundary ring by the radius of the closed cylinder, then multiplies by pi, and then divides by 180, thereby converting it to the corresponding arc length.
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and that any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (10)

1. A grid division method for a closed cylindrical surface with complex boundary constraint is characterized by comprising the following steps:
(1) obtaining a plurality of boundary rings of the closed cylindrical surface and a plurality of parameters from the solid model, wherein the parameters comprise a coordinate system of the closed cylindrical surface, the radius of the closed cylindrical surface and the axial direction of the closed cylindrical surface.
(2) Sequentially performing discrete calculation on each edge in each boundary ring of the closed cylindrical surface obtained in the step (1) to obtain a plurality of discrete points, wherein all the discrete points corresponding to the boundary ring form a discrete point chain table corresponding to the boundary ring, and the arrangement sequence of the discrete points in the discrete point chain table is consistent with the arrangement sequence of the discrete points in the edge where the discrete points are located;
(3) mapping each discrete point in the discrete point chain table corresponding to each boundary ring obtained in the step (2) to obtain a corresponding plane mapping point, and establishing a mapping relation between the plane mapping point and the corresponding discrete point, wherein the plane mapping points corresponding to all the discrete points in the discrete point chain table corresponding to the boundary ring form the plane point chain table corresponding to the boundary ring;
(4) classifying the boundary rings obtained in the step (1) to obtain a first index value index1 and a second index value index2 of the boundary rings forming the outer boundary of the closed cylindrical surface, an index linked list crosslist corresponding to a plurality of boundary rings divided by a partial plane in which x is greater than 0 in the xoz plane, and an index linked list Ncrosslist corresponding to a plurality of boundary rings which are not divided;
(5) dividing the boundary ring corresponding to each index value in the index linked list cross obtained in the step (4) to obtain three types of boundary ring linked lists, namely connect1, connect2 and connect 3;
(6) repeating the step (5) for the two boundary rings which form the outer boundary of the closed cylindrical surface and correspond to the first index value index1 and the second index value index2 to obtain three types of updated boundary ring chain tables, namely, connect1 ', connect2 ' and connect3 ';
(7) reversing the boundary ring chain table connect1 ', connect 2' and connect3 'updated in the step (6) to obtain a boundary ring chain table connect 1', connect2 'and connect 3' subjected to reversing processing;
(8) classifying the boundary ring linked list according to the coordinates of the plane mapping points in the boundary ring linked list after the reverse processing in the step (7) to obtain four types of classified boundary ring linked lists;
(9) acquiring the number of layers of each boundary ring in the first-class boundary ring chain list and the third-class boundary ring chain list obtained in the step (8), and forming a new boundary ring by each boundary ring in each odd-numbered layer in the first-class boundary ring chain list and the third-class boundary ring chain list and each boundary ring positioned on the upper layer and contained in the odd-numbered layer;
(10) performing coordinate transformation on each new boundary ring obtained in the step (9), performing triangular mesh division on each boundary ring subjected to coordinate transformation to obtain a point chain table vList and a corresponding triangular topological relation chain table fList, and determining a discrete point corresponding to each plane mapping point in the point chain table vList according to the mapping relation between the plane mapping points and the discrete points established in the step (3);
(11) acquiring the number of layers of each boundary ring in the second-class boundary ring chain list and the fourth-class boundary ring chain list obtained in the step (8), and forming a new boundary ring by each boundary ring in each even layer and each boundary ring positioned on the upper layer and contained in the even layer in the obtained second-class boundary ring chain list and fourth-class boundary ring chain list;
(12) performing coordinate transformation on each new boundary ring obtained in the step (11), performing triangular mesh division on each boundary ring after the coordinate transformation to obtain a point chain table vList and a corresponding triangular topological relation chain table fList, and determining a discrete point corresponding to each plane mapping point in the point chain table vList according to the mapping relation between the plane mapping points and the discrete points established in the step (3);
(13) and (3) carrying out coordinate transformation on the first layer of the boundary ring linked list connect 1', the second type of boundary ring linked list and the fourth type of boundary ring linked list and the boundary ring in the index linked list Ncrosslist obtained in the step (4), carrying out triangular grid division on each boundary ring after the coordinate transformation to obtain a point linked list vList and a corresponding triangular topological relation linked list fList, and determining a discrete point corresponding to each plane mapping point in the point linked list vList according to the mapping relation between the plane mapping points and the discrete points established in the step (3).
2. The method of meshing of closed cylindrical surfaces with complex boundary constraints of claim 1,
the discrete calculation of different edges in the step (2) is to perform corresponding processing according to the types of the different edges:
if a certain edge is a straight line, directly taking two end points of the edge as discrete points;
if a certain edge is a circle or a circular arc, the number of discrete points is equal to:
Figure FDA0003133913220000031
wherein endangle is the end angle of the arc, startangle is the start angle of the arc, h is the depth input by the user, and r represents the radius of the arc;
if a certain edge is an intersecting line, directly obtaining intersecting points in the intersecting line, equating the total length of line segments obtained by connecting all intersecting points to the circumference of a circle, calculating the number of corresponding discrete points by using the formula, and if the number of the discrete points is less than the total number of the intersecting points, sampling the intersecting points with the number equal to the number of the discrete points from all intersecting points as the discrete points; if the number of discrete points is equal to the total number of the intersecting points, using all the intersecting points as discrete points; if the number of the discrete points is larger than the total number of the intersecting points, inserting a new discrete point between two adjacent intersecting points by using a Lagrange interpolation method, and sampling all the obtained discrete points and all the intersecting points to obtain a plurality of points with the total number equal to the number of the discrete points as the discrete points.
If a certain edge is a NURBS curve, acquiring a plurality of control points from the NURBS curve, equating the total length of line segments obtained by connecting all the control points to be the circumference of a circle, calculating the number of corresponding discrete points by using the formula, dividing the difference between the maximum value and the minimum value of the node vector of the NURBS curve by the number of the discrete points to obtain a step value, acquiring the node vectors corresponding to all the discrete points according to the maximum value, the minimum value and the step value of the node vector, and finally acquiring the corresponding discrete points according to the node vector corresponding to each discrete point, the node vector of the NURBS curve and the control points in the NURBS curve.
3. The method for meshing the closed cylindrical surface with the complex boundary constraint according to claim 1 or 2, wherein the step (3) is specifically that any one discrete point Pt in a discrete point chain table is taken, an angle of Pt in a closed cylindrical surface coordinate system is calculated, and the angle is taken as an x value of a plane mapping point mPt corresponding to the discrete point Pt; if the direction from the interpPt to the Pt is the same as the direction of the z axis, the y value of the plane mapping point mPT is the distance dis between the Pt and the interpPt, if the direction from the interpPt to the Pt is opposite to the direction of the z axis, the y value of the plane mapping point mPT is-dis, the z value of the plane mapping point mPT is 0, wherein the Pt is projected onto the xoy plane according to the axial direction to obtain the interpPt, and the included angle between the interpPt and the x axis is the angle of the Pt in the closed cylindrical surface coordinate system.
4. The method of meshing of closed cylindrical surfaces with complex boundary constraints according to any of claims 1 to 3, characterized in that step (4) comprises the following sub-steps:
(4-1) initializing the maximum value max and the minimum value min of the coordinates to the y value of the first plane mapping point in the plane point chain table corresponding to the 1 st boundary ring, and setting a counter i to be 1;
(4-2) judging whether i is larger than the total number of the boundary rings obtained in the step (1), if so, entering the step (4-8), otherwise, entering the step (4-3);
(4-3) setting a counter j equal to 1;
(4-4) judging whether j is larger than the total number of plane mapping points in the plane point chain table corresponding to the ith boundary ring, if so, entering the step (4-7), otherwise, entering the step (4-5);
(4-5) judging whether the y value of the jth plane mapping point in the plane point chain table corresponding to the ith boundary ring is greater than the coordinate maximum value max, or is between the coordinate maximum value max and the coordinate minimum value min, or is less than the coordinate minimum value min, if the y value is greater than the coordinate maximum value max, setting the first index value index1 to i, the coordinate maximum value max to the y value of the jth plane mapping point, and proceeding to step (4-6), if the y value is between the coordinate maximum value max and the coordinate minimum value min, proceeding to step (4-6), if the y value is less than the coordinate minimum value min, setting the second index value index2 to i, the coordinate minimum value min to the y value of the jth plane mapping point, and proceeding to step (4-6);
(4-6) setting a counter j ═ j +1, and returning to step (4-4);
(4-7) setting a counter i ═ i +1, and returning to the step (4-2);
(4-8) setting a counter k equal to 1;
(4-9) judging whether k is larger than the total number of the boundary rings obtained in the step (1), if so, ending the process, otherwise, entering the step (4-10);
(4-10) judging whether k is equal to the first index value index1 or the second index value index2, if so, entering the step (4-12), otherwise, entering the step (4-11);
(4-11) judging whether the kth boundary ring is divided by a part of the xoz plane where x is larger than 0, if so, storing the k value into a linked list crossbar, and entering the step (4-12), otherwise, storing the k value into a linked list Ncrrosslist, and entering the step (4-12);
(4-12) set k ═ k +1, and return to step (4-9).
5. The method of meshing of closed cylindrical surfaces with complex boundary constraints according to claim 4, characterized in that step (5) comprises the following sub-steps:
(5-1) setting a counter m to 1;
(5-2) judging whether m is larger than the total number of index values in crosslist, if so, ending the process, otherwise, entering the step (5-3);
(5-3) setting a counter n to be 1, setting an initialization linked list recordentiationList to be null, and setting an initialization variable findCount to be 0;
(5-4) judging whether n is larger than the total number of plane mapping points in a plane point chain table corresponding to a boundary ring corresponding to the mth index value in the index chain table crosslist, if so, entering the step (5-31), otherwise, entering the step (5-5);
(5-5) acquiring an nth plane mapping point nPt in a plane point chain table corresponding to a boundary ring corresponding to an mth index value in the index chain table cross list and a previous plane mapping point pPt thereof, judging whether n is equal to 1, if so, setting n as the total number of plane mapping points in the plane point chain table corresponding to the boundary ring corresponding to the mth index value in the index chain table cross list, then entering the step (5-6), otherwise, setting p to n-1, and then entering the step (5-6);
(5-6) judging whether the difference between the x value of the nth plane mapping point nPt in the plane point linked list corresponding to the boundary ring corresponding to the mth index value in the index linked list cross and the x value of the previous point plane mapping point pPt is less than a threshold value threshold (which is 120 to 180, preferably 180), if so, adding the plane mapping point nPt into the linked list recognitionList, then entering the step (5-30), otherwise, indicating that the two plane mapping points are positioned at two sides of the plane xoz, and entering the step (5-7);
(5-7) judging whether the x value of the nth plane mapping point nPt is equal to 0 and the x value of the pth plane mapping point pPt is equal to 360, if so, entering the step (5-13), otherwise, entering the step (5-8);
(5-8) judging whether the x value of the nth plane mapping point nPt is equal to 360 and the x value of the pth plane mapping point pPt is equal to 0, if so, entering the step (5-14), otherwise, entering the step (5-9);
(5-9) judging whether the x value of the nth plane mapping point nPt is equal to 0, if so, entering the step (5-15), otherwise, entering the step (5-10);
(5-10) judging whether the x value of the nth plane mapping point nPt is equal to 360, if so, entering the step (5-16), otherwise, entering the step (5-11);
(5-11) judging whether the x value of the p-th plane mapping point pPt is equal to 0, if so, entering the step (5-17), otherwise, entering the step (5-12);
(5-12) judging whether the x value of the p-th plane mapping point pPt is equal to 360, if so, entering the step (5-18), otherwise, entering the step (5-19);
(5-13) recording the nth plane mapping point nPt as a point nsPt and the pth plane mapping point pPt as a point nbPt;
(5-14) recording the nth plane mapping point nPt as a point nbPt and the pth plane mapping point pPt as a point nsPt;
(5-15) recording the nth plane mapping point nPt as a point nsPt, setting the x value of the point nbPt to 360, and setting the y value of the point nbPt to the y value of the intersection of a line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and a straight line where x is 0;
(5-16) setting the x value of the point nsPt to 0, setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0, and recording the nth plane mapping point nPt as the point nbPt;
(5-17) recording the p-th plane mapping point pPt as a point nsPt, setting the x value of the point nbPt to 360, and setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the p-th plane mapping point pPt and the straight line where x is 0;
(5-18) setting the x value of the point nsPt to 0, setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0, and recording the pth plane mapping point pPt as a point nbPt;
(5-19) setting the x value of the point nsPt to 0, setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0, setting the x value of the point nbPt to 360, and setting the y value to the y value of the intersection of the line connecting the nth plane mapping point nPt and the pth plane mapping point pPt and the straight line where x is 0;
(5-20) judging whether findCount is 0 or 1, and if so, entering the step (5-21); if the value is 1, entering the step (5-23);
(5-21) judging whether the x value of the nth plane mapping point nPt is smaller than a threshold value threshold, if so, adding the point nsPt into the linked list recognitionList, then entering the step (5-22), otherwise, adding the point nbPt into the linked list recognitionList, and then entering the step (5-22);
(5-22) judging whether the nth plane mapping point nPt is the last point in the list recognitionList, if yes, adding the nth plane mapping point nPt into the recognitionList, setting findCount to 1, and then entering the step (5-30), otherwise, entering the step (5-30);
(5-23) judging whether the x value of the last point in the linked list recognitionList is smaller than a threshold value threshold, and the point nsPt is not the last point in the linked list recognitionList, if so, adding the point nsPt into the recognitionList, and then entering the step (5-25), otherwise, entering the step (5-24);
(5-24) judging whether the x value of the last point in the linked list recognitionList is greater than threshold, and the point nbPt is not the last point in the linked list recognitionList, if so, adding the point nbPt into the linked list recognitionList, then entering the step (5-25), otherwise, emptying the linked list recognitionList, and entering the step (5-30);
(5-25) judging whether the total number of the midpoints in the linked list is greater than 2, if so, entering the step (5-26), and otherwise, entering the step (5-27);
(5-26) judging that the value of x of one of the first point and the last point in the linked list recognitionList is 0 and the value of x of the other point is 360, if so, adding the linked list recognitionList into the linked list connect1, and then entering the step (5-28), otherwise, entering the step (5-27);
(5-27) judging whether the x value of the second point in the linked list recognitionList is smaller than threshold, if so, adding the linked list recognitionList into the linked list connect2, and then entering the step (5-28), otherwise, adding the linked list recognitionList into the linked list connect3, and then entering the step (5-28);
(5-28) emptying the linked list recognitionList, judging whether the x value of the nth plane mapping point nPt is smaller than a threshold value threshold, if so, adding the point nsPt into the linked list recognitionList, then turning to the step (5-29), otherwise, adding the point nbPt into the recognitionList, and then turning to the step (5-29);
(5-29) setting findCount equal to 1, judging whether the point nPt is not the last point in the linked list recognitionList, if not, adding the point nPt into the linked list recognitionList, and then entering the step (5-30), and if so, entering the step (5-30);
(5-30) setting a counter n ═ n +1, and returning to the step (5-4);
(5-31) setting m ═ m +1, and returning to step (5-2).
6. The method for meshing a closed cylindrical surface with complex boundary constraints as defined in claim 5, wherein the step (7) is specifically performed by first determining each boundary ring in the boundary ring linked list connect1 ', if the x value of the first plane mapping point in the boundary ring is greater than the x value of the last plane mapping point, then reversing the boundary ring in the boundary ring linked list connect 1', otherwise not performing any processing on the boundary ring, then determining each boundary ring in the boundary ring linked list connect2 ', if the y value of the first plane mapping point in the boundary ring is less than the y value of the last plane mapping point, then reversing the boundary ring in the boundary ring linked list connect 2', otherwise not performing any processing on the boundary ring; and finally, judging each boundary ring in the boundary ring linked list connect3 ', if the y value of the first plane mapping point in the boundary ring is greater than the y value of the last plane mapping point, performing reverse processing on the boundary ring in the boundary ring linked list connect 3', otherwise, not performing any processing on the boundary ring.
7. The method of meshing of closed cylindrical surfaces with complex boundary constraints according to claim 6, characterized in that step (8) comprises the following sub-steps:
(8-1) obtaining y values of first plane mapping points in all boundary rings corresponding to the boundary ring linked list connect1 'after reverse processing, and sequencing all boundary rings corresponding to the boundary ring linked list connect 1' according to the sequence from large to small;
(8-2) classifying all boundary rings corresponding to the boundary ring link table connect 2' according to the y values of the plane mapping points in the boundary rings to obtain two types of classified boundary ring link tables;
(8-3) classifying all the boundary rings corresponding to the boundary ring link table connect 3' according to the y values of the plane mapping points in the boundary rings to obtain two types of classified boundary ring link tables.
8. The method of meshing of closed cylindrical surfaces with complex boundary constraints of claim 7,
specifically, if the y value of the first plane mapping point in a certain boundary ring corresponding to the boundary ring linked list connect2 'is greater than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect 1', or is less than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect1 ', taking the boundary ring corresponding to the boundary ring linked list connect 2' as a first class, and adding the first class of boundary ring linked list boundary 1; otherwise, taking the boundary ring corresponding to the boundary ring linked list connect 2' as a second class, and adding the second class boundary ring linked list boundary 2;
specifically, if the y value of the first plane mapping point in a certain boundary ring corresponding to the boundary ring linked list connect3 'is greater than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect 1', or is less than the y value of the first plane mapping point in all boundary rings corresponding to the boundary ring linked list connect1 ', taking the boundary ring corresponding to the boundary ring linked list connect 3' as a third class, and adding the third class of boundary ring linked list boundary 3; otherwise, the boundary ring corresponding to the boundary ring linked list connect 3' is taken as the fourth type, and added into the boundary ring linked list boundary4 of the fourth type.
9. The method of meshing of closed cylindrical surfaces with complex boundary constraints of claim 1 wherein the coordinate transformation process is to multiply the x value of each plane mapping point in the boundary ring by the radius of the closed cylindrical surface, then by pi, then by 180 to convert it to the corresponding arc length.
10. A meshing system for closed cylindrical surfaces with complex boundary constraints, comprising:
the first module is used for obtaining a plurality of boundary rings of the closed cylindrical surface and a plurality of parameters from the solid model, wherein the parameters comprise a coordinate system of the closed cylindrical surface, the radius of the closed cylindrical surface and the axial direction of the closed cylindrical surface.
The second module is used for sequentially carrying out discrete calculation on each edge in each boundary ring of the closed cylindrical surface acquired in the second module to obtain a plurality of discrete points, all the discrete points corresponding to the boundary ring form a discrete point chain table corresponding to the boundary ring, and the arrangement sequence of the discrete points in the discrete point chain table is consistent with the arrangement sequence of the discrete points in the edge where the discrete points are located;
a third module, configured to perform mapping transformation on each discrete point in the discrete point chain table corresponding to each boundary ring obtained in the first module to obtain a corresponding plane mapping point, and establish a mapping relationship between the plane mapping point and the corresponding discrete point, where the plane mapping points corresponding to all the discrete points in the discrete point chain table corresponding to the boundary ring form the plane point chain table corresponding to the boundary ring;
a fourth module, configured to classify the boundary rings obtained by the first module to obtain a first index value index1 and a second index value index2 of the boundary rings that form the outer boundary of the closed cylindrical surface, and an index linked list crosslist corresponding to a plurality of boundary rings divided by a partial plane where x is greater than 0 in the xoz plane, and an index linked list Ncrosslist corresponding to a plurality of boundary rings that are not divided;
a fifth module, configured to segment the boundary ring corresponding to each index value in the index linked list cross obtained by the fourth module, so as to obtain three types of boundary ring linked lists, namely, connect1, connect2, and connect 3;
a sixth module, configured to repeat the fifth module for two boundary rings corresponding to the first index value index1 and the second index value index2 that form the outer boundary of the closed cylindrical surface, so as to obtain three updated types of boundary ring chain tables, namely, connect1 ', connect2 ', and connect3 ';
a seventh module, configured to perform inverse processing on the boundary ring chain table connect1 ', connect 2', and connect3 'updated by the sixth module, to obtain a boundary ring chain table connect 1', connect2 ', and connect 3' after the inverse processing;
the eighth module is used for classifying the boundary ring linked list according to the coordinates of the plane mapping points in the boundary ring linked list after the reverse processing of the seventh module so as to obtain four types of classified boundary ring linked lists;
a ninth module, configured to obtain the number of layers where each boundary ring in the first-class boundary ring linked list and the third-class boundary ring linked list obtained by the eighth module is located, and form a new boundary ring by using each boundary ring in each odd-numbered layer in the obtained first-class boundary ring linked list and third-class boundary ring linked list and each boundary ring located in the previous layer and included in the odd-numbered layer;
a tenth module, configured to perform coordinate transformation on each new boundary ring obtained in the ninth module, perform triangular mesh division on each boundary ring after the coordinate transformation to obtain a point chain table vList and a corresponding triangular topological relation chain table fList, and determine a discrete point corresponding to each plane mapping point in the point chain table vList according to a mapping relationship between a plane mapping point and a discrete point established by the third module;
an eleventh module, configured to obtain the number of layers where each boundary ring in the second-class boundary ring chain table and the fourth-class boundary ring chain table obtained by the eighth module is located, and form a new boundary ring by using each boundary ring in each even-numbered layer in the obtained second-class boundary ring chain table and fourth-class boundary ring chain table and each boundary ring located in the layer above and included in the even-numbered layer;
a twelfth module, configured to perform coordinate transformation on each new boundary ring obtained in the eleventh module, perform triangular mesh division on each boundary ring after the coordinate transformation, so as to obtain a point chain table vList and a corresponding triangular topological relation chain table fList, and determine a discrete point corresponding to each plane mapping point in the point chain table vList according to a mapping relation between a plane mapping point and a discrete point established by the third module;
and a thirteenth module, configured to perform coordinate transformation on the boundary ring in the first layer of the boundary ring linked list connect 1', the second-class boundary ring linked list and the fourth-class boundary ring linked list, and the boundary ring in the index linked list Ncrosslist obtained by the fourth module, perform triangular mesh division on each boundary ring after the coordinate transformation, so as to obtain a point linked list vList and a corresponding triangular topological relation linked list fList, and determine a discrete point corresponding to each plane mapping point in the point linked list vList according to a mapping relationship between a plane mapping point and a discrete point established by the third module.
CN202110711412.6A 2021-06-25 2021-06-25 Grid division method and system for closed cylindrical surface with complex boundary constraint Pending CN113421342A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110711412.6A CN113421342A (en) 2021-06-25 2021-06-25 Grid division method and system for closed cylindrical surface with complex boundary constraint

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110711412.6A CN113421342A (en) 2021-06-25 2021-06-25 Grid division method and system for closed cylindrical surface with complex boundary constraint

Publications (1)

Publication Number Publication Date
CN113421342A true CN113421342A (en) 2021-09-21

Family

ID=77716736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110711412.6A Pending CN113421342A (en) 2021-06-25 2021-06-25 Grid division method and system for closed cylindrical surface with complex boundary constraint

Country Status (1)

Country Link
CN (1) CN113421342A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116433873A (en) * 2023-06-13 2023-07-14 广州中望龙腾软件股份有限公司 Grid dividing method and device and electronic equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116433873A (en) * 2023-06-13 2023-07-14 广州中望龙腾软件股份有限公司 Grid dividing method and device and electronic equipment
CN116433873B (en) * 2023-06-13 2023-12-01 广州中望龙腾软件股份有限公司 Grid dividing method and device and electronic equipment

Similar Documents

Publication Publication Date Title
US7006087B2 (en) Method and apparatus for describing solid shapes, and CAD/CAM system which employs the method
CN107526875B (en) Visualization method for machining errors of aviation blade profile
CN110599506B (en) Point cloud segmentation method for three-dimensional measurement of complex special-shaped curved surface robot
CN111553034B (en) Free deformation parameterization method based on interpolation method
EP3486812A1 (en) Automatic assembly mate creation for frequently-used components
CN113421342A (en) Grid division method and system for closed cylindrical surface with complex boundary constraint
CN110689620A (en) Multi-level optimized mesh surface discrete spline curve design method
CN114357625A (en) Geometric constraint calculation technology suitable for free deformation parameterization
Yu et al. Stream surface reconstruction of aero engine blade based on limited measured points
CN108984864A (en) Higher-dimension complex aircraft model characterizing method based on Gaussian process variance evaluation
CN110334450B (en) Method for repairing object plane projection error in multi-block structure grid generation
CN109858143B (en) Method for generating special-shaped door and window model on arc wall
CN106960469B (en) A kind of smooth free-form deformation of Fast Segmentation triangle
CN110414016A (en) The Waverider geometry parameterization design method and system of ultrahigh speed pipeline transportation tool
Shen et al. A framework from point clouds to workpieces
CN108804791B (en) Aircraft parameterization method suitable for embedded air inlet layout
CN110348163B (en) Fitting method for continuous tangent circular arc of tire pattern boundary
CN113436337B (en) Grid division method and system for open cylindrical surface with complex boundary constraint
CN113034696B (en) Arc grid model generation method
CN112131665B (en) Grid classification-based rocket fluid fixed load hybrid conversion method
Holst Genetic algorithms applied to multi-objective aerospace shape optimization
CN113704841A (en) Optimized stock layout method based on bias
CN111914450A (en) AST spline surface rapid reconstruction algorithm based on local refinement solution
CN111047687A (en) Three-dimensional T-spline-based heterogeneous material solid modeling method
CN115935447B (en) Mixed modeling method based on discrete Morse theory feature recognition

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination