App For Open Pcb File

CircuitMaker is not just a free EDA software tool from Altium, it’s also a community of creative people and design content, working together to invent circuits and electronics products for a better future.

Get inspired

About circuitmaker

For turning great ideas into real products, you need design tools that won’t limit your imagination or hold you back. CircuitMaker has all the power you need to design high quality schematics and Printed Circuit Boards, with no artificial limits on layer counts or board area. Best of all it’s free.

Read More

find & rate great design content

The CircuitMaker community is where you will find great reference designs, and be able to promote and rate other projects in the community.
You can even set up teams for collaborative design efforts.

WHAT MEMBERS ARE SAYING

Cadence OrCAD PCB Designer is capable of opening the file types listed below. Conversion between the file types listed below is also possible with the help of Cadence OrCAD PCB Designer. You can find more information about it in the application's manual. KiCAD is a Cross-Platform and Open Source Electronics Design Automation Suite. It includes a schematic editor for creating and editing schematic designs, a PCB Editor for making professional PCB layouts with up to 32 copper layers, and a 3D viewer which can be used to inspect the design in a 3D form.

Eli Hughes
Wavenumber LLC.

How to open PCB files. If you cannot open the PCB file on your computer - there may be several reasons. The first and most important reason (the most common) is the lack of a suitable software that supports PCB among those that are installed on your device. A very simple way to solve this problem is to find and download the appropriate application. PCB file openers, viewers, etc. These apps are known to open certain types of PCB files. Remember, different programs may use PCB files for different purposes, so you may need to try out a few of them to be able to open your specific file.

CircuitMaker is the 1st free PCB tool I have encountered that has features of a professional design tool. A tool that is backed by people who know EDA means that we can finally have something for those of us who want to get things done without being obstructed by complicated installation, a horrible user interface or a mess of a library system. Couple this with that fact that making is also about collaborating and sharing. The folks at CircuitMaker have unique vision about creating a platform, not just a barebones tool for those who aspire to be “mad engineers”.

Roberto Lo Giacco
Professional Engineer

Finally some fresh air in the EDA market: a modern interface with some really pro capabilities and no serious limitation. This is the tool any electronics maker was waiting for and it is community focused.

Nicholas Rabault
The Poppy Project

Poppy is an open-source platform for the creation, use and sharing of interactive 3D printed robots. We love CircuitMaker because it offers the possibility of our community to contribute easily. We can promote our board model by sharing a simple link to a release. Users can produce themselves our design directly or by forking it to adapt it to their needs. Mechanical integration is a really important factor in robotics so the 3D modeling in CircuitMaker enables that.

Design the next
great electronic product

POWERFUL ECAD FOR OPEN SOURCE HARDWARE

