Introduction
In the field of PCB (printed circuit board) design much of the supply chain relies on gerber files. These files, and other associated formats such as Excellon drill data, are based on ancient NIST specifications for numerical control of manufacturing machines. CircuitPeople.com is a website that allows anyone, anywhere to upload and visualize the information contained in gerber files. The goal of this project is to develop a touch-optimized viewer that provides beautiful images and interactive exploration of PCB designs and is free for all to use.
Background
To understand how viewing files is significant for people working on PCB designs, professionally or as a hobby, a good place to start is the article "What is a Gerber File?"
Functionality and Road Map
To the point of the contest, the specific Ultrabook capabilities employed by the initial (contest) version of this application include:
- The advanced graphics will generate high-quality images in real-time even for very large (millions of elements) sets of primitives, as is common for complex PCB designs. Current software generally uses software-based pixel renderers with results worthy of the early 90s.
- The multi-touch display will allow the smooth, natural gesture-based (constrained) pan and zoom that users expect these days. Current PCB viewer technology is mouse-based, sometimes with keyboard support for shortcuts (at best).
- The device orientation sensor (fusion) will allow natural adjustment of the point of view, including psuedo-3d (this is all planar geometry in gerber files) projections and shadow casting. Orientation will also queue switches from fullscreen (viewing) to interactive/design review UI.
In addition to those features, subsequent releases may also make use of other Ultrabook capabilities:
- An unusual use of the GPS to re-order the most-recently viewed file list based on the location of the devices. The presumption being that people will tend to work on different sets of files when in different locations (home vs. office vs. client XYZ).
- Collaboration for this application isn't intended to be realtime, but the camera and microphone may be useful for recording design review information (pictures of devices, audio notes).
This viewer is not entirely new development -- considerable work has already been done on the web version and in developing interactive rendering and models. Without a multi-touch device to work with I haven't made a lot of progress in that area, and would like to.
The web version of the CircuitPeople view is very basic, and a new version that takes advantage of the Ultrabook's features will be a compelling improvement.
Specific functionality will/may include:
- Beautiful anti-aliased rendering in black and white (film view) or realistic colors
- Smooth interactive pan, zoom, rotate & perspective
- Per-layer red-line mark ups and notes optimized for design review
- "Rolling Ball" measuring tool for super-efficient design
checks
- Traditional "point to point" and area measuring
- "Open From" and "Save To" your CircuitPeople web account (includes
opening designs shared with you by others via www.circuitpeople.com)
- Automatic mapping of files to intended uses (copper, silk, mask, paste, stencil,
drill, mechanical) and positions (top, inner 1, etc.)
- Open single files, multiple files, and ZIP archives of files
- Variations
- Gerber RS-274D (external apertures)
- Gerber RS-274X (embedded apertures)
- Basic Drawing
- Flashes
- Linear Interpolation (G01, G10, G11, G12)
- Circular Interpolation (G02, G03, G74, G75)
- Multiquadrant (360°) Circular Interpolation (G74, G75)
- Polygon Area Fill (G36, G37)
- Format Statment
- Axis Precision
- Leading/Trailing Zero Omission
- Absolute and Incremental Coordinates
- Metric (mm) and English (in) Units
- Scale Factor
- Layer Polarity (aka. Draw and Scratch)
- Image Polarity
- Aperture Macros, including
- Macro Primitives including Circle, Line(2,20,21,22), Outline, Polygon, Thermal and
Moire
- Macro arguments and expressions
- Macro argument assignment
- Unlimited number of aperture Macros
- Step and Repeat
- Implied tool changes
- Support for several popular external aperture specifications
- Drill file support (Excellon and drill lists)
- Many, many CAD-System specific "optimizations" that give you the right
results even when the CAD system outputs erroneous Gerbers
I'm happy to take suggestions for how this app could be even more compelling, so please give a vote and comment below. Thanks!
Summary
CircuitPeople for Windows 8 will be a highly interactive, beautifully rendered Gerber file viewer that is free to use. It will be based on a RESTful API to enable cloud storage, design analysis, format conversion and collaborative design review. The application will utilize many Ultrabook features to deliver an interesting and value-added set of capabilities that have been missing from previous software in this area.
A compiler warns of bogasity, ignore it at your peril. Unless you've done the compiler's job yourself, don't criticize it.