
PCB version 3.0
PCB 3.0 Download
PCB 3.0 Installation
PCB 3.0 for Windows
Description of version 3.0 Revisions
Features of PCB 3.0
PCB 3.0 Tcl/Tk Command Reference
pcb is free software for designing printed circuit board layouts. It has many features and is capable of professional-quality output. It is available for UN*X operating systems, e.g., GNU/Linux, Mac OS-X, or Cygwin under Windows. pcb was orignally written by Thomas Nau of the University of Ulm, Germany, and is now maintained by harry eaton of the Johns Hopkins University Applied Physics Laboratory, Laurel, Maryland, USA.PCB 3.0 is a branch of the source code modified to operate under the Tcl/Tk interpreter. Most of the coding for PCB 3.0 was done at MultiGiG, Inc., Scotts Valley, California, by Tim Edwards, Paramesh Santanam, and (working from India, courtesy of SynApps, Inc.), Nishit Patel. The code base is a departure from the original PCB in that a complete Tcl command-line API was concocted for PCB, and the GUI re-written as a Tk script. For the first cut (version 3.0), a fair bit of effort went to ensuring that the GUI looks and acts as much like the original Xlib-based version.
Here is a screen-shot of Tcl-based PCB.
CVS source download:
File Revision Size Date pcb-3.0.95.tgz 95 (2462KB) November 6, 2006 at 2:40am The Open Circuit Design anonymous CVS repository may be used for downloads of the most recent PCB source. To use the anonymous CVS, do:cvs -d :pserver:anonymous@opencircuitdesign.com:/usr/cvsroot loginThe anonymous CVS password is "anoncvs ".After logging in, check out the PCB source with:
cvs -d :pserver:anonymous@opencircuitdesign.com:/usr/cvsroot checkout pcb-3.0The module name is "pcb"; this module name may be used in place of the name "pcb-3.0" above.
PCB 3.0 is beta code. Compiled normally (i.e., without the Tcl interface), it should compile and run like the long-standing standard versions 1.6 (beta) and 1.7 (alpha).The Tcl/Tk-based version of PCB compiles and runs by default.
The compilation procedure should be immediately recognizable to anyone familiar with GNU autoconf:
./configure make make install
(to be done)
- May 7, 2006 at 9:14pm
Initial revision of source distribution on CVS at OpenCircuitDesign (Revision 86).
Also: Corrections to the handling of output scale for PostScript output (was divided by 2), and added handling of output offset in the Print dialog. Corrected errors in the Tcl "print" command for offset and scale. Note that this is a global offset, and applies to all output devices. There ought to be an equivalent handling of device margins (part of the device structure).- May 26, 2006 at 2:40am
2006-05-25 16:13 tim A number of changes: 1) Added "clearance" and "selected_clearance" command options for "line" and "via" commands, and a "clearance" option for the "pin" command. 2) Changed clearance setting behavior so that a clearance of zero can be specified (clearances between zero and the minimum DRC spacing rule are not allowed) 3) Changed the DRC rules so that a clearance of zero is not reported as a DRC violation. 4) Reduced many of the "minimum" contants to reflect the capabilities of advanced printed circuit board manufacturing.- June 14, 2006 at 2:40am
2006-06-14 01:04 eric Cleaned up build files Removed un-needed Makefiles Added test RPM spec file
Also: Removed files which are generated
Also: Removed building of pad.* files in doc folder as they seem to no longer exist
Also: Updated RPM spec file First attempt at fixing rpath problem on x86_64- June 15, 2006 at 2:40am
Removed files which are generated
Also: Removed building of pad.* files in doc folder as they seem to no longer exist
Also: Updated RPM spec file First attempt at fixing rpath problem on x86_64
Also: 2006-06-14 11:36 tim Removed all references to the unused program "tgif".- June 16, 2006 at 2:40am
2006-06-15 11:38 tim Changed "SCROLL_TIME" to a sane value.- June 20, 2006 at 2:40am
2006-06-19 13:10 tim Corrected the connectivity-finding routine to connect vias with zero clearance to surrounding polygons.- June 21, 2006 at 2:40am
2006-06-20 09:41 tim Added the capability to handle plugged vias. There is no output format for plugged vias (yet), but the display works and DRC handles them correctly.
Also: Added output drill file for plugged vias.- October 24, 2006 at 2:40am
2006-10-23 11:11 tim Some changes to attempt to make the Tcl/Tk libraries work correctly, esp. for Solaris as reported by Hans Albertsson.- November 5, 2006 at 2:40am
2006-11-04 08:06 tim Changed the parser so that it accepts (although does not handle) the 6-entry DRC line from pcb20060822.- November 6, 2006 at 2:40am
Implemented minimum drill width to match the syntax used by pcb20060822 (I have decided *not* to implement minimum annular ring until I determine that any vendor has a different rule above and beyond minimum route width).
Version 3.0 of PCB can be compiled as an extension of the Tcl/Tk interpreter, in which case every capability of PCB (at least, every one that we have thought of so far) is a Tcl command-line command. The GUI is built from a Tk script which executes these commands as callback functions from the menu items. The key macro and mouse button interface basically bypasses the interpreter and is unaffected.For now, the list of Tcl command-line commands for PCB is in a text file: commands_sorted.txt. Hopefully I can get around to organizing and beautifying the list, and checking for correctness.
![]()
For questions regarding the Tcl/Tk-based branch of PCB, please contact:
tim.edwards@multigig.com
For questions regarding the original PCB code, please contact:
harry.eaton@jhuapl.edu
Last updated: November 6, 2006 at 2:40am