Geometry cleanup method for 2.5d model for characterizing layered circuit board structure

By optimizing the geometric cleanup method of the 2.5D model using adaptive quadtrees and RTree data structures, the problems of line segment intersections and excessive proximity between points and line segments in the circuit board structure are solved, thereby improving mesh partitioning power and simulation calculation efficiency.

WO2026007199A1PCT designated stage Publication Date: 2026-01-08PHYSIM ELECTRONIC TECHNOLOGY CO LTD

Patent Information

Application Number
PCT/CN2024/111472
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-02
Filing Date
2024-08-12
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

In EDA numerical simulation, when processing 2.5D models of large-scale complex circuit board structures, problems such as line segment intersections, excessively close point distances, excessively high proximity between points and line segments, and excessively small angles between line segments are often encountered, leading to mesh generation failure and affecting the accuracy and efficiency of the simulation process.

Method used

We employ an adaptive quadtree approach to merge adjacent points, perform edge intersection operations, remove sharp corners, align points to edges, and simplify polygons. Combined with the RTree data structure, we optimize the computation process through a local update strategy to improve mesh partitioning efficiency.

Benefits of technology

It effectively solves the problems of line segment intersection, point-to-point distance, and line segment angle too small, improves the success rate of 2.5D model mesh generation, reduces computational complexity and time consumption, and improves the efficiency of simulation calculation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024111472_08012026_PF_FP_ABST
    Figure CN2024111472_08012026_PF_FP_ABST
Patent Text Reader

Abstract

A geometry cleanup method for a 2.5D model for characterizing a layered circuit board structure, comprising: merging adjacent points on the basis of an adaptive quadtree; performing an edge intersection operation; removing a sharp angle; aligning points to edges; simplifying a polygon; and performing local update.
Need to check novelty before this filing date? Find Prior Art

Description

A 2.5D model geometry cleaning method for characterizing a layered circuit board structure

[0001] This application claims priority to the Chinese patent application No. 202410876249.2, filed on July 2, 2024, with the Chinese Patent Office, the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] The present application relates to the field of simulation design, for example, to a 2.5D model geometry cleaning method for characterizing a layered circuit board structure. BACKGROUND

[0003] In the field of EDA (Electronic Design Automation) numerical simulation, a 2.5D model is often used to represent a layered circuit board structure. As shown in FIG. 2, the 2.5D model is stacked by multiple 2D models, and each layer of the 2D structure is composed of multiple polygons.

[0004] The 2.5D model contains multiple layers of circuit boards and various electronic components. The interaction and electromagnetic coupling relationship between these components and circuit board layers are complex, making it difficult to directly simulate and calculate. Chinese patent CN117078890A proposes a three-dimensional geometric model meshing method, which can discretize these complex model structures into grid cells that are easier to handle, thereby facilitating simulation software to perform calculations and analysis.

[0005] Therefore, meshing is irreplaceable in the field of EDA numerical simulation, not only as a bridge connecting the circuit board model and simulation analysis, but also as a key step to ensure the accuracy and reliability of simulation results. However, when dealing with large-scale complex circuit board structures of 2.5D models, due to the extremely high design complexity, some geometric problems are often encountered, such as intersection between line segments, too close distance between points, too high proximity between points and line segments, and too small angle between line segments. These problems often lead to the failure of the meshing process, and thus the entire simulation process is stalled.

[0006] SUMMARY

[0007] The present application proposes a 2.5D model geometry cleaning method for characterizing a layered circuit board structure to improve the success rate of 2.5D model meshing.

[0008] The present application proposes a 2.5D model geometry cleaning method for characterizing a layered circuit board structure, comprising:

[0009] Merging adjacent points based on adaptive quadtree: dividing points in a plane into a plurality of sub-regions using quadtree, merging adjacent points in each sub-region;

[0010] Performing edge intersection operation: judging whether two edges intersect, in response to the two edges intersecting, calculating intersection position and adding intersection point;

