Click here to Skip to main content
Click here to Skip to main content

CircuitPeople PCB Viewer

By , 24 Oct 2012
 

Please note

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.

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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

compiler
United States United States
Member
A compiler warns of bogasity, ignore it at your peril. Unless you've done the compiler's job yourself, don't criticize it.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionAmbitiousadminChris Maunder25 Oct '12 - 7:08 
There's lots of use of the word "may". How far has this app been developed, and what is the chance of an AppUp submission in 3 weeks?
cheers,
Chris Maunder
 
The Code Project | Co-founder
Microsoft C++ MVP

AnswerRe: Ambitiousmembercompiler25 Oct '12 - 7:34 
Pretty good. The vast majority of the code is already done, and this isn't the first such application I've written. The only "risk" is in how long it will take to tune the interactions (which I can't really start without a touch-enabled device). As a side note, the reason the Ultrabook is attractive for this is the ability to switch to "data entry" mode (laptop) for serious/tedious design review work.
GeneralMy vote of 5memberMember 139809124 Oct '12 - 14:38 
I've used the web viewer for some time and the output is clean and accurate.
QuestionPlease registeradminChris Maunder24 Oct '12 - 6:11 
Can you please register[^] using your login email address in order to allow us to link your entry with your registration.
cheers,
Chris Maunder
 
The Code Project | Co-founder
Microsoft C++ MVP

AnswerRe: Please registermembercompiler24 Oct '12 - 12:40 
Done.
GeneralMy vote of 5membersvidito23 Oct '12 - 18:16 
Used this product and amazed at its speed and how it works. Thanks Circuit People developers!
QuestionMore info pleaseadminChris Maunder23 Oct '12 - 15:52 
Quote:
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

The point of writing the article is actually summarised in that line: you need to clearly explain why your app showcases the ultrabook.
cheers,
Chris Maunder
 
The Code Project | Co-founder
Microsoft C++ MVP

QuestionMy votemembercompiler23 Oct '12 - 10:42 
Yes, of course I'm voting for my own project. Smile | :)
AnswerRe: My voteadminChris Maunder23 Oct '12 - 15:50 
And we appreciate your honesty!
cheers,
Chris Maunder
 
The Code Project | Co-founder
Microsoft C++ MVP

QuestionWhich flavour?adminChris Maunder23 Oct '12 - 9:55 
Windows Store (Metro) or Windows Desktop (traditional)? Note that the Intel AppUp store only supports Windows Desktop apps, and that the $1000 bonus for getting your app in the store is only available to Desktop apps.
cheers,
Chris Maunder
 
The Code Project | Co-founder
Microsoft C++ MVP

AnswerRe: Which flavour?membercompiler23 Oct '12 - 10:38 
Windows Desktop first, but I intend to do Metro/Store app as well.

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130516.1 | Last Updated 24 Oct 2012
Article Copyright 2012 by compiler
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid