Flying probe jointed board data automatic generation method and device, electronic equipment and storage medium

By parsing and standardizing the modeling of PCB design files, a hierarchical spatial index structure is constructed to generate a collision-free panel layout and optimize test points. This solves the multi-format compatibility and efficiency issues of the IPC-356A format in the PCB testing process, and achieves efficient and intelligent panel layout and test point optimization.

CN121960360APending Publication Date: 2026-05-01NANJING TESTING YUAN TECHNOLOGY CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
NANJING TESTING YUAN TECHNOLOGY CO LTD
Filing Date
2026-03-31
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In existing technologies, the IPC-356A format has several drawbacks in PCB testing, including poor compatibility with multiple formats, limited tool support, reliance on manual experience for panel layout leading to low efficiency and error-proneness, lack of spatial indexing and hardware acceleration in big data analysis and visualization, unintelligent test point optimization, and incomplete recognition and rule application.

Method used

By reading PCB design files, performing analysis and standardized modeling, constructing a hierarchical spatial index structure, generating a collision-free panel layout, and optimizing intelligent test points, the final flying probe panel test data is generated.

Benefits of technology

It achieves unified compatibility across multiple formats, efficient and accurate panel layout, improved data processing performance, and intelligent optimization of test points, ensuring data quality and direct usability, and solving the problems of heavy reliance on manual labor and low efficiency in traditional methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121960360A_ABST
    Figure CN121960360A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of printed circuit board testing, and discloses a flying probe jointed board data automatic generation method and device, electronic equipment and a storage medium, and the method comprises the steps: reading a PCB design file of a single board, and carrying out the analysis and standardized modeling of the PCB design file, and obtaining a standardized element model; constructing a hierarchical spatial index structure for different types of elements in the standardized element model; generating a collision-free jointed board layout based on the hierarchical spatial index structure and preset jointed board parameters; based on the collision-free jointed board layout, generating confirmed final jointed board layout data; based on the final jointed board layout data and the corresponding test points, target format export is carried out, and flying probe jointed board test data is generated. The problems that in the prior art, multi-format analysis and standardization are difficult, jointed board layout is high in manual dependence, big data processing and rendering performance is insufficient, and test point optimization is not intelligent are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of printed circuit board (PCB) testing technology, specifically to a method, apparatus, electronic device, and storage medium for automatically generating flying probe panel data. Background Technology

[0002] The IPC-356A format (including sub-formats such as MNF / MNF2 / EMM / CAR / DRL, etc.) is widely used in PCB testing. Existing solutions generally suffer from the following problems:

[0003] Poor compatibility with multiple formats, limited tool support, and manual intervention required for cross-format conversion; The panel layout relies on manual experience to calculate alignment points and offsets, which is inefficient and prone to errors. The big data analysis and visualization process lacks spatial indexing and hardware acceleration, resulting in insufficient performance. The test point optimization is not intelligent, and the identification and rule application for non-test points, SMD (Surface Mount Device) hole positions, and buried resistors and capacitors are not perfect. Summary of the Invention

[0004] This invention provides a method, apparatus, electronic device, and storage medium for automatically generating flying needle mosaic data, in order to solve the problems of difficulty in multi-format parsing and standardization, heavy reliance on manual layout, insufficient big data processing and rendering performance, and unintelligent test point optimization in the prior art.

[0005] In a first aspect, the present invention provides a method for automatically generating flying needle mosaic data, the method comprising: Read the PCB design file of the single board, and parse and standardize the PCB design file to obtain a standardized element model; Construct a hierarchical spatial index structure for different categories of elements in the standardized element model; Based on the hierarchical spatial index structure and preset panel parameters, a collision-free panel layout is generated. Based on the collision-free panel layout, generate the final panel layout data after confirmation; Based on the final puzzle layout data and the corresponding test points, the target format is exported to generate flying needle puzzle test data.

[0006] This invention provides an automatic generation method for flying needle mosaicking data. Through intelligent parsing and standardized modeling, it solves the multi-format compatibility problem, providing a unified and reliable data foundation for subsequent processing. Relying on automatic mosaicking algorithms and spatial indexing technology, it completely changes the strong dependence of mosaicking layout on human experience, achieving efficient and accurate collision-free arrangement. Finally, intelligent rules are used to optimize and verify test points and achieve standardized export, ensuring the quality and direct usability of the final data. The entire process transforms the discrete, error-prone, and labor-intensive traditional operation mode into a continuous, reliable, and efficient digital process, comprehensively improving production efficiency and product quality, and solving the problems of difficulty in multi-format parsing and standardization, strong reliance on manual mosaicking layout, insufficient big data processing and rendering performance, and unintelligent test point optimization in existing technologies.

[0007] In one alternative implementation, the PCB design file includes a file extension and a file header feature; Read the PCB design file of the single board, parse and standardize the PCB design file to obtain a standardized element model, including: Identify the sub-format to which the PCB design file belongs based on its file extension and header features; A command parser corresponding to the sub-format is used to parse the PCB design file content in a command-driven streaming and incremental processing manner to obtain the command set and parameter set; The command set and parameter set are mapped to a standardized feature model with a unified interface; the standardized feature model includes geometric information, associated attributes, and layer classification identifiers.

[0008] This invention provides an automatic generation method for flying probe panelization data. By automatically recognizing file formats, employing an efficient streaming parsing method, and outputting a unified standard data model, it systematically solves the problems of poor compatibility, low efficiency, and data heterogeneity in the traditional multi-format PCB design file processing, providing an accurate and reliable data foundation for the subsequent fully automated panelization process.

[0009] In one alternative implementation, a hierarchical spatial index structure is constructed for different categories of features in the standardized feature model, including: Calculate the geometric envelope rectangle for spatial querying corresponding to each feature in the standardized feature model; Based on the hierarchical classification identifier, the elements and their corresponding geometric envelope rectangles in the standardized element model are classified to obtain sets of elements of different categories; Spatial indexes are constructed for different categories of feature sets to generate a hierarchical spatial index structure.

[0010] This invention provides an automatic generation method for PCB panelization data. By pre-calculating the geometric envelope rectangle for each element and performing process-layer-based classification indexing, the originally disordered and dense PCB element data is transformed into a hierarchical, structured, and efficient spatial data structure. This not only greatly accelerates core spatial query operations such as neighborhood search and collision detection in subsequent panelization layout, reducing their time complexity to O(log n), but also, through hierarchical management, aligns with the physical stacking characteristics of PCBs, providing a solid performance foundation for processing large-scale, high-density design data, thereby ensuring the smoothness and efficiency of the entire automated panelization process.

[0011] In one optional implementation, spatial indexes are constructed for different categories of feature sets to generate a hierarchical spatial index structure, including: Using the geometric envelope rectangle of each feature as the key, all features are inserted into the index tree corresponding to their respective layer type using the STRtree structure; Perform spatial index building operations on the index tree to generate a hierarchical spatial index structure.

[0012] This invention provides an automatic generation method for flying probe panel data. By using STRtree to batch construct classified geometric envelope rectangles, temporary data is transformed into a highly optimized balanced tree structure, thereby achieving O(logn) level efficient spatial query for ultra-large-scale PCB elements.

[0013] In one optional implementation, the preset panelization parameters include the number of rows, the number of columns, and the process spacing; Based on a hierarchical spatial index structure and preset panel parameters, a collision-free panel layout is generated, including: Calculate the minimum envelope rectangle of the single board; An alignment point matrix is ​​generated based on the minimum envelope rectangle, the number of rows, the number of columns, and the process spacing. An initial position is assigned to each board based on the alignment point matrix. A board is an instance of a single board in the panel layout. All boards form a panel array with the number of rows × the number of columns. Based on the hierarchical spatial index structure, collision detection is performed on each board. If a conflict is detected, at least one of the offset, rotation angle or mirror state of the board is adjusted according to the preset avoidance strategy set until all boards meet the preset process spacing and safety distance constraints, generating a collision-free panel layout.

[0014] This invention provides an automatic generation method for fly-needle panel data. Based on the geometry and process requirements of each panel, an initial array is automatically generated. Subsequently, a hierarchical spatial index is used to perform rapid collision detection on each panel instance, and its pose is dynamically adjusted based on an intelligent avoidance strategy until all process and safety constraints are fully met. This process not only completely eliminates the errors and time-consuming problems of traditional manual layout but also ensures the accuracy and manufacturability of the layout results, significantly improving the efficiency and reliability of panel design.

