Automatic punching method, device, electronic device and storage medium

By automatically calculating the pre-punch position on the PCB board and making obstacle avoidance judgments, assigning characteristic values ​​and automatically drawing holes, the problem of traditional manual punching efficiency is solved, and an efficient automatic punching process is achieved.

CN116347773BActive Publication Date: 2025-06-06SANWEI ELECTRONIC TECH (SUZHOU) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310370731.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-07
Publication Date
2025-06-06
Estimated Expiration
2043-04-07

AI Technical Summary

Technical Problem

In traditional software, hole drilling efficiency is low, and manual design of floor paving holes takes a long time, making it difficult to meet the design needs of thousands of holes on complex PCB boards.

Method used

By obtaining the custom punching properties and PCB board size input by the user, all pre-punch positions are calculated, and whether other components exist according to the obstacle avoidance judgment range is determined, the appropriate position characteristic value is assigned, and finally the hole is automatically drawn at the position where the hole needs to be punched.

Benefits of technology

It greatly improves the drilling efficiency and saves more than 95% of the original manual drilling time. It is suitable for PCB boards of any size.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116347773B_ABST
    Figure CN116347773B_ABST
Patent Text Reader

Abstract

The present invention discloses an automatic punching method, device, electronic device and storage medium. The automatic punching method comprises: obtaining a user-defined punching attribute input and a currently edited PCB board size, and calculating all pre-punching positions on the PCB board; obtaining all network attributes involved on the current PCB board, and recording the corresponding characteristic value when the network attribute is GND; judging whether there are other components in each pre-punching position of the PCB board within the obstacle avoidance judgment range according to all the calculated pre-punching positions on the PCB board; if there are, skipping the current pre-punching position, and judging the next pre-punching position; if not, assigning the user-defined punching attribute input by the user to the current pre-punching position, and storing the characteristic value in the custom data unit corresponding to the current pre-punching position; and automatically drawing holes at the positions where punching is required according to the characteristic values ​​in each custom data unit. The present invention improves the punching efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of automatic punching technology, and in particular to an automatic punching method, device, electronic equipment and storage medium. Background Art

[0002] The design of ground holes is a very important link in the RF field. The number of ground holes required on a complex PCB board can reach thousands, but the punching method on traditional software is still to manually design one by one, which has low punching efficiency. Summary of the invention

[0003] The invention provides an automatic punching method, device, electronic equipment and storage medium to improve the punching efficiency.

[0004] According to one aspect of the present invention, there is provided an automatic punching method, the automatic punching method comprising:

[0005] Get the user-entered custom punching properties and the currently edited PCB board size;

[0006] Calculate all pre-punching positions on the PCB board according to the user-defined punching properties input and the currently edited PCB board size;

[0007] Get all network attributes involved in the current PCB board, and record the corresponding characteristic values ​​when the network attribute is GND, where each network attribute corresponds to a type of component;

[0008] According to all the calculated pre-punching positions on the PCB board, it is judged whether there are other components in the obstacle avoidance determination range for each pre-punching position of the PCB board; if there are other components, the current pre-punching position is skipped, and it is judged whether there are other components in the obstacle avoidance determination range for the next pre-punching position; if there are other components, the user-defined punching attribute input by the user is assigned to the current pre-punching position, and the characteristic value is stored in the custom data unit corresponding to the current pre-punching position;

[0009] According to the characteristic value in each custom data unit, all the locations where holes need to be punched in the currently edited PCB board are determined, and holes are automatically drawn at the locations where holes need to be punched.

[0010] Further, according to all the calculated pre-punching positions on the PCB board, it is judged whether there are other components in the obstacle avoidance determination range for each pre-punching position within the range of the PCB board; if so, the current pre-punching position is skipped, and it is judged whether there are other components in the obstacle avoidance determination range for the next pre-punching position; if not, the user-defined punching attribute input by the user is assigned to the current pre-punching position, and the characteristic value is stored in the custom data unit corresponding to the current pre-punching position, including:

[0011] Determine the component acquisition range corresponding to the current pre-punching position, and acquire all components within the component acquisition range;

[0012] Determine whether the current component within the component acquisition range is the component to be replaced. If not, skip the current component and judge the next component; if yes, determine whether the distance between the component to be replaced within the component acquisition range and the current pre-punching position is less than the preset distance set in the design rule check. If yes, skip the current pre-punching position and judge the next pre-punching position; if not, assign the user-entered custom punching attribute to the current pre-punching position, and store the characteristic value in the custom data unit corresponding to the hole.

