A method for fast output of PCB photoplot files based on a rule engine

By using a rule engine-based approach, combined with EDA software and external programming tools, PCB photoplotting files are automatically generated. This solves the problems of low efficiency, poor accuracy, and lack of universality in existing photoplotting file output, and achieves fast, accurate, and universal photoplotting file generation.

CN120670389BActive Publication Date: 2026-05-26BEIJING YUEXIN TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING YUEXIN TECH CO LTD
Filing Date
2025-08-21
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

In existing technologies, the output of PCB photoplotting files suffers from problems such as repetitive work, easy omissions, non-universal tools, and poor cross-software applicability, resulting in low efficiency and insufficient accuracy.

Method used

A rule engine-based approach is adopted, combining internal and external EDA programming software, to automatically generate photoplotting files through secondary development tools. This includes generating Fab folders, Assembly folders, and files in various formats. The rule engine is used to adjust the code to adapt to the output rules of different companies and software.

Benefits of technology

It enables fast, accurate, and universal output of photoplot files, avoiding repetitive work and oversights in details, improving efficiency and the universality of the tool, and is applicable to different PCB auxiliary design software.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120670389B_ABST
    Figure CN120670389B_ABST
Patent Text Reader

Abstract

This invention relates to the field of PCB design technology, specifically disclosing a method for rapid output of PCB photoplot files based on a rule engine. The method includes: the user selecting the EDA software and the path to the PCB board; upon first use, analyzing the location and content of each file in the folder based on the user-provided archive file template, generating secondary development code adapted to the selected EDA software; based on the generated secondary development code, outputting the Fab folder, Assembly folder, and various files for archiving according to a preset process; integrating automatically extracted files and user-provided files, and outputting the final photoplot file according to a standard archiving order. Automatically archiving and organizing photoplot files according to rules avoids omissions, saves significant repetitive work time, and prevents major errors caused by oversights.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of PCB (Printed Circuit Board) design technology, specifically to a method for rapid output of PCB photoplot files based on a rule engine. Background Technology

[0002] After the PCB design is completed, photoplot files need to be output to the factory. The PCB manufacturing factory produces the PCB based on the photoplot files, and the component mounting factory mounts the components according to the corresponding files. The photoplot files not only contain production files for each layer of the PCB, but also files for drilling, silkscreen printing, and solder mask application.

[0003] In existing technologies, PCB design auxiliary software can generate production files of the same type with one click, but for different types of production files, engineers need to spend time sorting and checking them. Some companies use secondary development tools to automate the archiving of different types of files according to their own needs, but the following drawbacks still exist:

[0004] Companies that do not use secondary development tools need to manually archive, organize, and check photoplotting files, which is prone to omissions and is time-consuming and repetitive. Although major mistakes can be avoided by checking and patching at the factory, small details may still be overlooked.

[0005] Companies that use secondary development tools do not have universality because the internal archive files of each company are not uniform, resulting in different rules for outputting photoplot files. Company A's tools cannot be reused in Company B unless the output archive format is exactly the same.

[0006] For different PCB design software, different secondary development tools need to be designed repeatedly to organize and archive photoplot files, making it impossible to achieve uniformity.

[0007] Therefore, there is an urgent need for a method that can solve the above problems and achieve fast, accurate, and universal output of photoplot files. Summary of the Invention

[0008] The purpose of this invention is to provide a method for rapid output of PCB photoplotting files based on a rule engine, so as to realize the automated and standardized output of photoplotting files, improve efficiency and accuracy, and enhance the versatility and cross-software applicability of the tool.

[0009] The objective of this invention can be achieved through the following technical solutions:

[0010] A method for fast output of PCB photoplot files based on a rule engine includes the following steps:

[0011] Step 1: The user selects the EDA software and the path to the board. If it is the first time using it, the user also needs to select the path to the archive file or use the default archive format.

[0012] Step 2: Upon first use, the location and content of each file in the folder are analyzed based on the archive file template provided by the user, and secondary development code adapted to the selected EDA software is generated; for subsequent uses, the generated code is directly called.