[0011] Clearing sharp angle: in response to two edges having a common end point and the included angle of the two edges being less than a set minimum angle α tol , determining that the included angle of the two edges is a sharp angle, and clearing the sharp angle by adding or moving a point; the adding a point is adding a point on the longer one of the two edges, and the moving a point is moving the non-common end point of the shorter one of the two edges to the longer one of the two edges;

[0012] Aligning points to edges: moving a point that is too close to an edge to the edge along the normal direction of the edge;

[0013] Simplifying polygons: in response to a point being less than a given value from a line segment having two points adjacent to the point as end points, determining that the point is a to-be-removed point, the point being shared by multiple polygons, and in response to the point being a to-be-removed point on all polygons, removing the point;

[0014] Local updating: judging whether there are changed points and edges, in response to there being changed points and edges, returning to continue the step of merging adjacent points based on adaptive quadtree, and performing next calculation on the changed points and edges, and in response to there being no changed points and edges, not performing next calculation.

[0015] In an embodiment, the dividing points in a plane into a plurality of sub-regions using quadtree comprises the following steps:

[0016] Calculating a plane space bounding box of all polygon vertices;

[0017] Dividing the plane space bounding box into 4 equal parts, each part being a sub-region;

[0018] Calculating the number of points in each sub-region;

[0019] Recursively dividing a sub-region: in response to the number of points in the sub-region being greater than a specified value m, continuing to divide the sub-region into four smaller sub-regions, until the number of points in all sub-regions is less than or equal to the specified value m.

[0020] In an embodiment, the merging adjacent points in each sub-region comprises:

[0021] For each point in each sub-region, two-by-two comparison is performed, and in response to the distance between any two points being less than a specified tolerance value, the two points are determined to be adjacent points, and the two points are merged into one point.

[0022] In one embodiment, the method for cleaning the geometry of the 2.5D model of the layered circuit board structure further comprises: before the step of judging whether two edges intersect, searching all edges that need to perform edge intersection operation by using an RTree data structure;

[0023] Alternatively, before the step of moving the point with excessively high edge proximity along the normal direction of the edge to the edge, searching all edges that need to align the point to the edge by using an RTree data structure.

[0024] In one embodiment, the step of judging whether two edges intersect comprises:

[0025] Let the two edges be edge AB and edge CD;

[0026] In response to point A and point B being on the same side of the straight line on which edge CD lies, and point C and point D being on the same side of the straight line on which edge AB lies, it is determined that edge AB and edge CD do not intersect;

[0027] In response to point A and point B being on the two sides of the straight line on which edge CD lies, and point C and point D being on the same side of the straight line on which edge AB lies, it is determined that edge AB and edge CD do not intersect;

[0028] In response to point A and point B being on the same side of the straight line on which edge CD lies, and point C and point D being on the two sides of the straight line on which edge AB lies, it is determined that edge AB and edge CD do not intersect;

[0029] In response to point A and point B being on the two sides of the straight line on which edge CD lies, and point C and point D being on the two sides of the straight line on which edge AB lies, it is determined that edge AB and edge CD intersect.

[0030] In one embodiment, the step of calculating the intersection point position when the two edges intersect comprises:

[0031] Let the two edges be edge AB and edge CD;

[0032] In response to edge AB and edge CD intersecting at point E, the distances h C and h D from point C and point D to the straight line on which edge AB lies are calculated, respectively.

[0033] According to the distances h C and h D from point C and point D to the straight line on which edge AB lies, the position of intersection point E is calculated, and the calculation formula of the position of intersection point E is as follows:

[0034] Wherein, E, C, and D respectively refer to the positions of point E, point C, and point D.

[0035] In one embodiment, the removing the sharp corner by adding or moving a point, comprises:

[0036] Let the two edges with a common end point be edge AB and edge AC, and ∠BAC < α tol ;

[0037] Let the length of edge AB be greater than the length of edge AC;