[0013] Further, according to all the calculated pre-punched positions on the PCB board, it is determined whether there are other components within the obstacle avoidance determination range at each pre-punched position within the range of the PCB board, including:

[0014] A first preset number of control units are selected, and each control unit controls to determine whether there are other components within the obstacle avoidance determination range at a second preset number of pre-punched positions, wherein the first preset number and the second preset number are determined by the pre-punched positions on the PCB board.

[0015] Furthermore, the custom punching properties include outer hole diameter, inner hole diameter, punching initial layer and punching end layer, distance between adjacent pre-punching positions, and distance between the punching position and the edge of the PCB board.

[0016] Furthermore, before determining the component acquisition range corresponding to the current pre-punching position and acquiring all components within the component acquisition range, the method further includes:

[0017] Determine whether the punching pattern is a hole-in-pad pattern. If so, the component to be replaced includes a hole and a line; if not, the component to be replaced includes a hole, a line and a pad, wherein the hole-in-pad pattern is a pattern of punching holes in the pad.

[0018] Further, after obtaining all components within the component acquisition range, it also includes:

[0019] It is determined whether components at different corner positions within the component acquisition range are the same components. If they are, it is determined whether only one of the same components is the component to be replaced.

[0020] According to another aspect of the present invention, there is provided an automatic punching device, the automatic punching device comprising:

[0021] The attribute acquisition module is used to obtain the user-entered custom punching attributes and the currently edited PCB board size;

[0022] The pre-punching position determination module is used to calculate all pre-punching positions on the PCB board according to the user-defined punching attributes input and the currently edited PCB board size;

[0023] The characteristic value acquisition module is used to obtain all network attributes involved in the current PCB board and record the characteristic value corresponding to the network attribute being GND, where each network attribute corresponds to a type of component;

[0024] The obstacle avoidance judgment module is used to judge whether there are other components in the obstacle avoidance judgment range for each pre-punching position within the range of the PCB board according to all the pre-punching positions calculated on the PCB board; if there are other components, the current pre-punching position is skipped, and whether there are other components in the obstacle avoidance judgment range for the next pre-punching position is judged; if there are other components, the user-defined punching attribute input by the user is assigned to the current pre-punching position, and the characteristic value is stored in the custom data unit corresponding to the current pre-punching position;

[0025] The hole drawing module is used to determine all the position information of holes that need to be punched in the currently edited PCB board according to the characteristic value in each custom data unit, and automatically draw holes at the positions where holes need to be punched.

[0026] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0027] at least one processor; and

[0028] a memory communicatively connected to the at least one processor; wherein,

[0029] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the automatic punching method described in any embodiment of the present invention.

[0030] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the automatic punching method described in any embodiment of the present invention when executed.

[0031] According to another aspect of the present invention, a computer program product is provided, characterized in that the computer program product comprises a computer program, and when the computer program is executed by a processor, the automatic punching method according to any one of the present invention is implemented.

[0032] The automatic punching method provided in the embodiment of the present invention can perform punching settings for a PCB board of any size by the user inputting a custom punching attribute and the currently edited PCB board size, and has a wide range of applications. According to the custom punching attribute input by the user and the currently edited PCB board size, all pre-punching positions on the PCB board are calculated, and then according to all the calculated pre-punching positions on the PCB board, it is judged whether there are other components in the obstacle avoidance judgment range for each pre-punching position of the PCB board, and the pre-punching position without other components is assigned a characteristic value corresponding to the GND network attribute. After all the pre-punching positions are judged, holes are automatically drawn at the positions where holes need to be punched according to the characteristic values ​​and the custom punching attributes. Compared with the existing manual punching, the punching method of this embodiment greatly improves the punching efficiency and saves more than 95% of the punching time of the original manual punching.

[0033] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0035] Figure 1 is a flow chart of an automatic punching method provided according to an embodiment of the present invention;

[0036] Figure 2 is a flow chart of another automatic punching method provided according to an embodiment of the present invention;

[0037] Figure 3 is a structural schematic diagram of an automatic punching device provided according to an embodiment of the present invention;