[0013] Step 3: Based on the generated secondary development code, output the Fab folder, Assembly folder, and various files for archiving according to the preset process. The various files include .art, .drl, .pdf, .txt, and .dxf format files;

[0014] Step 4: For non-standard files or files that cannot be automatically extracted, receive the file paths provided by the user and automatically categorize and archive them into the corresponding folders according to the paths;

[0015] Step 5: Integrate the automatically extracted files and user-provided files, and output the final photoplot files according to the standard archiving order.

[0016] As a further aspect of the present invention: the process of outputting the .art file in step 3 includes:

[0017] Upon first use, the system determines and records the contents of each file based on the standard .art file or a user-provided .art file.

[0018] When not used for the first time, retrieve the already recorded content;

[0019] Delete all existing artwork film content from the board;

[0020] Use secondary development commands of EDA software to generate an artwork film that meets the requirements;

[0021] The generation steps, recorded via script, generate the .art files required for the Fab and Assembly folders.

[0022] As a further aspect of the present invention: the process of outputting the .drl file in step 3 includes:

[0023] Upon first use, the parameters are set according to the default or user-provided .drl file content, generating and saving the "nc_param.txt" parameter file;

[0024] For subsequent uses, directly call the "nc_param.txt" parameter file;

[0025] The generation steps, recorded via script, combined with the "nc_param.txt" parameter file, generate the .drl files required for the Fab and Assembly folders.

[0026] As a further aspect of the present invention: the process of outputting the .pdf file in step 3 includes:

[0027] After the .art files are output, the generated contents of the .pdf files in the Fab folder, Assembly folder, and main folder are recorded using a script.

[0028] The above three types of .pdf files can be selectively output according to user needs.

[0029] As a further aspect of the present invention: the process of outputting the .txt file in step 3 includes:

[0030] Automatically generate a "placement.txt" file in the master folder containing the board component names and coordinate information;

[0031] The .txt / .xlsx files in the Assembly folder are user-defined BOM files and are not automatically generated.

[0032] As a further aspect of the present invention: the process of outputting the .dxf file in step 3 includes:

[0033] Output the DXF file to generate the required "dxf_param.txt" parameter file and save it;

[0034] The generation steps, recorded via script, combined with the "dxf_param.txt" parameter file, generate the .dxf files required for the main folder.

[0035] As a further aspect of the present invention: the EDA software includes Cadence Allegro, Synopsys DC, Altium Designer, Ansys HFSS, etc., and the corresponding secondary development software is Skill, TCL, Delphi, ANSYSACT, etc.

[0036] As a further aspect of the present invention: the photoplotting file is invoked through external programming software, wherein the external programming software is C / C++ or Python.

[0037] The beneficial effects of this invention are: it automatically archives and organizes photoplotting files according to rules, avoiding omissions, saving a lot of repetitive work time, and preventing major errors caused by oversights in details; it has universality, as the rule engine-based method can adjust the order of output files in the code according to different archiving formats to adapt to different output rules of various companies; for different PCB auxiliary design software, by selecting different EDA software, file generation is achieved by using script recording, eliminating the need for repeated design of secondary development tools, thus having wider applicability. Attached Figure Description

[0038] The invention will now be further described with reference to the accompanying drawings.

[0039] Figure 1 This is a flowchart illustrating the code implementation in an embodiment of the present invention. Detailed Implementation

[0040] 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, and 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.

[0041] After the PCB design is completed, photoplot files need to be output to the factory. The PCB manufacturing factory will then use these files to generate the PCBs, and the component placement factory will use the corresponding files to place the components. Each photoplot file sent to the factory contains not only production files for each layer of the PCB, but also files for drilling, silkscreen printing, and solder mask application. PCB design software can generate similar production files with a single click, but different types of production files require engineers to spend time organizing and checking them. Most companies define the document category for each file and distribute them to the PCB manufacturer or component placement factory. In this case, each company uses secondary development tools to automate the archiving of different types of files according to their specific needs.

