PCB automatic line moving processing method
By receiving input parameters and defining impedance line attributes in PCB automatic shift technology, combining DRC detection result set and repair signals, automatic shift judgment and movement of the wrong object is solved, and the problem that the existing technology cannot automatically complete shift operations in complex scenarios is achieved, achieving high-precision and high-efficiency shift processing.
Patent Information
- Application Number
- CN202411939746.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2044-12-26
AI Technical Summary
The existing PCB automatic shifting technology cannot automatically complete shifting operations in complex scenarios, resulting in the need of manual intervention, increasing working hours and increasing error rates.
By receiving input parameters and defining impedance line attributes, it is saved in the D-code object of the graphic object, and combining the DRC detection result set and repair signal, the error object is automatically shifted and moved, and the repair object information is generated.
It realizes automatic completion of line shift operations in complex scenarios, reduces manual intervention, and improves line shift accuracy and production efficiency.
Smart Images

Figure CN119849428A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of PCB, and more particularly to a PCB automatic line moving processing method. Background Art
[0002] CAM data processing is the core stage of PCB processing and production. With the continuous improvement of the intelligent functions of CAM data processing software, the overall CAM data processing efficiency has also been greatly improved.
[0003] In the overall CAM data processing link, circuit layer data processing takes up about 10%-30% of the time. Most of the time is spent on some repetitive actions, such as moving the hole to the line, line to line, line to copper distance, hole angle line centering, etc., and repetitive operations are prone to human errors.
[0004] In the invention patent with patent number ZL 202210438304.0, although the automatic line moving technology under the condition of hole clamp line was successfully realized, this innovation has solved some line moving problems to a certain extent, but its application scope and effect are still limited. Specifically, this technology mainly focuses on automated processing in hole clamp line scenarios. However, in actual production, the demand for line movement is far more than that. When encountering complex situations such as single-sided line to hole, line to copper (that is, adjustment of the spacing between the line and the copper foil), and insufficient distance between lines, the existing technology cannot automatically complete the line moving operation.
[0005] These uncovered scenarios often require manual intervention and adjustments to meet strict process requirements. This reliance not only greatly increases the workload of CAM engineers and consumes a lot of man-hours, but also makes it difficult to ensure the accuracy of line shifting and the consistency of product quality due to the uncontrollability of human factors. In addition, frequent manual intervention may also generate new errors, further affecting production efficiency and on-time delivery of orders. Summary of the invention
[0006] In view of the deficiencies in the prior art, the purpose of the present invention is to provide a PCB automatic line moving processing method to solve the above technical problems.
[0007] The above technical objectives of the present invention are achieved through the following technical solutions: A PCB automatic line moving processing method, comprising:
[0008] Receive input parameters and save them, receive defined impedance line attributes, and set the defined impedance line attributes in the D code object of the graphic object;
[0009] Perform DRC detection on the layer to be detected according to the input parameters and display the DRC detection result set;
[0010] Display error objects according to DRC check result set;
[0011] A repair signal is received, a line shift judgment is performed on the error object according to the repair signal and the D code object, and the line shift is automatically performed on the error object according to the line shift judgment, and repair object information is generated.
[0012] Specifically, the CAM engineer inputs the input parameters to be detected in the GUI user interface, defines the impedance line attributes in the graphic object to be detected, and saves the impedance attributes of each impedance line in the D code object, so that the subsequent line shifting is to obtain the type of each line and the type of impedance according to the D code. Then, click DRC, and the corresponding layer in the graphic to be detected will be DRC detected according to the DRC configuration file. After the detection is completed, the DRC configuration file will be deleted, and the DRC detection result set will be displayed. After the DRC detection, the error results are sorted and numbered and encapsulated into a DRC detection result set. After the detection, the first error object is displayed in the window, and the error selection function is realized according to the index of the set. The automatic line shifting module receives the repair signal selected by the CAM engineer, obtains the error object, uses the starting point, end point, type and other information of the error object as the md5 summary algorithm as the unique identifier, and saves the object before and after the modification. Then, the error object is moved according to the repair signal, the D code of each error object and the input parameters. Before moving, the impedance attribute of the error object is first judged, and then the closest hole of the error object is first judged whether the input parameters are met. The algorithm is moved according to the judgment result to generate the repair object information after the move.
[0013] This application defines the impedance line attributes of the line and saves them in the D code object of the graphic object, which can easily obtain the type of each line and the type of impedance. When moving the line, the input parameters, D code objects and repair signals are combined to determine whether the line meets the requirements after moving. After the judgment, the algorithm is moved, which can move the line more accurately.
[0014] Optionally, the receiving and saving of input parameters includes:
[0015] Receive input parameters from the GUI interface, the input parameters including: distance between lines, distance between lines and via holes, distance between lines and device holes, distance between lines and NPTH holes, and distance between lines and contour lines;
[0016] The input parameters are assembled into an extensible markup language file and saved in a system environment variable directory.
[0017] Specifically, the distance between lines, the distance between lines and via holes, the distance between lines and device holes, the distance between lines and NPTH holes, and the distance between lines and outlines are preset, and these input parameters are assembled into an extensible markup language file and saved in the system environment variable directory for easy calling when automatically moving lines.
[0018] Optionally, the receiving of the defined impedance line attribute and setting the defined impedance line attribute in the D code object of the graphic object includes:
[0019] Get the graphic object that needs impedance control;
[0020] receiving a defined impedance attribute for the graphic object;
[0021] A D code object of the graphic object is obtained, a key-value pair defining an impedance attribute is constructed, and the key-value pair is set in the D code object.
[0022] Specifically, the CAM engineer selects the graphic object that needs to be impedance controlled, and then selects the defined impedance attribute of the graphic object as a single-ended impedance attribute or a differential impedance attribute. The program will determine the defined impedance attribute entered by the CAM engineer and whether there is a graphic object selection in the layer selected by plane1, and then obtain the D code object of the graphic object. There is an attribute list in the D code object, which contains key-value pairs. The key-value pairs of single-ended impedance and differential impedance are constructed, and the key-value pairs are set in the attribute properties of the D code object to facilitate automatic line shifting to determine which impedance lines in the error objects and the corresponding impedance types.
[0023] Optionally, performing DRC detection on the layer to be detected according to the input parameters includes:
[0024] Determine whether the layer to be detected is a circuit layer. If yes, obtain the drilling layer, and back up the drilling layer and the layer to be detected;
[0025] A DRC detection configuration file is generated according to the input parameters, and DRC detection is performed on the detection layer according to the detection configuration file.
[0026] Specifically, after receiving the DRC instruction, it will determine whether the layer selected by plane 1 is a circuit layer, initialize the GUI interface, and remove the last detection result. If the selected layer is a circuit layer, obtain the drilling layer, and back up the drilling layer and the layer selected by plane 1. Then obtain the input parameters to determine whether the outer layer or the outer layer is selected for detection, or both, and the type of detection line. The above parameters are assembled into a DRC detection configuration file, and the function of the UCAM platform is called to perform DRC detection according to the DRC detection configuration file. After the detection is completed, the DRC detection configuration file is deleted to obtain and save the detection results.
[0027] Optionally, displaying the error object according to the DRC check result set includes:
[0028] Identifying erroneous results in the DRC detection result set;
[0029] Sort and number all error results and encapsulate them into a set of error objects;
[0030] Receive selection information and display the selected error object in the error object collection.
[0031] Specifically, after DRC detection, the error results are sorted and numbered and encapsulated into a set. The first error is displayed in the window by default. The error selection function can be implemented through the index of the set, and the previous, next, first, or last error display can be selected upon receiving the switch key signal from the CAM engineer. The current error or all errors can be displayed according to the display key signal from the CAM engineer.
[0032] Optionally, the receiving a repair signal includes:
[0033] Identify the wrong object that was selected;
[0034] Generate a corresponding repair signal according to the selected error object.
[0035] Specifically, two repair buttons are provided in the GUI interface, and CAM engineers can choose to repair the current error and all errors and generate corresponding repair signals.
[0036] Optionally, the performing a line shift judgment on the error object according to the repair signal and the D code object, and automatically shifting the error object according to the line shift judgment, includes:
[0037] Adding the selected error object to a to-be-processed list according to the repair signal;
[0038] Perform line shifting judgment on the error objects in the list to be processed in order of number, obtain line shifting plans for each error object, and save the original line information of each error object;
[0039] Each erroneous object is relocated according to the relocation plan of each erroneous object to generate repair line information.
[0040] Specifically, first obtain the list to be processed according to the repair signal, and determine whether the number of error objects is greater than zero. If yes, obtain the error objects in the order of the list to be processed, identify the line to be moved according to the error object, record the original line information of the line, calculate the moving line distance according to the input parameters, and make a line shift judgment for the error object, generate a line shift plan for the error object, and move the error object according to the line shift plan to generate repair line information. The error objects in the list to be processed are judged and shifted in turn until the number of error objects in the list to be processed is 0, and the line shift result is displayed and the line shift is ended.
[0041] Optionally, the step of performing line shifting judgment on the error objects in the list to be processed in sequence according to the order of their numbers includes:
[0042] According to the D code object and input parameters of the error object, it is determined whether the distance from the line of the error object to the boundary meets the input parameters;
[0043] If yes, switch to the error object adjacent to the error object to perform line shift judgment; if no, judge whether the line-to-line distance of all error objects meets the input parameters;
[0044] If yes, then the next error object in the list to be processed is judged to move the line; if no, then the average distance of all error objects is calculated to determine whether the average distance meets the input parameters;
[0045] If yes, the error object is moved according to the average distance, and the next error object in the list to be processed is judged to move; if no, an alarm message is generated that the error object cannot be moved.
[0046] Specifically, when judging the error object in the list to be processed, first judge whether the distance from the line to the boundary of the error object meets the input parameters according to the distance from the line to the via hole, the distance from the line to the device hole, the distance from the line to the NPTH hole, and the distance from the line to the outer line. If the distance from the line to the boundary meets the input parameters, it means that the error object does not need to be moved, and directly switch to the adjacent line after the move and repeat the judgment of whether the distance from the line to the boundary of the error object meets the input parameters. If the distance from the line to the boundary does not meet the input parameters, the distance between the first and last error objects and the number of lines between this distance are obtained, and the distance is divided equally according to the number of lines. It is judged whether the distance after equal division meets the line-to-line distance. If yes, it means that the error object can be moved. At this time, the error object is moved according to the average distance. If no, it means that the distance between the first and last error objects cannot meet the line movement requirements, and an alarm message that the error object cannot be moved is generated.
[0047] When obtaining the line that needs to be moved, the starting point, end point and direction of the line must be recorded, and it is determined whether the line is connected to a line or a pad. When the line is determined to meet the moving conditions and is moved, the new starting point and the new end point of the line must be reconnected to the previously connected object.
[0048] Optionally, also include:
[0049] Receive undo repair information;
[0050] According to the undo repair information, the corresponding repair line information is replaced with the original line information.
[0051] Specifically, after the automatic line shift repair, the CAM engineer can view the repair effect and choose to undo the operation as needed. The program will find the original line information based on the repaired line information, and then roll back the objects involved in the repaired line information, restore it to the state of the original line information and refresh the window.
[0052] Optionally, also include:
[0053] Displays the original line information and the repaired line information.
[0054] Specifically, CAM engineers can choose to compare graphics after repair. The program will obtain and select the previously backed up layer and the currently repaired layer, mark them with planes of different colors, refresh the window, and present the graphics comparison intuitively.
[0055] In summary, the present invention has the following beneficial effects:
[0056] This application defines the impedance line attributes of the line and saves them in the D code object of the graphic object, which can easily obtain the type of each line and the type of impedance. When moving the line, the input parameters, D code objects and repair signals are combined to determine whether the line meets the requirements after moving. After the judgment, the algorithm is moved, which can move the line more accurately. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 is a flow chart of the method of the present invention;
[0058] Figure 2 is a schematic diagram of a GUI user interface of the present invention;
[0059] Figure 3 It is a schematic diagram of the process of the present invention. DETAILED DESCRIPTION
[0060] In order to make the purpose, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are described in detail below in conjunction with the accompanying drawings. Several embodiments of the present invention are shown in the accompanying drawings. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein.
[0061] In the present invention, unless otherwise clearly specified and limited, the terms "installed", "connected", "connected", "fixed" and the like should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal connection of two elements. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to the specific circumstances. The terms "first" and "second" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features.
[0062] The present invention is described in detail below in conjunction with the accompanying drawings and embodiments.
[0063] Embodiment 1
[0064] This embodiment provides a PCB automatic line moving processing method, such as Figure 1-3 As shown, including:
[0065] Receive input parameters and save them, receive defined impedance line attributes, and set the defined impedance line attributes in the D code object of the graphic object;
[0066] Perform DRC detection on the layer to be detected according to the input parameters and display the DRC detection result set;
[0067] Display error objects according to DRC check result set;
[0068] A repair signal is received, a line shift judgment is performed on the error object according to the repair signal and the D code object, and the line shift is automatically performed on the error object according to the line shift judgment, and repair object information is generated.
[0069] Specifically, the CAM engineer inputs the input parameters to be detected in the GUI user interface, defines the impedance line attributes in the graphic object to be detected, and saves the impedance attributes of each impedance line in the D code object, so that the subsequent line shifting is to obtain the type of each line and the type of impedance according to the D code. Then, click DRC, and the corresponding layer in the graphic to be detected will be DRC detected according to the DRC configuration file. After the detection is completed, the DRC configuration file will be deleted, and the DRC detection result set will be displayed. After the DRC detection, the error results are sorted and numbered and encapsulated into a DRC detection result set. After the detection, the first error object is displayed in the window, and the error selection function is realized according to the index of the set. The automatic line shifting module receives the repair signal selected by the CAM engineer, obtains the error object, uses the starting point, end point, type and other information of the error object as the md5 summary algorithm as the unique identifier, and saves the object before and after the modification. Then, the error object is moved according to the repair signal, the D code of each error object and the input parameters. Before moving, the impedance attribute of the error object is first judged, and then the closest hole of the error object is first judged whether the input parameters are met. The algorithm is moved according to the judgment result to generate the repair object information after the move.
[0070] This application defines the impedance line attributes of the line and saves them in the D code object of the graphic object, which can easily obtain the type of each line and the type of impedance. When moving the line, the input parameters, D code objects and repair signals are combined to determine whether the line meets the requirements after moving. After the judgment, the algorithm is moved, which can move the line more accurately.
[0071] Optionally, the receiving and saving of input parameters includes:
[0072] Receive input parameters from the GUI interface, the input parameters including: distance between lines, distance between lines and via holes, distance between lines and device holes, distance between lines and NPTH holes, and distance between lines and contour lines;
[0073] The input parameters are assembled into an extensible markup language file and saved in a system environment variable directory.
[0074] Specifically, the distance between lines, the distance between lines and via holes, the distance between lines and device holes, the distance between lines and NPTH holes, and the distance between lines and outlines are preset, and these input parameters are assembled into an extensible markup language file and saved in the system environment variable directory for easy calling when automatically moving lines.
[0075] Optionally, performing DRC detection on the layer to be detected according to the input parameters includes:
[0076] Determine whether the layer to be detected is a circuit layer. If yes, obtain the drilling layer, and back up the drilling layer and the layer to be detected;
[0077] A DRC detection configuration file is generated according to the input parameters, and DRC detection is performed on the detection layer according to the detection configuration file.
[0078] Specifically, after receiving the DRC instruction, it will determine whether the layer selected by plane 1 is a circuit layer, initialize the GUI interface, and remove the last detection result. If the selected layer is a circuit layer, obtain the drilling layer, and back up the drilling layer and the layer selected by plane 1. Then obtain the input parameters to determine whether the outer layer or the outer layer is selected for detection, or both, and the type of detection line. The above parameters are assembled into a DRC detection configuration file, and the function of the UCAM platform is called to perform DRC detection according to the DRC detection configuration file. After the detection is completed, the DRC detection configuration file is deleted to obtain and save the detection results.
[0079] Optionally, displaying the error object according to the DRC check result set includes:
[0080] Identifying erroneous results in the DRC detection result set;
[0081] Sort and number all error results and encapsulate them into a set of error objects;
[0082] Receive selection information and display the selected error object in the error object collection.
[0083] Specifically, after DRC detection, the error results are sorted and numbered and encapsulated into a set. The first error is displayed in the window by default. The error selection function can be implemented through the index of the set, and the previous, next, first, or last error display can be selected upon receiving the switch key signal from the CAM engineer. The current error or all errors can be displayed according to the display key signal from the CAM engineer.
[0084] Optionally, the receiving a repair signal includes:
[0085] Identify the wrong object that was selected;
[0086] Generate a corresponding repair signal according to the selected error object.
[0087] Specifically, two repair buttons are provided in the GUI interface, and CAM engineers can choose to repair the current error and all errors and generate corresponding repair signals.
[0088] Optionally, the performing a line shift judgment on the error object according to the repair signal and the D code object, and automatically shifting the error object according to the line shift judgment, includes:
[0089] Adding the selected error object to a to-be-processed list according to the repair signal;
[0090] Perform line shifting judgment on the error objects in the list to be processed in order of number, obtain line shifting plans for each error object, and save the original line information of each error object;
[0091] Each erroneous object is relocated according to the relocation plan of each erroneous object to generate repair line information.
[0092] Specifically, first obtain the list to be processed according to the repair signal, and determine whether the number of error objects is greater than zero. If yes, obtain the error objects in the order of the list to be processed, identify the line to be moved according to the error object, record the original line information of the line, calculate the moving line distance according to the input parameters, and make a line shift judgment for the error object, generate a line shift plan for the error object, and move the error object according to the line shift plan to generate repair line information. The error objects in the list to be processed are judged and shifted in turn until the number of error objects in the list to be processed is 0, and the line shift result is displayed and the line shift is ended.
[0093] Optionally, the step of performing line shifting judgment on the error objects in the list to be processed in sequence according to the order of their numbers includes:
[0094] According to the D code object and input parameters of the error object, it is determined whether the distance from the line of the error object to the boundary meets the input parameters;
[0095] If yes, switch to the error object adjacent to the error object to perform line shift judgment; if no, judge whether the line-to-line distance of all error objects meets the input parameters;
[0096] If yes, then the next error object in the list to be processed is judged to move the line; if no, then the average distance of all error objects is calculated to determine whether the average distance meets the input parameters;
[0097] If yes, the error object is moved according to the average distance, and the next error object in the list to be processed is judged to move; if no, an alarm message is generated that the error object cannot be moved.
[0098] Specifically, when judging the error object in the list to be processed, first judge whether the distance from the line to the boundary of the error object meets the input parameters according to the distance from the line to the via hole, the distance from the line to the device hole, the distance from the line to the NPTH hole, and the distance from the line to the outer line. If the distance from the line to the boundary meets the input parameters, it means that the error object does not need to be moved, and directly switch to the adjacent line after the move and repeat the judgment of whether the distance from the line to the boundary of the error object meets the input parameters. If the distance from the line to the boundary does not meet the input parameters, the distance between the first and last error objects and the number of lines between this distance are obtained, and the distance is divided equally according to the number of lines. It is judged whether the distance after equal division meets the line-to-line distance. If yes, it means that the error object can be moved. At this time, the error object is moved according to the average distance. If no, it means that the distance between the first and last error objects cannot meet the line movement requirements, and an alarm message that the error object cannot be moved is generated.
[0099] When obtaining the line that needs to be moved, the starting point, end point and direction of the line must be recorded, and it is determined whether the line is connected to a line or a pad. When the line is determined to meet the moving conditions and is moved, the new starting point and the new end point of the line must be reconnected to the previously connected object.
[0100] After the line shift judgment is completed, the D code object of the line to be moved is used to identify whether the line is an impedance line. If yes, the line is moved according to the impedance type of the line. If no, the line is directly moved.
[0101] Specifically, moving according to the impedance type of the line includes: for lines with differential impedance attributes, moving the lines defined by the differential impedance attributes in groups; for lines defined by single-ended impedance attributes, directly moving the line.
[0102] Embodiment 2
[0103] This embodiment provides a PCB automatic line moving processing method, such as Figure 1-3 As shown, including:
[0104] Receive input parameters and save them, receive defined impedance line attributes, and set the defined impedance line attributes in the D code object of the graphic object;
[0105] Perform DRC detection on the layer to be detected according to the input parameters and display the DRC detection result set;
[0106] Display error objects according to DRC check result set;
[0107] A repair signal is received, a line shift judgment is performed on the error object according to the repair signal and the D code object, and the line shift is automatically performed on the error object according to the line shift judgment, and repair object information is generated.
[0108] Specifically, the CAM engineer inputs the input parameters to be detected in the GUI user interface, defines the impedance line attributes in the graphic object to be detected, and saves the impedance attributes of each impedance line in the D code object, so that the subsequent line shifting is to obtain the type of each line and the type of impedance according to the D code. Then, click DRC, and the corresponding layer in the graphic to be detected will be DRC detected according to the DRC configuration file. After the detection is completed, the DRC configuration file will be deleted, and the DRC detection result set will be displayed. After the DRC detection, the error results are sorted and numbered and encapsulated into a DRC detection result set. After the detection, the first error object is displayed in the window, and the error selection function is realized according to the index of the set. The automatic line shifting module receives the repair signal selected by the CAM engineer, obtains the error object, uses the starting point, end point, type and other information of the error object as the md5 summary algorithm as the unique identifier, and saves the object before and after the modification. Then, the error object is moved according to the repair signal, the D code of each error object and the input parameters. Before moving, the impedance attribute of the error object is first judged, and then the closest hole of the error object is first judged whether the input parameters are met. The algorithm is moved according to the judgment result to generate the repair object information after the move.
[0109] This application defines the impedance line attributes of the line and saves them in the D code object of the graphic object, which can easily obtain the type of each line and the type of impedance. When moving the line, the input parameters, D code objects and repair signals are combined to determine whether the line meets the requirements after moving. After the judgment, the algorithm is moved, which can move the line more accurately.
[0110] Optionally, the receiving and saving of input parameters includes:
[0111] Receive input parameters from the GUI interface, the input parameters including: distance between lines, distance between lines and via holes, distance between lines and device holes, distance between lines and NPTH holes, and distance between lines and contour lines;
[0112] The input parameters are assembled into an extensible markup language file and saved in a system environment variable directory.
[0113] Specifically, the distance between lines, the distance between lines and via holes, the distance between lines and device holes, the distance between lines and NPTH holes, and the distance between lines and outlines are preset, and these input parameters are assembled into an extensible markup language file and saved in the system environment variable directory for easy calling when automatically moving lines.
[0114] Optionally, the receiving of the defined impedance line attribute and setting the defined impedance line attribute in the D code object of the graphic object includes:
[0115] Get the graphic object that needs impedance control;
[0116] receiving a defined impedance attribute for the graphic object;
[0117] A D code object of the graphic object is obtained, a key-value pair defining an impedance attribute is constructed, and the key-value pair is set in the D code object.
[0118] Specifically, the CAM engineer selects the graphic object that needs to be impedance controlled, and then selects the defined impedance attribute of the graphic object as a single-ended impedance attribute or a differential impedance attribute. The program will determine the defined impedance attribute entered by the CAM engineer and whether there is a graphic object selection in the layer selected by plane1, and then obtain the D code object of the graphic object. There is an attribute list in the D code object, which contains key-value pairs. The key-value pairs of single-ended impedance and differential impedance are constructed, and the key-value pairs are set in the attribute properties of the D code object to facilitate automatic line shifting to determine which impedance lines in the error objects and the corresponding impedance types.
[0119] Optionally, performing DRC detection on the layer to be detected according to the input parameters includes:
[0120] Determine whether the layer to be detected is a circuit layer. If yes, obtain the drilling layer, and back up the drilling layer and the layer to be detected;
[0121] A DRC detection configuration file is generated according to the input parameters, and DRC detection is performed on the detection layer according to the detection configuration file.
[0122] Specifically, after receiving the DRC instruction, it will determine whether the layer selected by plane 1 is a circuit layer, initialize the GUI interface, and remove the last detection result. If the selected layer is a circuit layer, obtain the drilling layer, and back up the drilling layer and the layer selected by plane 1. Then obtain the input parameters to determine whether the outer layer or the outer layer is selected for detection, or both, and the type of detection line. The above parameters are assembled into a DRC detection configuration file, and the function of the UCAM platform is called to perform DRC detection according to the DRC detection configuration file. After the detection is completed, the DRC detection configuration file is deleted to obtain and save the detection results.
[0123] Optionally, displaying the error object according to the DRC check result set includes:
[0124] Identifying erroneous results in the DRC detection result set;
[0125] Sort and number all error results and encapsulate them into a set of error objects;
[0126] Receive selection information and display the selected error object in the error object collection.
[0127] Specifically, after DRC detection, the error results are sorted and numbered and encapsulated into a set. The first error is displayed in the window by default. The error selection function can be implemented through the index of the set, and the previous, next, first, or last error display can be selected upon receiving the switch key signal from the CAM engineer. The current error or all errors can be displayed according to the display key signal from the CAM engineer.
[0128] Optionally, the receiving a repair signal includes:
[0129] Identify the wrong object that was selected;
[0130] Generate a corresponding repair signal according to the selected error object.
[0131] Specifically, two repair buttons are provided in the GUI interface, and CAM engineers can choose to repair the current error and all errors and generate corresponding repair signals.
[0132] Optionally, the performing a line shift judgment on the error object according to the repair signal and the D code object, and automatically shifting the error object according to the line shift judgment, includes:
[0133] Adding the selected error object to a to-be-processed list according to the repair signal;
[0134] Perform line shifting judgment on the error objects in the list to be processed in order of number, obtain line shifting plans for each error object, and save the original line information of each error object;
[0135] Each erroneous object is relocated according to the relocation plan of each erroneous object to generate repair line information.
[0136] Specifically, first obtain the list to be processed according to the repair signal, and determine whether the number of error objects is greater than zero. If yes, obtain the error objects in the order of the list to be processed, identify the line to be moved according to the error object, record the original line information of the line, calculate the moving line distance according to the input parameters, and make a line shift judgment for the error object, generate a line shift plan for the error object, and move the error object according to the line shift plan to generate repair line information. The error objects in the list to be processed are judged and shifted in turn until the number of error objects in the list to be processed is 0, and the line shift result is displayed and the line shift is ended.
[0137] Optionally, the step of performing line shifting judgment on the error objects in the list to be processed in sequence according to the order of their numbers includes:
[0138] According to the D code object and input parameters of the error object, it is determined whether the distance from the line of the error object to the boundary meets the input parameters;
[0139] If yes, switch to the error object adjacent to the error object to perform line shift judgment; if no, judge whether the line-to-line distance of all error objects meets the input parameters;
[0140] If yes, then the next error object in the list to be processed is judged to move the line; if no, then the average distance of all error objects is calculated to determine whether the average distance meets the input parameters;
[0141] If yes, the error object is moved according to the average distance, and the next error object in the list to be processed is judged to move; if no, an alarm message is generated that the error object cannot be moved.
[0142] Specifically, when judging the error object in the list to be processed, first judge whether the distance from the line to the boundary of the error object meets the input parameters according to the distance from the line to the via hole, the distance from the line to the device hole, the distance from the line to the NPTH hole, and the distance from the line to the outer line. If the distance from the line to the boundary meets the input parameters, it means that the error object does not need to be moved, and directly switch to the adjacent line after the move and repeat the judgment of whether the distance from the line to the boundary of the error object meets the input parameters. If the distance from the line to the boundary does not meet the input parameters, the distance between the first and last error objects and the number of lines between this distance are obtained, and the distance is divided equally according to the number of lines. It is judged whether the distance after equal division meets the line-to-line distance. If yes, it means that the error object can be moved. At this time, the error object is moved according to the average distance. If no, it means that the distance between the first and last error objects cannot meet the line movement requirements, and an alarm message that the error object cannot be moved is generated.
[0143] When obtaining the line that needs to be moved, the starting point, end point and direction of the line must be recorded, and it is determined whether the line is connected to a line or a pad. When the line is determined to meet the moving conditions and is moved, the new starting point and the new end point of the line must be reconnected to the previously connected object.
[0144] After the line shift judgment is completed, the D code object of the line to be moved is used to identify whether the line is an impedance line. If yes, the line is moved according to the impedance type of the line. If no, the line is directly moved.
[0145] Specifically, moving according to the impedance type of the line includes: for lines with differential impedance attributes, moving the lines defined by the differential impedance attributes in groups; for lines defined by single-ended impedance attributes, directly moving the line.
[0146] Embodiment 3
[0147] This embodiment provides a PCB automatic line moving processing method, such as Figure 1-3 As shown, including:
[0148] Receive input parameters and save them, receive defined impedance line attributes, and set the defined impedance line attributes in the D code object of the graphic object;
[0149] Perform DRC detection on the layer to be detected according to the input parameters and display the DRC detection result set;
[0150] Display error objects according to DRC check result set;
[0151] A repair signal is received, a line shift judgment is performed on the error object according to the repair signal and the D code object, and the line shift is automatically performed on the error object according to the line shift judgment, and repair object information is generated.
[0152] Specifically, the CAM engineer inputs the input parameters to be detected in the GUI user interface, defines the impedance line attributes in the graphic object to be detected, and saves the impedance attributes of each impedance line in the D code object, so that the subsequent line shifting is to obtain the type of each line and the type of impedance according to the D code. Then, click DRC, and the corresponding layer in the graphic to be detected will be DRC detected according to the DRC configuration file. After the detection is completed, the DRC configuration file will be deleted, and the DRC detection result set will be displayed. After the DRC detection, the error results are sorted and numbered and encapsulated into a DRC detection result set. After the detection, the first error object is displayed in the window, and the error selection function is realized according to the index of the set. The automatic line shifting module receives the repair signal selected by the CAM engineer, obtains the error object, uses the starting point, end point, type and other information of the error object as the md5 summary algorithm as the unique identifier, and saves the object before and after the modification. Then, the error object is moved according to the repair signal, the D code of each error object and the input parameters. Before moving, the impedance attribute of the error object is first judged, and then the closest hole of the error object is first judged whether the input parameters are met. The algorithm is moved according to the judgment result to generate the repair object information after the move.
[0153] This application defines the impedance line attributes of the line and saves them in the D code object of the graphic object, which can easily obtain the type of each line and the type of impedance. When moving the line, the input parameters, D code objects and repair signals are combined to determine whether the line meets the requirements after moving. After the judgment, the algorithm is moved, which can move the line more accurately.
[0154] Optionally, the receiving and saving of input parameters includes:
[0155] Receive input parameters from the GUI interface, the input parameters including: distance between lines, distance between lines and via holes, distance between lines and device holes, distance between lines and NPTH holes, and distance between lines and contour lines;
[0156] The input parameters are assembled into an extensible markup language file and saved in a system environment variable directory.
[0157] Specifically, the distance between lines, the distance between lines and via holes, the distance between lines and device holes, the distance between lines and NPTH holes, and the distance between lines and outlines are preset, and these input parameters are assembled into an extensible markup language file and saved in the system environment variable directory for easy calling when automatically moving lines.
[0158] Optionally, the receiving of the defined impedance line attribute and setting the defined impedance line attribute in the D code object of the graphic object includes:
[0159] Get the graphic object that needs impedance control;
[0160] receiving a defined impedance attribute for the graphic object;
[0161] A D code object of the graphic object is obtained, a key-value pair defining an impedance attribute is constructed, and the key-value pair is set in the D code object.
[0162] Specifically, the CAM engineer selects the graphic object that needs to be impedance controlled, and then selects the defined impedance attribute of the graphic object as a single-ended impedance attribute or a differential impedance attribute. The program will determine the defined impedance attribute entered by the CAM engineer and whether there is a graphic object selection in the layer selected by plane1, and then obtain the D code object of the graphic object. There is an attribute list in the D code object, which contains key-value pairs. The key-value pairs of single-ended impedance and differential impedance are constructed, and the key-value pairs are set in the attribute properties of the D code object to facilitate automatic line shifting to determine which impedance lines in the error objects and the corresponding impedance types.
[0163] Optionally, performing DRC detection on the layer to be detected according to the input parameters includes:
[0164] Determine whether the layer to be detected is a circuit layer. If yes, obtain the drilling layer, and back up the drilling layer and the layer to be detected;
[0165] A DRC detection configuration file is generated according to the input parameters, and DRC detection is performed on the detection layer according to the detection configuration file.
[0166] Specifically, after receiving the DRC instruction, it will determine whether the layer selected by plane 1 is a circuit layer, initialize the GUI interface, and remove the last detection result. If the selected layer is a circuit layer, obtain the drilling layer, and back up the drilling layer and the layer selected by plane 1. Then obtain the input parameters to determine whether the outer layer or the outer layer is selected for detection, or both, and the type of detection line. The above parameters are assembled into a DRC detection configuration file, and the function of the UCAM platform is called to perform DRC detection according to the DRC detection configuration file. After the detection is completed, the DRC detection configuration file is deleted to obtain and save the detection results.
[0167] Optionally, displaying the error object according to the DRC check result set includes:
[0168] Identifying erroneous results in the DRC detection result set;
[0169] Sort and number all error results and encapsulate them into a set of error objects;
[0170] Receive selection information and display the selected error object in the error object collection.
[0171] Specifically, after DRC detection, the error results are sorted and numbered and encapsulated into a set. The first error is displayed in the window by default. The error selection function can be implemented through the index of the set, and the previous, next, first, or last error display can be selected upon receiving the switch key signal from the CAM engineer. The current error or all errors can be displayed according to the display key signal from the CAM engineer.
[0172] Optionally, the receiving a repair signal includes:
[0173] Identify the wrong object that was selected;
[0174] Generate a corresponding repair signal according to the selected error object.
[0175] Specifically, two repair buttons are provided in the GUI interface, and CAM engineers can choose to repair the current error and all errors and generate corresponding repair signals.
[0176] Optionally, the performing a line shift judgment on the error object according to the repair signal and the D code object, and automatically shifting the error object according to the line shift judgment, includes:
[0177] Adding the selected error object to a to-be-processed list according to the repair signal;
[0178] Perform line shifting judgment on the error objects in the list to be processed in order of number, obtain line shifting plans for each error object, and save the original line information of each error object;
[0179] Each erroneous object is relocated according to the relocation plan of each erroneous object to generate repair line information.
[0180] Specifically, first obtain the list to be processed according to the repair signal, and determine whether the number of error objects is greater than zero. If yes, obtain the error objects in the order of the list to be processed, identify the line to be moved according to the error object, record the original line information of the line, calculate the moving line distance according to the input parameters, and make a line shift judgment for the error object, generate a line shift plan for the error object, and move the error object according to the line shift plan to generate repair line information. The error objects in the list to be processed are judged and shifted in turn until the number of error objects in the list to be processed is 0, and the line shift result is displayed and the line shift is ended.
[0181] Optionally, the step of performing line shifting judgment on the error objects in the list to be processed in sequence according to the order of their numbers includes:
[0182] According to the D code object and input parameters of the error object, it is determined whether the distance from the line of the error object to the boundary meets the input parameters;
[0183] If yes, switch to the error object adjacent to the error object to perform line shift judgment; if no, judge whether the line-to-line distance of all error objects meets the input parameters;
[0184] If yes, then the next error object in the list to be processed is judged to move the line; if no, then the average distance of all error objects is calculated to determine whether the average distance meets the input parameters;
[0185] If yes, the error object is moved according to the average distance, and the next error object in the list to be processed is judged to move; if no, an alarm message is generated that the error object cannot be moved.
[0186] Specifically, when judging the error object in the list to be processed, first judge whether the distance from the line to the boundary of the error object meets the input parameters according to the distance from the line to the via hole, the distance from the line to the device hole, the distance from the line to the NPTH hole, and the distance from the line to the outer line. If the distance from the line to the boundary meets the input parameters, it means that the error object does not need to be moved, and directly switch to the adjacent line after the move and repeat the judgment of whether the distance from the line to the boundary of the error object meets the input parameters. If the distance from the line to the boundary does not meet the input parameters, the distance between the first and last error objects and the number of lines between this distance are obtained, and the distance is divided equally according to the number of lines. It is judged whether the distance after equal division meets the line-to-line distance. If yes, it means that the error object can be moved. At this time, the error object is moved according to the average distance. If no, it means that the distance between the first and last error objects cannot meet the line movement requirements, and an alarm message that the error object cannot be moved is generated.
[0187] When obtaining the line that needs to be moved, the starting point, end point and direction of the line must be recorded, and it is determined whether the line is connected to a line or a pad. When the line is determined to meet the moving conditions and is moved, the new starting point and the new end point of the line must be reconnected to the previously connected object.
[0188] After the line shift judgment is completed, the D code object of the line to be moved is used to identify whether the line is an impedance line. If yes, the line is moved according to the impedance type of the line. If no, the line is directly moved.
[0189] Specifically, moving according to the impedance type of the line includes: for lines with differential impedance attributes, moving the lines defined by the differential impedance attributes in groups; for lines defined by single-ended impedance attributes, directly moving the line.
[0190] Optionally, also include:
[0191] Receive undo repair information;
[0192] According to the undo repair information, the corresponding repair line information is replaced with the original line information.
[0193] Specifically, after the automatic line shift repair, the CAM engineer can view the repair effect and choose to undo the operation as needed. The program will find the original line information based on the repaired line information, and then roll back the objects involved in the repaired line information, restore it to the state of the original line information and refresh the window.
[0194] Optionally, also include:
[0195] Displays the original line information and the repaired line information.
[0196] Specifically, CAM engineers can choose to compare graphics after repair. The program will obtain and select the previously backed up layer and the currently repaired layer, mark them with planes of different colors, refresh the window, and present the graphics comparison intuitively.
[0197] The above is only a preferred embodiment of the present invention, and the protection scope of the present invention is not limited to the above embodiments. All technical solutions under the concept of the present invention belong to the protection scope of the present invention. It should be pointed out that for ordinary technicians in this technical field, some improvements and modifications without departing from the principle of the present invention should also be regarded as the protection scope of the present invention.
Claims
1. A PCB automatic line moving processing method, characterized in that: include: Receive input parameters and save them, receive defined impedance line attributes, and set the defined impedance line attributes in the D code object of the graphic object; Perform DRC detection on the layer to be detected according to the input parameters and display the DRC detection result set; Display error objects according to DRC check result set; A repair signal is received, a line shift judgment is performed on the error object according to the repair signal and the D code object, and the line shift is automatically performed on the error object according to the line shift judgment, and repair object information is generated.
2. A PCB automatic line moving processing method according to claim 1, characterized in that: The receiving and saving of input parameters includes: Receive input parameters from the GUI interface, the input parameters including: distance between lines, distance between lines and via holes, distance between lines and device holes, distance between lines and NPTH holes, and distance between lines and contour lines; The input parameters are assembled into an extensible markup language file and saved in a system environment variable directory.
3. A PCB automatic line moving processing method according to claim 1, characterized in that: The receiving of the defined impedance line attribute and setting the defined impedance line attribute in the D code object of the graphic object includes: Get the graphic object that needs impedance control; receiving a defined impedance attribute for the graphic object; A D code object of the graphic object is obtained, a key-value pair defining an impedance attribute is constructed, and the key-value pair is set in the D code object.
4. The PCB automatic line moving processing method according to claim 1 is characterized in that: The DRC detection of the layer to be detected according to the input parameters includes: Determine whether the layer to be detected is a circuit layer. If yes, obtain the drilling layer, and back up the drilling layer and the layer to be detected; A DRC detection configuration file is generated according to the input parameters, and DRC detection is performed on the detection layer according to the detection configuration file.
5. A PCB automatic line moving processing method according to any one of claims 1 to 4, characterized in that: The displaying of error objects according to the DRC check result set includes: Identifying erroneous results in the DRC detection result set; Sort and number all error results and encapsulate them into a set of error objects; Receive selection information and display the selected error object in the error object collection.
6. A PCB automatic line moving processing method according to claim 5, characterized in that: The receiving the repair signal comprises: Identify the wrong object that was selected; Generate a corresponding repair signal according to the selected error object.
7. A PCB automatic line moving processing method according to claim 6, characterized in that: The step of determining the line shift of the error object according to the repair signal and the D code object, and automatically shifting the line of the error object according to the line shift determination includes: Adding the selected error object to a to-be-processed list according to the repair signal; Perform line shifting judgment on the error objects in the list to be processed in order of number, obtain line shifting plans for each error object, and save the original line information of each error object; Each erroneous object is relocated according to the relocation plan of each erroneous object to generate repair line information.
8. A PCB automatic line moving processing method according to claim 7, characterized in that: The step of determining the line movement of the error objects in the list to be processed in sequence according to the numbering order includes: According to the D code object and input parameters of the error object, it is determined whether the distance from the line of the error object to the boundary meets the input parameters; If yes, switch to the error object adjacent to the error object to perform line shift judgment; if no, judge whether the line-to-line distance of all error objects meets the input parameters; If yes, then the next error object in the list to be processed is judged to move the line; if no, then the average distance of all error objects is calculated to determine whether the average distance meets the input parameters; If yes, the error object is moved according to the average distance, and the next error object in the list to be processed is judged to move; if no, an alarm message is generated that the error object cannot be moved.
9. A PCB automatic line moving processing method according to claim 8, characterized in that: Also includes: Receive undo repair information; According to the undo repair information, the corresponding repair line information is replaced with the original line information.
10. The PCB automatic line moving processing method according to claim 8, characterized in that: Also includes: Displays the original line information and the repaired line information.
Citation Information
Patent Citations
A method for automatically moving PCB lines
CN114828418B
Detection and optimization method for automatically moving lines and holes based on CAM system
CN113657070A
PCB automatic line moving processing method
CN114828418A