[0038] Figure 4 A schematic diagram of the structure of an electronic device that can be used to implement an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0039] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0040] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0041] The present invention provides an automatic punching method. Figure 1 is a flowchart of an automatic punching method provided according to an embodiment of the present invention, referring to Figure 1 , automatic punching methods include:

[0042] S110, obtaining the user-defined punching attributes input by the user and the currently edited PCB board size.

[0043] Specifically, the custom punching attributes can be set according to actual needs, and the embodiment of the present invention does not limit this, wherein the custom punching attributes include the outer hole diameter, the inner hole diameter, the initial layer of the punching and the end layer of the punching, the distance between adjacent pre-punching positions, and the distance between the punching position and the edge of the PCB board. Similarly, the user can set the size of the currently edited PCB board according to actual conditions. Therefore, the automatic punching method designed in the embodiment of the present invention can be applied to PCB boards of any size, and has a wide range of applications.

[0044] S120, calculating all pre-punching positions on the PCB board according to the user-defined punching attributes input by the user and the currently edited PCB board size.

[0045] Specifically, all pre-punching positions on the currently edited PCB board may be calculated according to the distance between adjacent pre-punching positions, the distance between a punching position and an edge of the PCB board, and the size of the currently edited PCB board.

[0046] S130, obtaining all network attributes involved in the current PCB board, and recording the characteristic value corresponding to the network attribute being GND, wherein each network attribute corresponds to a type of component.

[0047] Among them, the network properties of different PCB boards can be set differently according to the different design habits of designers. Therefore, different designers will use the characteristic values ​​corresponding to the GND network properties differently. For example, designer A can set the characteristic value corresponding to the GND network property to 1, and designer B can set the characteristic value corresponding to the GND network property to 2.

[0048] S140. Based on all the calculated pre-punching positions on the PCB board, determine whether there are other components in the obstacle avoidance determination range for each pre-punching position of the PCB board; if so, skip the current pre-punching position, and determine whether there are other components in the obstacle avoidance determination range for the next pre-punching position; if not, assign the user-defined punching attribute input by the user to the current pre-punching position, and store the feature value in the custom data unit corresponding to the current pre-punching position.

[0049] Among them, the obstacle avoidance judgment range can be set based on the design rule check (DRC). Specifically, when there are no other components in the obstacle avoidance judgment range of the current pre-punching position, the software applying the automatic punching method will store the user-entered custom punching attributes and the characteristic values ​​corresponding to the current PCB board GND network attributes in the storage unit corresponding to the current pre-punching position, so as to facilitate automatic hole drawing according to the stored custom punching attributes and the characteristic values ​​corresponding to the current PCB board GND network attributes after completing the judgment of whether there are other components in the obstacle avoidance judgment range of all pre-punching positions on the PCB board, wherein the storage unit is the custom data unit described in the embodiment of the present invention.

[0050] S150, according to the characteristic value in each custom data unit, determine all the positions where holes need to be punched in the currently edited PCB board, and automatically draw holes at the positions where holes need to be punched.

[0051] Specifically, the pre-punched position of the network attribute GND is the position where a hole needs to be punched.

[0052] The automatic punching method provided in the embodiment of the present invention can perform punching settings for a PCB board of any size by the user inputting a custom punching attribute and the currently edited PCB board size, and has a wide range of applications. According to the custom punching attribute input by the user and the currently edited PCB board size, all pre-punching positions on the PCB board are calculated, and then according to all the calculated pre-punching positions on the PCB board, it is judged whether there are other components in the obstacle avoidance judgment range for each pre-punching position of the PCB board, and the pre-punching position without other components is assigned a characteristic value corresponding to the GND network attribute. After all the pre-punching positions are judged, holes are automatically drawn at the positions where holes need to be punched according to the characteristic values ​​and the custom punching attributes. Compared with the existing manual punching, the punching method of this embodiment greatly improves the punching efficiency and saves more than 95% of the punching time of the original manual punching.

[0053] Figure 2 is a flowchart of another automatic punching method provided according to an embodiment of the present invention. Figure 2 On the basis of the above technical solution, step S140 is performed based on all the calculated pre-punching positions on the PCB board to determine whether there are other components in the obstacle avoidance determination range for each pre-punching position within the range of the PCB board; if there are, the current pre-punching position is skipped, and whether there are other components in the obstacle avoidance determination range for the next pre-punching position; if there are no other components, the user-defined punching attribute input by the user is assigned to the current pre-punching position, and the characteristic value is stored in the custom data unit corresponding to the current pre-punching position. The optimization is specifically performed, including:

[0054] S210, obtaining the user-defined punching attributes input by the user and the currently edited PCB board size.

[0055] S220, calculating all pre-punching positions on the PCB board according to the user-defined punching attributes input by the user and the currently edited PCB board size.

[0056] S230, obtaining all network attributes involved in the current PCB board, and recording the characteristic value corresponding to the network attribute being GND, wherein each network attribute corresponds to a type of component.

[0057] S2401. Determine a component acquisition range corresponding to the current pre-punching position, and acquire all components within the component acquisition range.

[0058] Among them, the component acquisition range can be set based on the design rule check (DRC). For example, twice the diameter of the design rule check (DRC) range can be used as the side length of the quadrilateral in the component acquisition range. The specific obstacle avoidance range can be set according to actual needs, and the embodiment of the present invention is not limited to this.

[0059] S2402. Determine whether the current component within the component acquisition range is the component to be replaced. If not, skip the current component and determine the next component. If yes, determine whether the distance between the component to be replaced within the component acquisition range and the current pre-punching position is less than the preset distance set in the design rule check. If yes, skip the current pre-punching position and determine the next pre-punching position. If not, assign the custom punching attribute input by the user to the current pre-punching position, and store the characteristic value in the custom data unit corresponding to the hole.

[0060] Among them, the components to be replaced can be holes, wires and pads. Specifically, if the current component within the component acquisition range is not the component to be replaced, it means that punching at the current pre-punching position has no effect on the current component, and thus does not affect the operation of the circuit in the entire PCB board; if the current component within the component acquisition range is the component to be replaced, it can be determined whether the distance between the component to be replaced and the current pre-punching position within the component acquisition range is less than the preset distance set in the design rule check. If it is less than the preset distance set in the design rule check, it means that the current pre-punching position does not meet the punching requirements in the design rule check and is inconvenient to punch. Skipping the current pre-punching position can avoid the problem of punching at the current pre-punching position. , affecting the operation of the circuit in the entire PCB board; if it is greater than or equal to the preset distance set in the design rule check, it means that the current pre-punching position meets the punching requirements in the design rule check, and it is convenient for punching. The custom punching attributes input by the user and the characteristic values ​​corresponding to the GND network attributes of the current PCB board can be stored in the storage unit corresponding to the current pre-punching position through the software applying the automatic punching method, so that after completing the judgment of whether there are other components in the obstacle avoidance judgment range of all pre-punching positions on the PCB board, holes can be automatically drawn according to the stored custom punching attributes and the characteristic values ​​corresponding to the GND network attributes of the current PCB board.

[0061] It is also possible to judge whether the distance between the component to be replaced between the initial punching layer and the end punching layer and the current pre-punching position is less than the preset distance set in the design rule check based on the component acquisition range. For example, assuming that the initial punching layer corresponding to the current pre-punching position is the first layer and the end punching layer corresponding to the current pre-punching position is the seventh layer, it can be judged starting from the first layer whether the distance between the component to be replaced and the current pre-punching position is less than the preset distance set in the design rule check; it can also be judged starting from the seventh layer whether the distance between the component to be replaced and the current pre-punching position is less than the preset distance set in the design rule check. If there are components to be replaced between the first layer and the seventh layer, and the distance between the components to be replaced and the current pre-punching position is less than the preset distance set in the design rule check, it means that the current pre-punching position overlaps with one or some components within the component acquisition range, and it is inconvenient to punch holes. The current pre-punching position needs to be skipped. Skipping the current pre-punching position can avoid affecting the operation of the circuit in the entire PCB board after punching at the current pre-punching position; if there are components to be replaced between the first layer and the seventh layer, or if there are components to be replaced between the first layer and the seventh layer, and the distance between the components to be replaced and the current pre-punching position is greater than or equal to the preset distance set in the design rule check, it means that the current pre-punching position does not overlap with all components in the component acquisition range, and punching has no effect on the normal operation of the circuit in the entire PCB board, so it is convenient to punch holes.

[0062] S250, according to the characteristic value in each custom data unit, determine all the positions where holes need to be punched in the currently edited PCB board, and automatically draw holes at the positions where holes need to be punched.