[0015] In one alternative implementation, the collision-free panel layout includes panel pose information, test points, and auxiliary markers; Based on the collision-free panel layout, the final panel layout data after confirmation is generated, including: Based on the board pose information, the board, test points and auxiliary marks are drawn in layers to generate an initial visual preview of the assembly; The preview image provides view transformation operations including zooming, panning, rotating, and mirroring, as well as selection, highlighting, and annotation functions for specific panels or elements. It also responds to user interaction in real time and dynamically refreshes the preview image through incremental updates and batch drawing technology. Receive the user's layout confirmation instruction for the preview image, and generate the confirmed panel layout data based on the final pose state of all current panels.

[0016] This invention provides an automatic generation method for fly needle puzzle data. By transforming abstract layout data into a high-fidelity, real-time interactive visual preview, and supplementing it with high-performance graphics rendering technology, it provides users with an intuitive and smooth environment for layout review and confirmation. Users can directly operate and verify the puzzle results. All their interactions and confirmation operations are captured by the system in real time and synchronously updated to the data model, ultimately outputting accurate layout data that has been manually confirmed.

[0017] In one optional implementation, based on the final panel layout data and corresponding test point information, a target format is exported to generate flying pin panel test data, including: The final panel layout data and corresponding test point information are mapped to a target file in the target format and then exported. The exported target file is subjected to data consistency checks, including the uniqueness of the network number, the correctness of the layer type, and the compliance of the coordinate range, to obtain flying probe panel test data, which includes the target file, board offset, and traceable operation log.

[0018] This invention provides an automatic data generation method for flying probe panelization. It automatically completes data mapping and file generation according to the target format specification, and ensures the absolute accuracy of key data such as network, layer attributes, and coordinates through a strict consistency verification mechanism. The final output data package integrates test files that can be directly used in production, precise board offsets, and complete operation logs, eliminating the format and data errors that are easily generated by traditional manual export, and ensuring that the data is plug-and-play and fully traceable in the downstream flying probe testing process.

[0019] Secondly, the present invention provides an automatic data generation device for flying needle mosaic panels, the device comprising: The data parsing and standardized modeling module is used to read the PCB design file of a single board, and to parse and standardize the PCB design file to obtain a standardized element model; The spatial index building module is used to construct a hierarchical spatial index structure for different categories of features in a standardized feature model. The automatic panelization module is used to generate a collision-free panelization layout based on a hierarchical spatial index structure and preset panelization parameters. The rendering and interaction module is used to generate the final, confirmed panel layout data based on the collision-free panel layout. The data export module is used to export the final puzzle layout data and corresponding test points in the target format to generate flying needle puzzle test data.

[0020] Thirdly, the present invention provides an electronic device, comprising: a memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the computer instructions to perform the flying needle mosaic data automatic generation method of the first aspect or any corresponding embodiment described above.

[0021] Fourthly, the present invention provides a computer-readable storage medium storing computer instructions for causing a computer to execute the flying needle mosaic data automatic generation method of the first aspect or any corresponding embodiment described above.

[0022] Fifthly, the present invention provides a computer program product, including computer instructions, which are used to cause a computer to execute the flying needle mosaic data automatic generation method of the first aspect or any corresponding embodiment described above. Attached Figure Description

[0023] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0024] Figure 1 This is a schematic diagram of an application scenario according to an embodiment of the present invention; Figure 2 This is a schematic diagram of the first step of the automatic generation method for flying needle mosaic data according to an embodiment of the present invention; Figure 3 This is a schematic diagram of the second process of the automatic generation method of flying needle mosaic data according to an embodiment of the present invention; Figure 4 This is a schematic diagram of the third process of the automatic generation method of flying needle mosaic data according to an embodiment of the present invention; Figure 5 This is a schematic diagram of the fourth process of the automatic generation method of flying needle mosaic data according to an embodiment of the present invention; Figure 6 This is a schematic diagram of the multi-format parsing process and command set mapping according to an embodiment of the present invention; Figure 7 This is a schematic diagram of the automatic panel assembly algorithm according to an embodiment of the present invention; Figure 8 This is a schematic diagram of the alignment point matrix according to an embodiment of the present invention; Figure 9 This is a schematic diagram of the STRtree hierarchical index structure and query according to an embodiment of the present invention; Figure 10 This is a schematic diagram of a space collision detection and avoidance strategy according to an embodiment of the present invention; Figure 11 This is a schematic diagram of the test point optimization process and rule engine according to an embodiment of the present invention; Figure 12 This is a schematic diagram of UI interaction and display modes (line / non-test point / test position) according to an embodiment of the present invention. Figure 13 This is a before-and-after comparison diagram of the panels according to an embodiment of the present invention; Figure 14 This is a schematic diagram of the exported data structure and option mapping according to an embodiment of the present invention; Figure 15 This is a comparison chart of experimental data and performance according to an embodiment of the present invention; Figure 16 This is a comparison chart of single indicators of panelization time according to an embodiment of the present invention; Figure 17 This is a comparison chart of error rates based on an embodiment of the present invention; Figure 18 This is a comparison chart of the maximum number of points for a single indicator according to an embodiment of the present invention; Figure 19 This is a comparison chart of single-index rendering frame rate according to an embodiment of the present invention; Figure 20 This is a structural block diagram of the automatic data generation device for flying needle splicing according to an embodiment of the present invention; Figure 21 This is a schematic diagram of the hardware structure of an electronic device according to an embodiment of the present invention. Detailed Implementation

[0025] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0026] It is understood that before using the technical solutions disclosed in the various embodiments of the present invention, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in the present invention and their authorization should be obtained in accordance with relevant laws and regulations through appropriate means.

[0027] As an optional application scenario of this invention, such as Figure 1 As shown in the figure, an automatic data generation system for flying needle mosaicking provided by an embodiment of the present invention includes: a parsing layer, a business layer, and a presentation layer. The parsing layer provides a command-driven row-level parser that maps the input data stream to a unified geometric and attribute model. The business layer provides service interfaces for data aggregation, spatial indexing, layout optimization, and rule processing. The presentation layer is a display engine for layered rendering, interactive feedback, and incremental updates.

[0028] The parsing layer includes a multi-format intelligent parsing module (i.e., a parser reader) and a standardized model. The multi-format intelligent parsing module supports parsing various sub-formats under the IPC-356A standard (such as MNF, MNF2, EMM, CAR, DRL), processing files through command-driven streaming parsing technology. Specifically, it identifies and parses sub-formats such as MNF / MNF2 / EMM / CAR / DRL, employing command-driven line-level streaming parsing and incremental processing with a 16MB buffer, unifying coordinates and units, and establishing network / layer associations.

[0029] Standardized models are used to define uniform feature models (such as pads, wires, holes, and contours) and geometric interfaces, mapping the parsed raw data into standardized objects with geometric information, network attributes, and layer type identifiers.

[0030] The business layer includes: a core data container, a spatial indexing module, an automatic data mosaicking module, a test point optimizer, and a configuration and event management module. Among these: Core data container: Used to hold and manage standardized model data from the parsing layer, and coordinate subsequent processing flows.

[0031] Spatial Index Module: Used to build hierarchical spatial indexes (Component / Solder / Internal) based on STRtree, supporting dynamic insertion / deletion and O(logn) queries, and used for neighborhood search and collision detection.

[0032] Automatic panelization module: Calculates the minimum envelope rectangle, generates an M×N alignment point matrix, determines the offset / rotation angle / mirror strategy of each panel, and performs collision detection and automatic avoidance in combination with process spacing and safety distance. It supports repeated arrangement and numbering strategies.

[0033] The intelligent test point processing module identifies non-test points based on size thresholds, prohibited areas, access codes, and custom rules; it strategically processes SMD hole locations and buried resistors / capacitors for network integrity verification. Example parameters for custom rules are as follows: Non-test points: minimum diameter MinDiameter, forbidden zones ForbiddenZones, access code set AccessCode, user rule array UserRules[]; SMD Hole Position: SMD Hole Minimum Size SmdHoleMin, SMD Hole Maximum Size SmdHoleMax, LayerAssociationPolicy; Buried Types: BuriedTypeSet, NetIntegrityCheck; Configuration and Event Module: Parameter management and event bus (EventAggregator) to achieve loosely coupled communication, exception capture and traceable logging.

[0034] The presentation layer includes: the MVVM framework, a high-performance graphics rendering engine, and enterprise-grade UI controls. Among them: MVVM (Model–View–ViewModel) framework: It adopts the model-view-view model pattern (such as the Prism framework) to separate interface logic from business logic and improve code maintainability.