We think you deserve better design tools, made specifically for you, to turn great ideas into reality. That’s why we’ve created CircuitMaker. Besides being a collaborative community for electronic design content, CircuitMaker is Schematic & PCB design software, built upon Altium Designer technology. With a streamlined interface and powerful engine to boot, you’ll never have to worry about your software holding you back. This is a free design tool unlike anything you’ve seen before.

  • UNLIMITED & FREE

    Typically, free EDA software is poorly developed, or has restrictions on design size that render it useless for any real project. Not CircuitMaker - you get the full power of 16 signal + 16 plane layers, and no restrictions to the PCB dimensions. You can even make money with your designs, because there’s no “non-commercial” clause!

  • MASSIVE, RICH COMPONENT LIBRARY

    CirucitMaker is built on a community library with hundreds of thousands of components - all backed by the awesome Octopart database. Placing components in CircuitMaker designs is as easy as searching by manufacturer part number or by design parameters. You can also add your own custom parts and mechanical components too.

  • SHARE & COLLABORATE

    You can create projects with teams in the CircuitMaker Community, and allow other community members to work with you on the design. Harness the power of teams to get projects done faster! Released designs can be forked and then modified so you can build new designs with different features without having to start from scratch every time.

  • NATIVE 3D™

    Altium Native 3D™ technology means that when you’re in the PCB editor, just hit the 3 key and you can immediately see the PCB layout in full 3D. It will also show any component clearance violations and you’ll even know what the overlap distances are, so you can get your designs right - and to fit the box - the first time.

  • ONE-CLICK MANUFACTURING

    Once you have finished your design, you can release the project to the community. From there you can download the gerbers and send them off to any PCB manufacturer. But even easier than that, we’ve partnered with select manufacturers to provide a one-click manufacture button that can directly send your board for quoting - either bare board prototype or full PCB fabrication and assembly, at the best possible price. It’s up to you!

  • PUSH-N-SHOVE ROUTING

    For a tool we’re giving away for free, we did not hold back on the push and shove routing capabilities! The interactive routing modes include obstacle avoidance, hug, hug-n-push, and obstacle ignore. The push modes will push other trace and vias, as well as hop-over. You can even route differential pairs and interactively add accordions to nets that need that extra length for signal delays.

  • MULTI-SHEET SCHEMATIC EDITOR

    CircuitMaker uses the same easy-to-use and great looking schematic editor Altium is known for. You can even do complex multi-sheet designs, and use hierarchical design blocks, and generate SmartPDF™ outputs from your project.

  • TOPOLOGICAL AUTOROUTER

    The Situs™ topological autorouter works in concert with your design rules to help you get the board done fast. With BGA and SMT fanout, parallel memory, hug, and via optimization, it’s easy to use Situs to get working results really fast. You can also interactively route multi-nets or single nets, or use manual routing with auto-complete.

  • DRC/DFM VALIDATED OUTPUTS

    When you’re ready to turn your design into a real board, CircuitMaker will generate industry standard CAM outputs. You can choose Gerber and NC Drill, or ODB++, or both. IPC test point reports and all other necessary outputs for professional manufacturing can be generated as well, and all this through a succinct release process that ensures your board passes design rules checks for DFM and assembly.

  • IMPORT DESIGNS FROM OTHER TOOLS

    CircuitMaker comes with a huge set of importers, including OrCAD™, PCAD®, PADS®, EAGLE™, Protel and more - so starting your project from a manufacturer reference design is easy. The importers support both PCB and Schematic documents.

Latest version

Released:

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.

App for open pcb files

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.

Pcb File Format

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

Open Pcb File Online

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 by width 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 to draw_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 as MI (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 any MI 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, and IR 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 and IO 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

Read Pcb Files

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pcb-tools-extension, version 0.9.3
Filename, sizeFile typePython versionUpload dateHashes
Filename, size pcb_tools_extension-0.9.3-py3-none-any.whl (34.1 kB) File type Wheel Python version py3 Upload dateHashes
Filename, size pcb-tools-extension-0.9.3.tar.gz (32.3 kB) File type Source Python version None Upload dateHashes
Close

Hashes for pcb_tools_extension-0.9.3-py3-none-any.whl

Hashes for pcb_tools_extension-0.9.3-py3-none-any.whl
AlgorithmHash digest
SHA256ca9188144ab8ce32972c044504ff6103be4948b64095a3702f5a2eb0e359bc8b
MD58ef0c2007d92c6ba93401df6c2c9e6d4
BLAKE2-2562863a10062841d66d599516b6b1553ecf3d06ded8a36b76d652e3d68f99f57b2
Close

Hashes for pcb-tools-extension-0.9.3.tar.gz

Hashes for pcb-tools-extension-0.9.3.tar.gz
AlgorithmHash digest
SHA256c3d94080a38d9fb66f90bb01f785e5ea0fa00295d28a0e3b985eb7446d05ccef
MD54e7a5a6400f78aaa51cf57015c61dc38
BLAKE2-256ebf3868fa081bd62d6d9002d907d5823c03980bf11468c8c3153fbd39a430ae4