[0063] The embodiment of the present invention judges whether the current component in the component acquisition range is a component to be replaced according to the component acquisition range designed by the designer, which can reduce the judgment process of non-components to be replaced, increase the judgment efficiency, and further improve the punching efficiency; and when judging whether the current component in the component acquisition range is a component to be replaced, it will judge whether the distance between the component to be replaced in the component acquisition range and the current pre-punching position is less than the preset distance set in the design rule check, which can avoid the internal structure of the circuit being damaged after punching under the condition of less than the preset distance set in the design rule check, thereby affecting the operation of the circuit in the entire PCB board. The embodiment of the present invention further improves the punching efficiency without affecting the operation of the circuit in the entire PCB board, saving more than 95% of the punching time of the original manual punching.

[0064] Optionally, based on all calculated pre-punched hole positions on the PCB board, determining whether there are other components within the obstacle avoidance determination range for each pre-punched hole position within the range of the PCB board includes:

[0065] A first preset number of control units are selected, and each control unit controls to determine whether there are other components within the obstacle avoidance determination range at a second preset number of pre-punched positions, wherein the first preset number and the second preset number are determined by the pre-punched positions on the PCB board.

[0066] Specifically, the number of rows and columns of pre-punched holes can be determined based on all pre-punched hole positions on the current PCB board, and the first preset number can be determined based on the number of rows and columns of pre-punched holes. For example, the maximum value that can be divided by the number of rows / columns of pre-punched holes can be selected in the range of 2-8 as the first preset number, and the second preset number is the number of rows / columns of pre-punched holes divided by the first preset number. Each control unit controls to determine whether there are other components in the second preset number of pre-punched hole positions within the obstacle avoidance judgment range, indicating that the second preset number of pre-punched hole positions can be judged by the first preset number of control units at the same time, which increases the judgment efficiency and further improves the punching efficiency.

[0067] Optionally, the custom punching properties include outer hole diameter, inner hole diameter, punching initial layer and punching end layer, distance between adjacent pre-punching positions, and distance between the punching position and the edge of the PCB board.

[0068] Specifically, by setting different custom punching properties, users can set the size, position, depth and density of the holes according to actual needs, which has a wider application range and can meet the needs of more users. The customization of the distance between adjacent pre-punched positions and the distance between the punching position and the edge of the PCB board can make the distance between adjacent pre-punched positions and the distance between the punching position and the edge of the PCB board shorter, making the punching distance more dense and uniform, and because the grounding holes themselves have the function of common ground, the resistance between the layers in the PCB board can be reduced, and the denser the punching distance, the smaller the resistance between the layers in the PCB board, making the circuit in the PCB board run more smoothly; at the same time, the grounding holes also have the function of shielding the microwave electromagnetic field generated in the microwave circuit. The denser the punching distance, the better the signal shielding effect of the PCB board, making the circuit in the PCB board run more smoothly.

[0069] Optionally, before determining the component acquisition range corresponding to the current pre-punching position and acquiring all components within the component acquisition range, the method further includes:

[0070] Determine whether the punching pattern is a hole-in-pad pattern. If so, the component to be replaced includes a hole and a line; if not, the component to be replaced includes a hole, a line and a pad, wherein the hole-in-pad pattern is a pattern of punching holes in the pad.

[0071] Specifically, when judging whether the punching mode is a hole-in-disk mode, manual operation by the user is required. For example, the software applying the automatic punching method will pop up a judgment box before determining the component acquisition range corresponding to the current pre-punching position and acquiring all components within the component acquisition range. The user can select the current punching mode according to actual needs. If it is determined that the current punching mode is a hole-in-disk mode, the components to be replaced include holes and lines; if it is determined that the current punching mode is not a hole-in-disk mode, the components to be replaced include holes, lines and pads.

[0072] Optionally, after obtaining all components in the component acquisition scope, it also includes:

[0073] It is determined whether components at different corner positions within the component acquisition range are the same components. If they are, it is determined whether only one of the same components is the component to be replaced.

[0074] Specifically, a judgment is added as to whether components at different corner positions within the component acquisition range belong to the same components. If they belong to the same components, it is only necessary to judge whether one of the same components is the component to be replaced, which reduces the judgment time, increases the judgment efficiency, and further improves the punching efficiency.