[0042] In summary, the current processing of photoplot files has the following drawbacks:

[0043] 1. Companies that do not use secondary development tools have to manually archive and organize photoplot files and manually check these files. In most cases, there will be omissions and it will take a lot of time to do repetitive work. Checking and filling in the gaps in the factory may avoid some major mistakes, but some small details will inevitably be overlooked sometimes.

[0044] 2. For companies that use secondary development tools to compile and organize photoplot files, such tools are not universal. The inconsistency of internal archive files in each company means that their photoplot file output rules are different. Company A's tools cannot be reused in Company B unless their output archive formats are exactly the same.

[0045] 3. For different PCB design software, different secondary development tools need to be designed repeatedly to organize and archive photoplot files, making it impossible to achieve uniformity.

[0046] In this invention, a method combining internal EDA secondary development programming software and external programming software is used. Similar development can be carried out by different EDA secondary development software according to the process, and it can be used by calling the external software.

[0047] Commonly used EDA-related secondary development software includes: Cadence Allegro→Skill; Synopsys DC→TCL; Altium Designer→Delphi; Ansys HFSS→ANSYS ACT, etc. These secondary development software programs can process operations on the board and output a series of files such as CSV / TXT / JSON for external software processing. External software can use C / C++, or the mainstream Python can be chosen to process the files output from the board.

[0048] In this embodiment, the algorithm and process of execution are explained according to the combination of Skill and Python. In different parts of the output file, scripts are used to record the output process and then combine with Skill to generate the output. Other EDA software can also use such scripts to process the generation process, making most of the code universal.

[0049] When using the tool for the first time, users need to provide a pre-organized file template or directly use the tool's default output archiving order to output photoplot files. This tool will analyze the location and content of each file in the folder based on the specified file template, then generate code for the specified EDA tool. This secondary development code is used to output the specified files from the board, and finally, the output files are organized and summarized according to the file template.

[0050] Output file format introduction:

[0051] 1. Documents to the Fab: These include the following format and are primarily sent to board manufacturers for board manufacturing and processing;

[0052] .art extension: The main photoplot files used for board manufacturing, containing information on the board's various physical layers, manufacturing instructions, silkscreen, solder mask, and solder joint layer information; all .art files are automatically output through the Artwork option in the board, but each file needs to have its relevant class and subclass set, and this automatic setting and file output needs to be implemented through code;

[0053] The .drl extension contains drilling information from the board, including information on plated holes (holes with electrical connections) and non-plated holes (holes without electrical connections). All .drl files are automatically output through the NC Drill option on the board, but relevant parameters need to be set. The parameter settings and file output need to be implemented automatically through code.

[0054] The .pdf extension: The contents of .art files are printed out as PDF files for quick retrieval of the required content; all .pdf files can be output through the Export PDF option on the board, but it is necessary to set the output to the Fab, which also needs to be implemented automatically by code;

[0055] The .rou extension contains slot information for the board, generally used for board positioning; it is an automatically generated .rou file through the NC Route option in the board. Some designers mention in the .art file's fab settings that this part may not be output, so it is an optional output file.

[0056] Other: Files with other extensions specified by the user; For files with other extensions specified by the user, they can be archived using the path provided by the user.

[0057] 2. Documents for the surface mount manufacturer (in addition to the above formats, also include .xlsx / .txt): These are mainly for initiating the surface mount manufacturer to mount and solder components on the circuit board;

[0058] .xlsx / .txt: BOM files presented in tabular or text format, including attribute information for each component, component name, and the location of the component on the board; although this part can be directly output from the board, the user needs to specify the BOM path because each board has different requirements for the BOM format.

[0059] 3. Files used for archiving:

[0060] Fab folder: A folder composed of all the files assigned to Fab; packaging all the files assigned to Fab into a single folder requires code implementation.

[0061] The Assy folder is a folder composed of all the files given to the chip assembly plant; packaging all the files given to the chip assembly plant into a single folder requires code implementation.