[0035] High-performance graphics rendering engine: Utilizes SkiaSharp hardware acceleration for layered rendering and incremental updates, providing zoom / pan / rotate / mirror interaction and highlight selection, with a target frame rate of ≈60 FPS (Frames Per Second).

[0036] Enterprise-grade UI controls: Utilizing professional UI control libraries (such as Syncfusion) to provide rich and professional interface components such as data grids, tree lists, and dialog boxes, enhancing the user experience. The Flying Needle Puzzle Data Automatic Generation System relies on Windows 10 / 11 x64; an 8-core CPU; 16GB+ RAM; and optional dedicated graphics cards, which can improve rendering performance.

[0037] According to an embodiment of the present invention, an embodiment of an automatic generation method for flying needle mosaic data is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0038] This embodiment provides a method for automatically generating flying needle mosaicking data, which can be used in the aforementioned electronic or terminal devices. The electronic or terminal devices are equipped with an automatic flying needle mosaicking data generation system. Figure 2 This is a flowchart of the automatic generation method for flying needle mosaic data according to an embodiment of the present invention, such as... Figure 2 As shown, the process includes the following steps: Step S201: Read the PCB design file of the single board, and parse and standardize the PCB design file to obtain a standardized element model.

[0039] Specifically, a single board refers to a standalone circuit board unit that can ultimately be assembled or used. For example, the motherboard of a mobile phone or the network card in a router are both "single boards".

[0040] PCB design files are standardized data files that engineers export after designing using EDA software (such as Altium Designer and Cadence Allegro) for production. These files contain all graphics, layers, nets, drill holes, test points, and other information.

[0041] At the parsing layer, the specific sub-formats of the PCB design file are automatically identified, and the corresponding parser is called to efficiently read the file content in a command-driven streaming manner. Subsequently, standardized modeling is performed: using FeaturesModel / StandardModel / IShape as abstractions, the geometry and attributes of pads, wires, outer contours, tool holes, etc. are unified; master-slave relationships and Piece / PlaneNet structures are used.

[0042] The specific operation involves mapping the parsed raw commands and parameters into a standardized element model with a unified interface. This model fully integrates the geometric information, network attributes, and layer classification identifiers of the elements, thereby transforming diverse and structurally varied raw design data into a unified, structured, high-quality data set that can be directly used for subsequent intelligent layout and optimization analysis within the system. An element specifically refers to the smallest independently identifiable and processable geometric unit or logical object in a PCB design file, such as every specific graphic, hole, or identifier on a circuit board.

[0043] Step S202: Construct a hierarchical spatial index structure for different categories of elements in the standardized element model.

[0044] Specifically, the hierarchical spatial index structure is a composite indexing system designed for efficient processing of complex spatial data from PCBs. It combines the physical layering structure of PCBs with spatial search optimization algorithms to address the performance bottleneck of large-scale, high-density feature queries. It is a data organization structure that categorizes data by layer, builds a tree structure for each layer, and enables fast lookups.

[0045] At the business layer, the STRtree index tree is constructed by dividing the tree according to the layer type; an Envelope (geometric envelope rectangle) is inserted and the STRtree's Build() method is called to generate a balanced tree with the highest query efficiency; neighborhood query and fast collision are performed; the time required for index construction is O(nlogn), where n is the total number of features, and the time for neighborhood query is O(logn).

[0046] Step S203: Based on the hierarchical spatial index structure and preset panel parameters, generate a collision-free panel layout.

[0047] Specifically, at the business layer, the single-board envelope rectangle is calculated based on the hierarchical spatial index structure and preset panelization parameters. An M×N alignment point matrix is ​​generated based on the minimum envelope rectangle of the single board, and initial positions and pose strategies are assigned to each board. Collision detection is then performed through the hierarchical spatial index structure, and offset, rotation, or mirror avoidance adjustments are automatically executed under process spacing and safety distance constraints. Finally, collision-free repetitive arrangement of boards is achieved and automatic numbering and labeling are completed, thereby generating a panelization layout that meets all manufacturing constraints.

[0048] This step is the automated panelization process. Based on the standardized model set of single boards, an automated layout process for M×N panels is constructed. The goal is to minimize the panel footprint and ensure a collision-free layout while meeting process spacing and safety distance constraints. The specific process is as follows: 1. Input and parameters: Single-plate geometric envelope and element set (Including pads, wires, outer contours, holes, planar meshes, non-test features, etc.)

[0049] Panel parameters ,in For process spacing, For the number of rows, For column numbers, For a safe distance, For the available rotation set, This is a mirroring strategy.

[0050] 2. Hierarchical spatial index structure (like Figure 9 As shown in the figure, it is used for neighborhood candidate retrieval and fast collision determination.

[0051] Geometric Modeling and Panel Dimensions: Calculating the Minimum Envelope Rectangle of a Single Panel The panel's width and height are determined by , Give, For panel width, For panel height, The width of the minimum envelope rectangle of a single board. The height of the minimum envelope rectangle of the single board.

[0052] Alignment matrix and initial layout (e.g.) Figure 7 (as shown) Generate alignment point matrix (Row-major or column-major order is acceptable). For example... Figure 8 As shown.

[0053] Initial placement: ; ; .

[0054] 3. Collision detection and judgment (e.g.) Figure 10 (as shown) Candidate Search: For key in Execution Obtain neighborhood candidate set .

[0055] Precise judgment: Correct Perform Envelope+geometric precision analysis to determine if the minimum distance is satisfied. .

[0056] Local avoidance strategies (priority and heuristics): 1) Slight displacement (Offset): .

[0057] 2) Rotate: Choose the pose that minimizes the number of conflicts / overlap area from a finite set.

[0058] 3) Mirror: Select when mirroring is allowed. This is to reduce local congestion and ensure that network layer consistency checks pass.

[0059] Termination condition: These three steps satisfy all pairs after local iteration. Constraints, or global rollback and retry after reaching the preset iteration limit (usually convergence can be achieved without global rollback).

[0060] Objective function and constraints: Objective: Minimize (or given) (Maximize the number of pieces that can be accommodated).

[0061] constraint: Maintain process spacing With the set of allowed rotation or mirroring strategies; network / layer consistency and coordinate unit specifications.

[0062] 4. Numbering and Output: Numbering strategy: Generate part numbers and location labels in row-first or column-first order to ensure traceability.

[0063] Output offset CSV and test point data (EMM / EJB, etc.) consistency mapping, combined with logs to form a complete export process.

[0064] Complexity and performance: Index building app Single item neighborhood retrieval The precise judgment and avoidance take approximately constant time on a small candidate set.

[0065] Overall layout process It meets the requirements for interactive confirmation and rapid output at a feature scale of 100,000.

[0066] Correctness and robustness: Invariants: After layout is completed, the following conditions must be met: no collisions, no violation of process and safety constraints, and consistency verification between numbering and output is passed.

[0067] Robustness: Prioritize displacement avoidance for boundary components (near the panel edge); set thresholds and tolerances for floating-point errors; record anomalies and roll back to the most recent stable state.

[0068] 5. Engineering implementation abstract mapping: Alignment and Layout: AlignPoint / PlateLayout (Alignment matrix generation and offset / rotation / mirroring assignment).

[0069] Spatial query: SearchService (STRtree hierarchical index, Envelope candidate retrieval, geometric precision judgment).

[0070] Data model: StandardModel / IShape (Unified Geometry and Attribute Contract), supporting Envelope, pose, and layer / mesh attributes.

[0071] Step S204: Based on the collision-free panel layout, generate the confirmed final panel layout data.

[0072] Specifically, at the presentation layer, based on a collision-free panel layout, SkiaSharp hardware acceleration is used for layered rendering and incremental updates to generate an interactive panel preview. This interface provides view transformations such as zooming, panning, rotating, and mirroring, as well as display mode switching for lines / test points and the ability to select highlighting and annotation functions. By responding to user interactions and updating the view in real time, the interface finally receives user confirmation commands and generates the confirmed final panel layout data based on the latest pose status of all panels.

[0073] Step S205: Based on the final panel layout data and the corresponding test points, export the target format to generate flying pin panel test data.

[0074] Specifically, the export and verification modules include OutputOptions, consistency verification, and logging.