[0075] Figure 3 is a schematic diagram of the structure of an automatic punching device provided according to an embodiment of the present invention. The present invention provides an automatic punching device, referring to Figure 3 , the automatic punching device 300 comprises:

[0076] The attribute acquisition module 310 is used to acquire the user-defined punching attributes input by the user and the currently edited PCB board size;

[0077] The pre-punching position determination module 320 is used to calculate all pre-punching positions on the PCB board according to the user-defined punching attributes input by the user and the currently edited PCB board size;

[0078] The characteristic value acquisition module 330 is used to obtain all network attributes involved in the current PCB board and record the characteristic value corresponding to the network attribute being GND, wherein each network attribute corresponds to a type of component;

[0079] The obstacle avoidance judgment module 340 is used to judge whether there are other components in the obstacle avoidance judgment range for each pre-punching position within the range of the PCB board according to all the pre-punching positions calculated on the PCB board; if there are other components, skip the current pre-punching position and judge whether there are other components in the obstacle avoidance judgment range for the next pre-punching position; if there are other components, assign the user-defined punching attribute input by the user to the current pre-punching position, and store the characteristic value in the custom data unit corresponding to the current pre-punching position;

[0080] The hole drawing module 350 is used to determine all the position information of holes that need to be punched in the currently edited PCB board according to the characteristic value in each custom data unit, and automatically draw holes at the positions where holes need to be punched.

[0081] Furthermore, the obstacle avoidance judgment module 340 includes:

[0082] An obstacle avoidance range determination unit, used to determine a component acquisition range corresponding to a current pre-punching position, and to acquire all components within the component acquisition range;

[0083] A preset distance judgment unit is used to judge whether the current component within the component acquisition range is the component to be replaced. If not, the current component is skipped and the next component is judged; if yes, whether the distance between the component to be replaced and the current pre-punching position within the component acquisition range is less than the preset distance set in the design rule check. If yes, the current pre-punching position is skipped and the next pre-punching position is judged; if not, the custom punching attribute input by the user is assigned to the current pre-punching position, and the characteristic value is stored in the custom data unit corresponding to the hole.

[0084] Furthermore, the obstacle avoidance determination module 340 is also used for:

[0085] A first preset number of control units are selected, and each control unit controls to determine whether there are other components within the obstacle avoidance determination range at a second preset number of pre-punched positions, wherein the first preset number and the second preset number are determined by the pre-punched positions on the PCB board.

[0086] Furthermore, the custom punching properties include outer hole diameter, inner hole diameter, punching initial layer and punching end layer, distance between adjacent pre-punching positions, and distance between the punching position and the edge of the PCB board.

[0087] Furthermore, the obstacle avoidance judgment module 340 also includes:

[0088] The hole-in-disk determination unit is used to determine whether the punching mode is a hole-in-disk mode before determining the component acquisition range corresponding to the current pre-punching position and acquiring all components within the component acquisition range. If so, the components to be replaced include holes and lines; if not, the components to be replaced include holes, lines and pads, wherein the hole-in-disk mode is a mode of punching holes in pads.

[0089] Furthermore, the obstacle avoidance judgment module 340 also includes:

[0090] The same component judgment unit is used to judge whether components at different corners in the component acquisition range are the same components after acquiring all components in the component acquisition range. If they are, only one of the same components is judged to be the component to be replaced.

[0091] The automatic punching device provided in the embodiment of the present invention can execute the automatic punching method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0092] Figure 4 A schematic diagram of an electronic device that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0093] like Figure 4 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0094] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0095] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as an automatic punching method.

[0096] In some embodiments, the automatic punching method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the automatic punching method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the automatic punching method in any other appropriate manner (e.g., by means of firmware).

[0097] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0098] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0099] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0100] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0101] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0102] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0103] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0104] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. An automatic punching method, It is characterized in that include: Get the user-entered custom punching properties and the currently edited PCB board size; Calculate all pre-punching positions on the PCB board according to the user-defined punching properties input and the currently edited PCB board size; Get all network attributes involved in the current PCB board, and record the corresponding characteristic values ​​when the network attribute is GND, where each network attribute corresponds to a type of component; According to all the calculated pre-punching positions on the PCB board, it is judged whether there are other components in the obstacle avoidance determination range for each pre-punching position of the PCB board; if there are other components, the current pre-punching position is skipped, and it is judged whether there are other components in the obstacle avoidance determination range for the next pre-punching position; if there are other components, the user-defined punching attribute input by the user is assigned to the current pre-punching position, and the characteristic value is stored in the custom data unit corresponding to the current pre-punching position; According to the characteristic value in each custom data unit, all the locations where holes need to be punched in the currently edited PCB board are determined, and holes are automatically drawn at the locations where holes need to be punched.