[0062] Schematic folder: The schematic database for the entire project. The file extension and content vary depending on the EDA software. Users need to provide the relevant path to the schematic database and archive it by copying and pasting it using code.

[0063] .dxf: DXF files representing the front and back of the board, used for comparison with mechanical drawings to facilitate cross-departmental collaboration between hardware and mechanical departments. All .dxf files are output via the Export DXF option on the board, but the output content needs to be configured, which also needs to be automated through code. If there are no cross-departmental collaboration requirements, DXF files can be omitted; this is an optional file.

[0064] .pdf: Package all content related to the Fab and Assy in the board into a single PDF file for easy access, review, and comparison later. All .pdf files can be exported via the Export PDF option on the board, but it's necessary to configure the output to include content for the placement plant; this part also needs to be automated through code.

[0065] .txt: Information about all components on the board, mainly their names and location coordinates, used for comparison and checking with the information in the BOM; the .txt file is output through the Export Placement option on the board, but the relevant output content needs to be set. This part also needs to be implemented automatically by code and is an optional file;

[0066] .brd: The final version of the board file used for archiving. Cadence uses .brd files, while other EDA files use other formats. Use code to save the board file from the customer-specified path to the archive path using the save as method.

[0067] .xlsx / .docx: The format of the relevant files, tables or documents for self-checking and cross-checking the entire project; the client needs to provide the specified file path for this part, and the files are copied and pasted for archiving.

[0068] Modular code processing for output files:

[0069] 1. Output process for .art files:

[0070] 1) Upon first use, code is needed to open the standard .art file or the user-provided .art file based on the keywords of different classes and subclasses, and determine and record the contents of each file;

[0071] When used before, the code will include the default content or the content generated based on the user-provided .art file for each artwork film.

[0072] 2) Delete all existing contents of the artwork film on the board;

[0073] 3) Based on the content of the artwork film generated in step one, use the default axlFilmCreate command in the skill to generate all artwork films that meet the customer's requirements.

[0074] 4) Use a script to record the steps of generating the artwork and apply them in the code to generate the .art files needed for the Fab and Assembly folders.

[0075] 2. Output process for .drl files:

[0076] 1) When using it for the first time, you need to set different parameters according to the default .drl file or the content of the user-provided .drl file, and generate a standard parameter file and place it in the same directory as the board, named "nc_param.txt";

[0077] For subsequent uses, you can directly use the "nc_param.txt" file in the same directory as the board. If this file in the same directory is accidentally deleted, regenerate such a parameter file by following the steps above.

[0078] 2) Use a script to record the steps for generating drill files, and include the application of the parameter file "nc_param.txt". The code uses the commands recorded by this script to generate the .drl files required by the Fab folder and Assembly folder.

[0079] 3. Output process for .pdf files:

[0080] 1) PDF files must be output after the .art file output process is complete, because all PDF files are generated based on the content of the artwork file, so there is no need to distinguish whether it is the first time it is used;

[0081] 2) Use a script to record the content of three types of generated .pdf files: the .pdf files in the Fab folder, the Assembly folder, and the main folder;

[0082] 3) Selectively output three different .pdf files according to customer needs.

[0083] 4. Output process for .txt files:

[0084] 1) The .txt file in the main folder contains the names and coordinates of the components on the board, which needs to be automatically generated by the software. However, the .txt / .xlsx files in the Assembly folder may be user-defined BOM files, which do not need to be automatically generated by the software.

[0085] 2) Use a script to record the process of generating the "placement.txt" file and use it to output code in the main folder.

[0086] 5. Output process for .dxf files:

[0087] 1) Use code to output a DXF file to generate the required parameter setting file, place it in the same directory as the board and name it "dxf_param.txt";

[0088] 2) An application that uses a script to record the DXF file generation process and includes the parameter file "dxf_param.txt". The code uses this recording process and outputs it to the main folder.

[0089] 6. User-provided file archiving process:

[0090] 1) For some non-standard files, the code will record them when it traverses the files in the folder during the first use. In subsequent uses, these recorded files will be used directly.

