CN112347727A - Filling type copper-clad method, system, equipment and storage medium supporting arc edges - Google Patents
Filling type copper-clad method, system, equipment and storage medium supporting arc edges Download PDFInfo
- Publication number
- CN112347727A CN112347727A CN201910729389.6A CN201910729389A CN112347727A CN 112347727 A CN112347727 A CN 112347727A CN 201910729389 A CN201910729389 A CN 201910729389A CN 112347727 A CN112347727 A CN 112347727A
- Authority
- CN
- China
- Prior art keywords
- edges
- copper
- clad
- scanning
- fillet
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 20
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 claims description 23
- 229910052802 copper Inorganic materials 0.000 claims description 23
- 239000010949 copper Substances 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 8
- 238000005253 cladding Methods 0.000 claims description 7
- 238000009499 grossing Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Images
Abstract
The invention discloses a filling type copper-clad method, a system, equipment and a storage medium for supporting a circular arc edge, wherein the method comprises the following steps: performing fillet expansion processing on all primitives needing to be isolated from a copper-clad area on the printed circuit board to obtain fillet expansion primitives; calculating intersection points of all edges on the printed circuit board after fillet expansion processing, and splitting all edges into mutually non-intersected edges except for a vertex according to the intersection points; and scanning the non-intersected sides by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the sides of the scanning areas to obtain the sides of the copper-clad area. Because the filling type copper-clad with the circular arc is directly supported, a single copper-clad algorithm that only supports the straight line is avoided, such as the more dense straight line fitting circular arc edge, and the like, the error is reduced, the workload and the working time of designers are reduced, and the copper-clad efficiency and the performance are improved.
Description
Technical Field
The invention relates to the technical field of computer graphic processing, in particular to a filling type copper-clad method, a system, equipment and a storage medium for supporting arc edges.
Background
Printed Circuit Boards (PCBs) are important electronic components, support members for electronic components, and carriers for electrical connection of various functional electronic components.
In the prior art, in Electronic Design Automation (EDA) Design of a printed circuit board, a copper-clad algorithm based on circumscribed polygon scanning lines is often used to perform filling-type copper-cladding on the printed circuit board. The basic idea of the polygon scan line and scan line filling algorithm is as follows: for a given polygon, scanning with a set of horizontal or vertical scanning lines, finding for each scanning line the intersection points with the polygon edge, which divide the scanning line into line segments falling inside the polygon and line segments falling outside the polygon, and arranging them alternately; all points that fall on a line segment inside the polygon are assigned (i.e. filled in the PCB). The specific implementation method comprises the following steps: finding out the minimum Y value and the maximum Y value of the polygon, intersecting each horizontal line in the range with the polygon to obtain an intersection point, and drawing line segments. It is clear that a scan line and polygon have an even number of intersections, arranged from small to large according to the X value, and then the 1 st and 2 nd and 3 and 4 rd renderings are taken.
However, when the printed circuit board is subjected to filling type copper cladding by using a copper cladding algorithm of circumscribed polygon scanning lines, the following disadvantages are generated at places such as a circular pad, a via hole, a polygon corner and the like of the printed circuit board:
1. if the outer trimming edge is sparse, the generated copper-clad result has great difference with the shape expected by a user;
2. if the external cutting edge is dense, the copper coating time can be greatly prolonged;
3. the burden of adjusting the arc fitting degree by designers according to the actual situation is increased.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides a filling type copper-clad method, a system, equipment and a storage medium supporting a circular arc edge, aiming at solving the defect of poor performance caused by a single copper-clad algorithm which only supports a straight line, such as directly fitting the circular arc edge by using a denser straight line, and the like, and the specific scheme is as follows:
in a first aspect, the present invention provides a method for supporting arc edge filled copper cladding, the method comprising:
performing fillet expansion processing on all primitives needing to be isolated from a copper-clad area on the printed circuit board to obtain fillet expansion primitives;
calculating intersection points of all edges on the printed circuit board after fillet expansion processing, and splitting all edges into mutually non-intersected edges except for a vertex according to the intersection points;
and scanning the non-intersected edges by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the edges of the scanning areas to obtain a plurality of groups of edges of copper-clad areas.
Preferably, the method further comprises: and filling copper according to the edges of the grouped copper-clad regions.
Preferably, the fillet expansion process includes: and smoothing the sharp angle of the primitive by using a fillet with smoothness corresponding to the preset distance according to the preset distance between the copper-clad area and the primitive.
Preferably, the sharp corners of the graphical element and the edges of the graphical element are both represented by circular arcs.
Preferably, the calculation of the intersection point of all edges on the printed circuit board after the fillet expansion process includes:
and calculating the intersection points of all edges of the fillet expansion graphics primitive on the printed circuit board and the intersection points of all edges of the copper-clad area after fillet expansion processing.
Preferably, the intersection of all the edges comprises: the intersection point of the arc edge and the arc edge, the intersection point of the arc edge and the straight line edge, and the intersection point of the straight line edge and the straight line edge.
Preferably said splitting all edges into mutually disjoint edges except vertices according to said intersection points comprises:
and sequencing all the intersection points of each edge according to the distance from the starting point of each edge to the starting point of each edge, and sequentially connecting the intersection points back and forth to form a group of new line segments according to the sequence from the starting point to the end point through the sequenced intersection points.
In a second aspect, the present invention provides a fill-type copper clad system supporting a radiused edge, the system comprising:
the fillet expansion module is used for performing fillet expansion processing on all primitives which need to be isolated from the copper-clad area on the printed circuit board so as to obtain fillet expansion primitives;
the intersection point splitting module is used for calculating the intersection points of all the edges on the printed circuit board after fillet expansion processing, and splitting all the edges into mutually non-intersected edges except the top points according to the intersection points;
and the scanning grouping module is used for scanning the mutually non-intersected edges by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the edges of the scanning areas to obtain a plurality of groups of edges of the copper-clad areas.
In a third aspect, the present invention provides a fill-type copper clad device supporting a radiused edge, the device comprising:
the communication bus is used for realizing the connection communication between the processor and the memory;
a memory for storing a computer program;
a processor for executing the computer program to implement the steps of:
performing fillet expansion processing on all primitives needing to be isolated from a copper-clad area on the printed circuit board to obtain fillet expansion primitives;
calculating intersection points of all edges on the printed circuit board after fillet expansion processing, and splitting all edges into mutually non-intersected edges except for a vertex according to the intersection points;
and scanning the non-intersected edges by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the edges of the scanning areas to obtain a plurality of groups of edges of copper-clad areas.
In a fourth aspect, the present invention provides a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the method of the first aspect described above.
The invention has the beneficial effects that: the invention provides a method, a system, equipment and a storage medium for directly supporting filling type copper-clad with circular arcs by improving scanning line-based polygon Boolean operation, supports any complex polygons including concave polygons, self-intersecting polygons, polygons with holes or polygons compounded according to side weights, avoids a single copper-clad algorithm in the prior art that only supports straight lines, such as more dense straight lines for fitting circular arc sides, and the like, reduces errors, lightens the workload and working time of designers, and improves the copper-clad efficiency and performance.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, it is obvious that the drawings in the following description are only some embodiments of the present invention, the embodiments in the drawings do not constitute any limitation to the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a schematic flow chart of an embodiment of a method for supporting arc-edge filled copper cladding.
FIG. 2 is a schematic flow chart of an embodiment of the method for supporting arc-edge filled copper cladding.
FIG. 3 is a schematic structural diagram of an embodiment of the filled copper-clad system supporting a circular arc edge according to the present invention.
Fig. 4 is a schematic structural diagram of an embodiment of the filled copper-clad device supporting the arc edge according to the present invention.
Detailed Description
The technical solution of the present invention will be further described in detail with reference to the accompanying drawings and embodiments, which are preferred embodiments of the present invention. It is to be understood that the described embodiments are merely a subset of the embodiments of the invention, and not all embodiments; it should be noted that the embodiments and features of the embodiments may be combined with each other without conflict. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The main idea of the technical scheme of the embodiment of the invention is as follows: performing fillet expansion processing on all primitives needing to be isolated from a copper-clad area on the printed circuit board to obtain fillet expansion primitives; calculating intersection points of all edges on the printed circuit board after fillet expansion processing, and splitting all edges into mutually non-intersected edges except for a vertex according to the intersection points; and scanning the non-intersected sides by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the sides of the scanning areas to obtain the sides of the copper-clad area.
In order to better understand the technical solutions, the technical solutions will be described in detail below with reference to the drawings and specific embodiments.
Example one
An embodiment of the present invention provides a filling type copper-clad method supporting a circular arc edge, as shown in fig. 1, specifically including the following steps:
step S101, performing fillet expansion processing on all primitives needing to be isolated from the copper-clad area on the printed circuit board to obtain fillet expansion primitives.
In this embodiment, the fillet expansion processing is specifically to smooth the sharp corner of the primitive with a fillet with smoothness corresponding to a preset distance according to the preset distance between the copper-clad area and the primitive. Preferably, the sharp corners of the graphics primitive and the edges of the graphics primitive can be directly represented by circular arcs.
Wherein, the expression of the circular arc is as follows: taking a counterclockwise arc as an example, the starting angle isThe ending angle is,,,Require 0 toThe unit vector of the starting angle of the circular arc isThe unit vector of the end angle of the circular arc is。
And step S102, calculating the intersection points of all edges on the printed circuit board after fillet expansion processing, and splitting all edges into mutually non-intersected edges except the top points according to the intersection points.
In this embodiment, calculating the intersection point of all edges on the pcb after the fillet expansion process includes two aspects: the first aspect is to calculate the intersection points of all edges of the fillet expansion primitives on the printed circuit board after the fillet expansion processing, and the second aspect is to calculate the intersection points of all edges of the copper-coated area on the printed circuit board after the fillet expansion processing.
The intersection point of all the edges may be an intersection point of an arc edge and an arc edge, an intersection point of an arc edge and a straight line edge, or an intersection point of a straight line edge and a straight line edge. Their mathematical principles are described below: as can be seen from the above, the expression of the arc is taken as an example of the counterclockwise arc, and the initial angle isThe ending angle is,,,Require 0 toThe unit vector of the starting angle of the circular arc isThe unit vector of the end angle of the circular arc isCircle ofAt any point onThe unit vector of the angle with the positive direction of the X axis is set as(ii) a The cross product of OS and OC is:the cross product of OE and OC is:. Then, whenWhen the temperature of the water is higher than the set temperature,and is andwhen the point is a point on the arc; when in useWhen the temperature of the water is higher than the set temperature,or is orThen, this point is a point on the arc.
The formula for the known line: ax + by + c = 0, when a straight line intersects a straight line, it can be determined by solving the joint equation of the straight line equation 1 and the straight line equation 2:
a1x + b1y + c1 = 0
a2x + b2y + c2 = 0
the intersection is solved.
Similarly, when the straight line intersects with the circular arc, the joint equation of the straight line equation and the circular arc equation can be solved:
ax + by + c = 0
the intersection is solved.
Similarly, when the arc intersects with the arc, the arc may be solved by solving the joint equation of arc equation 1 and arc equation 2:
the intersection is solved.
All edges are then split into mutually disjoint edges, except for vertices, according to the intersection points. Specifically, all the intersection points of each edge are sequenced according to the distance from the starting point of each edge, and the intersection points are sequentially connected back and forth into a group of new line segments according to the sequence from the starting point to the end point through the sequenced intersection points.
And S103, scanning the mutually non-intersected edges by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the edges of the scanning areas to obtain a plurality of groups of edges of copper-clad areas.
Specifically, for one scan line, the work required can be divided into three steps:
1. calculating the intersection points of the scanning lines and each side of the polygon;
2. sorting the intersection points according to the ascending order of X coordinates;
3. pairing the ordered intersection points pairwise (namely determining the line segments falling inside the polygon from left to right), and then drawing corresponding line segments;
4. line segments that fall inside the polygon are filled.
The area position of the primitive is scanned from top to bottom or from left to right by repeatedly using the scanning line mode, and each scanning line generates a series of intersection points with the edge of the primitive until all the scanning lines are not intersected with any part of the edge of the primitive any more. The sides of the scanning areas, which are contacted with each other, are connected into a whole, so that a plurality of groups of sides of the copper-clad areas are obtained, and the grouping of the sides of the scanning areas is realized.
In practical application, because true filling is not needed, only the edges of the copper-clad regions are marked, the scanned edges of the copper-clad regions are removed in each scanning, and the efficiency is improved.
Example two
An embodiment of the present invention provides a filling type copper-clad method supporting a circular arc edge, as shown in fig. 2, which specifically includes the following steps:
step S201, performing fillet expansion processing on all primitives needing to be isolated from the copper-clad area on the printed circuit board to obtain fillet expansion primitives.
In this embodiment, the fillet expansion processing is specifically to smooth the sharp corner of the primitive with a fillet with smoothness corresponding to a preset distance according to the preset distance between the copper-clad area and the primitive. Preferably, the sharp corners of the graphics primitive and the edges of the graphics primitive can be directly represented by circular arcs.
Wherein, the expression of the circular arc is as follows: taking a counterclockwise arc as an example, the starting angle isThe end angle is as follows,,,require 0 toThe unit vector of the starting angle of the circular arc isThe unit vector of the end angle of the circular arc is。
Step S202, calculating the intersection points of all edges on the printed circuit board after the fillet expansion processing, and splitting all edges into mutually non-intersected edges except the top points according to the intersection points.
In this embodiment, calculating the intersection point of all edges on the pcb after the fillet expansion process includes two aspects: the first aspect is to calculate the intersection points of all edges of the fillet expansion primitives on the printed circuit board after the fillet expansion processing, and the second aspect is to calculate the intersection points of all edges of the copper-coated area on the printed circuit board after the fillet expansion processing.
The intersection point of all the edges may be an intersection point of an arc edge and an arc edge, an intersection point of an arc edge and a straight line edge, or an intersection point of a straight line edge and a straight line edge. Their mathematical principles are described below: as can be seen from the above, the expression of the arc is taken as an example of the counterclockwise arc, and the initial angle isThe ending angle is,,,Require 0 toThe unit vector of the starting angle of the circular arc isThe unit vector of the end angle of the circular arc isCircle ofAt any point onThe unit vector of the angle with the positive direction of the X axis is set as(ii) a The cross product of OS and OC is:the cross product of OE and OC is:. Then, whenWhen the temperature of the water is higher than the set temperature,and is andwhen the point is a point on the arc; when in useWhen the temperature of the water is higher than the set temperature,or is orThen, this point is a point on the arc.
The formula for the known line: ax + by + c = 0, when a straight line intersects a straight line, it can be determined by solving the joint equation of the straight line equation 1 and the straight line equation 2:
a1x + b1y + c1 = 0
a2x + b2y + c2 = 0
the intersection is solved.
Similarly, when the straight line intersects with the circular arc, the joint equation of the straight line equation and the circular arc equation can be solved:
ax + by + c = 0
the intersection is solved.
Similarly, when the arc intersects with the arc, the arc may be solved by solving the joint equation of arc equation 1 and arc equation 2:
the intersection is solved.
All edges are then split into mutually disjoint edges, except for vertices, according to the intersection points. Specifically, all the intersection points of each edge are sequenced according to the distance from the starting point of each edge, and the intersection points are sequentially connected back and forth into a group of new line segments according to the sequence from the starting point to the end point through the sequenced intersection points.
Step S203, scanning the non-intersected edges by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the edges of the scanning areas to obtain a plurality of groups of edges of copper-clad areas.
Specifically, for one scan line, the work required can be divided into three steps:
1. calculating the intersection points of the scanning lines and each side of the polygon;
2. sorting the intersection points according to the ascending order of X coordinates;
3. pairing the ordered intersection points pairwise (namely determining the line segments falling inside the polygon from left to right), and then drawing corresponding line segments;
4. line segments that fall inside the polygon are filled.
The area position of the primitive is scanned from top to bottom or from left to right by repeatedly using the scanning line mode, and each scanning line generates a series of intersection points with the edge of the primitive until all the scanning lines are not intersected with any part of the edge of the primitive any more. The sides of the scanning areas, which are contacted with each other, are connected into a whole, so that a plurality of groups of sides of the copper-clad areas are obtained, and the grouping of the sides of the scanning areas is realized.
In practical application, because true filling is not needed, only the edges of the copper-clad regions are marked, the scanned edges of the copper-clad regions are removed in each scanning, and the efficiency is improved.
And step S204, filling copper according to the edges of the grouped copper-clad regions.
In this example, the edges of the sets of copper-clad regions are the actual copper-clad regions of the printed circuit board after subtracting the fillet extended region from the whole region. And sequentially filling the sections of the copper-clad area in groups according to the coordinate sequence until the sections touch the boundary until all groups of copper are coated, namely, the filling type copper-clad of the whole printed circuit board is implemented.
EXAMPLE III
An embodiment of the present invention provides a filling type copper-clad system supporting a circular arc edge, as shown in fig. 3, which may specifically include the following modules:
and the fillet expansion module is used for performing fillet expansion processing on all primitives which need to be isolated from the copper-clad area on the printed circuit board so as to obtain the fillet expansion primitives.
In this embodiment, the fillet expansion processing is specifically to smooth the sharp corner of the primitive with a fillet with smoothness corresponding to a preset distance according to the preset distance between the copper-clad area and the primitive. Preferably, the sharp corners of the graphics primitive and the edges of the graphics primitive can be directly represented by circular arcs.
Wherein, the expression of the circular arc is as follows: taking a counterclockwise arc as an example, the starting angle isThe ending angle is,,,Require 0 toThe unit vector of the starting angle of the circular arc isThe unit vector of the end angle of the circular arc is。
And the intersection point splitting module is used for calculating the intersection points of all the edges on the printed circuit board after the fillet expansion processing, and splitting all the edges into mutually non-intersected edges except the top point according to the intersection points.
In this embodiment, calculating the intersection point of all edges on the pcb after the fillet expansion process includes two aspects: the first aspect is to calculate the intersection points of all edges of the fillet expansion primitives on the printed circuit board after the fillet expansion processing, and the second aspect is to calculate the intersection points of all edges of the copper-coated area on the printed circuit board after the fillet expansion processing.
The intersection point of all the edges may be an intersection point of an arc edge and an arc edge, an intersection point of an arc edge and a straight line edge, or an intersection point of a straight line edge and a straight line edge. Their mathematical principles are described below: as can be seen from the above, the expression of the arc is taken as an example of the counterclockwise arc, and the initial angle isThe ending angle is,,,Require 0 toThe unit vector of the starting angle of the circular arc isThe unit vector of the end angle of the circular arc isCircle ofAt any point onThe unit vector of the angle with the positive direction of the X axis is set as(ii) a The cross product of OS and OC is:the cross product of OE and OC is:. Then, whenWhen the temperature of the water is higher than the set temperature,and is andwhen the point is a point on the arc; when in useWhen the temperature of the water is higher than the set temperature,or is orThen, this point is a point on the arc.
The formula for the known line: ax + by + c = 0, when a straight line intersects a straight line, it can be determined by solving the joint equation of the straight line equation 1 and the straight line equation 2:
a1x + b1y + c1 = 0
a2x + b2y + c2 = 0
the intersection is solved.
Similarly, when the straight line intersects with the circular arc, the joint equation of the straight line equation and the circular arc equation can be solved:
ax + by + c = 0
the intersection is solved.
Similarly, when the arc intersects with the arc, the arc may be solved by solving the joint equation of arc equation 1 and arc equation 2:
the intersection is solved.
All edges are then split into mutually disjoint edges, except for vertices, according to the intersection points. Specifically, all the intersection points of each edge are sequenced according to the distance from the starting point of each edge, and the intersection points are sequentially connected back and forth into a group of new line segments according to the sequence from the starting point to the end point through the sequenced intersection points.
And the scanning grouping module is used for scanning the mutually non-intersected edges by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the edges of the scanning areas to obtain a plurality of groups of edges of the copper-clad areas.
Specifically, for one scan line, the work required can be divided into three steps:
1. calculating the intersection points of the scanning lines and each side of the polygon;
2. sorting the intersection points according to the ascending order of X coordinates;
3. pairing the ordered intersection points pairwise (namely determining the line segments falling inside the polygon from left to right), and then drawing corresponding line segments;
4. line segments that fall inside the polygon are filled.
The area position of the primitive is scanned from top to bottom or from left to right by repeatedly using the scanning line mode, and each scanning line generates a series of intersection points with the edge of the primitive until all the scanning lines are not intersected with any part of the edge of the primitive any more. The sides of the scanning areas, which are contacted with each other, are connected into a whole, so that a plurality of groups of sides of the copper-clad areas are obtained, and the grouping of the sides of the scanning areas is realized.
In practical application, because true filling is not needed, only the edges of the copper-clad regions are marked, the scanned edges of the copper-clad regions are removed in each scanning, and the efficiency is improved.
In an alternative embodiment, a copper-clad-fill module may be further included for filling copper according to the edges of the grouped copper-clad regions.
In this example, the edges of the sets of copper-clad regions are the actual copper-clad regions of the printed circuit board after subtracting the fillet extended region from the whole region. And sequentially filling the sections of the copper-clad area in groups according to the coordinate sequence until the sections touch the boundary until all groups of copper are coated, namely, the filling type copper-clad of the whole printed circuit board is implemented.
Example four
An embodiment of the present invention provides a filling type copper-clad device supporting a circular arc edge, as shown in fig. 4, the filling type copper-clad device may specifically include the following modules:
the communication bus is used for realizing the connection communication between the processor and the memory;
a memory for storing a computer program; the memory may comprise high-speed RAM memory and may also comprise non-volatile memory, such as at least one disk memory. The memory may optionally comprise at least one memory device.
A processor for executing the computer program to implement the steps of:
step S301, performing fillet expansion processing on all primitives needing to be isolated from the copper-clad area on the printed circuit board to obtain fillet expansion primitives.
In this embodiment, the fillet expansion processing is specifically to smooth the sharp corner of the primitive with a fillet with smoothness corresponding to a preset distance according to the preset distance between the copper-clad area and the primitive. Preferably, the sharp corners of the graphics primitive and the edges of the graphics primitive can be directly represented by circular arcs.
Wherein, the expression of the circular arc is as follows: taking a counterclockwise arc as an example, the starting angle isThe ending angle is,,,Require 0 toThe unit vector of the starting angle of the circular arc isThe unit vector of the end angle of the circular arc is。
Step S302, calculating the intersection points of all edges on the printed circuit board after the fillet expansion processing, and splitting all edges into mutually non-intersected edges except the top points according to the intersection points.
In this embodiment, calculating the intersection point of all edges on the pcb after the fillet expansion process includes two aspects: the first aspect is to calculate the intersection points of all edges of the fillet expansion primitives on the printed circuit board after the fillet expansion processing, and the second aspect is to calculate the intersection points of all edges of the copper-coated area on the printed circuit board after the fillet expansion processing.
The intersection point of all the edges may be an intersection point of an arc edge and an arc edge, an intersection point of an arc edge and a straight line edge, or an intersection point of a straight line edge and a straight line edge. Their mathematical principles are described below: as can be seen from the above, the expression of the arc is taken as an example of the counterclockwise arc, and the initial angle isThe ending angle is,,,Require 0 toThe unit vector of the starting angle of the circular arc isThe unit vector of the end angle of the circular arc isCircle ofAt any point onThe unit vector of the angle with the positive direction of the X axis is set as(ii) a The cross product of OS and OC is:the cross product of OE and OC is:. Then, whenWhen the temperature of the water is higher than the set temperature,and is andwhen the point is a point on the arc; when in useWhen the temperature of the water is higher than the set temperature,or is orThen, this point is a point on the arc.
The formula for the known line: ax + by + c = 0, when a straight line intersects a straight line, it can be determined by solving the joint equation of the straight line equation 1 and the straight line equation 2:
a1x + b1y + c1 = 0
a2x + b2y + c2 = 0
the intersection is solved.
Similarly, when the straight line intersects with the circular arc, the joint equation of the straight line equation and the circular arc equation can be solved:
ax + by + c = 0
the intersection is solved.
Similarly, when the arc intersects with the arc, the arc may be solved by solving the joint equation of arc equation 1 and arc equation 2:
the intersection is solved.
All edges are then split into mutually disjoint edges, except for vertices, according to the intersection points. Specifically, all the intersection points of each edge are sequenced according to the distance from the starting point of each edge, and the intersection points are sequentially connected back and forth into a group of new line segments according to the sequence from the starting point to the end point through the sequenced intersection points.
Step S303, scanning the non-intersected edges by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the edges of the scanning areas to obtain a plurality of groups of edges of copper-clad areas.
Specifically, for one scan line, the work required can be divided into three steps:
1. calculating the intersection points of the scanning lines and each side of the polygon;
2. sorting the intersection points according to the ascending order of X coordinates;
3. pairing the ordered intersection points pairwise (namely determining the line segments falling inside the polygon from left to right), and then drawing corresponding line segments;
4. line segments that fall inside the polygon are filled.
The area position of the primitive is scanned from top to bottom or from left to right by repeatedly using the scanning line mode, and each scanning line generates a series of intersection points with the edge of the primitive until all the scanning lines are not intersected with any part of the edge of the primitive any more. The sides of the scanning areas, which are contacted with each other, are connected into a whole, so that a plurality of groups of sides of the copper-clad areas are obtained, and the grouping of the sides of the scanning areas is realized.
In practical application, because true filling is not needed, only the edges of the copper-clad regions are marked, the scanned edges of the copper-clad regions are removed in each scanning, and the efficiency is improved.
And step S304, filling copper according to the edges of the grouped copper-clad regions.
In this example, the edges of the sets of copper-clad regions are the actual copper-clad regions of the printed circuit board after subtracting the fillet extended region from the whole region. And sequentially filling the sections of the copper-clad area in groups according to the coordinate sequence until the sections touch the boundary until all groups of copper are coated, namely, the filling type copper-clad of the whole printed circuit board is implemented.
The processor in this embodiment may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware in a processor or instructions in the form of software. The processor described above may be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. The various methods, steps and logic blocks disclosed in the embodiments of the present invention may be implemented or performed. The processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and software modules in the processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
EXAMPLE five
An embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements a hidden encrypted transmission method of the data.
In summary, the invention provides a method, a system, a device and a storage medium for directly supporting filling type copper-clad with circular arc by improving scanning line-based polygon boolean operations, supports any complex polygons including concave polygons, self-intersecting polygons, polygons with holes or polygons which are compounded according to side weights, avoids the single copper-clad algorithm which directly uses denser straight lines to fit circular arc sides and the like and only supports straight lines in the traditional technology, reduces errors, reduces workload and working time of designers, and improves copper-clad efficiency and performance.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are exemplary embodiments and that the acts and modules illustrated are not necessarily required to practice the invention.
The above embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, the above-described embodiments may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The procedures or functions described in accordance with the embodiments of the present application are generated in whole or in part when the computer program instructions are loaded or executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains one or more collections of available media. The available media may be magnetic media (e.g., floppy disks, hard disks, tapes), optical media (e.g., DVDs), or semiconductor media. The semiconductor medium may be a solid state disk.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the embodiments provided in the present invention, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The present invention has been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (devices) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.
Claims (10)
1. A method for supporting arc edge filling type copper cladding is characterized by comprising the following steps:
performing fillet expansion processing on all primitives needing to be isolated from a copper-clad area on the printed circuit board to obtain fillet expansion primitives;
calculating intersection points of all edges on the printed circuit board after fillet expansion processing, and splitting all edges into mutually non-intersected edges except for a vertex according to the intersection points;
and scanning the non-intersected edges by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the edges of the scanning areas to obtain a plurality of groups of edges of copper-clad areas.
2. The method of claim 1, further comprising: and filling copper according to the edges of the grouped copper-clad regions.
3. The fillet-supporting filled copper-clad method according to claim 2, wherein the fillet-expanding process comprises:
and smoothing the sharp angle of the primitive by using a fillet with smoothness corresponding to the preset distance according to the preset distance between the copper-clad area and the primitive.
4. The method of claim 3, wherein the sharp corners of the graphic elements and the edges of the graphic elements are represented by circular arcs.
5. The method of any of claims 1-4, wherein the calculating of the intersection point of all edges on the printed circuit board after the fillet expansion process comprises:
and calculating the intersection points of all edges of the fillet expansion graphics primitive on the printed circuit board and the intersection points of all edges of the copper-clad area after fillet expansion processing.
6. The method of claim 5, wherein the intersection of all edges comprises: the intersection point of the arc edge and the arc edge, the intersection point of the arc edge and the straight line edge, and the intersection point of the straight line edge and the straight line edge.
7. The filled-type copper clad method supporting a radiused edge according to claim 6 wherein the splitting all edges into edges that do not intersect each other except for a vertex according to the intersection point comprises:
and sequencing all the intersection points of each edge according to the distance from the starting point of each edge to the starting point of each edge, and sequentially connecting the intersection points back and forth to form a group of new line segments according to the sequence from the starting point to the end point through the sequenced intersection points.
8. A filled copper clad system supporting a radiused edge, the system comprising:
the fillet expansion module is used for performing fillet expansion processing on all primitives which need to be isolated from the copper-clad area on the printed circuit board so as to obtain fillet expansion primitives;
the intersection point splitting module is used for calculating the intersection points of all the edges on the printed circuit board after fillet expansion processing, and splitting all the edges into mutually non-intersected edges except the top points according to the intersection points;
and the scanning grouping module is used for scanning the mutually non-intersected edges by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the edges of the scanning areas to obtain a plurality of groups of edges of the copper-clad areas.
9. A fill-type copper-clad device supporting a circular arc edge, characterized by comprising:
the communication bus is used for realizing the connection communication between the processor and the memory;
a memory for storing a computer program;
a processor for executing the computer program to implement the steps of:
performing fillet expansion processing on all primitives needing to be isolated from a copper-clad area on the printed circuit board to obtain fillet expansion primitives;
calculating intersection points of all edges on the printed circuit board after fillet expansion processing, and splitting all edges into mutually non-intersected edges except for a vertex according to the intersection points;
and scanning the non-intersected edges by using a scanning line Boolean algorithm to obtain scanning areas, and grouping the edges of the scanning areas to obtain a plurality of groups of edges of copper-clad areas.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method according to any one of claims 1-6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910729389.6A CN112347727A (en) | 2019-08-08 | 2019-08-08 | Filling type copper-clad method, system, equipment and storage medium supporting arc edges |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910729389.6A CN112347727A (en) | 2019-08-08 | 2019-08-08 | Filling type copper-clad method, system, equipment and storage medium supporting arc edges |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112347727A true CN112347727A (en) | 2021-02-09 |
Family
ID=74367568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910729389.6A Pending CN112347727A (en) | 2019-08-08 | 2019-08-08 | Filling type copper-clad method, system, equipment and storage medium supporting arc edges |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112347727A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272914A (en) * | 2023-10-31 | 2023-12-22 | 北京智芯仿真科技有限公司 | Method and device for quickly determining copper-clad shape to form topological structure based on quadtree |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110048790A1 (en) * | 2009-08-25 | 2011-03-03 | International Business Machines Corporation | Chip carriers with side terminals |
CN103164864A (en) * | 2011-12-13 | 2013-06-19 | 上海炬力集成电路设计有限公司 | Triangularization method of polygon in computer image processing and system using the same |
CN103313524A (en) * | 2012-03-16 | 2013-09-18 | 联想(北京)有限公司 | Capacitor configuration method, electronic equipment and printed circuit board |
CN104325638A (en) * | 2014-05-14 | 2015-02-04 | 浙江大学 | Partition-based 3D printing filling path generation method |
US20150282316A1 (en) * | 2014-03-26 | 2015-10-01 | Hong Fu Jin Precision Industry (Wuhan) Co., Ltd. | Printed circuit board |
CN109767479A (en) * | 2018-12-13 | 2019-05-17 | 南京国电南自电网自动化有限公司 | A kind of glyph filling method and system based on dynamic boundary group sequence |
-
2019
- 2019-08-08 CN CN201910729389.6A patent/CN112347727A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110048790A1 (en) * | 2009-08-25 | 2011-03-03 | International Business Machines Corporation | Chip carriers with side terminals |
CN103164864A (en) * | 2011-12-13 | 2013-06-19 | 上海炬力集成电路设计有限公司 | Triangularization method of polygon in computer image processing and system using the same |
CN103313524A (en) * | 2012-03-16 | 2013-09-18 | 联想(北京)有限公司 | Capacitor configuration method, electronic equipment and printed circuit board |
US20150282316A1 (en) * | 2014-03-26 | 2015-10-01 | Hong Fu Jin Precision Industry (Wuhan) Co., Ltd. | Printed circuit board |
CN104325638A (en) * | 2014-05-14 | 2015-02-04 | 浙江大学 | Partition-based 3D printing filling path generation method |
CN109767479A (en) * | 2018-12-13 | 2019-05-17 | 南京国电南自电网自动化有限公司 | A kind of glyph filling method and system based on dynamic boundary group sequence |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272914A (en) * | 2023-10-31 | 2023-12-22 | 北京智芯仿真科技有限公司 | Method and device for quickly determining copper-clad shape to form topological structure based on quadtree |
CN117272914B (en) * | 2023-10-31 | 2024-03-12 | 北京智芯仿真科技有限公司 | Method and device for quickly determining copper-clad shape to form topological structure based on quadtree |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102293479B1 (en) | An intersection drawing method, an apparatus, a server and a storage medium | |
CN104346830B (en) | The path of second point is arrived in first point of design connection in three-dimensional scenic | |
US7750905B2 (en) | Method for constructing a triangular mesh surface of a point cloud | |
US10824166B2 (en) | Methods and systems of distributing task regions for a plurality of cleaning devices | |
CN112765695B (en) | Support body generation method, 3D printer, computer device, and storage medium | |
CN113010937B (en) | Parametric modeling method of member section steel bar and related device | |
CN105893322B (en) | A kind of CPU interacted systems and implementation method | |
CN112347727A (en) | Filling type copper-clad method, system, equipment and storage medium supporting arc edges | |
CN107464092B (en) | Template switching method and device of business flow chart | |
CN111951348B (en) | Method and device for determining frame selection area and electronic equipment | |
CN110826146A (en) | Jig frame correction method, device and equipment based on CATIA (computer-graphics aided three-dimensional Interactive application), and storage medium | |
CN116484487A (en) | Wallboard reinforcement method, device, equipment and storage medium | |
JP2003263464A (en) | Fillet preparing method and three-dimensional cad program | |
CN108507563A (en) | Cruise path generating method and device | |
CN103424070A (en) | Curved face coordinate system set-up system and method | |
CN114202642A (en) | Method and device for filling oversized holes in three-dimensional triangulation network model | |
JP7339846B2 (en) | Modeling device and program | |
CN114091400A (en) | Automatic wiring method and device for PCB (printed circuit board) circuit and storage medium | |
CN110704561A (en) | Map edge pasting method, terminal device and storage medium | |
CN107895381A (en) | Distance determines method and device | |
CN114882170A (en) | Method for constructing three-dimensional model along lofting path, electronic device and storage medium | |
CN117436399B (en) | Automatic layout method and device of circuit schematic diagram device and electronic equipment | |
JP3063415B2 (en) | Computer-aided design equipment for printed wiring boards | |
CN116861504A (en) | Automatic size marking generation method and device, computer equipment and storage medium | |
CN114241139A (en) | Method and device for generating track model, electronic equipment and readable medium |
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 |