[0075] At the presentation layer, based on the final panel layout data and corresponding test points, the system first maps and exports the data into target files containing offset CSVs and standard test point data, according to the user-selected target format (such as EJB (Electrical Justification Blocks) or EMM (Extracted Measurement Model)) and filtering options. Then, a strict consistency check is performed on all exported files to ensure the accuracy of core data such as network, layer attributes, and coordinates. Finally, the system generates a complete flying probe panel test data package that integrates all target files, verification reports, and traceable operation logs, which can be directly used in downstream production and testing processes.

[0076] The automatic generation method for flying needle mosaic data provided in this embodiment solves the multi-format compatibility problem through intelligent parsing and standardized modeling, providing a unified and reliable data foundation for subsequent processing. Relying on automatic mosaic algorithm and spatial indexing technology, it completely changes the strong dependence of mosaic layout on human experience, achieving efficient and accurate collision-free arrangement. Through a high-performance rendering engine, it ensures smooth visualization and interactive confirmation under large-scale data, overcoming performance bottlenecks. Finally, it optimizes and verifies test points with intelligent rules and achieves standardized export, ensuring the quality and direct usability of the final data.

[0077] This embodiment provides a method for automatically generating flying needle mosaicking data, which can be used in the aforementioned electronic or terminal devices. The electronic or terminal devices are equipped with an automatic flying needle mosaicking data generation system. Figure 3 This is a flowchart of the automatic generation method for flying needle mosaic data according to an embodiment of the present invention, such as... Figure 3 As shown, the process includes the following steps: Step S301: Read the PCB design file of the single board, and parse and standardize the PCB design file to obtain a standardized element model.

[0078] Specifically, the PCB design file includes a file extension and file header characteristics, and step S301 above includes: Step S3011: Identify the sub-format to which the PCB design file belongs based on the file extension and file header characteristics.

[0079] Step S3012: Using a command parser corresponding to the sub-format, the PCB design file content is parsed in a command-driven streaming and incremental processing manner to obtain a command set and a parameter set.

[0080] The core objective of steps S3011 and S3012 is to input data. (IPC-356A subformat) Parsed operator To obtain a standardized model set .like Figure 6 As shown, the implementation process of steps S3011 and S3012 is as follows: Input: PCB design file path, inferred sub-format (extension + file header characteristics); Processing: Select ParseReader IPC356A and the corresponding CommandEngine; command-driven streaming mode reading (buffer ≈ 16MB); standardize coordinates / units; Standardized modeling: Map the opcode (command word) OPCODE to StandardModel and IShape; establish associated attributes, including net number, layer number, and layer type (Component / Solder / Internal). Progress and Logs: Feedback on parsing progress every ≈1%; exceptions (unknown commands / missing coordinates) are recorded and skipped with error tolerance; Syntax and Semantics: Defining Command Set Syntax With parser command sequence Mapped to a set of features This ensures coordinate uniformity and layer / mesh consistency. A normalization operator is employed. Unify coordinate system, units, and layer / mesh attributes.

[0081] Step S3013: Map the command set and parameter set to a standardized feature model with a unified interface; the standardized feature model includes geometric information, associated attributes, and layer classification identifiers.

[0082] Abstraction: FeaturesModel / StandardModel / IShape unifies pads, wires, outer contours, holes, planar meshes, and non-test features; Structure: Master-slave relationship (Piece / PlaneNet); rotation angle, mirroring, position, shape size and envelope; Abstract Model (i.e., Standardized Element Model): Defines the elements attribute vector Shape primitives and position .

[0083] In this system, NetNo represents the network number, indicating electrical identity; LayerNo represents the layer number, indicating process identity, such as Component / Solder / Internal; Shape is the shape primitive, represented by S; Pose represents the pose, indicating spatial state. Rect represents a rectangle, which can represent square pads, chip package outlines, filled areas, etc.; Circle represents a circle, which can represent circular pads, vias, arcs, etc.; Line represents a line segment, which can represent wires, board outlines, etc. x, y represent translation, θ represents rotation, and Mirror represents mirroring.

[0084] Step S302: Construct a hierarchical spatial index structure for different categories of elements in the standardized element model.

[0085] Specifically, the index operator is used. Construct a hierarchical spatial index structure (such as STRtree). Step S302 above includes: Step S3021: Calculate the geometric envelope rectangle for spatial query corresponding to each feature in the standardized feature model.

[0086] Specifically, the geometric envelope rectangle is calculated using the shape primitive and the pose primitive.

[0087] Local definition: Each shape primitive (rectangle, circle, line segment) has a standard definition in its own local coordinate system (e.g., the center of a circle is at the origin, and the center of a rectangle is at the origin).

[0088] Pose transformation: Transform local coordinates to the world coordinate system through pose (translation, rotation, mirroring).

[0089] Projection extremum: Calculate the projection range of the transformed shape on the X and Y axes to form an axis-aligned envelope rectangle.

[0090] For example, the calculation method for circular shape primitives is as follows: Local definition: The center of the circle is located at (0,0) and the radius is r.

[0091] After transformation: the center of the circle is translated to (x,y), and rotation and mirroring do not change the shape and radius of the circle.

[0092] Envelope rectangle calculation: minX = x – r; maxX = x + r; minY = y – r; maxY = y + r.

[0093] Apply the complete pose transformation (mirror → rotation → translation) to each of the four vertices to obtain four points in the world coordinate system.

[0094] Geometric envelope rectangle calculation: For these four transformed vertices, calculate respectively: minX=min(v1.x,v2.x,v3.x,v4.x); maxX=max(v1.x,v2.x,v3.x,v4.x); minY=min(v1.y,v2.y,v3.y,v4.y); maxY=max(v1.y,v2.y,v3.y,v4.y).

[0095] Step S3022: Based on the layer classification identifier, classify the elements and their corresponding geometric envelope rectangles in the standardized element model to obtain sets of elements of different categories.

[0096] In some optional implementations, step S3022 above includes: Step a1: Using the geometric envelope rectangle of each feature as the key, insert all features into the index tree corresponding to their respective layer type using the STRtree structure.

[0097] The index tree is an independent spatial index instance built on STRtree for specific PCB layer types (such as component layers, solder layers, and inner layers). Each index tree is organized using the geometric envelope rectangle of all elements within that layer as the key value. Through an internally optimized balanced structure (such as a variant of R-tree, like the Sort-Tile-Recursive algorithm), efficient spatial management of elements within that layer is achieved. This hierarchical and tree-based structure allows spatial queries for a specific layer (such as neighborhood search and collision detection) to be performed only in its corresponding single tree. This maintains the clarity of the PCB process hierarchy logic while achieving fast retrieval with near O(log n) complexity, providing core data access capabilities to support real-time collision detection and avoidance optimization in subsequent panel layout.

[0098] Using the geometric envelope rectangle of each feature as the key, the specific operation of inserting all features into the index tree corresponding to their respective layer type using the STRtree structure is as follows: Using the geometric envelope rectangle corresponding to each standardized feature model as the key, identify the layer type identifier to which the feature belongs, and insert it as associated data into the STRtree index tree of the corresponding layer type; if the index tree for that layer type has not yet been initialized, create an empty STRtree instance first, and then perform the insertion operation. After this step is completed, each layer type has an unoptimized index tree containing all its features.

[0099] Step a2: Perform a spatial index building operation on the index tree to generate a hierarchical spatial index structure.

[0100] Build: Divide the tree according to the layer type and the necessary layer number; insert the geometric envelope rectangle of each feature into the STRtree and then call the Build() operation.

[0101] Query: Neighborhood search and candidate set; combined with geometric precision judgment to achieve fast collision detection.

[0102] The specific operation is as follows: For the unoptimized STRtree index tree corresponding to each layer type, its construction method (such as Build()) is called to trigger the internal batch optimization algorithm. This algorithm performs global analysis, regrouping, and balancing of all envelope rectangles in the tree based on the Sort-Tile-Recursive strategy, forming a highly efficient query structure with balanced depth and minimized node overlap. The construction time complexity is O(nlogn), and the query time complexity is approximately O(logn).

[0103] Step S3023: Construct spatial indexes for different categories of feature sets to generate a hierarchical spatial index structure.

[0104] Index structure: based on the geometrical envelope rectangle of the features Using the key, a balanced spatial index for layer grouping is constructed; it supports Insert, Delete, and Query (E(·)) functions, and uses a neighborhood candidate set in conjunction with geometric precision to complete collision detection. Indicates the range of queries.