[0091] 2) Users need to provide the path to non-standard files. The code will automatically categorize and archive the files in the path to the different folders required by the user.

[0092] like Figure 1 As shown, the specific steps of the code implementation process are as follows:

[0093] 1. Users select different EDA software and the path where the board is located in the pop-up window;

[0094] The software is divided into first-time use and non-first-time use. First-time use requires selecting the path to the archive file. If no selection is made, the default archive format in the code will be used. Non-first-time use does not require selecting the path to the archive file.

[0095] 2. Upon first use, the code will automatically modify the code order for outputting different file formats based on the distribution of the archive files provided by the user in the path. Please refer to the previous step for specific output steps for different file formats.

[0096] 3. Output all required files according to the board path and photoplotting file format given by the user;

[0097] 4. For some non-standard files or files that cannot be automatically extracted, users need to provide the path of these files in the pop-up window;

[0098] Based on the automatically extracted files and the user-provided file paths, the final standard output light plot file is integrated according to standards.

[0099] The foregoing has provided a detailed description of one embodiment of the present invention, but this description is merely a preferred embodiment and should not be construed as limiting the scope of the invention. All equivalent variations and modifications made within the scope of the present invention should still fall within the scope of the present invention.

Claims

1. A rule engine-based PCB light drawing file rapid output method, characterized in that, Includes the following steps: Step 1: The user selects the EDA software and the path to the board. If it is the first time using it, the user also needs to select the path to the archive file or use the default archive format. Step 2: Upon first use, analyze the location and content of each file in the folder based on the archive file template provided by the user, and generate secondary development code adapted to the selected EDA software; For subsequent uses, directly call the already generated code; Step 3: Based on the generated secondary development code, output the Fab folder, Assembly folder, and various files for archiving according to the preset process. The various files include .art, .drl, .pdf, .txt, and .dxf format files; Step 4: For non-standard files or files that cannot be automatically extracted, receive the file paths provided by the user and automatically categorize and archive them into the corresponding folders according to the paths; Step 5: Integrate the automatically extracted files and user-provided files, and output the final photoplot files according to the standard archiving order; The process of outputting the .art file in step 3 includes: Upon first use, the system determines and records the contents of each file based on the standard .art file or a user-provided .art file. When not used for the first time, retrieve the already recorded content; Delete all existing artwork film content from the board; Use secondary development commands of EDA software to generate an artwork film that meets the requirements; The generation steps, recorded via script, generate the .art files required for the Fab and Assembly folders; The process of outputting the .drl file in step 3 includes: Upon first use, the parameters are set according to the default or user-provided .drl file content, generating and saving the "nc_param.txt" parameter file; For subsequent uses, directly call the "nc_param.txt" parameter file; The generation steps, recorded via script, combined with the "nc_param.txt" parameter file, generate the .drl files required for the Fab and Assembly folders.

2. The method of claim 1, wherein the method is characterized by, The process of outputting the .pdf file in step 3 includes: After the .art file is output, the generated contents of the .pdf files in the Fab folder, Assembly folder, and main folder are recorded using a script. The above three types of .pdf files can be selectively output according to user needs.

3. The method of claim 1, wherein the method further comprises: The process of outputting the .txt file in step 3 includes: Automatically generate a "placement.txt" file in the master folder containing the board component names and coordinate information; The .txt / .xlsx files in the Assembly folder are user-defined BOM files and are not automatically generated.

4. The method of claim 1, wherein the method further comprises: The process of outputting the .dxf file in step 3 includes: Output the DXF file to generate the required "dxf_param.txt" parameter file and save it; The generation steps, recorded via script, combined with the "dxf_param.txt" parameter file, generate the .dxf files required for the main folder.

5. The method of claim 1, wherein the method further comprises: The EDA software includes Cadence Allegro, Synopsys DC, Altium Designer, and Ansys HFSS, and the corresponding secondary development software is Skill, TCL, Delphi, and ANSYS ACT, respectively.

6. The method of claim 1, wherein the method further comprises: The photoplot file is accessed through external programming software, which can be C / C++ or Python.