GerbMagic is a free Gerber viewer software with various viewing options available. Dynamic part outline rendering, including complex connectors Annotations, for leaving notes about parts, nets, pins or location Configurable colour themes. We recommend starting with free PCB software until you require more advanced software features and are more experienced, in order to get the best use out of paid software. KiCad This is an open source software suite containing programs for Schematic Capture, PCB Layout and Gerber file output. The PCB files contain the application settings and data that are used by the software. The.pcb file extension is also used for ACCEL or Protel printed circuit board files, P-CAD database files, PC-Doctor files, Broderbund Print Shop business card files and PCB Layout check design rule template files. The PADS PCB Viewer can be used for viewing schematics, generating schematics from netlists, translating from/to vendor databases or from/to standard formats like EDIF and XML. There is no charge and no time limit for this evaluation copy. An Evaluation Guide, QuickStarts, tutorials, and Concept Guides are included to help you get started.
Latest versionReleased:
Extension for pcb-tools package to panelize gerber files
Project description
pcb-tools-extension is a Python library to panelize gerber files.This library is designed based on pcb-tools which provides cool functionality to handle PCB such as generationg PCB image from gerber files.
pcb-tools-extension adds following function to pcb-tools.
- Rotate PCB data
- Write back loaded PCB data (original pcb-tools does not work in some condition)
- Merge multiple PCB data
- Translate DXF file to PCB data
Only RS-274x format and Excellon drill format data can be handled by current version of this library.
Installation
You can install a stable version by following step.
If you have a intention to try latest developing version, please install as follows.
How to panelize
Following code is a example to panelize two top metal layer files.
rotate()
method can be used to rotate PCB data counterclockwise. you have to specify angle in degree.offset()
method can be used to move PCB data. Specified offset values are interpreted according to unit setting of PCB data. In case of the above code, board2.gtl
move to 30mm left since to_metric()
is called.
In case of Excellon drill data, you have to use DrillCompositon
instead of GerberComposition
.
DXF file translation
pcb-tools-extension hsa a function to load a DXF file and handle that as same as RX-274x gerber file or Excellon NC file.
In this version, Only line, circle, arc, and polyline objects are recognized and are translated to gerber file or NC file.
Two way to tranlate DXF file
Both composition objects, GerberComposition
for RX-274x and DrillionComposition
for Excellon, can accept an object created as result of DXF file loaded. When composition object dump text stream, DXF data tranclate to appropriate format data.
The object which represent DXF file, can also output translated data directly by save
method. In this case output format is specified by filetype
argument. If filetype
argument is ommited, DXF data is translated to RX-274x gerber data.
Generating Rectangle
If you want to arrange simple rectangle for PCB outline, gerberex.rectangle()
is better solution. This generate a object representing a rectangle compatible with DXF file object.
Drawing Mode
PCB tools extension provide three type of translation method that affects geometric finish. These method are specified a value for draw_mode
attribute, as DM_LINE
, DM_MOUSE_BITES
, or DM_FILL
.DM_LINE
and DM_MOUSE_BITES
are used to translate to both of RX-274x and Excellon, however DM_FILL
is used to translate to only RX-274x.
draw_mode = DM_LINE
All edge expressed as DXF line object, circle object, arc object and plyline objects are translated to line and arc applied a circular aperture in case of RX-274x. That circular aperture radius is specified bywidth
attribute. Default value of width is 0.
In case of Excellon, DXF objects are translated to routing path command sequence.
This function is useful to generate outline data of pnanelized PCB boad.draw_mode = DM_MOUSE_BITES
If DM_MOUSE_BITES is specified for draw_mode, filled circles are arranged at equal intervals along a paths consisted of DXF line, arc, circle, and plyline objects.DXF file object in this state can be merged to excellon file also. That means you can arrange mouse bites easily.draw_mode = DM_FILL
You can translate DXF closed shapes such as circle to RX-274x polygon fill sequence.
In order to fill closed shapes,DM_FILL
has to be set todraw_mode
property. In this mode, All object except closed shapes listed below are ignored.- circle
- closed polyline
- closed path which consists of lines and arcs
If a closed shape is completly included in other closed shape, The inner shape will be draw with reversed polality of container shape as above example image.
I assume there are two typical use cases for this mode.
One is to arrange logo design on silk layer. This is superior to other method generating raster image data since image data express as vector data.
The other one is generating gerber data represented cropped area of panelized PCB.By merging rectangle and PCB outline data, generate a file represented cropped area as below, and this kind of data is useful to make PCB image look good a little bit.
This script which generate example image shown below, also uses this technic.NOTE:
DM_FILL
can be used only to generate RX-274x data, it cannot be used to generate Excellon data.
Panelizing Example
This example board image is generated by following scripts from these source data.
Notes
Equivalence of output
pcb-tools-extension generate data block stream to focus equivalence of final image, but not focus equivalence of data block sequence.There are some difference between input data and output data as below.
Aperture definition [RS-274x]
When gerber data is rotated, it's necessory to rotate not only coordinates whilch indicate locations of drawing aperture, but also aperture geometory itself.However, standard aperture templates, such as rectangle, cannot rotate. These standard aperture templates can be placed only horizontally or vertically.
Threfore, pcb-tools-extension replace aperture definitions using standard aperture template to aperture macro that represent equivalent shape.
For example, In case of rotating folowing aperture definition 20 degrees counter clockwise,pcb-toolse-extension generate a aperture macro definition and a aperture definition referencing that macro as below.
File Scope Modifier [RS-274x]
Commands that affect entire image and should be specified only once in a file, such asMI
(Mirror Image) command, sometimes cause contradiction when multiple gerber file are merged.
For example, when mergeing a file containing%MIA1B0*%
command and a file containing%MIA0B1*
command, which command should remain as output?Of cause, it is impossible that generate correct merged image by specifiing anyMI
command.
pcb-tools-extension translate coordinate data reflecting these file socpe modifier to address this probrem, then ommit these modifier command.MI
,OF
,SF
,AS
,IP
, andIR
are in a this category.Coodinate Normalizing [RS-274x, Excellon]
RS-274x specification and Excellon specification allow various notation to express a coordinate. However pcb-tools-extension normalize coordinate notation in order to correct deprecated notation and ease internal process as below.- Relative coordinates are translated to absolute coordinates.
- Ommited coordinate values are compensated.
- Leading zeros are ommited.
Single Quadlant mode [RS-274x]
Cercular interpolation coordinate data in single quadlant is difficult to rotate, because circular arc may pass across two quadlants after rotation.
In order to avoid this problem, pcb-tools-extension change single quadlant mode coordinates specification to multi quadlangt mode.NC controll command [Excellon]
Form histrical reason, Excellon NC controll format is used to specify drill information to PCB fabricator.
On the other hand, from PCB fabricator point of view, they don't need information other than geometric information, such as drill speed. Because these NC controll sequence doesn't send to NC machine directly, PCB fabricator import customers excellon NC file to their CAD / CAM to pnaelize and check, then they export NC controll data for their NC machine.
pcb-tools-extension ommit all NC command which do not contribute to geometry expression. Specifically, only tool definitions (diametor of drill), tool selections, drilling coordinates, and routing paths are output.Unimportant Command [RS-274x, Excellon]
Commands not affecting final image such as comment are ommited.
Negative image polarity
Sometimes, %IPNEG*%
is specified at header of RS-274x file to create negative image.
As mentioned above, IP
command is ommited when pcb-tools-extension generate output file. In this case, image polarity is nagated by using LP
command. However this generated file doesn't equal to original image since it does'nt contain base dark image.
Please merge base dark rectangle explicitly when you handle negative image file as below.
Limitations
RS-274x
pcb-tools-extension cannot handle all commands that the RS-274x parser implemented inpcb-tools doesn't handle so far.
From the imaging point of view, pcb-tools-extension has following limitations.
- Files contains
IJ
andIO
commands, that affect entire image, cannot be handled correctly. - Files contains
SR
command to specify repeated pattern cannot be handled correctly. - Aperture block defined by
AB
command cannot be handled correctly.
Excellon
pcb-tools-extension extends excellon parser in pcb-tools to support routing operation. However following limitations still remain.
- User defined stored pattern defined by
M99
command cannot be handled. - Canned text specified by
M97
command cannot be handled. - Pattern defined by
M25
command cannot be handled.
Release historyRelease notifications | RSS feed
0.9.3
0.9.2
0.9.1
0.9.0
0.1.6
0.1.5
0.1.4
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size pcb_tools_extension-0.9.3-py3-none-any.whl (34.1 kB) | File type Wheel | Python version py3 | Upload date | Hashes |
Filename, size pcb-tools-extension-0.9.3.tar.gz (32.3 kB) | File type Source | Python version None | Upload date | Hashes |
Hashes for pcb_tools_extension-0.9.3-py3-none-any.whl
Algorithm | Hash digest |
---|---|
SHA256 | ca9188144ab8ce32972c044504ff6103be4948b64095a3702f5a2eb0e359bc8b |
MD5 | 8ef0c2007d92c6ba93401df6c2c9e6d4 |
BLAKE2-256 | 2863a10062841d66d599516b6b1553ecf3d06ded8a36b76d652e3d68f99f57b2 |
Pcb Software Download
CloseHashes for pcb-tools-extension-0.9.3.tar.gz
Algorithm | Hash digest |
---|---|
SHA256 | c3d94080a38d9fb66f90bb01f785e5ea0fa00295d28a0e3b985eb7446d05ccef |
MD5 | 4e7a5a6400f78aaa51cf57015c61dc38 |
BLAKE2-256 | ebf3868fa081bd62d6d9002d907d5823c03980bf11468c8c3153fbd39a430ae4 |
See why our customers love PCB Artist - the best online PCB design software!
'I am so thrilled that my prototype boards were inexpensive, they came back working the first time, and I didn't have to fuss with figuring out how to get all the right design files together in the right format. For my next prototype, I'm going to start in PCB Artist first.'
DOWNLOADS.CNET.COM USER REVIEWProfessional-Grade Online PCB Design Software with Free Live Technical Support. PCB Artist Includes Features Such as Multi-Page Schematics and Netlist Import.
Advanced Circuits' online PCB design software is not only easy to use, it is absolutely the best free PCB layout software available! Our customers tell us one of the reasons they love doing business with us is because of our PCB design software. When it comes to designing printed circuit boards, we help you get it done right, and that saves you time and money down the line.
Components Library of Over 500,000 Parts
Search PCB Artist® Library »
View Sample Component »You will notice that on this page (in addition to all of these circuit board design tips and tools) we offer tutorials for our software, to make its use even easier and more valuable for you.
Video Tutorials | Download User's Guide | Tips & Tools
Live Tech Support (8:00am - 5:30pm MST) Call 1-800-979-4722 x.1025 or email Layouthelp@4pcb.com
PCB Artist® vs Other CAD Software
Compare PCB Artist® to the competition for printed circuit board design software
PCB Artist® | A | B | C | D | E | |
Unlimited Software Version | FREE | Free | Free | Free | $1,200 | $7,000 |
Gerber Format Files FREE 1 | No | No | No | |||
Integrated Schematics/PCB2 | | No | No | No | No | No |
Symbol/Footprint/Part Creation wizard | | No | No | No | No | No |
Components/BOM/Positions CSV Export | | No | No | No | No | No |
Design Rule Check & Report | | No | No | No | No | No |
Component Autoplace | | No | No | No | No | Yes |
Context Sensitive Help Files (F1 key) | | No | No | No | Yes | Yes |
Individual Colored Nets Options | | No | No | No | Yes | Yes |
Ratsnest Connections Optimization | | No | No | No | Yes | Yes |
Design Status Reports | | No | No | Yes | Yes | Yes |
Moved Component Tracks Stay Connected | | No | Yes | Yes | Yes | Yes |
Powerplanes/Copper Pours | | No | Yes | Yes | Yes | Yes |
Modify Nets Commands/Reports | | Yes | No | No | Yes | Yes |
Integrity Check & Cross Probe | | Yes | No | No | Yes | Yes |
Controlled AutoRoute | | Yes | No | Yes | Yes | Yes |
Adjustable Design Rule Check/Navigation | | Yes | No | Yes | Yes | Yes |
Library Manager | | Yes | Yes | No | Yes | Yes |
PCB Artist® runs on Windows 7 through Windows 10 operatings systems. Linux and MAC OS are not currently supported, though users have had success using emulators. A Pentium processor faster than 1.8Ghz and with at least 512mb of RAM is recommended. PCB Artist® does not require particularly 'high-powered' hardware to achieve good performance, a regular off-the-shelf PC is sufficient. A complete product installation requires at least 1.26GB of hard drive space. Internet access is recommended. A wheel mouse is suggested. Click Here for PCB History.