Implementation method of back drilling depth calculation
Through object-oriented programming and LINQ query statements, PCB back-drilling depth calculation is simplified, which solves the problems of high complexity and maintenance difficulties in the existing technology, and realizes efficient and flexible back-drilling depth calculation, improving the scalability and production efficiency of the system.
Patent Information
- Application Number
- CN202411864666.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-18
- Publication Date
- 2025-03-25
AI Technical Summary
The prior art has high complexity, difficulty in calculating the depth of PCB back drilling, poor flexibility, limited scalability, and performance bottlenecks, making it difficult to quickly respond to market demand and support complex application scenarios.
Defining back-drilling classes and cross-section classes through object-oriented programming, simplifying code with LINQ query statements, reducing redundant loops and conditional statements, and achieving flexible calculation and efficient processing of back-drilling depth.
Simplifies code implementation, improves code readability and maintenance, enhances system flexibility and scalability, reduces computing time and improves production efficiency.
Smart Images

Figure CN119691000A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of PCB processing, and in particular to a method for realizing back drilling depth calculation. Background Art
[0002] With the continuous miniaturization and complexity of electronic products, the requirements for printed circuit board (PCB) design are becoming increasingly stringent, especially the demand for high-speed signal transmission. In this context, the back drilling process is widely used as a key step to optimize PCB performance.
[0003] However, accurately calculating the back drilling depth has always been a challenge in the industry, because customers generally have different requirements for back drilling: requirements for drilling through the layer and stub; requirements for drilling through the layer only; requirements for depth only; requirements for excess thickness and drilling through the layer; requirements for excess thickness, drilling through the layer and stub, etc. Each formula is extremely complicated, which not only involves complex calculations, but also needs to consider material properties, manufacturing tolerances and various factors that may affect the quality of the final product.
[0004] In the prior art, InPlan Rule or other similar systems are often used to write and import these rules. Although these algorithms are simple and direct, their logic becomes extremely complex when faced with complex PCB structures and changing design requirements. Developers need to write a large number of conditional judgments and loop statements to cover all possible situations, which greatly increases the difficulty of code implementation. In addition, due to the lack of good abstraction and modular design, the codes written by traditional methods are usually difficult to understand and maintain. Whenever the design specifications change or new functions need to be introduced, developers must make large-scale modifications to the original code, which increases the probability of errors and prolongs the development cycle. At the same time, the adaptability to changes in input data is low, and it is impossible to flexibly respond to different types of PCB design requirements. For example, when adjusting the number of layers, depth control method or other parameters, the original calculation logic may need to be rewritten or significantly modified, resulting in the system being not agile enough and difficult to quickly respond to market demand. Due to its inherent limitations, the system built based on the prior art shows obvious deficiencies in expanding new functions or supporting more complex application scenarios, which limits the long-term development and application scope of the system. When dealing with large-scale or high-density PCB designs, the prior art may encounter performance problems. Inefficient data processing methods and non-optimized algorithms may lead to excessively long calculation times, affecting production efficiency.
[0005] Therefore, it is necessary to provide a method for calculating back drilling depth to solve the above technical problems. Summary of the invention
[0006] The present invention provides a method for realizing backdrill depth calculation, which solves the problems of high complexity, difficult maintenance, poor flexibility, limited scalability and performance bottleneck existing in processing PCB backdrill depth calculation.
[0007] In order to solve the above technical problems, the present invention provides a method for calculating back drilling depth, comprising the following steps:
[0008] S1. Define two classes: create a back drilling class and a cross section class through object-oriented programming ideas, which are used to encapsulate the parameter information related to back drilling and to represent the cross section layer information of the PCB board;
[0009] S2, program loading: When the program starts and loads relevant data, a specific variable is created to store the complete thickness information of the cross section of the PCB board;
[0010] S3. Calculate the drill depth: determine the index of the drill layer and the non-drilling layer, use LINQ query statements to find the index corresponding to the drill layer in the collection storing the cross-sectional information of the circuit board, and use LINQ query statements to find the index corresponding to the non-drilling layer in the corresponding collection, and then compare the size relationship between the previously obtained drill layer index and the non-drilling layer index to determine the drilling direction and calculate the back drilling depth.
[0011] Preferably, the back drilling hole category includes tool sequence, back drilling drill tip, back drilling finished hole diameter, minimum and maximum values of STUB, excess thickness, next drilling layer, must-drill layer, non-drill layer, back drilling depth, and the board cross section category includes serial number, Segment type, circuit layer serial number and thickness.
[0012] Preferably, the tool sequence is used to identify the order of back drilling operations, the back drilling drill bit specifies the specifications of the drill bit, the back drilling finished aperture defines the aperture size after back drilling is completed, the minimum and maximum values of the STUB limit the minimum and maximum value range of the STUB (residual pile length), the residual thickness indicates the remaining thickness, the down-drilling layer specifies the number of layers from which back drilling starts, the must-drill layer indicates the number of layers that must be drilled, the non-drilling layer specifies the number of layers that cannot be drilled, the back drilling depth is the result that needs to be calculated in the end, the serial number is used to uniquely identify each layer in the set, the Segment type is used to distinguish whether the layer is a circuit layer (Foil), a dielectric layer (Isolator) or a Core layer, the circuit layer serial number further clarifies the number of the circuit layer, and the thickness (Thickness) describes the actual thickness of the layer.
[0013] Preferably, the calculation of the drilling depth comprises the following steps:
[0014] S21, determining the index of the drill-down layer: searching for the index corresponding to the drill-down layer in the set storing the cross-sectional information of the circuit board, by filtering out the object corresponding to the circuit layer serial number and the drill-down layer from the set, then selecting the serial number attributes of these objects, taking the first result that meets the conditions, and storing the result as the index value corresponding to the drill-down layer;
[0015] S22, determining the index of the non-drilling layer: searching for the index corresponding to the non-drilling layer in the corresponding set, that is, filtering out objects corresponding to the line layer sequence number and the non-drilling layer from the set, selecting the sequence number attribute and taking the first result, and storing the result as the index value corresponding to the non-drilling layer;
[0016] S23, when the drill down layer index is less than the non-drill through layer index, it is necessary to start drilling from the top layer, and at the same time, from the set storing the circuit board cross-section information, select those objects whose serial numbers are greater than or equal to the drill down layer index and less than the non-drill through layer index, and then add up the thickness attributes of these objects, and the sum obtained is the back drilling depth when drilling from the top layer, and assign it to the depth variable;
[0017] S24. When the down-drilling layer index is greater than or equal to the non-drilling layer index, it is necessary to start drilling from the bottom layer. At this time, the back-drilling depth calculation is to filter out those objects whose serial numbers are less than or equal to the down-drilling layer index and greater than the non-drilling layer index from the set storing the circuit board cross-sectional information, add up the thickness attributes of these objects, and the result is the back-drilling depth when drilling from the bottom layer, which is also assigned to the depth variable.
[0018] Preferably, the LINQ query statement calculation program code is:
[0019] boardCrossSections.Where(x=>x.CopperLayerIndex==backDrillHole.StartLayer).Select(x=>x.Index).First().
[0020] Preferably, the back drilling depth calculation program code is:
[0021] boardCrossSections.Where(x=>x.Index<=startSegIndex&&x.Index>mncSegIndex).Sum(x=>x.Thickness).
[0022] Preferably, before executing the backdrill depth calculation, the input PCB design data and the initial parameters of the backdrill process are firstly subjected to integrity check and rationality analysis, wherein the integrity check includes checking whether the information of each layer of the BoardCrossSection class covers all PCB physical layers and whether each attribute of the BackDrillHole class has a legal assignment and is not empty.
[0023] Preferably, the rationality analysis is judged according to preset rules, such as checking whether the DrillBit size is adapted to the PCB board thickness range, whether the settings of StartLayer and MC, MNC conform to the conventional PCB stacking structure logic. If the verification or analysis fails, the calculation process is immediately interrupted and the error type and location information are accurately fed back to the user, guiding the user to correct the data until it passes the verification and analysis, and then starting the subsequent back drilling depth calculation step.
[0024] Preferably, during the process of integrity checking and rationality analysis of the input data, if irregular stacking of the PCB board layer structure is detected, the adaptive analysis submodule is automatically started.
[0025] Preferably, the adaptive parsing submodule performs pattern matching based on a preset irregular layer structure template library, identifies the type and position of special layers, dynamically adjusts the property settings of related layer objects of the BoardCrossSection class, and recalculates the associated parameters between adjacent layers to ensure that subsequent backdrill depth calculations can accurately consider these special layer factors and maintain the accuracy and consistency of the calculations.
[0026] Compared with the related art, the method for calculating back drilling depth provided by the present invention has the following advantages:
[0027] Beneficial effects:
[0028] The present invention provides a method for implementing back-drill depth calculation, which makes the code very concise by using LINQ query, reduces redundant loops and conditional statements, and makes the code easier to understand;
[0029] LINQ expressions improve the readability and clarity of code, especially for developers familiar with SQL or database query language, this style of code is easier to read and maintain;
[0030] The code structure allows the logic to be easily adjusted and extended. If you need to change how to determine the index of the starting layer or not to drill through the layer, you only need to modify the corresponding LINQ query part without rewriting the entire function. When using LINQ in C#, the compiler can check type matching issues at compile time, which helps reduce runtime errors and improve program stability.
[0031] The code uses the principle of object-oriented programming to encapsulate the board cross-section information in the boardCrossSections object collection. This method not only helps to organize the data, but also makes it easier to add more related operations or properties in the future.
[0032] The code can intelligently choose whether to start drilling from the top or bottom layer based on the relative positions of startSegIndex and mncSegIndex, ensuring that the algorithm can be flexibly applied to different PCB designs;
[0033] Despite the use of LINQ queries, the code still maintains a high execution efficiency, especially when the amount of data processed is not particularly large. In addition, LINQ queries are performed in memory, thus avoiding the delays that may be caused by database queries.
[0034] The concise code structure and clear logical division make subsequent maintenance work easier. At the same time, LINQ query results can be directly used for debugging tools to view, making it easier for developers to quickly locate and solve problems. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 A schematic structural diagram of a first embodiment of a method for implementing back drilling depth calculation provided by the present invention;
[0036] Figure 2 To define two class code diagrams;
[0037] Figure 3 It is a schematic diagram of the collection of PCB cross-section diagram and cross-section information;
[0038] Figure 4 Schematic diagram of the depth calculation code. DETAILED DESCRIPTION
[0039] The present invention will be further described below in conjunction with the accompanying drawings and implementation modes.
[0040] First embodiment
[0041] Please refer to Figure 1 , Figure 2 , Figure 3 , Figure 4 ,in, Figure 1 A schematic structural diagram of a first embodiment of a method for implementing back drilling depth calculation provided by the present invention; Figure 2 To define two class code diagrams; Figure 3 It is a schematic diagram of the collection of PCB cross-section diagram and cross-section information; Figure 4 A method for calculating back drilling depth includes the following steps:
[0042] S1. Define two classes: create a backdrilling class and a cross-section class through face-oriented programming, which are used to encapsulate backdrilling related parameter information and to represent the cross-section layer information of the PCB board;
[0043] S2, program loading: When the program starts and loads relevant data, a specific variable is created to store the complete thickness information of the cross section of the PCB board;
[0044] S3. Calculate the drill depth: determine the index of the drill layer and the non-drilling layer, use LINQ query statements to find the index corresponding to the drill layer in the collection storing the cross-sectional information of the circuit board, and use LINQ query statements to find the index corresponding to the non-drilling layer in the corresponding collection, and then compare the size relationship between the previously obtained drill layer index and the non-drilling layer index to determine the drilling direction and calculate the back drilling depth.
[0045] The back drilling hole category includes tool sequence, back drilling drill tip, back drilling finished hole diameter, STUB minimum and maximum values, excess thickness, next drilling layer, must drill through layer, non-drill through layer, back drilling depth; the board cross section category includes serial number, segment type, circuit layer serial number and thickness.
[0046] The tool sequence is used to identify the order of back drilling operations, the back drilling drill bit specifies the specifications of the drill bit, the back drilling finished aperture defines the aperture size after back drilling is completed, the minimum and maximum values of the STUB limit the minimum and maximum value range of the STUB (residual pile length), the residual thickness indicates the remaining thickness, the down drilling layer specifies the number of layers from which back drilling starts, the must-drill layer indicates the number of layers that must be drilled, the non-drilling layer specifies the number of layers that cannot be drilled, the back drilling depth is the result that needs to be calculated in the end, the sequence number is used to uniquely identify each layer in the set, the Segment type is used to distinguish whether the layer is a circuit layer (Foil), a dielectric layer (Isolator) or a Core layer, the circuit layer sequence number further clarifies the number of the circuit layer, and the thickness (Thickness) describes the actual thickness of the layer.
[0047] Described calculating drilling nozzle depth comprises the following steps:
[0048] S21, determining the index of the drill-down layer: searching for the index corresponding to the drill-down layer in the set storing the cross-sectional information of the circuit board, by filtering out the object corresponding to the circuit layer serial number and the drill-down layer from the set, then selecting the serial number attributes of these objects, taking the first result that meets the conditions, and storing the result as the index value corresponding to the drill-down layer;
[0049] S22, determining the index of the non-drilling layer: searching for the index corresponding to the non-drilling layer in the corresponding set, that is, filtering out objects corresponding to the line layer sequence number and the non-drilling layer from the set, selecting the sequence number attribute and taking the first result, and storing the result as the index value corresponding to the non-drilling layer;
[0050] S23, when the drill down layer index is less than the non-drill through layer index, it is necessary to start drilling from the top layer, and at the same time, from the set storing the circuit board cross-section information, select those objects whose serial numbers are greater than or equal to the drill down layer index and less than the non-drill through layer index, and then add up the thickness attributes of these objects, and the sum obtained is the back drilling depth when drilling from the top layer, and assign it to the depth variable;
[0051] S24. When the down-drilling layer index is greater than or equal to the non-drilling layer index, it is necessary to start drilling from the bottom layer. At this time, the back-drilling depth calculation is to filter out those objects whose serial numbers are less than or equal to the down-drilling layer index and greater than the non-drilling layer index from the set storing the circuit board cross-sectional information, add up the thickness attributes of these objects, and the result is the back-drilling depth when drilling from the bottom layer, which is also assigned to the depth variable.
[0052] The LINQ query statement calculation program code is:
[0053] boardCrossSections.Where(x=>x.CopperLayerIndex==backDrillHole.StartLayer).Select(x=>x.Index).First().
[0054] The back drilling depth calculation program code is:
[0055] boardCrossSections.Where(x=>x.Index<=startSegIndex&&x.Index>mncSegIndex).Sum(x=>x.Thickness).
[0056] By adopting the object-oriented programming (OOP) methodology, the complex PCB back drilling calculation problem is decomposed into multiple interrelated but independent objects, each of which is responsible for a specific function or attribute, thus greatly simplifying the overall logical structure and making the program more intuitive and easy to understand;
[0057] The powerful query capability and concise expression of LINQ syntax can significantly reduce the amount of redundant code and enhance the readability and maintainability of the code. Even in the face of complex design changes, the calculation logic can be quickly adjusted to ensure the stable operation of the system;
[0058] The provided calculation engine can automatically adjust the calculation strategy according to the specific PCB design and support dynamic configuration parameters, such as via location, material properties, etc., to meet diverse design requirements. In addition, the engine also has a good plug-in architecture, which is convenient for adding new functions or integrating third-party tools.
[0059] The optimized algorithm combined with the efficient LINQ query mechanism can greatly shorten the processing time while ensuring the calculation accuracy. It is especially suitable for the design analysis of large or high-density PCBs, improving the production efficiency and response speed.
[0060] With higher flexibility and stronger expansion capabilities, this invention can not only meet the needs of the current PCB manufacturing industry, but also reserve sufficient development space for new technologies and application scenarios that may appear in the future, which will help promote the progress of the entire industry.
[0061] Compared with the related art, the method for calculating back drilling depth provided by the present invention has the following advantages:
[0062] Beneficial effects:
[0063] The code is very concise by using LINQ queries, which reduces redundant loops and conditional statements and makes the code easier to understand.
[0064] LINQ expressions improve the readability and clarity of code, especially for developers familiar with SQL or database query language, this style of code is easier to read and maintain;
[0065] The code structure allows the logic to be easily adjusted and extended. If you need to change how to determine the index of the starting layer or not to drill through the layer, you only need to modify the corresponding LINQ query part without rewriting the entire function. When using LINQ in C#, the compiler can check type matching issues at compile time, which helps reduce runtime errors and improve program stability.
[0066] The code uses the principle of object-oriented programming to encapsulate the board cross-section information in the boardCrossSections object collection. This method not only helps to organize the data, but also makes it easier to add more related operations or properties in the future.
[0067] The code can intelligently choose whether to start drilling from the top or bottom layer based on the relative positions of startSegIndex and mncSegIndex, ensuring that the algorithm can be flexibly applied to different PCB designs;
[0068] Despite the use of LINQ queries, the code still maintains a high execution efficiency, especially when the amount of data processed is not particularly large. In addition, LINQ queries are performed in memory, thus avoiding the delays that may be caused by database queries.
[0069] The concise code structure and clear logical division make subsequent maintenance work easier. At the same time, LINQ query results can be directly used for debugging tools to view, making it easier for developers to quickly locate and solve problems.
[0070] Second embodiment
[0071] Based on the implementation method of backdrill depth calculation provided by the first embodiment of the present application, the second embodiment of the present application proposes another implementation method of backdrill depth calculation. The second embodiment is only a preferred method of the first embodiment, and the implementation of the second embodiment will not affect the independent implementation of the first embodiment.
[0072] Specifically, the difference of the implementation method of backdrill depth calculation provided by the second embodiment of the present application is that, before executing the backdrill depth calculation, the input PCB design data and the initial parameters of the backdrill process are firstly checked for integrity and rationality. The integrity check includes checking whether the information of each layer of the BoardCrossSection class covers all PCB physical layers and whether each attribute of the BackDrillHole class has a legal assignment and is not empty.
[0073] The rationality analysis is judged according to preset rules, such as checking whether the DrillBit size is adapted to the PCB board thickness range, whether the settings of StartLayer, MC and MNC conform to the conventional PCB stacking structure logic. If the verification or analysis fails, the calculation process is immediately interrupted and the error type and location information are accurately fed back to the user, guiding the user to correct the data until it passes the verification and analysis, and then starting the subsequent back drilling depth calculation step.
[0074] During the process of integrity checking and rationality analysis of the input data, if irregular stacking of the PCB layer structure is detected, the adaptive analysis submodule is automatically started.
[0075] The adaptive parsing submodule performs pattern matching based on a preset irregular layer structure template library, identifies the type and position of special layers, dynamically adjusts the property settings of related layer objects of the BoardCrossSection class, and recalculates the associated parameters between adjacent layers to ensure that subsequent backdrill depth calculations can accurately consider these special layer factors and maintain the accuracy and consistency of the calculations.
[0076] The working principle of a back drilling depth calculation implementation method provided by the present invention is as follows:
[0077] When the user inputs the PCB design details and backdrilling process parameters and is ready to trigger the backdrilling depth calculation program, the verification module is first started. For the boardCrossSections list, the integrity of the attributes of each BoardCrossSection object is checked one by one, from the outermost copper foil to the core layer, and the thickness, type and other data are carefully checked to ensure that nothing is missed; at the same time, all parameters of the BackDrillHole object are fully scanned to strictly prevent the existence of null values or illegal format data;
[0078] After completing the basic verification, the rationality judgment rule library immediately intervenes. On the one hand, it compares the DrillBit with the PCB's past experience of board thickness thresholds, and on the other hand, it deeply analyzes the logical association of the layer sequence such as StartLayer. Once an abnormal situation is detected, such as the missing thickness of a certain layer causing the accumulated board thickness to be inconsistent with the total design value, or the drill bit size far exceeds the board thickness tolerance range, the calculation process will be terminated immediately. At this time, the error location program quickly and accurately captures the source of the abnormal data, and promptly informs the user of the specific problem through two methods: intuitive interface prompts or detailed log file records;
[0079] If during the inspection process, the integrity check and rationality analysis program finds that there are abnormalities in the PCB board layer structure, such as uneven distribution of board layer thickness and the emergence of unknown identification layers, the system will immediately activate the adaptive analysis submodule; this submodule traverses the irregular layer structure template library at high speed, and uses advanced algorithms based on feature matching to compare the abnormal layer with various special layer templates in the library one by one, so as to accurately lock the special layer category, for example, it can accurately identify the unique conductive material properties and ultra-thin thickness characteristics of the high-frequency signal shielding layer; then, it dynamically updates the parameters of the BoardCrossSection object involving special layers in strict accordance with the established rules, such as reasonably correcting the thickness weights of adjacent layers and scientifically adjusting the logic of the circuit layer sequence number association, so as to reshape the precise calculation architecture, lay a solid data foundation for the subsequent backdrill depth calculation to adapt to complex structures, and ensure accurate calculations throughout the entire process. After the user corrects the data based on feedback and re-checks to meet the standards, the data will be released to enter the subsequent core calculation links.
[0080] Compared with the related art, the method for calculating back drilling depth provided by the present invention has the following advantages:
[0081] Beneficial effects:
[0082] Through the pre-completeness check, it is ensured that the PCB layer information involved in the calculation is not missed, the back drilling process parameters are complete and correct, and the calculation interruption or wrong results caused by missing data are avoided. Just like laying a solid foundation before building a high-rise building, it lays a solid foundation for the subsequent accurate calculation of the back drilling depth and reduces the error factors from the source;
[0083] Rationality analysis can screen out parameter combinations that do not conform to physical laws and engineering common sense in advance, prevent unreasonable drill bit selection from damaging PCB boards, or incorrect layer sequence settings from causing production accidents, ensure the stable operation of the entire back drilling process chain, significantly reduce the scrap rate, and save production costs;
[0084] The instant and accurate error feedback mechanism allows users to quickly locate the root cause of the problem without having to waste time troubleshooting after a complex calculation process fails. Both novice engineers and experienced operators can quickly adjust parameters, speed up project iterations, and improve overall production efficiency.
[0085] It can intelligently identify and adapt to the increasingly diverse and complex stacking structure changes of PCB boards, breaking through the limitations of traditional fixed calculation modes. Whether it is a shielding layer added to meet specific electrical performance or an ultra-thin dielectric layer embedded due to miniaturization requirements, it can be seamlessly integrated into the calculation process to ensure smooth backdrilling of PCBs with different innovative designs.
[0086] By dynamically calibrating the associated parameters around special layers, we can avoid backdrilling depth deviation caused by irregular layer interference, ensure that the drilling depth can be accurately controlled under complex structures, maintain PCB signal integrity and mechanical stability, reduce the risk of scrap due to complex design, and improve product yield.
[0087] Users do not need to worry that special layer design will make backdrill calculations cumbersome and error-prone. They can boldly innovate PCB layer structures and focus on functional implementation. The adaptive analysis submodule automatically solves the calculation problems caused by structural complexity and accelerates the product development cycle.
[0088] The above descriptions are merely embodiments of the present invention and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. A method for calculating back drilling depth, characterized in that: The following steps are involved: S1. Define two classes: create a back drilling class and a cross section class through object-oriented programming, which are used to encapsulate back drilling related parameter information and to represent the cross section layer information of the PCB board; S2, program loading: When the program starts and loads relevant data, a specific variable is created to store the complete thickness information of the cross section of the PCB board; S3. Calculate the drill depth: determine the index of the drill layer and the non-drilling layer, use LINQ query statements to find the index corresponding to the drill layer in the collection storing the cross-sectional information of the circuit board, and use LINQ query statements to find the index corresponding to the non-drilling layer in the corresponding collection, and then compare the size relationship between the previously obtained drill layer index and the non-drilling layer index to determine the drilling direction and calculate the back drilling depth.
2. The method for calculating back drilling depth according to claim 1, characterized in that: The back drilling hole category includes tool sequence, back drilling drill tip, back drilling finished hole diameter, STUB minimum and maximum values, excess thickness, next drilling layer, must drill through layer, non-drill through layer, back drilling depth; the board cross section category includes serial number, segment type, circuit layer serial number and thickness.
3. The method for calculating back drilling depth according to claim 2, characterized in that: The tool sequence is used to identify the order of back drilling operations, the back drilling drill bit specifies the specifications of the drill bit, the back drilling finished aperture defines the aperture size after back drilling is completed, the minimum and maximum values of the STUB limit the minimum and maximum value range of the STUB (residual pile length), the residual thickness indicates the remaining thickness, the down drilling layer specifies the number of layers from which back drilling starts, the must-drill layer indicates the number of layers that must be drilled, the non-drilling layer specifies the number of layers that cannot be drilled, the back drilling depth is the result that needs to be calculated in the end, the sequence number is used to uniquely identify each layer in the set, the Segment type is used to distinguish whether the layer is a circuit layer (Foil), a dielectric layer (Isolator) or a Core layer, the circuit layer sequence number further clarifies the number of the circuit layer, and the thickness (Thickness) describes the actual thickness of the layer.
4. The method for calculating back drilling depth according to claim 1, characterized in that: Described calculating drilling nozzle depth comprises the following steps: S21, determining the index of the drill-down layer: searching for the index corresponding to the drill-down layer in the set storing the cross-sectional information of the circuit board, by filtering out the object corresponding to the circuit layer serial number and the drill-down layer from the set, then selecting the serial number attributes of these objects, taking the first result that meets the conditions, and storing the result as the index value corresponding to the drill-down layer; S22, determining the index of the non-drilling layer: searching for the index corresponding to the non-drilling layer in the corresponding set, that is, filtering out objects corresponding to the line layer sequence number and the non-drilling layer from the set, selecting the sequence number attribute and taking the first result, and storing the result as the index value corresponding to the non-drilling layer; S23, when the drill down layer index is less than the non-drill through layer index, it is necessary to start drilling from the top layer, and at the same time, from the set storing the circuit board cross-section information, select those objects whose serial numbers are greater than or equal to the drill down layer index and less than the non-drill through layer index, and then add up the thickness attributes of these objects, and the sum obtained is the back drilling depth when drilling from the top layer, and assign it to the depth variable; S24. When the down-drilling layer index is greater than or equal to the non-drilling layer index, it is necessary to start drilling from the bottom layer. At this time, the back-drilling depth calculation is to filter out those objects whose serial numbers are less than or equal to the down-drilling layer index and greater than the non-drilling layer index from the set storing the circuit board cross-sectional information, add up the thickness attributes of these objects, and the result is the back-drilling depth when drilling from the bottom layer, which is also assigned to the depth variable.
5. The method for calculating back drilling depth according to claim 1, characterized in that: The LINQ query statement calculation program code is: boardCrossSections.Where(x=>x.CopperLayerIndex==backDrillHole.StartLayer).Select(x=>x.Index).First().
6. The method for calculating back drilling depth according to claim 1, characterized in that: The back drilling depth calculation program code is: boardCrossSections.Where(x=>x.Index<=startSegIndex&&x.Index>mncSegIndex).Sum(x=>x.Thickness).
7. The method for calculating back drilling depth according to claim 1, characterized in that: Before executing the backdrill depth calculation, the input PCB design data and the initial parameters of the backdrill process are firstly checked for integrity and rationality. The integrity check includes checking whether the information of each layer of the BoardCrossSection class covers all PCB physical layers and whether each attribute of the BackDrillHole class has a legal assignment and is not empty.
8. The method for calculating back drilling depth according to claim 7, characterized in that: The rationality analysis is judged according to preset rules, such as checking whether the DrillBit size is adapted to the PCB board thickness range, whether the settings of StartLayer, MC and MNC conform to the conventional PCB stacking structure logic. If the verification or analysis fails, the calculation process is immediately interrupted and the error type and location information are accurately fed back to the user, guiding the user to correct the data until it passes the verification and analysis, and then starting the subsequent back drilling depth calculation step.
9. The method for calculating back drilling depth according to claim 8, characterized in that: During the process of integrity checking and rationality analysis of the input data, if irregular stacking of the PCB layer structure is detected, the adaptive analysis submodule is automatically started.
10. The method for calculating back drilling depth according to claim 9, characterized in that: The adaptive parsing submodule performs pattern matching based on a preset irregular layer structure template library, identifies the type and position of special layers, dynamically adjusts the property settings of related layer objects of the BoardCrossSection class, and recalculates the associated parameters between adjacent layers to ensure that subsequent backdrill depth calculations can accurately consider these special layer factors and maintain the accuracy and consistency of the calculations.