[0105] Once constructed, the optimized index trees of each layer together form a complete hierarchical spatial index structure, supporting neighborhood search and collision detection with O(logn) complexity. A diagram illustrating the STRtree hierarchical index structure and query logic is shown below. Figure 9 As shown. Figure 9 This document intuitively illustrates how to spatially partition and index the bounding rectangles of elements at each layer of a PCB using a hierarchically organized STRtree structure. It also demonstrates how to perform fast spatial retrieval of a given query range (such as a collision detection region) using this structure, ultimately obtaining a precise set of candidate elements, including: 1. Index structure section: STRtree(Root)->STRtree index(root node); Internal Nodes / Branch Nodes -> Internal nodes / branch nodes; Leaf Nodes -> Leaf nodes; Bounding Box / Envelope -> Bounding Box / Envelope Rectangle; Geometric Feature (e.g., Pad, Via) -> Geometric features (e.g., pads, vias); Layer: Component / Solder / Internal -> Layer: Component Layer / Solder Layer / Internal Layer.

[0106] 2. Query process section: Query Range / Window -> Query Range / Window; Search / Query Process; Candidate Results; Filter & Precision Detection -> Filtering and Precision Detection; Final Results.

[0107] 3. Relationships and annotations: Hierarchy / Level -> Hierarchy / Level; Spatial Partition; Indexing -> Index building.

[0108] Query -> Search.

[0109] Step S303: Based on the hierarchical spatial index structure and preset panel parameters, generate a collision-free panel layout. For details, please refer to [link to details]. Figure 2 Step S203 of the illustrated embodiment will not be described again here.

[0110] Step S304: Based on the collision-free panel layout, generate the confirmed final panel layout data. For details, please refer to [link to details]. Figure 2 Step S204 of the illustrated embodiment will not be described again here.

[0111] Step S305: Based on the final panel layout data and corresponding test points, export the data in the target format to generate flying pin panel test data. For details, please refer to [link to relevant documentation]. Figure 2 Step S205 of the illustrated embodiment will not be described again here.

[0112] The automatic generation method for flying probe panel data provided in this embodiment systematically solves the problems of poor compatibility, low efficiency, and data heterogeneity in traditional multi-format PCB design file processing by automatically recognizing file formats, employing efficient streaming parsing methods, and outputting a unified standard data model. By pre-calculating the geometric envelope rectangle for each element and performing process-layer-based classification indexing, the originally disordered and dense PCB element data is transformed into a hierarchical, structured, and efficient spatial data structure.

[0113] This embodiment provides a method for automatically generating flying needle mosaicking data, which can be used in the aforementioned electronic or terminal devices. The electronic or terminal devices are equipped with an automatic flying needle mosaicking data generation system. Figure 4 This is a flowchart of the automatic generation method for flying needle mosaic data according to an embodiment of the present invention, such as... Figure 4 As shown, the process includes the following steps: Step S401: Read the PCB design file of the single board, parse and standardize the PCB design file to obtain a standardized element model. For details, please refer to [link to relevant documentation]. Figure 3 Step S301 of the illustrated embodiment will not be described again here.

[0114] Step S402 involves constructing a hierarchical spatial index structure for different categories of features in the standardized feature model. For details, please refer to [link to relevant documentation]. Figure 3 Step S302 of the illustrated embodiment will not be described again here.

[0115] Step S403: Based on the hierarchical spatial index structure and preset panel parameters, generate a collision-free panel layout.

[0116] Specifically, step S403 is an automatic panelization process. The preset panelization parameters include the number of rows, the number of columns, and the process spacing, which are determined by the layout operator. According to parameters (M×N, spacing, safety distance, rotation / mirror strategy) Generate mosaic results .

[0117] Automatic panel assembly algorithm: Rect=MinimumBoundingRectangle(features); PanelW = M × Rect.W + (M-1) × D; PanelH = N × Rect.H + (N-1) × D; for i in [0..M-1]: for j in [0..N-1]: Align[i][j]=(i×(Rect.W+D),j×(Rect.H+D)); Piece[i][j].Offset=Align[i][j]; Piece[i][j].Rotate=ChooseRotateByRule(Piece[i][j]); Conflicts=STRtree.Query(GetEnvelope(Piece[i][j])); If Conflicts is not empty: Piece[i][j].Offset=AdjustOffset(Piece[i][j],Conflicts,safetyMargin).

[0118] STRtree index: hierarchical tree construction, dynamic Insert / Delete / Query (Envelope), neighborhood search and collision detection; Envelope and collision detection: Convex hull / bounded rectangle calculation, orientation optimization to reduce panel area; Envelope candidate query + geometric precision judgment, offset / rotation / mirror avoidance strategies; Test point rules: Non-test point identification (size threshold / prohibited area / access code / custom), SMD hole positions and buried resistors and capacitors are strategically marked and associated with the network layer, and connection integrity is verified.

[0119] The automatic panel assembly algorithm process is as follows: Figure 7 As shown, step S403 above includes: Step S4031: Calculate the minimum envelope rectangle of the single board.

[0120] Specifically, the minimum envelope rectangle (MBR) is calculated by traversing the geometric envelope rectangles of all standardized element models of the board in the global coordinate system, and finding the minimum and maximum values ​​of their projections on the X and Y axes respectively. This determines the minimum axis-aligned rectangle that can completely enclose all elements of the board, resulting in the minimum envelope rectangle with a width of W and a height of H.

[0121] Step S4032: Generate an alignment point matrix based on the minimum envelope rectangle, number of rows, number of columns and process spacing, and assign an initial position to each board based on the alignment point matrix; a board is an instance of a single board in the panel layout, and all boards form a panel array with the number of rows × the number of columns.

[0122] Specifically, the theoretical overall dimensions of the panel are calculated based on the width W and height H of the minimum envelope rectangle, the number of rows M, the number of columns N, and the process spacing D. The overall dimensions of the panel are calculated using the following formula: ; ; Using the top left corner of the panel as the origin, calculate the coordinates of each grid point in row-major order: the alignment point coordinates of the i-th row and j-th column are (j×(W+D), i×(H+D)), forming an M×N alignment point matrix. An example of an alignment point matrix is ​​shown below. Figure 8 As shown.

[0123] Set the initial offset of each panel instance to the corresponding alignment point coordinates; and assign an initial rotation angle and mirror state to each panel according to the preset rotation strategy set (such as {0°, 90°, 180°, 270°}) and mirror strategy (such as none, X, Y), thereby forming the initial panel array.

[0124] Step S4033: Based on the hierarchical spatial index structure, collision detection is performed on each board. If a conflict is detected, at least one of the offset, rotation angle or mirror state of the board is adjusted according to the preset avoidance strategy set until all boards meet the preset process spacing and safety distance constraints, and a collision-free panel layout is generated.

[0125] Specifically, the schematic diagram of the space collision detection and avoidance strategy is as follows: Figure 10 As shown, it includes: Collision detection: Call STRtree to query the candidate set, perform Envelope + geometric precision judgment, and adjust Offset / Rotate / Mirror as necessary; specifically, it includes: traversing each board and transforming the geometric envelope rectangle of all elements within the board using its current pose (offset, rotation, mirror); based on the hierarchical spatial index structure, performing range query on each transformed envelope rectangle to quickly obtain the set of candidate elements with potential conflicts; performing precise geometric distance calculation on the candidate elements to determine whether they violate process spacing or safety distance constraints.

[0126] The safe distance constraint is: the geometric envelope rectangle of any two elements. ,Keep , Represents the geometric envelope rectangle The distance between them This indicates the safe distance threshold.

[0127] Alignment adjustment: The goal is to minimize the panel area occupied on the discrete alignment matrix. And satisfy collision-free and process constraints; the strategy space includes The combination of . These represent offset, rotation, and mirroring, respectively.

[0128] The preset avoidance strategy set is as follows: Conflict handling priority is: offset adjustment > rotation adjustment > mirror adjustment, such as: slight displacement adjustment (Offset); rotation within the allowed angle set (Rotate∈ {0°,90°,180°,270°}); mirror strategy (X / Y / Mixed), which requires network and layer consistency checks to pass. If a conflict is detected, the pose of the current board is adjusted according to the preset avoidance strategy set, including: Offset Adjustment: Fine-tune the offset in the X and Y directions near the current position to find a new position that meets the constraints.

[0129] Rotation adjustment: Select an angle from the set of allowed rotation angles that can reduce or eliminate conflict.

[0130] Mirroring adjustment: If mirroring is allowed, try changing the mirroring state to reduce local congestion.

[0131] After each adjustment, collision detection is performed again to assess the changes in conflict.

[0132] Iterative convergence: The process iteratively scans all panels, repeatedly performing collision detection and avoidance adjustments until all distances between panels and between panels and panel boundaries meet the process spacing and safety distance constraints. The final output is collision-free panel layout data (including the final offset, rotation angle, and mirror state of each panel). A before-and-after comparison diagram is shown below. Figure 13 As shown.

[0133] Step S404: Based on the collision-free panel layout, generate the confirmed final panel layout data.

[0134] By rendering operators Generate a layered visual view It also supports interaction; specifically including: Drawing: SkiaSharp layered drawing of board parts / test points / auxiliary markers; Interactive features: zoom / pan / rotate / mirror; select highlight, text annotation, crosshair cursor; Performance: Incremental update and batch rendering optimizations, target ≈ 60 FPS; Related code: Rendering Model: Define layered drawing functions Combining The interaction uses a group of view transformations (translation, scaling, rotation, mirroring) to maintain the topology of the features. For layered drawing functions, This indicates the panel layout data. Represents a hierarchical view. This represents a complete visual preview.

[0135] Specifically, step S404 includes: Step S4041: Based on the board pose information, draw the board, test points and auxiliary marks in layers to generate an initial panel visualization preview.

[0136] Specifically, the final pose information (including offset, rotation angle, and mirror state) of each panel in the collision-free panel layout is used as the core input to drive a hardware-accelerated graphics library (such as SkiaSharp) to execute a layered rendering process. Based on the feature type (panel outline, test points, auxiliary markers) and its corresponding process or logic layer, the corresponding style rules and drawing instructions are called to accurately convert the geometry of all features into pixel representations in screen coordinates, and synthesize them into a complete initial visual preview image that reflects the overall appearance of the panel, providing an intuitive visual basis for subsequent interactive confirmation.

[0137] Step S4042: On the preview image, provide view transformation operations including zooming, panning, rotating, and mirroring, as well as selection, highlighting, and annotation functions for specific panels or elements, and respond to user interaction operations in real time by dynamically refreshing the preview image through incremental updates and batch drawing technology.

[0138] A complete interactive system is integrated into the generated preview image: the view transformation module allows users to zoom, pan, rotate, and mirror to adjust the viewing angle; the selection and annotation module allows users to select specific panels or elements and trigger highlighting, text annotation, and other feedback. All interactive events are captured and processed in real time. The system uses an incremental update mechanism to redraw only the changed areas, and combines batch rendering technology to merge multiple rendering requests, thereby maintaining a high frame rate and smooth interactive experience while dynamically refreshing the preview image content.

[0139] Step S4043: Receive the user's layout confirmation instruction for the preview image, and generate the confirmed panel layout data based on the final pose state of all current panels.

[0140] Specifically, the system listens for and receives layout confirmation commands from users (such as clicking the "Confirm" button), which signifies the end of the manual review process. Subsequently, it captures the real-time pose state of all panel instances in the current preview (this state already includes any minor adjustments the user may make during interaction), maps them back from view coordinates to the engineering coordinate system, and structures and packages them into a panel layout data file containing the final offsets, rotation angles, and mirror states of all panels. This data constitutes the final layout definition, confirmed through visual interaction, and is available for downstream export and manufacturing. A schematic diagram of the UI interaction and display mode is shown below. Figure 12 As shown.

[0141] Step S405: Based on the final panel layout data and the corresponding test points, export the target format to generate flying pin panel test data.

[0142] Specifically, this step is the export and verification step, which involves exporting the operator. By option Output target file set (Test point, offset, log).

[0143] Specifically, it includes: Options: OutputOptions control EJB / EMM / CSV / Offset CSV, etc.; Verification: Consistency checks (network number / layer number / coordinate range) and logs; Related code, mappings and rules: Define export mappings It also performs consistency checks (unique network number, correct layer type, and limited coordinate range) and generates a traceable log. Indicates the derived mapping function. This represents the input parameter pairs of the exported function. This indicates the final panel layout data. This represents the set of export options. This represents the final output test data package for the flying probe panel.

[0144] The diagram illustrating the exported data structure and option mapping is as follows: Figure 14 As shown, step S405 above includes: Step S4051: Map the final panel layout data and the corresponding test point information into a target file in the target format and export it.

[0145] Specifically, the test point optimization process and rule engine diagram are as follows: Figure 11 As shown, taking the final panel layout data and optimized test point information as input, the system calls the corresponding format converter according to the user-configured export options (such as target format EJB / EMM / CSV, etc.). Based on the target format's syntax and data structure, the converter maps its internally unified standardized element model into specific command sequences, field arrangements, or binary structures, and simultaneously generates an offset file recording the precise pose of each panel within the panel. Finally, all converted data is written to an industry-standard physical file, forming a raw dataset that can be directly read by downstream flying probe testing equipment or production systems.

[0146] Step S4052: Perform data consistency checks on the exported target file, including the uniqueness of the network number, the correctness of the layer type, and the compliance of the coordinate range, to obtain flying probe panel test data including the target file, board offset, and traceable operation log.

[0147] Specifically, the verification process is automatically initiated after the file is exported. By parsing the generated target file, multi-dimensional rule checks are performed on its content, including: Verify the uniqueness and connectivity of network IDs to ensure there are no conflicts or isolated instances; Verify the matching between layer type identifiers and process specifications to rule out layer misuse; Check that all coordinate values ​​are within the theoretically acceptable range for the device. Any anomalies found during the verification process are logged.

[0148] Finally, all verified target files, board offset files, verification reports, and complete traceable operation logs are packaged into a self-contained, version-defined flying probe panel test data package, marking the completion of the final deliverable of the automated process.

[0149] The automatic data generation method for flying probe panelization provided in this embodiment automatically completes data mapping and file generation according to the target format specification, and ensures the absolute accuracy of key data such as network, layer attributes and coordinates through a strict consistency verification mechanism. The final output data package integrates test files that can be directly used in production, accurate board offsets and complete operation logs, eliminating the format and data errors that are easy to occur in traditional manual export, and ensuring that the data is plug-and-play and fully traceable in the downstream flying probe testing process.

[0150] As one or more specific application embodiments of the present invention, combined with Figure 5 , Figures 15 to 19 The automatic generation method for flying needle panel data provided by the present invention will be further described in detail, such as... Figure 5 As shown, it includes: S1. Data Parsing: Identify sub-formats and select command sets; row-level parsing and incremental construction; unify coordinates and units; establish network / layer information; parsing progress feedback at approximately 1% granularity. S2. Standardized Modeling: Using FeaturesModel / StandardModel / IShape as abstractions, unify the geometry and attributes of pads, wires, outer contours, tool holes, etc.; master-slave relationships and Piece / PlaneNet structure; S3. Spatial Index Construction: Constructing an STRtree by layer type; inserting an Envelope and Build(); neighborhood query and fast collision; index construction O(nlogn), query O(logn); S4. Automatic Panelization and Optimization: Minimum Envelope Rectangle and M×N Alignment Matrix; Offset / Rotation / Mirroring Strategy; Process Spacing and Safety Distance Constraints; Spatial Collision Detection and Automatic Avoidance; Repeated Arrangement and Numbering Labeling; S5, Rendering and Interaction: SkiaSharp layered drawing and incremental updates; scaling / translation / rotation / mirroring; mode switching (line / non-test point / test position); selection feedback and annotation; S6. Export and Verification: Target format mapping and optional filtering; export offset CSV and test point data (EJB / EMM, etc.); consistency verification and logging.

[0151] Example 1 (Multi-format parsing and standardization): Input example: D:\Data\sample_board.mnf2, inferred subformat MNF2; Processing steps: Read and recognize the format → Select ParseReaderIPC356A_MNF / CommandEngine_MNF2; Row-level parsing and incremental construction → Unifying coordinates / units → Establishing network / layer information; Map to a StandardModel / IShape collection and generate an Envelope; Outputs: Standardized model set (including envelope / layer / network attributes), parsing logs, and progress; Related Files: Parsing Strategy Description: Select the corresponding command set based on the input subformat, follow the lexical / syntax rules of G, and use streaming incremental construction to ensure coordinate and unit normalization.

[0152] Example 2 (Automatic assembly and visual confirmation): Input example: Single board model set + parameters M=3, N=2, D=5mm, safetyMargin=2mm, RotatePolicy={0°,180°}; Processing steps: Calculate the geometric envelope rectangle (MBR) → Generate an M×N alignment matrix → Assign offset / rotation / mirror strategies; STRtree neighborhood candidate query + geometric precision judgment → avoidance (Offset / Rotate / Mirror); Number labeling → Rendering confirmation (mode switching and highlight selection); Output products: collision-free layout data, panel preview image, and conflict report (including the set of conflict pairs that were avoided); Related files: Layout and rendering instructions: Alignment, collision detection and avoidance are completed under the constraint set (spacing / safe distance / rotation strategy); the results are confirmed by layered rendering and interaction.

[0153] Example 3 (Test Point Optimization and Export): Input example: panel layout + test point set + export options Format=EMM,ExportOffsetsCsv=true; Processing steps: Rule identification (non-test point / SMD / embedded resistor / embedded capacitor) → optimization → export mapping and filtering; Consistency checks (network / layer / coordinates) and logging; Outputs: EMM test point file, offset CSV, optimization list, and verification report; Associated Files: Export Instructions: Based on the options, map the test points and offsets to the target format, and perform consistency checks and log output.

[0154] Experimental data and performance comparison chart are shown below Figure 15 As shown in the experimental data comparison chart, compared with traditional manual and semi-automatic methods, this invention achieves significant improvements in the core performance indicators of flying needle mosaic material production: mosaic time is drastically reduced from 30 minutes manually to 2 minutes, increasing efficiency by 93%; the error rate is reduced from 10% to 1%, increasing accuracy by 90%; the maximum number of points that can be processed increases from 10,000 to 50,000, increasing processing capacity by 400%; and the rendering frame rate increases from 10 FPS to 60 FPS, improving interactive smoothness by 500%. The comprehensive data demonstrates that this invention effectively solves the technical bottlenecks of low efficiency, error-proneness, limited processing scale, and interactive lag, achieving a leap from manual experience-driven to fully automatic, high-performance processing.

[0155] The comparison chart of single indicators for puzzle time is as follows: Figure 16 As shown in the single-index comparison chart, this invention clearly demonstrates a qualitative leap in panelization efficiency: reducing the panelization time required by traditional manual methods from approximately 30 minutes to only about 2 minutes, resulting in an efficiency improvement of up to 93%. This not only verifies the significant advantages of the automated panelization algorithm over manual calculations and semi-automatic tools, but also directly proves, from the perspective of time consumption in core production processes, that this invention can effectively solve the fundamental problem of "high reliance on manual panelization layout and low efficiency," providing a crucial guarantee for the rapid delivery of PCB test data.

[0156] Error rate single indicator comparison chart as follows Figure 17 As shown in the error rate comparison chart, this invention, through automated and intelligent processing, significantly reduces the error rate of mosaic data production from approximately 10% for manual operation to approximately 1%, improving accuracy by 90%. This data directly verifies the effectiveness of core modules such as "intelligent analysis," "automatic mosaic algorithm," and "consistency verification" in the solution, proving that it can systematically eliminate quality defects caused by reliance on human experience and operational negligence, fundamentally solving the pain point of "insufficient accuracy" in the background technology, and providing a key guarantee for the high reliability of flying probe testing.

[0157] The chart comparing the maximum points single indicator is as follows: Figure 18 As shown in the comparison chart of maximum point count, this invention has achieved a breakthrough in data processing scale: the number of points that can be processed manually has been significantly increased from approximately 20,000 to 100,000, representing a 400% increase in processing capacity. This data directly verifies the efficient carrying and computing capabilities of core modules such as "multi-format intelligent parsing," "layered spatial index structure," and "high-performance rendering engine" for massive PCB elements, proving that it has completely solved the bottleneck of "insufficient big data processing and rendering performance" in the background technology, and can meet the needs of panel data production for modern high-density, ultra-large-scale PCB designs.

[0158] The rendering frame rate single metric comparison chart is as follows: Figure 19 As shown in the rendering frame rate comparison chart, this invention achieves a breakthrough in interactive visualization performance: increasing the manual operation's frame rate from approximately 10 FPS to a stable 60 FPS, resulting in a smoothness improvement of up to 650%. This data directly verifies the superior effects of rendering technologies such as "SkiaSharp hardware acceleration," "layered rendering," and "incremental updates" in the solution, indicating that it completely solves the interactive lag problem caused by "insufficient big data processing and rendering performance" in the background technology. It provides designers with a smooth, real-time panel layout review and adjustment experience, ensuring efficient human-computer collaboration.

[0159] It should be noted that, Figures 15 to 19 In this context, the scale represents the upper limit of the estimated value for the corresponding indicator, and the values ​​are derived from engineering assessments and sample tests.

[0160] The automatic generation method for flying needle mosaic data provided in this embodiment achieves the following beneficial effects: Efficiency: Manual / semi-automatic layout requires manual calculation of alignment and offset, with single-board splicing taking approximately 30 minutes; this solution's automatic layout process reduces the time to approximately 2 minutes, and batch concurrency further reduces the overall working time.

[0161] Accuracy and Consistency: Human operation is prone to errors (≈5–10%). This solution reduces the error rate to <1% through hierarchical spatial indexing + geometric precision judgment + consistency verification, and maintains repeatability and stability across different datasets.

[0162] Scalability and performance: With a feature scale of 100,000+, the baseline process is noticeably laggy; the indexing and incremental rendering links of this solution maintain smooth interaction (frame rate ≈ 60FPS).

[0163] Process constraints are satisfied: baseline depends on empirical rules and manual verification; this scheme internalizes the process spacing D and safety distance d_safe as hard constraints, iterates locally to avoid them and outputs a traceable report.

[0164] Integration and Export: Common coordinate / network inconsistencies in baseline export; This solution unifies the data contract and performs consistency checks and logging before outputting EMM / EJB / CSV and offset CSV, improving the quality of downstream integration.

[0165] Maintenance and traceability: The baseline lacks systematic events and logs; this solution's event bus and log links support anomaly location, result verification, and problem closure.

[0166] It enables rapid generation and optimization of flying probe test data for PCB manufacturing and testing processes, reducing labor costs, improving delivery efficiency and quality stability; and supports integration with existing MES / testing platforms.

[0167] This embodiment also provides an automatic data generation device for flying needle mosaicking, which is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0168] This embodiment provides an automatic data generation device for flying needle splicing, such as... Figure 20 As shown, it includes: The Data Parsing and Standardization Modeling Module 2001 is used to read the PCB design file of a single board, and to parse and standardize the PCB design file to obtain a standardized element model.

[0169] The Spatial Index Building Module 2002 is used to build hierarchical spatial index structures for different categories of features in a standardized feature model.

[0170] The automatic panelization module 2003 is used to generate collision-free panel layouts based on a hierarchical spatial index structure and preset panelization parameters.

[0171] The Rendering and Interaction Module 2004 is used to generate the final, confirmed panel layout data based on a collision-free panel layout.

[0172] The data export module 2005 is used to export the final panel layout data and corresponding test points in the target format to generate flying needle panel test data.

[0173] In some optional implementations, the PCB design file includes a file extension and file header characteristics; the data parsing and normalization modeling module 2001 includes: The sub-format identification unit is used to identify the sub-format to which a PCB design file belongs based on its file extension and file header features.

[0174] The parsing unit is used to parse the PCB design file content using a command parser corresponding to the sub-format, employing command-driven streaming reading and incremental processing to obtain the command set and parameter set.

[0175] The standardized feature model building unit is used to map command sets and parameter sets into standardized feature models with a unified interface; the standardized feature model includes geometric information, associated attributes, and layer classification identifiers.

[0176] In some alternative implementations, the spatial index construction module 2002 includes: The geometric envelope rectangle calculation unit is used to calculate the geometric envelope rectangle for spatial querying corresponding to each feature in the standardized feature model.

[0177] The classification unit is used to classify the elements and their corresponding geometric envelope rectangles in the standardized element model based on the hierarchical classification identifier, so as to obtain a set of elements of different categories.

[0178] The hierarchical spatial index structure generation unit is used to construct spatial indexes for different categories of feature sets, generating hierarchical spatial index structures.

[0179] In some optional implementations, the hierarchical spatial index structure generation unit includes: The STRtree structure creates sub-cells, which use the geometric envelope rectangle of each feature as the key value, and inserts all features into the index tree corresponding to the layer type using the STRtree structure.

[0180] The index building subunit is used to perform spatial index building operations on the index tree to generate a hierarchical spatial index structure.

[0181] In some optional implementations, the preset panelization parameters include the number of rows, the number of columns, and the process spacing; the automatic panelization module 2003 includes: The minimum envelope rectangle calculation unit is used to calculate the minimum envelope rectangle of a single board.

[0182] The matrix generation and initial position allocation unit is used to generate an alignment point matrix based on the minimum envelope rectangle, the number of rows, the number of columns and the process spacing, and to allocate an initial position for each board based on the alignment point matrix; a board is an instance of a single board in the panel layout, and all boards form a panel array with the number of rows × the number of columns.

[0183] The collision detection and conflict avoidance unit is used to perform collision detection on each board based on the hierarchical spatial index structure. If a conflict is detected, the offset, rotation angle or mirror state of the board is adjusted according to the preset avoidance strategy set until all boards meet the preset process spacing and safety distance constraints, and a collision-free panel layout is generated.

[0184] In some optional implementations, the collision panel layout includes panel pose information, test points, and auxiliary markers; the rendering and interaction module 2004 includes: The layered drawing unit is used to draw the board, test points and auxiliary marks in layers based on the board pose information, and generate an initial visual preview of the panel.

[0185] The rendering unit provides view transformation operations, including scaling, panning, rotation, and mirroring, on the preview image, as well as selection, highlighting, and annotation functions for specific panels or elements. It also responds to user interactions in real time and dynamically refreshes the preview image through incremental updates and batch rendering technology.

[0186] The panel layout data generation unit is used to receive the user's layout confirmation instruction for the preview image and generate the confirmed panel layout data based on the final pose state of all current panels.

[0187] In some alternative implementations, the data export module 2005 includes: The data export unit is used to map the final panel layout data and the corresponding test point information into a target file in the target format and then export it.

[0188] The consistency verification unit is used to perform data consistency checks on the exported target file, including the uniqueness of the network number, the correctness of the layer type, and the compliance of the coordinate range, to obtain flying probe panel test data including the target file, board offset, and traceable operation log.

[0189] The automatic data generation device for flying needle mosaicking provided in this embodiment of the invention can execute the automatic data generation method for flying needle mosaicking provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects for executing the method. Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.

[0190] Figure 21 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention.

[0191] The following is a detailed reference. Figure 21The diagram illustrates a structural schematic suitable for implementing an electronic device according to embodiments of the present invention. The electronic device may include a processor (e.g., a central processing unit, graphics processor, etc.) 2101, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 2102 or a program loaded from memory 2108 into random access memory (RAM) 2103. The RAM 2103 also stores various programs and data required for the operation of the electronic device. The processor 2101, ROM 2102, and RAM 2103 are interconnected via a bus 2104. An input / output (I / O) interface 2105 is also connected to the bus 2104.

[0192] Typically, the following devices can be connected to I / O interface 2105: input devices 2106 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 2107 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; memory devices 2108 including, for example, magnetic tapes, hard disks, etc.; and communication devices 2109. Communication device 2109 allows electronic devices to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 21 Electronic devices with various devices are shown, but it should be understood that it is not required to implement or have all of the devices shown, and more or fewer devices may be implemented or have instead.

[0193] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 2109, or installed from memory 2108, or installed from ROM 2102. When the computer program is executed by processor 2101, it performs the functions defined in the automatic data generation method for flying probe splicing according to embodiments of the present invention.

[0194] Figure 21 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of the present invention.

[0195] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code. When the software or computer code is accessed and executed by the computer, processor, or hardware, the automatic generation method for flying needle mosaic data shown in the above embodiments is implemented.

[0196] A portion of this invention can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide the methods and / or technical solutions according to the invention through the operation of the computer. Those skilled in the art will understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executing the instructions, or the computer compiling the instructions and then executing the corresponding compiled program, or the computer reading and executing the instructions, or the computer reading and installing the instructions and then executing the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to a computer.

[0197] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.

Claims

1. A method for automatically generating data for flying needle mosaic panels, characterized in that, The method includes: Read the PCB design file of the single board, and parse and standardize the PCB design file to obtain a standardized element model; Construct a hierarchical spatial index structure for different categories of elements in the standardized element model; Based on the hierarchical spatial index structure and preset panel parameters, a collision-free panel layout is generated. Based on the collision-free panel layout, the final panel layout data after confirmation is generated. Based on the final puzzle layout data and the corresponding test points, the target format is exported to generate flying needle puzzle test data.

2. The method according to claim 1, characterized in that, The PCB design file includes a file extension and file header characteristics; The process involves reading the PCB design file of the single board, parsing and standardizing the PCB design file to obtain a standardized element model, including: Based on the file extension and header features, identify the sub-format to which the PCB design file belongs; The PCB design file content is parsed using a command parser corresponding to the sub-format, employing command-driven streaming reading and incremental processing to obtain a command set and a parameter set. The command set and parameter set are mapped to a standardized feature model with a unified interface; the standardized feature model includes geometric information, associated attributes, and layer classification identifiers.

3. The method according to claim 2, characterized in that, Constructing a hierarchical spatial index structure for different categories of features in the standardized feature model, including: Calculate the geometric envelope rectangle for spatial query corresponding to each element in the standardized element model; Based on the layer classification identifier, the elements and their corresponding geometric envelope rectangles in the standardized element model are classified to obtain sets of elements of different categories. Spatial indexes are constructed for different categories of feature sets to generate a hierarchical spatial index structure.

4. The method according to claim 3, characterized in that, The process of constructing spatial indexes for different categories of feature sets to generate a hierarchical spatial index structure includes: Using the geometric envelope rectangle of each feature as the key, all features are inserted into the index tree corresponding to their respective layer type using the STRtree structure; Perform a spatial index building operation on the index tree to generate a hierarchical spatial index structure.

5. The method according to claim 1, characterized in that, The preset panelization parameters include the number of rows, the number of columns, and the process spacing; Based on the hierarchical spatial index structure and preset panel parameters, a collision-free panel layout is generated, including: Calculate the minimum envelope rectangle of the single board; An alignment point matrix is ​​generated based on the minimum envelope rectangle, the number of rows, the number of columns, and the process spacing, and an initial position is assigned to each board based on the alignment point matrix; the board is an instance of the single board in the panel layout, and all boards form a panel array with the number of rows × the number of columns; Based on the hierarchical spatial index structure, collision detection is performed on each board. If a conflict is detected, at least one of the offset, rotation angle or mirror state of the board is adjusted according to the preset avoidance strategy set until all boards meet the preset process spacing and safety distance constraints, generating a collision-free panel layout.

6. The method according to claim 1, characterized in that, The collision-free panel layout includes panel pose information, test points, and auxiliary markers; Based on the collision-free panel layout, the confirmed final panel layout data is generated, including: Based on the board pose information, the board, test points and auxiliary marks are drawn in layers to generate an initial visual preview of the assembly; The preview image provides view transformation operations including zooming, panning, rotating, and mirroring, as well as selection, highlighting, and annotation functions for panels or elements. It also responds to user interaction in real time and dynamically refreshes the preview image through incremental updates and batch drawing technology. Receive the user's layout confirmation instruction for the preview image, and generate the confirmed panel layout data based on the final pose state of all current panels.

7. The method according to claim 1, characterized in that, Based on the final puzzle layout data and corresponding test point information, the target format is exported to generate flying pin puzzle test data, including: The final panel layout data and corresponding test point information are mapped into a target file in the target format and then exported. The exported target file is subjected to data consistency checks, including the uniqueness of the network number, the correctness of the layer type, and the compliance of the coordinate range, to obtain flying probe panel test data, which includes the target file, board offset, and traceable operation log.

8. An automatic data generation device for flying needle splicing, characterized in that, The device includes: The data parsing and standardized modeling module is used to read the PCB design file of a single board, and to parse and standardize the PCB design file to obtain a standardized element model. A spatial index construction module is used to construct a hierarchical spatial index structure for different categories of elements in the standardized feature model. An automatic panelization module is used to generate a collision-free panelization layout based on the hierarchical spatial index structure and preset panelization parameters. The rendering and interaction module is used to generate the final confirmed panel layout data based on the collision-free panel layout. The data export module is used to export the final puzzle layout data and the corresponding test points in the target format to generate flying needle puzzle test data.

9. An electronic device, characterized in that, include: The system includes a memory and a processor, which are interconnected. The memory stores computer instructions, and the processor executes the computer instructions to perform the automatic generation method for flying needle mosaic data as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to execute the automatic generation method for flying needle mosaic data as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • PCB centre template automatic design method and system, storage medium and terminal

    CN110245412A

  • Automatic PCB splicing identification method

    CN120672857A

  • Method for printed circuit board panelization

    US20150301525A1