[0038] In response to there being a point D on edge AB such that ∠BDC = α tol , remove edge AC, and point D divides edge AB into two segments AD and DB, and point A and point C are divided into two segments AD and DC;

[0039] In response to there not being a point D on edge AB such that ∠BDC = α tol , move point C to edge AB, and divide edge AB into two segments AC and CB.

[0040] In one embodiment, the aligning the point to the edge, comprises:

[0041] In response to the distance from a point to an edge being less than a threshold value h tol , determine the point to be a point with excessively high proximity to the edge, and move the point to the edge in the normal direction of the edge.

[0042] In one embodiment, the changed points and edges include the changed point and the points and edges around the changed point.

[0043] In one embodiment, the determining whether there are changed points and edges, comprises:

[0044] In the merging adjacent points based on the adaptive quadtree, in response to there being merged points, mark all the merged points as changed points;

[0045] In the edge intersection operation, in response to there being two edges intersecting, mark the intersection point as a changed point;

[0046] In the removing the sharp corner, in response to there being a sharp corner removed, mark the added point or the moved point as a changed point;

[0047] In the aligning the point to the edge, in response to there being a point aligned to an edge, mark the moved point as a changed point;

[0048] In the simplifying the polygon, in response to there being a removed point, mark the adjacent points of the removed point as changed points;

[0049] Wherein, given an influence radius r, points and edges whose distance to the point of change is less than the influence radius r are marked as points and edges around them. BRIEF DESCRIPTION OF DRAWINGS

[0050] Fig. 1 is a flow chart of a 2.5D model geometry cleaning method for characterizing a layered circuit board structure according to an embodiment of the present application;

[0051] Fig. 2 is a schematic diagram of a shape of a layer of a circuit board structure 2.5D model;

[0052] Fig. 3 is a schematic diagram of dividing points in a plane based on a quadtree according to an embodiment of the present application;

[0053] Fig. 4 is a schematic diagram of the position relationship between two edges in a plane according to an embodiment of the present application;

[0054] Fig. 5 is a schematic diagram of the intersection calculation of two edges in a plane according to an embodiment of the present application;

[0055] Fig. 6 is a schematic diagram of removing sharp corners according to an embodiment of the present application;

[0056] Fig. 7 is a schematic diagram of aligning points to edges according to an embodiment of the present application;

[0057] Fig. 8 is a schematic diagram of simplifying polygons according to an embodiment of the present application;

[0058] Fig. 9 is a schematic diagram of local updating according to an embodiment of the present application. DETAILED DESCRIPTION

[0059] In order to make the purpose, technical scheme and advantages of the present application more clear, the present application is described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and not to limit the present application.

[0060] As shown in Fig. 1, the present application proposes a 2.5D model geometry cleaning method for characterizing a layered circuit board structure, including the following steps:

[0061] Step 1, merging adjacent points based on adaptive quadtree: using quadtree to divide points in a plane into multiple sub-regions, and merging adjacent points in each sub-region.

[0062] Step 2, edge intersection operation: determining whether two edges intersect, if the two edges intersect, calculating the intersection position and adding the intersection point.

[0063] Step 3, removing sharp corners: if two edges have a common endpoint, and the included angle of the two edges is less than a set minimum angle a tolIf the angle between the two edges is an acute angle, then a point is added on the longer edge or a point is moved on the shorter edge to eliminate the acute angle.

[0064] Step 4, aligning points to edges: moving points that are too close to an edge along the normal direction of the edge to the edge.

[0065] Step 5, simplifying polygons: if a point is within a given distance to a line segment with the two points adjacent to the point as endpoints, then the point is a point to be removed, the point is shared by multiple polygons, if the point is a point to be removed in all polygons, then the point is removed.

[0066] Step 6, local update: determining whether there are points and edges that have changed, in response to the existence of points and edges that have changed, returning to step 1 to calculate points and edges that have changed, otherwise ending the calculation.

[0067] The above steps are described in detail as follows.

[0068] In step 1, the points in the plane are divided into multiple sub-regions using a quadtree, including the following steps:

[0069] Calculating the plane space bounding box of all polygon vertices (i.e. all points in the plane);

[0070] The plane space bounding box is evenly divided into 4 parts, each of which is a sub-region;

[0071] Calculating the number of points in each sub-region;

[0072] Recursive subdivision of sub-regions: if the number of points in a sub-region is greater than a specified value m, continue to evenly divide the sub-region into four smaller sub-regions, until the number of points in all sub-regions is less than or equal to the specified value m.

[0073] The above steps are exemplary: calculating the plane space bounding box of all polygon vertices, including the following steps: first, determining the minimum and maximum coordinate values of all polygon vertices in the plane, thereby forming a rectangular bounding box (usually referred to as a bounding box or bounding box). This bounding box can completely contain all polygon vertices.

[0074] The bounding box is evenly divided into 4 parts, which is usually divided into four equal sub-regions along the horizontal and vertical center lines of the bounding box.

[0075] Count the number of points in each sub-region: traverse all the polygon vertices and determine which sub-region each vertex belongs to (i.e. which rectangular region contains the vertex). Count the number of vertices in each sub-region.

[0076] Recursive division of sub-regions: for each sub-region, check if the number of vertices inside it is greater than a specified value m. If the number of vertices inside it is greater than the specified value m, continue to divide the sub-region equally along its horizontal and vertical midlines into four smaller sub-regions, and repeat the above steps (i.e. count the number of points and possibly continue to divide) for these smaller sub-regions. This process continues recursively until the number of vertices in all sub-regions is less than or equal to the specified value m. When this condition is reached, the recursion stops and the final set of sub-regions is the final division result, see Fig. 3.

[0077] In step 1, merge adjacent points in each sub-region, including:

[0078] Compare each pair of points in each sub-region. If the distance between any two points is less than a specified tolerance value, then the two points are adjacent and are merged into one point.

[0079] The purpose of step 1, which merges adjacent points based on an adaptive quadtree, is to address the problem of points being too close to each other. Normally, the time complexity of directly performing the adjacent point merging operation is O(N 2 ), where N is the number of points in the plane. For large-scale models, the adjacent point merging calculation is too time-consuming. The present application uses an adaptive quadtree method to improve the efficiency of merging adjacent points. The quadtree is used to divide the points in the plane such that the number of points in each region is less than or equal to m (m is a constant value), see Fig. 3. If there are N points in the plane, then the points in the plane will be divided into n = N / m regions, and the calculation time for each region is t z = c(m) 2 (c is a constant value), and the total calculation time t is:

[0080] In the above formula, c and m are both constant values. By using quadtree partitioning, the time complexity of merging adjacent points can be reduced to O(N). Here, the time consumption of quadtree partitioning is ignored because it is much lower than the time consumption of adjacent point merging calculation.

[0081] In step 2, determine whether two edges intersect, including:

[0082] Let the two edges be edge AB and edge CD;

[0083] If point A and point B are on the same side of the straight line on which edge CD lies, and point C and point D are on the same side of the straight line on which edge AB lies, then edge AB and edge CD do not intersect, see Fig. 4(a);

[0084] If point A and point B are on the opposite side of the line on which edge CD lies, and point C and point D are on the same side of the line on which edge AB lies, then edge AB and edge CD do not intersect, see (b) in Fig. 4;

[0085] If point A and point B are on the same side of the line on which edge CD lies, and point C and point D are on the opposite side of the line on which edge AB lies, then edge AB and edge CD do not intersect, see (c) in Fig. 4;

[0086] If point A and point B are on the opposite side of the line on which edge CD lies, and point C and point D are on the opposite side of the line on which edge AB lies, then edge AB and edge CD intersect, see (d) in Fig. 4.

[0087] As shown in Fig. 4, for two edges in a plane, there are mainly four kinds of position relations. Only in case (d), the two line segments intersect.

[0088] If the two edges intersect, the position of the intersection point is calculated, including the following steps:

[0089] Let the two edges be edge AB and edge CD;

[0090] If edge AB and edge CD intersect at point E, then the distances h C and h D from point C and point D to the line on which edge AB lies are calculated.

[0091] According to the distances h C and h D from point C and point D to the line on which edge AB lies, the position of intersection point E is calculated, see Fig. 5. The calculation formula of the position of intersection point E is as follows:

[0092] Wherein, E, C, D respectively refer to the positions of point E, point C and point D.

[0093] Intersection point E is used to divide the two intersecting edges, and four edges are formed after the division, which do not intersect, thereby solving the problem of edge intersection. The time complexity of edge intersection operation is also O(N 2 ), where N is the number of edges. To improve the calculation efficiency, RTree data structure can be used to search all edges that need to be operated on edge intersection before judging whether the two edges intersect, improve the efficiency of space search, and reduce the time complexity of edge intersection operation to O(NlogN).

[0094] In step 3, a point is added or moved to eliminate the sharp angle, including the following steps:

[0095] Let the two edges with a common end point be edge AB and edge AC, and ∠BAC < α tol , see (a) in Fig. 6;

[0096] Let the length of side AB be greater than the length of side AC;

[0097] As shown in (b) of FIG. 6, a point D is taken on side AB, and point D is connected to point C, satisfying ∠BDC = α tol , point D divides side AB into two segments AD and DB, and point A and point C are divided into two segments AD and DC, and the original side AC is removed; if there is no point D on side AB that satisfies ∠BDC = α tol , then point C is moved to side AB, and side AB is divided into two segments AC and CB.

[0098] The calculation time complexity of the removal of the sharp angle in step 3 is O(N), where N is the total number of vertices. Step 3 solves the problem of the small angle between line segments by adding a point or moving a point.

[0099] Step 4 includes: if the distance from a point to a side is less than a threshold value h tol , then the point is a point with excessively high proximity to the side, and the point is moved to the side in the normal direction of the side.