2. The automatic punching method according to claim 1, It is characterized in that According to all the calculated pre-punching positions on the PCB board, it is judged whether there are other components in the obstacle avoidance determination range for each pre-punching position within the range of the PCB board; if there are, the current pre-punching position is skipped, and it is judged whether there are other components in the obstacle avoidance determination range for the next pre-punching position; If it does not exist, assign the user-defined punching attribute input by the user to the current pre-punching position, and store the feature value in the custom data unit corresponding to the current pre-punching position, including: Determine a component acquisition range corresponding to the current pre-punching position, and acquire all components within the component acquisition range; Determine whether the current component within the component acquisition range is the component to be replaced. If not, skip the current component and judge the next component; if yes, determine whether the distance between the component to be replaced and the current pre-punching position within the component acquisition range is less than the preset distance set in the design rule check. If yes, skip the current pre-punching position and judge the next pre-punching position; if not, assign the custom punching attribute input by the user to the current pre-punching position, and store the characteristic value in the custom data unit corresponding to the current pre-punching position.

3. The automatic punching method according to claim 1, It is characterized in that The method of determining, based on all calculated pre-punched hole positions on the PCB board, whether there are other components within the obstacle avoidance determination range at each pre-punched hole position within the PCB board, comprises: A first preset number of control units are selected, and each of the control units controls and determines whether there are other components within the obstacle avoidance determination range at a second preset number of pre-punched positions, wherein the first preset number and the second preset number are determined by the pre-punched positions on the PCB board.

4. The automatic punching method according to claim 1, It is characterized in that The custom punching properties include the outer hole diameter, the inner hole diameter, the punching initial layer and the punching end layer, the distance between adjacent pre-punching positions, and the distance between the punching position and the edge of the PCB board.

5. The automatic punching method according to claim 2, It is characterized in that Before determining the component acquisition range corresponding to the current pre-punching position and acquiring all components within the component acquisition range, the method further includes: Determine whether the punching pattern is a hole-in-disk pattern. If so, the component to be replaced includes a hole and a line; if not, the component to be replaced includes a hole, a line and a pad, wherein the hole-in-disk pattern is a pattern of punching holes in a pad.

6. The automatic punching method according to claim 2, It is characterized in that After obtaining all components within the component acquisition range, the method further includes: It is determined whether the components at different corner positions within the component acquisition range are the same components. If they are, it is determined whether only one of the same components is the component to be replaced.

7. An automatic punching device, It is characterized in that include: The attribute acquisition module is used to obtain the user-entered custom punching attributes and the currently edited PCB board size; The pre-punching position determination module is used to calculate all pre-punching positions on the PCB board according to the user-defined punching attributes input and the currently edited PCB board size; The characteristic value acquisition module is used to obtain all network attributes involved in the current PCB board and record the characteristic value corresponding to the network attribute being GND, where each network attribute corresponds to a type of component; The obstacle avoidance judgment module is used to judge whether there are other components in the obstacle avoidance judgment range for each pre-punching position within the range of the PCB board according to all the pre-punching positions calculated on the PCB board; if there are other components, skip the current pre-punching position and judge whether there are other components in the obstacle avoidance judgment range for the next pre-punching position; if there are other components, assign the user-defined punching attribute input by the user to the current pre-punching position, and store the characteristic value in the custom data unit corresponding to the current pre-punching position; The hole drawing module is used to determine all the position information of holes that need to be punched in the currently edited PCB board according to the characteristic value in each custom data unit, and automatically draw holes at the positions where holes need to be punched.

8. An electronic device, It is characterized in that The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the automatic punching method according to any one of claims 1 to 6.

9. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the automatic punching method according to any one of claims 1 to 6 when executed.

10. A computer program product, It is characterized in that The computer program product comprises a computer program, which, when executed by a processor, implements the automatic punching method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Circuit board production method through automatic pressing and profiling

    CN106604551A

  • Design method and design device of printed wiring board

    JP2006005050A