[0100] Exemplarily, as shown in (a) and (b) of FIG. 7, if the distance |CC`| from point C to side AB is less than a given value (i.e., threshold value h tol ), then point C is moved to the side in the normal direction of side AB, and AB is divided into two segments AC and CB. In a polygon, the number of vertices and the number of sides are the same, and therefore the calculation time complexity of the alignment of points to sides is also O(N 2 ), where N is the total number of sides or points. Here, before moving the point with excessively high proximity to the side to the side in the normal direction of the side, the RTree data structure can be used to search all sides to which the point needs to be aligned, to improve the search efficiency of the sides, and to reduce the calculation time complexity to O(NlogN). This step solves the problem of excessively high proximity between points and line segments in the background art by moving the point with high proximity to the line segment to the line segment.

[0101] In step 5, one embodiment of the simplification of the polygon is shown in FIG. 8, and point P i and its adjacent points P i-1 and P i+1 are used to determine whether the point is simplified and removed. If the distance from P i to line segments P i-1 and P i+1 is less than a given value (i.e., threshold value h tol ), then P i is marked as a point to be removed. Since P i may be shared by multiple polygons, if P i can be removed on all polygons, then P iThe computational time complexity of polygon simplification is O(N), where N is the total number of vertices.

[0102] The 2.5D model geometry cleanup method for characterizing layered circuit board structures in this application is an iterative computational process. Although we have reduced the time complexity of each step from O(N) using data structures such as quadtrees and RTrees, the computational complexity has been improved. 2 While the computation time can be reduced to O(NlogN) or O(N), it remains too long for complex models. Therefore, in step 6, a strategy of local updates is proposed to improve computational efficiency. The basic idea is as follows: In each iteration, only some points and edges change, and these changed points and edges are the cause of new changes in the next step. Therefore, in the next step, it is only necessary to find the changed points and edges and their surrounding points and edges for calculation (see Figure 9). This can significantly reduce the computational load in subsequent iterations.

[0103] For example, in step 6, the points and edges that change include the point that changes and the points and edges around it.

[0104] Determining whether any points or edges have changed involves the following steps:

[0105] In the process of merging adjacent points using an adaptive quadtree, if any points are merged, then all merged points are marked as points that have changed.

[0106] In edge intersection operations, if two edges intersect, the intersection point is marked as the point that has changed.

[0107] In the process of clearing sharp corners, if any sharp corners are cleared, the added or moved points are marked as changed points.

[0108] Align the point to the edge; if a point is aligned to the edge, mark the moved point as a changed point.

[0109] In a simplified polygon, if a point is removed, its adjacent points are marked as changed points.

[0110] Given an influence radius r, points and edges whose distances change are less than the influence radius r are labeled as the points and edges surrounding them.

[0111] The geometry cleanup method for a 2.5D model used to characterize a layered circuit board structure, as described in this application, has the following characteristics:

[0112] 1. This geometric cleanup method solves the problems of intersection between line segments, excessively close distance between points, excessive proximity between points and line segments, and excessively small included angle between line segments, thereby improving the success rate of mesh generation for 2.5D models.

[0113] 2. The geometric cleaning method reduces the time complexity of each step calculation, reduces the calculation time consumption, and improves the calculation efficiency.

[0114] Although the above methods are illustrated and described as a series of acts for purposes of simplicity, it should be appreciated that the methods are not limited in this regard and could consist of a number of additional or fewer acts, could be rearranged in different orders, and / or omitted certain acts altogether.

[0115] As indicated in this application and in the claims, unless otherwise expressly specified, "a," "an," "the," and / or similar articles are not intended to be specific singular determinants of the number of steps, elements and / or elements, but rather are to be construed as the inclusion of the plural, unless the context clearly indicates otherwise. In general, the terms "comprising" and "including" are intended to be open-ended and to mean that other steps and elements are optional and can be included or excluded without altering the base scope of the method or device.

[0116] The above-described embodiments are merely illustrative of the present application and are not intended to limit the present application in any way. The present application can have other various embodiments. Those skilled in the art can make various modifications and changes to the present application without departing from the spirit and essential characteristics of the present application. Such modifications and changes should be construed as falling within the scope of the present application.

Claims

1. A method for cleaning the geometry of a 2.5D model of a layered circuit board structure, comprising: merging adjacent points based on adaptive quadtree: dividing points in a plane into a plurality of sub-regions using quadtree, merging adjacent points in each sub-region; performing edge intersection operation: determining whether two edges intersect, in response to the two edges intersecting, calculating the intersection position and adding the intersection point; Clear sharp corners: Responds to situations where two sides share a common endpoint and the included angle between the two sides is less than a set minimum angle α. tol The angle between the two sides is determined to be a sharp angle. The sharp angle is cleared by adding or moving a point. Adding a point means adding a point on the longer side of the two sides, and moving a point means moving the non-shared endpoint of the shorter side to the longer side. aligning points to edges: moving points that are too close to edges in the normal direction of the edges to the edges; simplifying polygons: in response to the distance between a point and a line segment with two points adjacent to the point as endpoints being less than a given value, determining that the point is a point to be removed, the point being shared by multiple polygons, in response to the point being a point to be removed on all polygons, removing the point; local update: determining whether there are points and edges that have changed, in response to there being points and edges that have changed, returning to continue the step of merging adjacent points based on adaptive quadtree, performing the next calculation on the points and edges that have changed, in response to there being no points and edges that have changed, not performing the next calculation.

2. The method of claim 1, wherein, the step of dividing points in a plane into a plurality of sub-regions using quadtree, comprising: calculating the plane space bounding box of all polygon vertices; dividing the plane space bounding box into 4 equal parts, each part being a sub-region; calculating the number of points in each sub-region; recursively dividing the sub-region: in response to the number of points in a sub-region being greater than a specified value m, continuing to divide the sub-region equally into four smaller sub-regions until the number of points in all sub-regions is less than or equal to the specified value m.

3. The method of claim 1, wherein, the step of merging adjacent points in each sub-region, comprising: comparing points in each sub-region two by two, in response to the distance between any two points being less than a specified tolerance value, determining that the two points are adjacent points, merging the two points into one point.

4. The method of claim 1, further comprising: Before the step of determining whether two edges intersect, searching for all edges that need to perform edge intersection operation using RTree data structure; or, before the step of aligning points to edges, searching for all edges that need to align points to edges using RTree data structure.

5. The method of claim 1, wherein, the step of determining whether two edges intersect, comprising: let the two edges be edge AB and edge CD; in response to point A and point B being on the same side of the line on which edge CD lies, and point C and point D being on the same side of the line on which edge AB lies, determining that edge AB and edge CD do not intersect; in response to point A and point B being on different sides of the line on which edge CD lies, and point C and point D being on the same side of the line on which edge AB lies, determining that edge AB and edge CD do not intersect; in response to point A and point B being on the same side of the line on which edge CD lies, and point C and point D being on different sides of the line on which edge AB lies, determining that edge AB and edge CD do not intersect; in response to point A and point B being on different sides of the line on which edge CD lies, and point C and point D being on different sides of the line on which edge AB lies, determining that edge AB and edge CD intersect.

6. The method of claim 1, wherein, the step of calculating the intersection position in response to the two edges intersecting, comprising: let the two edges be edge AB and edge CD; In response to the intersection of edge AB and edge CD at point E, the distance h of point C and point D to the line on which edge AB lies is calculated respectively C and h D ; According to the distance h of points C and D to the straight line on which side AB lies C and h D , the position of intersection point E is calculated, and the calculation formula of the position of intersection point E is as follows: wherein E, C, D respectively refer to the positions of point E, point C, and point D.

7. The method of claim 1, wherein, the step of removing sharp corners by adding or moving a point, comprising: Let there be a common endpoint of two edges, edge AB and edge AC, and ∠BAC < α tol ; let the length of edge AB be greater than the length of edge AC; In response to the existence of a point D on the side AB, such that the point D connects the point C to form ∠BDC satisfying ∠BDC = α tol , remove the side AC, the point D divides the side AB into two segments AD and DB, and the point A and the point C are divided into two segments AD and DC; In response to the absence of point D on side AB, such that point D connects point C to form ∠BDC satisfying ∠BDC = α tol Move point C to side AB, which divides side AB into two segments AC and CB.

8. The method of claim 1, wherein, The aligning points to edges comprises: in response to a distance from a point to an edge being less than a threshold value h tol determining the point as a point with excessively high proximity to the edge, and moving the point to the edge in a direction of a normal of the edge.

9. The method of claim 1, wherein, The changed points and edges include changed points and their surrounding points and edges.

10. The method of claim 9, wherein, The judging whether there are changed points and edges comprises: In the merging adjacent points based on the adaptive quadtree, in response to having points to be merged, all the points to be merged are marked as changed points; In the edge intersection operation, in response to having two edges intersecting, the intersection point is marked as a changed point; In the clearing sharp corners, in response to having a sharp corner being cleared, the added point or the moved point is marked as a changed point; In the aligning points to edges, in response to having a point being aligned to an edge, the moved point is marked as a changed point; In the simplifying the polygon, in response to having a point being removed, its adjacent points are marked as changed points; Wherein, given an influence radius r, points and edges with a distance less than the influence radius r from a changed point are marked as surrounding points and edges. ​

Citation Information

Patent Citations

  • Quadrangle segmentation method applied to finite element analysis

    CN107085865A

  • Multi-layer integrated circuit layout polygon alignment and simplification processing method and device

    CN110675502A

  • Geological profile polyline optimization method and system for finite element analysis

    CN114491718A

  • 2.5 D model geometric cleaning method

    CN118411486A

  • Methods of Editing Polygon which describes vector images

    KR1020040027852A

Cited By

  • Geometric model processing method for airflow organization simulation

    CN121683301A