diff options
author | dmcmahill <dmcmahill@pkgsrc.org> | 2000-09-01 15:05:56 +0000 |
---|---|---|
committer | dmcmahill <dmcmahill@pkgsrc.org> | 2000-09-01 15:05:56 +0000 |
commit | abdd9fbf7bbfc45cd1907fb1940e828fbc07dfdb (patch) | |
tree | 9630a0f3a99ecab827915576b77121afea7e55fd /cad | |
parent | d5519022f58b3dab92510253ff3a887e2b882f26 (diff) | |
download | pkgsrc-abdd9fbf7bbfc45cd1907fb1940e828fbc07dfdb.tar.gz |
move the docs out of FILESDIR to a seperate tarball instead of making the
pkgsrc for this pkg be nearly 1Mb. Thanks to Thomas Klausner for pointing
this out.
Diffstat (limited to 'cad')
-rw-r--r-- | cad/pcb/Makefile | 14 | ||||
-rw-r--r-- | cad/pcb/files/index.html | 109 | ||||
-rw-r--r-- | cad/pcb/files/md5 | 3 | ||||
-rw-r--r-- | cad/pcb/files/pcb.html | 5715 | ||||
-rw-r--r-- | cad/pcb/files/pcb.info | 4125 | ||||
-rw-r--r-- | cad/pcb/files/pcb.ps | 6489 | ||||
-rw-r--r-- | cad/pcb/files/refcard.ps | 437 |
7 files changed, 10 insertions, 16882 deletions
diff --git a/cad/pcb/Makefile b/cad/pcb/Makefile index 31a10a308be..c7a928414a6 100644 --- a/cad/pcb/Makefile +++ b/cad/pcb/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.7 2000/08/31 14:55:29 dmcmahill Exp $ +# $NetBSD: Makefile,v 1.8 2000/09/01 15:05:56 dmcmahill Exp $ # FreeBSD Id: Makefile,v 1.19 1998/10/31 18:05:31 jseger Exp # @@ -7,6 +7,8 @@ CATEGORIES= cad MASTER_SITES= ftp://ftp.linuxppc.org/pub/linuxppc/users/harry/PCB/ \ ftp://ftp.uni-ulm.de/pub/pcb/mirror/ EXTRACT_SUFX= .tgz +DISTFILES= pcb-1.6.3.tgz \ + pcb-docs-1.6.3.tar.gz MAINTAINER= packages@netbsd.org HOMEPAGE= http://bach.ece.jhu.edu/~haceaton/pcb/ @@ -19,10 +21,10 @@ INFO_FILES= pcb.info post-install: ${INSTALL_MAN_DIR} ${PREFIX}/share/doc/pcb/ - ${INSTALL_MAN} ${FILESDIR}/index.html ${PREFIX}/share/doc/pcb/ - ${INSTALL_MAN} ${FILESDIR}/pcb.html ${PREFIX}/share/doc/pcb/ - ${INSTALL_MAN} ${FILESDIR}/pcb.info ${PREFIX}/info/ - ${INSTALL_MAN} ${FILESDIR}/pcb.ps ${PREFIX}/share/doc/pcb/ - ${INSTALL_MAN} ${FILESDIR}/refcard.ps ${PREFIX}/share/doc/pcb/ + ${INSTALL_MAN} ${WRKSRC}/doc/index.html ${PREFIX}/share/doc/pcb/ + ${INSTALL_MAN} ${WRKSRC}/doc/pcb.html ${PREFIX}/share/doc/pcb/ + ${INSTALL_MAN} ${WRKSRC}/doc/pcb.info ${PREFIX}/info/ + ${INSTALL_MAN} ${WRKSRC}/doc/pcb.ps ${PREFIX}/share/doc/pcb/ + ${INSTALL_MAN} ${WRKSRC}/doc/refcard.ps ${PREFIX}/share/doc/pcb/ .include "../../mk/bsd.pkg.mk" diff --git a/cad/pcb/files/index.html b/cad/pcb/files/index.html deleted file mode 100644 index c8d0d6e25c2..00000000000 --- a/cad/pcb/files/index.html +++ /dev/null @@ -1,109 +0,0 @@ -<HTML> -<HEAD> -<!-- Created by texi2html 1.56k from pcb.texi on 31 August 2000 --> - -<TITLE>Pcb 1.6.3 - Table of Contents</TITLE> -</HEAD> -<BODY> -<H1>Pcb</H1> -<H2>an interactive</H2> -<H2>printed circuit board</H2> -<H2>layout system for <CODE>X11</CODE></H2> -<ADDRESS>Thomas Nau</ADDRESS> -<P> -<P><HR><P> -<UL> -<LI><A NAME="TOC1" HREF="pcb.html#SEC1">Copying</A> -<LI><A NAME="TOC2" HREF="pcb.html#SEC2">History</A> -<LI><A NAME="TOC3" HREF="pcb.html#SEC3">Introduction</A> -<UL> -<LI><A NAME="TOC4" HREF="pcb.html#SEC4">Symbols</A> -<LI><A NAME="TOC5" HREF="pcb.html#SEC5">Vias</A> -<LI><A NAME="TOC6" HREF="pcb.html#SEC6">Elements</A> -<LI><A NAME="TOC7" HREF="pcb.html#SEC7">Layers</A> -<LI><A NAME="TOC8" HREF="pcb.html#SEC8">Lines</A> -<LI><A NAME="TOC9" HREF="pcb.html#SEC9">Arcs</A> -<LI><A NAME="TOC10" HREF="pcb.html#SEC10">Polygons</A> -<LI><A NAME="TOC11" HREF="pcb.html#SEC11">Text</A> -</UL> -<LI><A NAME="TOC12" HREF="pcb.html#SEC12">Getting Started</A> -<UL> -<LI><A NAME="TOC13" HREF="pcb.html#SEC13">The Application Window</A> -<UL> -<LI><A NAME="TOC14" HREF="pcb.html#SEC14">The Status-line and Input-field</A> -<LI><A NAME="TOC15" HREF="pcb.html#SEC15">The Control Panel</A> -<LI><A NAME="TOC16" HREF="pcb.html#SEC16">The Mode Selectors</A> -<LI><A NAME="TOC17" HREF="pcb.html#SEC17">Drawing Area</A> -<LI><A NAME="TOC18" HREF="pcb.html#SEC18">Menu</A> -</UL> -<LI><A NAME="TOC19" HREF="pcb.html#SEC19">Log Window</A> -<LI><A NAME="TOC20" HREF="pcb.html#SEC20">Library Window</A> -<LI><A NAME="TOC21" HREF="pcb.html#SEC21">Drawing and Removing Basic Objects</A> -<UL> -<LI><A NAME="TOC22" HREF="pcb.html#SEC22">Lines</A> -<LI><A NAME="TOC23" HREF="pcb.html#SEC23">Arcs</A> -<LI><A NAME="TOC24" HREF="pcb.html#SEC24">Polygons and Rectangles</A> -<LI><A NAME="TOC25" HREF="pcb.html#SEC25">Text</A> -<LI><A NAME="TOC26" HREF="pcb.html#SEC26">Vias</A> -<LI><A NAME="TOC27" HREF="pcb.html#SEC27">Elements</A> -<LI><A NAME="TOC28" HREF="pcb.html#SEC28">Pastebuffer</A> -</UL> -<LI><A NAME="TOC29" HREF="pcb.html#SEC29">Moving and Copying</A> -<LI><A NAME="TOC30" HREF="pcb.html#SEC30">Loading and Saving</A> -<LI><A NAME="TOC31" HREF="pcb.html#SEC31">Printing</A> -<LI><A NAME="TOC32" HREF="pcb.html#SEC32">Connection Lists</A> -<LI><A NAME="TOC33" HREF="pcb.html#SEC33">Selection</A> -<LI><A NAME="TOC34" HREF="pcb.html#SEC34">Rats Nest</A> -<LI><A NAME="TOC35" HREF="pcb.html#SEC35">Design Rule Checking</A> -</UL> -<LI><A NAME="TOC36" HREF="pcb.html#SEC36">User Commands</A> -<LI><A NAME="TOC37" HREF="pcb.html#SEC37">Command-Line Options</A> -<UL> -<LI><A NAME="TOC38" HREF="pcb.html#SEC38">Options</A> -<LI><A NAME="TOC39" HREF="pcb.html#SEC39">Special Options</A> -</UL> -<LI><A NAME="TOC40" HREF="pcb.html#SEC40">X11 Interface</A> -<UL> -<LI><A NAME="TOC41" HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A> -<LI><A NAME="TOC42" HREF="pcb.html#SEC42">Actions</A> -<LI><A NAME="TOC43" HREF="pcb.html#SEC43">Default Translations</A> -</UL> -<LI><A NAME="TOC44" HREF="pcb.html#SEC44">File Formats</A> -<UL> -<LI><A NAME="TOC45" HREF="pcb.html#SEC45">Basic Types</A> -<LI><A NAME="TOC46" HREF="pcb.html#SEC46">Layout File Format</A> -<LI><A NAME="TOC47" HREF="pcb.html#SEC47">Element File Format</A> -<LI><A NAME="TOC48" HREF="pcb.html#SEC48">Font File Format</A> -<LI><A NAME="TOC49" HREF="pcb.html#SEC49">Library Contents File Format</A> -<LI><A NAME="TOC50" HREF="pcb.html#SEC50">Library File Format</A> -</UL> -<LI><A NAME="TOC51" HREF="pcb.html#SEC51">Installation and Troubleshooting</A> -<UL> -<LI><A NAME="TOC52" HREF="pcb.html#SEC52">Compiling and Installing</A> -<UL> -<LI><A NAME="TOC53" HREF="pcb.html#SEC53">Editing config.h</A> -<LI><A NAME="TOC54" HREF="pcb.html#SEC54">Manuals</A> -<LI><A NAME="TOC55" HREF="pcb.html#SEC55">Compiling the Package</A> -</UL> -<LI><A NAME="TOC56" HREF="pcb.html#SEC56">Troubleshooting</A> -<UL> -<LI><A NAME="TOC57" HREF="pcb.html#SEC57">HP Series 700 and 800</A> -<LI><A NAME="TOC58" HREF="pcb.html#SEC58">Sun SPARC architecture</A> -<LI><A NAME="TOC59" HREF="pcb.html#SEC59">Silicon Graphics</A> -<LI><A NAME="TOC60" HREF="pcb.html#SEC60">DEC Alpha</A> -<LI><A NAME="TOC61" HREF="pcb.html#SEC61">SCO Unix</A> -<LI><A NAME="TOC62" HREF="pcb.html#SEC62">Linux</A> -<LI><A NAME="TOC63" HREF="pcb.html#SEC63">FreeBSD and NetBSD</A> -<LI><A NAME="TOC64" HREF="pcb.html#SEC64">Problems related to X11</A> -<LI><A NAME="TOC65" HREF="pcb.html#SEC65">Problems related to TeX</A> -</UL> -</UL> -<LI><A NAME="TOC66" HREF="pcb.html#SEC66">Index of Resources</A> -<LI><A NAME="TOC67" HREF="pcb.html#SEC67">Index of Actions, Commands and Options</A> -<LI><A NAME="TOC68" HREF="pcb.html#SEC68">Index of Concepts</A> -</UL> -<P><HR><P> -This document was generated on 31 August 2000 using -<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k. -</BODY> -</HTML> diff --git a/cad/pcb/files/md5 b/cad/pcb/files/md5 index 7ca3aad55ad..8309d906a49 100644 --- a/cad/pcb/files/md5 +++ b/cad/pcb/files/md5 @@ -1,3 +1,4 @@ -$NetBSD: md5,v 1.1.1.1 1998/11/07 14:30:34 frueauf Exp $ +$NetBSD: md5,v 1.2 2000/09/01 15:05:58 dmcmahill Exp $ MD5 (pcb-1.6.3.tgz) = 2649927fd49b89d71a524082b633849e +MD5 (pcb-docs-1.6.3.tar.gz) = 28756be714b203533c8bea5c80d0571c diff --git a/cad/pcb/files/pcb.html b/cad/pcb/files/pcb.html deleted file mode 100644 index 2a0e02218f1..00000000000 --- a/cad/pcb/files/pcb.html +++ /dev/null @@ -1,5715 +0,0 @@ -<HTML> -<HEAD> -<!-- Created by texi2html 1.56k from pcb.texi on 31 August 2000 --> - -<TITLE>Pcb 1.6.3</TITLE> -</HEAD> -<BODY> -<H1>Pcb</H1> -<H2>an interactive</H2> -<H2>printed circuit board</H2> -<H2>layout system for <CODE>X11</CODE></H2> -<ADDRESS>Thomas Nau</ADDRESS> -<P> -<P><HR><P> - - -<UL> -<LI><A HREF="pcb.html#SEC1">Copying</A>: <CODE>Pcb</CODE> is freely redistributable! -<LI><A HREF="pcb.html#SEC2">History</A>: How it all began. -<LI><A HREF="pcb.html#SEC3">Intro</A>: A short description of the basic objects. -<LI><A HREF="pcb.html#SEC12">Getting Started</A>: Introduction to <CODE>Pcb</CODE>. -<LI><A HREF="pcb.html#SEC36">User Commands</A>: User commands of <CODE>Pcb</CODE>. -<LI><A HREF="pcb.html#SEC37">Command-Line Options</A>: Calling <CODE>Pcb</CODE> from a shell. -<LI><A HREF="pcb.html#SEC40">X11 Interface</A>: Action routines, resources and default translation. -<LI><A HREF="pcb.html#SEC44">File Formats</A>: Description of <CODE>ASCII</CODE> files used by <CODE>Pcb</CODE>. -<LI><A HREF="pcb.html#SEC51">Installation</A>: Compiling, installing and troubleshooting. -</UL> - - - -<H1><A NAME="SEC1" HREF="pcb_toc.html#TOC1">Copying</A></H1> -<P> -Copyright (C) 1994,1995,1996,1997 Thomas Nau - - -<P> -This program is free software; you may redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - - -<P> -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANT-ABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -<B>GNU General Public License</B> for more details. - - - - -<H1><A NAME="SEC2" HREF="pcb_toc.html#TOC2">History</A></H1> -<P> -<A NAME="IDX1"></A> -<CODE>Pcb</CODE> is a handy tool for laying out printed circuit -boards. -It was first written for an Atari ST in 1990 and ported to <CODE>UNIX</CODE> and -<CODE>X11</CODE> in 1994. -I never had the intention to create another professional layout system, -but to write a tool which supports people like you who do some -home-developing of hardware. For this reason it has no auto-router nor -auto-placement code. - - -<P> -The second release 1.2 included menus for the first time. This made -<CODE>PCB</CODE> easier to use and thus a more important tool. - - -<P> -Release 1.3 introduced undo for highly-destructive commands, -more straightforward action handling and scalable fonts. Layer-groups -were introduced to group signal-layers together. - - -<P> -Release 1.4 provided support for add-on device drivers. -Two layers (the solder and the component side) -were added to support SMD elements. The handling of libraries -was also improved in 1.4.1. Support for additional devices like -GERBER plotters started in 1.4.4. The undo feature was expanded -and the redo-feature added in 1.4.5. - - -<P> -Release 1.5 provides support for rats-nest generation from simple net -lists. It also allows for automatic clearances around pins that pierce -a polygon. A variety of other enhancments including a Gerber RS274X -driver and NC drill file generation have also been added. -harry eaton (haceaton@aplcomm.jhuapl.edu) -was responsible for most of the changes found in this release. - - -<P> -Release 1.6 provides automatic screen updates of changed regions. -This should elliminate most of the need for the redraw (r) key. -Also some changes to what order items under the cursor are selected -were made for better consistancy - it is no longer possible to -accidentally move a line or line point that is completely obscured -by a polygon laying over top of it. Larger objects on the upper -most layers can be selected ahead of smaller objects on lower layers. -These changes make operations more intuitive. A new mode of line -creation was added that creates two line on 45 degree angles -with a single click. The actual outline of the prospective line(s) are -now shown during line creation. An arc creation mode was added. -Drawn arcs are quarter circles and can be useful for high frequency -controlled impedance lines. (You can have eighth circle arc if the -source is compiled with -DARC45, but be aware that the ends of such -arcs can never intersect a grid point). Two new flags for pins and -vias were created - one indicates that the pin or via is purely a -drill hole and has no copper annulus. You can only toggle this flag -for vias - for elements, it must be an integral part of the element -definition. The other flag controls whether the pad will be round -or octagonal. There is also now a feature for converting the contents -of a buffer into an element. Vias become the pins (or mounting holes), -lines and arcs on the solder layer become silkscreen, and lines on the -component layer become the pads. Action commands entered via the colon -command entry are no longer proceeded with "a ", just type the command -directly. Several bugs have also been fixed. New -ones were probably introduced since extensive changes were made. -harry eaton was responsible for these changes. - - -<P> -Release 1.6.1 adds the ability to make groups of action commands bound to -a single X11 event to be undone by a single undo. Also a simple design rule -checker was added - it checks for minimum spacing and overlap rules. Plus -many fixes for bugs introduced with the many changes of 1.6 -harry is responsible for these changes too. - - -<P> -Special thanks goes to: - -<PRE> -Bernhard Daeubler (Bernhard.Daeubler@physik.uni-ulm.de) -Harald Daeubler (Harald.Daeubler@physik.uni-ulm.de) -Roland Merk (merk@faw.uni-ulm.de) -Erland Unruh (Erland.Unruh@malmo.trab.se) -Albert John FitzPatrick III (ajf_nylorac@acm.org) -Boerge Strand (borges@ifi.uio.no) -harry eaton (haceaton@aplcomm.jhuapl.edu) -Andre M. Hedrick (hedrick@Astro.Dyer.Vanderbilt.Edu) -</PRE> - -<P> -who did most of the alpha and beta testing, helped to port <CODE>PCB</CODE> to -several operating systems and platforms and corrected several typos in the -manuals. In addition to these, many others donated time for bug-fixing and -other important work. Some of them can be identified in the source code -files. Thanks to all of them. - - -<P> -<A NAME="IDX2"></A> - - -<H1><A NAME="SEC3" HREF="pcb_toc.html#TOC3">Introduction</A></H1> -<P> -Each layout consists of several, mostly independent, objects. This chapter -gives an overview of the object types and their relationship to each other. -For a complete description of how to use <CODE>Pcb</CODE>, refer to -section <A HREF="pcb.html#SEC12">Getting Started</A>. -The layout is generated on-screen on a grid that has its origin in the -upper left corner of the screen. -The x coordinate increases to the right, y increases down to the bottom. -All distances and sizes in <CODE>Pcb</CODE> are measured in mils (0.001 inch). -One unit on the display grid is one mil in distance on the board. -The sections in this chapter are sorted by the -order of appearance of the objects within a layout file. - - - -<UL> -<LI><A HREF="pcb.html#SEC4">Symbol Objects</A>: Information about fonts and symbols. -<LI><A HREF="pcb.html#SEC5">Via Objects</A>: Vias and pins connect layers. -<LI><A HREF="pcb.html#SEC6">Element Objects</A>: Element, the basic type of circuits. -<LI><A HREF="pcb.html#SEC7">Layer Objects</A>: A <SAMP>`container'</SAMP> for lines, text... -<LI><A HREF="pcb.html#SEC8">Line Objects</A> -<LI><A HREF="pcb.html#SEC9">Arc Objects</A> -<LI><A HREF="pcb.html#SEC10">Polygon Objects</A> -<LI><A HREF="pcb.html#SEC11">Text Objects</A>: Objects to add symbols to your board. -</UL> - -<P> -<A NAME="IDX3"></A> -<A NAME="IDX4"></A> - - -<H2><A NAME="SEC4" HREF="pcb_toc.html#TOC4">Symbols</A></H2> -<P> -The top object is the layout itself. It uses a set of symbols -that resides at the first logical level. Each symbol is uniquely identified -by a seven bit <CODE>ASCII</CODE> code. All layout objects share the same set of -symbols. These symbols are used to form text objects on the silkscreen -and copper layers. Undefined symbols are drawn as filled rectangles. - - -<P> -Every font file is preprocessed by a user-defined command when it is loaded. -For details see <SAMP>`fontCommand'</SAMP>, section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>. - - -<P> -<A NAME="IDX5"></A> - - -<H2><A NAME="SEC5" HREF="pcb_toc.html#TOC5">Vias</A></H2> -<P> -Vias are identical to the pins used by elements except that they can be added -or removed individually. -The purpose of vias is to provide connections between different layers. -Don't use vias for adding elements to the layout, even if that seems -easier than creating a new element. -Vias are useful for defining arbitrary drill points such as -those used for mounting a board. -You can assign a name to a via even though you probably won't ever want to. -Vias reside at the first logical level; therefore, each -via exists on all layers. (<EM>i.e.</EM> -blind vias are not supported) - - -<P> -<A NAME="IDX6"></A> -<A NAME="IDX7"></A> - - -<H2><A NAME="SEC6" HREF="pcb_toc.html#TOC6">Elements</A></H2> -<P> -Elements represent the components on a board. -Elements are loaded from <CODE>ASCII</CODE> coded files in a -similar manner to the layout file itself. -They are composed of lines and arcs on the silk-screen -layer (used to define the package outline) , pins -(or pads for SMD) and three labels that define the -description, the element's layout-name (which also -appears on the silk- screen layer) and its value. -Element pins are contained on the first logical level -and so reside on all layers. -A mark is used to position the element with -respect to the cursor cross-hair during pasting. -SMD elements use pads instead of pins. -Pads are handled similarly to lines on a layer but they must be oriented -either vertically or horizontally. -Pads can have either rounded or square ends. -All parts of an element are treated as one unit. -It is not possible to delete a single pin or break -an element into pieces on the layout. -You can resize separate pieces of an element, -but doing so is usually a bad idea. - - -<P> -Elements are supported by several special layers: <EM>silk</EM>, <EM>pins/pads</EM> and -<EM>far-side</EM>. The <EM>silk</EM> layer shows the package outline and -also holds legend text and element names. The <EM>pins/pads</EM> layer is used to toggle -whether the element's pins and pads are displayed. The <EM>far-side</EM> layer controls visibility -of objects (silkscreen and pads) that are on the far (<EM>i.e.</EM> not currently viewed) side -of the board. - - -<P> -Every element file is preprocessed by a user-defined command when the file is read. -For details see <SAMP>`elementCommand'</SAMP>, section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>. <CODE>m4</CODE>, the default -value of <SAMP>`elementCommand'</SAMP>, allows you to create libraries for -package definitions that are shared by all elements. -The element libraries distributed with <CODE>Pcb</CODE> expect <CODE>m4</CODE> or an -equivalent to be the <EM>elementCommand</EM>. - - -<P> -<CODE>Pcb</CODE> can create a list of -all connections from one (or all) elements to the others or a list of -unconnected pins. -It can also verify the layout connections against a netlist file. -The element's <SAMP>`layout-name'</SAMP> is the name used to identify an element -in a netlist file. -The pin numbering for an element is defined by unique strings assigned to -each pin. In addition to the "pin number" string, each pin has a "name" -which describes its function. Previously element pin number was established -by the order of appearance of the pin definitions in the layout or element -file. Since the "number" strings for each pin are a new feature, if they are -absent then the numbering is again established by the order of pin appearance -in the file. -In other words, the first pin appearing in the file is pin one, the -next pin is pin two and so on. -Usually the names assigned to pins are simply numbers, but they don't -have to be. It is only necessary that the "number" string for the pin -matches exactly the "number" string in the netlist file. -<B>Be aware that a few of the library parts may still be incorrectly -implemented regarding pin-numbering.</B> All of the DIL (Dual- -Inline-Pins) parts are correct and most of the others are too, -but you should verify the pin numbering -of any non-DIL part (use the <EM>Report Menu</EM> to see what <CODE>Pcb</CODE> thinks a pin's -number is) before using the rats nest feature with a library part. Hopefully sometime -soon someone will volunteer to cross-check all of the element libraries and make -fixes available as necessary. -<CODE>Pcb</CODE> can also check a layout to see that it meets minimum spacing -and overlap rules. - - -<P> -You can make your own quick-and-dirty element definitions graphically now. -Simply draw vias for the pins -and lines and arcs on a solder layer for the silkscreen -outline. You should name each via with the pin number. -If you want to create a SMD device, draw lines for the pads on a -component side layer (You must draw these in pin number order since lines can't -be named). They must be -either horizontal or vertical or they will not be recognized as pads. Once -you are happy with the geometry, select everything that is to become part of -the element, then choose "cut to buffer" from the menu. Now select "convert -buffer to element" from the menu. Viola'! Afterwards you can make pin one -square (or pads) if you like, and give the element its various names. Note that the -element mark corresponds to the cut position when everything was put into the -buffer. If the vias are not named, then the pin numbering will correspond to the -order in which the vias were placed. - - -<P> -<A NAME="IDX8"></A> - - -<H2><A NAME="SEC7" HREF="pcb_toc.html#TOC7">Layers</A></H2> -<P> -Every layout consists of several layers that can be used independently -or treated as a group. -Layer groups can be used to logically separate (and color-code) -different traces (<EM>e.g.</EM> power and signal); however, all -layers within a group reside on the same physical -copper layer of a board, so using different layers within the same -group won't provide electrical separation where they touch or overlap. -For details, see <SAMP>`layerGroups'</SAMP>, section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>. -Each layer is drawn in a color defined in the resource file (for -details see <SAMP>`layerColor'</SAMP>, section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>) and identified by a name -that you can change. -Layers are really just containers for line, polygon, and text objects. The -component and solder layers contain SMD elements as well, but the -file structure doesn't reflect that fact directly. Each layer group -represents a physical layer on the printed circuit board. If you want to make -a four layer board, you'll need to have four layer groups. -Connections between layer groups are established only through element pins and vias. -The relationship between a specific layer and the board itself is configureable from -the <SAMP>`Edit layer groups'</SAMP> option in the <SAMP>`Objects'</SAMP> menu. -The layer groups corresponding to the physical layers <EM>component-side</EM> -and <EM>solder-side</EM> are always defined, and you must map at least one -logical layer to each. -Of course, you are not obligated to put tracks on either of them. -SMD-elements always reside on either the component-side or the solder-side -layer group. -You can swap which side of the board you are viewing by pressing -<EM><Key>Tab</EM>. -You can decide which layer group will be the solder side and which will be -the component side. -The layers groups just have a name or number associated with them - where -they are sandwiched in the board is left to the manufacturing processes. - - -<P> -<A NAME="IDX9"></A> - - -<H2><A NAME="SEC8" HREF="pcb_toc.html#TOC8">Lines</A></H2> -<P> -Lines are used to draw tracks on the pc board. -When in the line mode, each <EM><Btn1></EM> -press establishes one end of a line. -Once the second point is defined, the line is drawn -and a new line started where the first one ended. -You can abondon the new starting point in favor -of another by pressing <EM>Ctrl<Btn1></EM>. -The undo function (<EM><Key>u</EM>) will take you back -point by point if you use it while in the line mode. -New lines can be restricted to 45 degree angles if desired. You can toggle this -restriction on and off while creating lines by pressing <EM><Key>.</EM> (that is the -<EM>period</EM> key). If the 45 degree restriction is turned on, then the <EM><Key>/</EM> -can be used to cylce through three different modes of 45 degree line creation. -One mode just creates a single line forced to the nearest 45 degree vector. The next -mode creates two lines from the start to end points such that the first line leaves the -start point at a 90 degree vector, and the second line enters the end point on a 45 -degree vector. The next mode creates two lines such that the first line leaves the -start point on a 45 degree vector and arrives at the end point on a 90 degree vector. -You can temporarily swap between the last two modes by holding the shift key down. -It is simple to edit a line type object by breaking it into pieces (insert point mode), -moving an end point (or the whole line) (<EM><Btn2Down><drag><Btn2Up></EM>), -or changing the layer it resides on (<EM><Key>m</EM> moves the line under the pointer -to the active layer). -In the case when two line segments meet at exactly the same -point you can delete the intermediate point, otherwise the delete mode removes an entire line. -Feel free to experiment -since <CODE>Pcb</CODE> will allow you to undo anything that materially affects your work. -If you switch active layers in the midst of placing lines a via will automatically be -placed, when necessary, in order to continue the connection. - - -<P> -<A NAME="IDX10"></A> - - -<H2><A NAME="SEC9" HREF="pcb_toc.html#TOC9">Arcs</A></H2> -<P> -With version 1.6 it is possible to draw copper arcs. The arcs are restricted to -be quarter circles. This means they always bend a right angle. They are very similar -to lines otherwise. They are created on the current layer and have the same thickness -that new lines will have. The various clicks for creating lines work pretty much the -same way for creating arcs. The start point for the arc is at the first <EM><Btn1></EM> -position. In order to make the arc curve in the direction desired, drag the mouse along -the tangent line from the starting position towards the end position. If the grid is -too coarse, it may not be possible to distinguish whether you've moved over then up, -or up then over, so if you can't seem to make the arc go the direction you want, you -should decrease the grid spacing. Alternatively you could drawn the wrong arc, then -rotate and move it where you want. Like the line tool, after an arc is drawn a new -starting point is established at the end point. Whenever a start point is established -by either the line or arc tools it will be retained if you switch directly between the -tools (e.g. <EM><Key>F2</EM> for Lines, <EM><Key>F8</EM> for Arcs. Of course connection -searches, undo and all the other features you'd expect work with arcs now. - - -<P> -<A NAME="IDX11"></A> - - -<H2><A NAME="SEC10" HREF="pcb_toc.html#TOC10">Polygons</A></H2> -<P> -Sometimes it's useful to fill large areas with solid copper. -The way to do this is with polygons. -Polygons can be created in either the polygon mode or the rectangle mode. -In the polygon mode, you'll have to define each corner of the polygon -with a mouse click (<EM><Btn1></EM>). When the last point is clicked -exactly on top of the starting point, the polygon is finished. -Since this can be hard to do, the <EM>Shift<Key>p</EM> will enter the -final point for you, closing the polygon. -If the 45 degree angle restriction is turned on -and you try to close the polygon when it is not possible, you'll get a -warning instead. If you haven't finished entering a polygon, but want to -undo one (or more) of the points that you've already defined, use the -undo command (<EM><Key>u</EM>). -With the rectangle tool, defining -the two opposite corners is sufficient, but of course the resulting -polygon is a rectangle. -Like lines, a polygon can by edited by deleting, inserting and moving the points -that define it. -<CODE>Pcb</CODE> is capable of handling complex polygons, but -using a number of simpler ones improves performance of the connection tracing code. - - -<P> -A new feature in version 1.5 of <CODE>Pcb</CODE> automatically creates clearance -regions around pins and vias that pierce a polygon. This means that they -aren't electrically connected to the polygon unless you add "thermals" -to cross the clearance region. -Thermals can be added and removed by selecting the thermal mode and clicking -<EM><Btn1></EM> on the pin or via. -Remember that this only creates connections to the polygon on the active layer. -The great advantage to this new polygon behavior is that simple or complex ground -and/or power planes can be easily made with polygons and seen on the screen. -If you don't want this auto-clearance behavior, or you load a layout created by -an earlier version of <CODE>Pcb</CODE>, the old behavior -(shorts to all piercing pins and vias) is available. A <SAMP>`ChangeSize'</SAMP> -operation (<EM><Key>s</EM>) toggles a polygon between the new and old polygon/pin -behavior. - - -<P> -<A NAME="IDX12"></A> -<A NAME="IDX13"></A> - - -<H2><A NAME="SEC11" HREF="pcb_toc.html#TOC11">Text</A></H2> -<P> -Text objects should be used to label a layout or to put additional -information on the board, but not to identify elements because elements -have their own labels. -Text is always horizontal when first created, but the -rotate mode can align it along 0, 90, 180 and 270 degree angles. -Text can be moved from any layer to the silk-screen layer with a -command in the <SAMP>`selection menu'</SAMP>. -Text that is moved to the silk-screen layer will appear on the -solder-side silk-screen if it originating on a solder-side layer. -Otherwise moving it to the silk-screen layer will put it on the -component-side silk-screen. -To move text back to a copper layer from -the silk-screen, use the <SAMP>`MoveToCurrentLayer'</SAMP> (<EM><Key>m</EM>) command. -Text on the far side of the board will automatically appear mirror-imaged. - - -<P> -<B>TEXT OBJECTS ON A COPPER LAYER CREATE COPPER LINES BUT THEY ARE NOT SCANNED FOR -CONNECTIONS OR TESTED FOR CREATING SHORTS VS. THE NETLIST. NEITHER ARE TEXT OBJECTS TESTED AGAINST ANY DESIGN RULES</B>. - - -<P> -<A NAME="IDX14"></A> - - -<H1><A NAME="SEC12" HREF="pcb_toc.html#TOC12">Getting Started</A></H1> -<P> -The goal of this chapter is to give you enough information to learn how -<CODE>Pcb</CODE> works and how to develop your layouts to make the best use of <CODE>Pcb</CODE>'s -features. All event translations (<EM>i.e.</EM> the buttons and keys you -press) refer to the default application resource file shipped with <CODE>Pcb</CODE>. -There is probably no need to change them unless your window -manager uses some of the button events itself; however, if you <EM>want</EM> -to customize the behavior of <CODE>Pcb</CODE> then changing the resource file -is usually the best way to do it. - - -<P> -Get yourself a printout of this chapter and <EM>User Commands</EM>, if you -haven't already done so, and follow the examples. -An example layout may be found in <TT>`example/68HC11'</TT>. -An example illustrating some version 1.5 features is found in -<TT>`example/LED'</TT> along with its corresponding netlist file <TT>`example/LED.NET'</TT>. - - -<P> -Start <CODE>Pcb</CODE> (the actual command will use all lower-case letters) -without any additional options. -If you get the error message: - - - -<PRE> - can't find default font-symbol-file 'default_font' -</PRE> - -<P> -then the font searchpath or filename in the application resource -file is wrong. Be sure that your <CODE>m4</CODE> program supports searchpaths. -If not, get <CODE>GNU m4</CODE>. -For other messages, see section <A HREF="pcb.html#SEC56">Troubleshooting</A>. -Another quick-start is provided by <CODE>pcbtest.sh</CODE> in the <TT>`src'</TT> -directory. - - - -<UL> -<LI><A HREF="pcb.html#SEC13">Application Window</A>: The elements of the main window. -<LI><A HREF="pcb.html#SEC19">Log Window</A>: The optional logging window -<LI><A HREF="pcb.html#SEC20">Library Window</A>: The circuit selection window -<LI><A HREF="pcb.html#SEC21">Drawing and Removing</A> -<LI><A HREF="pcb.html#SEC29">Moving and Copying</A> -<LI><A HREF="pcb.html#SEC30">Loading and Saving</A> -<LI><A HREF="pcb.html#SEC31">Printing</A> -<LI><A HREF="pcb.html#SEC32">Connection Lists</A>: How to get a list of all or some connections. -<LI><A HREF="pcb.html#SEC33">Selection</A>: Commands which handle more than one object. -<LI><A HREF="pcb.html#SEC34">Rats Nest</A>: Helps you place and route tracks against a netlist. -<LI><A HREF="pcb.html#SEC35">Design Rule Checking</A> -</UL> - - - -<H2><A NAME="SEC13" HREF="pcb_toc.html#TOC13">The Application Window</A></H2> -<P> -The main window consists of five areas: -the menu at the top, the control panel in the upper left corner, the mode buttons -located below the control panel, the drawing area to the right of these, and the -status line at the bottom of the window. - - - -<UL> -<LI><A HREF="pcb.html#SEC14">Status-line and Input-field</A>: What is the program configuration. -<LI><A HREF="pcb.html#SEC15">Control Panel</A>: Switch layers on/off; change current one. -<LI><A HREF="pcb.html#SEC16">Mode Selectors</A>: Select an operation mode. -<LI><A HREF="pcb.html#SEC17">Drawing Area</A>: Where the layout is drawn. -<LI><A HREF="pcb.html#SEC18">Menu</A> -</UL> - -<P> -<A NAME="IDX15"></A> -<A NAME="IDX16"></A> -<A NAME="IDX17"></A> - - -<H3><A NAME="SEC14" HREF="pcb_toc.html#TOC14">The Status-line and Input-field</A></H3> -<P> -The status-line is located at the bottom edge of the main window. -During normal operation the status information is visible there. -When a selected menu operation requires an additional button click, the -status-line is replaced by a message telling you to position the cursor -and click. -When a text input is required, the status-line is replaced by the -Input-field which has a prompt for the typed input. - - -<P> -The status-line shows, from left to right, the side of the board that you -are viewing (<EM><Key>Tab</EM> changes this), if an absolute -(abs) or relative (rel) grid is used, if new lines are restricted to 45 degrees, -which type of 45 degree line mode is active, whether rubberband move and -rotate mode is on (R), the current grid values, and the zoom factor. -This information is followed by the line-width, via-size -and drilling hole in mil, text scaling, the active buffer number and the -name of the layout. An asterisk appearing at the left edge indicates the -layout has been modified since the last save. -Note that the name of the layout is not the same -thing as the filename of the layout. - - -<P> -The input-field pops up (temporarily replacing the status-line) whenever user input -is required. Two keys are bound to the input field: <EM><Key>Escape</EM> -aborts the input, <EM><Key>Return</EM> finishes it. - - -<P> -The present cursor position is displayed in the upper right corner of the window. -Normally this position is an absolute coordinate, but with -version 1.5 of <CODE>Pcb</CODE> you can anchor a marker at -the current cursor location by pressing <EM>Ctrl<Key>m</EM> then the -display will read both the absolute cursor position as well as the difference -between it and the marker. Pressing <EM>Ctrl<Key>m</EM> again turns the marker off. - - -<P> -<A NAME="IDX18"></A> -<A NAME="IDX19"></A> -<A NAME="IDX20"></A> -<A NAME="IDX21"></A> - - -<H3><A NAME="SEC15" HREF="pcb_toc.html#TOC15">The Control Panel</A></H3> -<P> -The control panel, located at the left side of the window, is used to turn on -and off the display of layer groups and to select the active drawing layer. -If a layer hasn't been named, the label "<EM>(unknown)</EM>" is used as the defualt. - - -<P> -The upper control box is used to switch layers on and off. Click -<EM><Btn1Down></EM> on one or more of them. Each click toggles the setting. -The currently active layer can't be switched off. -The layout is refreshed when the pointer reenters the drawing area. This -prevents excessive redrawing when the visibility of several layers is changed. -When the layers are grouped, clicking on these fields will toggle -the visibility of all layers in the same group. This is a good idea because -layers in the same group reside on the same physical layer of -the actual board. -Use the <SAMP>`Edit layer groups'</SAMP> option in the <SAMP>`Objects'</SAMP> menu to -change the layer groupings. -Grouping layers is only useful for helping you to color-code -signals in your layout. Note that grouping layers actually reduces the number -of different physical layers available for your board, thus to make an eight -layer board, you cannot group any layers. - - -<P> -<EM>far side</EM> turns on and off the visibility of elements -(including SMD pads) on the opposite -board side, as well as silk screening on that side. It does not automatically -hide the x-ray view of the other copper layers, these must be turned off -separately if desired. Use the <EM>tab</EM> key to view the entire board from the other -side. To see a view of what the back side of the board will actually look like, -make the solder layer the active layer then press <EM>tab</EM> until the status -line says "solder" on the right, then turn off the visibility of all other layers -except pins/pads, vias, and silk. - - -<P> -The lower control menu, named <EM>active</EM>, is used to change the active -drawing layer. <EM><Btn1Down></EM> pops up a menu to select a one. -Each entry is labeled with the layer's name and drawn in its color. -The new drawing layer is automatically made visible. -Try changing the active layer's name to <EM>ABC</EM> by selecting -<SAMP>`set name of layer'</SAMP> from the <SAMP>`File'</SAMP> menu. -Changing the active layer also is available with <EM><Key>1..8</EM>. - - -<P> -<A NAME="IDX22"></A> -<A NAME="IDX23"></A> - - -<H3><A NAME="SEC16" HREF="pcb_toc.html#TOC16">The Mode Selectors</A></H3> -<P> -The mode selector buttons reside below the control panel. -They are used to select the operation mode of <CODE>Pcb</CODE>. A mode can be -thought of as a tool that gets used when <EM><Btn1></EM> is pressed. -Each mode causes the cursor to take on a unique shape that identifies the tool. -The buttons themselves are icons that illustrate their function. -The drawing modes can also be selected from the keyboard: - -<PRE> - <EM><Key>Escape</EM> reset mode - <EM><Key>F1</EM> via-mode - <EM><Key>F2</EM> line-mode - <EM><Key>F3</EM> pastebuffer-mode - <EM><Key>F4</EM> rectangle-mode - <EM><Key>F5</EM> text-mode - <EM><Key>F6</EM> polygon-mode - <EM><Key>Insert</EM> insert-point-mode - <EM><Key>F7</EM> thermal-mode - <EM><Key>F8</EM> arc-mode -</PRE> - -<P> -The <EM><Key>Space</EM> cycles through all of the modes in the -mode button palette. - - -<P> -Reset-mode is really no mode, and <EM><Btn1></EM> has no effect with -this setting. -Some of the modes are very simple, such as the via-mode. Clicking -<EM><Btn1></EM> while in this mode creates a via at the cross-hair position. -The pastebuffer-mode is similar. With this mode, <EM><Btn1></EM> copies -the contents of the active buffer to the layout, but only -those parts that reside on visible layers are copied. -The rotate-mode allows you to rotate elements and text objects -90 degrees counter-clockwise with each click. -The line-mode is explained in detail in section <A HREF="pcb.html#SEC8">Lines</A>. -The arc-mode is explained in detainl in section <A HREF="pcb.html#SEC9">Arcs</A>. -Rectangle-mode, polygon-mode and thermal-mode are explained in detail in -section <A HREF="pcb.html#SEC10">Polygons</A>. -Remember that the thermal-mode will only create and destroy thermals -to polygons on the active layer. - - -<P> -The insert-point-mode is an editing tool that allows you to add -points into lines or polygons. With version 1.5 of <CODE>Pcb</CODE>, the -insert-point-mode enforces the 45 degree line -rule. You can force only the shorter line segment to 45 -degrees by holding the shift key down while inserting the point. -The delete-mode deletes the smallest object beneath the cursor with each -<EM><Btn1></EM> click. -If you use click at an end-point -that two lines have in common, it will replace the two lines with a single line -spanning the two remaining points. This can be used to delete an "inserted" -point in a line, restoring the previous line. - - -<P> -<A NAME="IDX24"></A> - - -<H3><A NAME="SEC17" HREF="pcb_toc.html#TOC17">Drawing Area</A></H3> -<P> -The drawing area is made from a viewport widget that also includes two -scrollbars. The cursor changes shape depending -on the current operation mode when the pointer is moved into the drawing area. -A crosshair follows the X11 pointer with respect to the grid setting. -Move around and watch the cursor position displayed in the upper right of -the window. -Now select a new grid from the <EM>Display</EM> menu. -The new value is updated in the statusline. -Now move again and watch the difference. A different way to change the grid is -<EM>Shift<Key>g</EM> to decrease or <EM><Key>g</EM> to increase -it. The grid setting is saved along with the data when you save a pcb layout. -For homemade layouts a value around 50 is a good setting. -The cursor also may be moved with the cursor keys or, for larger -distances, by pressing the <EM>shift</EM> modifier together with a cursor key. - - -<P> -<A NAME="IDX25"></A> -<A NAME="IDX26"></A> - - -<H3><A NAME="SEC18" HREF="pcb_toc.html#TOC18">Menu</A></H3> -<P> -The menus are located at the top of the drawing area. Most, but not all, -of their functions are also available from the keyboard. -Some of the entries such as <EM>center</EM> require a certain cursor position. -In this case a statusline will popup at the bottom with wording similar to -the following: - -<PRE> - move pointer to the appropriate screen position and press a button -</PRE> - -<P> -Any mouse button will do the job, whereas any key except the cursor keys -will cancel the operation. For details see section <A HREF="pcb.html#SEC42">Actions</A>. - - -<DL COMPACT> - -<DT><SAMP>`About'</SAMP> -<DD> -<A NAME="IDX27"></A> - -There is no menu hiding behind this button, but a small information box will -pop up. - -<A NAME="IDX28"></A> -<DT><SAMP>`File'</SAMP> -<DD> -This menu offers a choice of loading, saving and printing data, saving -connection information to a file or quitting the application. -You also may change the layout's or the active layer's name. Selecting -<EM>print layout</EM> pops up a printer control dialog which is, hopefully, -self explaining. This box contains a panner widget (only <CODE>X11R5</CODE> and later) -which simplifies adjusting the offsets. With earlier releases the printout -will always appear in the upper left corner with respect to the media margins. - -A selection of several device drivers is available from the printer control -dialog. Presently <EM>PostScript</EM>, <EM>encapsulated PostScript</EM>, -and <EM>GerberX</EM> are supported. <EM>GerberD</EM> support may be forthcoming. -It requires a rastering engine that pcb presently lacks. - -<A NAME="IDX29"></A> -<A NAME="IDX30"></A> -<A NAME="IDX31"></A> -<A NAME="IDX32"></A> -<A NAME="IDX33"></A> -<A NAME="IDX34"></A> -<DT><SAMP>`Display'</SAMP> -<DD> -The display menu supports the most needed functions related to -screen output. The entries are used to change the grid to some popular -values, the zoom factor, the displayed element name and also are used -to center or refresh the output. -You also may switch grid-displaying on or off and select between -absolute grid (origin at (0,0)) or relative grid (origin at the position where -the grid has been changed). The relative grid position is now -established at the actual pointer position, NOT necessarily the same -as the crosshair position. This allows you to shift the grid without -changing the grid spacing. I recommend that you zoom in as close as -possible before setting a relative grid so that you're sure the grid -lines fall where you want. -The clipping to 45-degree lines is selected in this menu, as well as -enabling rubberband mode (see description of <EM>Mode</EM>). - -<A NAME="IDX35"></A> -<DT><SAMP>`Sizes'</SAMP> -<DD> -This menu allows you to select a group of line thickness, via diameter and via drill -size (collectively called a "routing style") to be coppied to the "active" sizes. -You can also change the names given to these styles and adjust their values from -this menu. You can also edit the "active" sizes (the initial size of new vias, -drilling holes, lines, text-objects and the current maximum size of the layout) -from this menu. - -<A NAME="IDX36"></A> -<A NAME="IDX37"></A> -<A NAME="IDX38"></A> -<DT><SAMP>`Objects'</SAMP> -<DD> -Displaying the pinout of an element and changing its names, the one -that is currently selected by the <EM>Display</EM> menu, as well as -editing a text object is offered by this menu. The latter two selections -require an additional pointer button click at the object's position. -A dialog for changing the layer groupings is also reached from this -menu. - -<A NAME="IDX39"></A> -<A NAME="IDX40"></A> -<A NAME="IDX41"></A> -<A NAME="IDX42"></A> -<A NAME="IDX43"></A> -<DT><SAMP>`Selection'</SAMP> -<DD> -This menu covers most of the operations that work with selected objects. -You may either (un)select all visible objects of a layout or only the ones -which have been found by the last connection scan. The mouse can also -be used to change which things are and are not selected: -toggle the selection of a single object by pressing -<EM><Btn3Down></EM> and releasing without moving the mouse. -Pressing <EM>Mod1<Btn3Down></EM>, moving and -releasing the button selects all visible objects inside the -rectangle. Pressing the modifier key <EM>Shift</EM> too, unselects all -objects in the area. You can delete all selected objects from this -menu, and also move selected text objects to the silk-screen layer. -The other entries change the sizes of visible and selected objects. - -<A NAME="IDX44"></A> -<A NAME="IDX45"></A> -<DT><SAMP>`Buffer'</SAMP> -<DD> -This menu handles pastebuffer related actions. You may select one out of five -(per viewing side) buffers to use, rotate or clear its contents and paste -it to the layout. You can also gather objects in the buffer into an element definition -from this menu. -Note: only visible objects are pasted to the layout. - -<A NAME="IDX46"></A> -<DT><SAMP>`Connections'</SAMP> -<DD> -The entries available through the connections menu button allow the user to find -connections from pins or vias and to manipulate these. -The connection lists may be saved by selecting entries from the -<EM>File</EM> menu. In many cases it is desireable to use the ratsnest -function to check connections against a netlist file instead of using the -connections menu to generate text connection lists. - -<A NAME="IDX47"></A> -<DT><SAMP>`Undo'</SAMP> -<DD> -This menu is a frontend for managing the reversing of operations -such as remove, copy, move, name changes, etc. The number of -operations is unlimited (depending on memory). The list is cleared if -new layout data is loaded or by selecting the appropriate entry from -this menu. The inverse operation, redo, is also available. - -<A NAME="IDX48"></A> -<DT><SAMP>`Report'</SAMP> -<DD> -This menu allows you to generate a dialog that summerizes information -about an object such as sizes and coordinates. You can also get a report -about all of the drills that are used on the board. - -</DL> - -<P> -<A NAME="IDX49"></A> -<A NAME="IDX50"></A> - - -<H2><A NAME="SEC19" HREF="pcb_toc.html#TOC19">Log Window</A></H2> -<P> -This optional window is used to display all kind of messages including -the ones written to <EM>stderr</EM> by external commands. The main advantage is -that its contents are saved in a scrolling list until the -program exits. Disabling this feature by setting the resource -<EM>useLogWindow</EM> to <EM>false</EM> will generate popup windows to display -messages. The <EM>stderr</EM> of external commands will appear on <CODE>Pcb</CODE>s -<EM>stderr</EM> which normally is the parent shell. I suggest you iconify -the window after startup for example by setting <EM>*log.iconic</EM> to -<EM>true</EM>. If <EM>raiseLogWindow</EM> is set <EM>true</EM>, -the window will deiconify and raise itself whenever new messages are to be -displayed. - - -<P> -<A NAME="IDX51"></A> - - -<H2><A NAME="SEC20" HREF="pcb_toc.html#TOC20">Library Window</A></H2> -<P> -First appearing in 1.4.1 the library window is one of the best new features -in my opinion. It simplifies loading circuits quiet a lot just by selecting -the appropriate type from the menu at the top. A circuit is then selected -by simply double-clicking on the text line. For details on libraries -check-out section <A HREF="pcb.html#SEC50">Library File Format</A> and section <A HREF="pcb.html#SEC49">Library Contents File Format</A>. - - -<P> -<A NAME="IDX52"></A> -<A NAME="IDX53"></A> -<A NAME="IDX54"></A> -<A NAME="IDX55"></A> - - -<H2><A NAME="SEC21" HREF="pcb_toc.html#TOC21">Drawing and Removing Basic Objects</A></H2> -<P> -There are several ways of creating new objects: you may draw them yourself, -you may copy an existing object or you may load an element from a file or -library. Creating new objects is normally related to a special -mode depending on the object type. -The notation of key and button events is the same as described in the -X11 Intrinsics manual. - - -<P> -The operation mode may be selected by one of the mode selectors in the bottom -left corner, by one of the function keys listed earlier in this chapter, -or by pressing the space bar to cycle through the modes. -<EM><Btn1Down></EM> sends a notify request to the application which -responds by creating or changing the appropriate object or at least takes -the first step to do so. Switching to a mode causes the cursor to take -on a unique shape and also causes the cooresponding -mode selector button to be drawn with thick lines. You can use either cue -to see which mode is currently selected. - - -<P> -Removing objects is possible using <EM><Key>BackSpace</EM> (or <EM><Key>Delete</EM> -on some machines) -which deletes the object at the cursor location. If more than one object -is located at the same position, the smallest matching type will be chosen. -If two or more of the same type are the smallest at the position, then the -newest one will be deleted. -You also may change to <EM>remove-mode</EM> and click <EM><Btn1Down></EM> -at the location of the objects which are to be removed. If you "remove" -the end-point where two lines connect, it will remove the point of -connection leaving a single line that spans the far end points. - - -<P> -Rotating works in a similar fashion. Change the mode and press -<EM><Btn1Down></EM> at the object's location. Remember only text, -elements and arcs can be rotated. (Anything including groups of objects -may be rotated inside a buffer using the rotate buffer menu option.) - - -<P> -Insert mode provides the capability of inserting new points into existing -polygons or lines. The 45 degree line clipping is now enforced when selected. -Press and hold the shift key while positioning the new point to only clip -the line segment to the nearer of the two existing points to 45 degrees. -You can also toggle the 45-degree clipping in the middle of a point -insertion by pressing the <EM><Key>.</EM> -If the shift key is not depressed and the 45 degree line clipping mode -is on, both new line segments must be on 45 degree angles - greatly -restricting where the new point may be placed. In some cases this can cause -confusion as to whether an insertion has been started since the two new -lines may be forced to lie parallel on top of the original line until the -pointer is moved far from the end points. - - -<P> -Removing objects, changing their size or moving them only applies to objects -that are visible when the command is executed. - - - -<UL> -<LI><A HREF="pcb.html#SEC22">Lines</A> -<LI><A HREF="pcb.html#SEC23">Arcs</A> -<LI><A HREF="pcb.html#SEC24">Polygons</A>: Drawing polygons and rectangles. -<LI><A HREF="pcb.html#SEC25">Text</A> -<LI><A HREF="pcb.html#SEC26">Vias</A> -<LI><A HREF="pcb.html#SEC27">Elements</A> -<LI><A HREF="pcb.html#SEC28">Pastebuffer</A>: A multi-purpose buffer. -</UL> - -<P> -<A NAME="IDX56"></A> -<A NAME="IDX57"></A> -<A NAME="IDX58"></A> -<A NAME="IDX59"></A> -<A NAME="IDX60"></A> -<A NAME="IDX61"></A> -There are several keystrokes and button events refering to an <EM>object</EM> -without identifying its type. Here's a list of them: - - -<P> -<EM><Btn1Down></EM> creates (or deletes) an object depending on the -current mode. - - -<P> -<EM><Key>BackSpace</EM> or <EM><Key>Delete</EM> removes the visible -object at the cursor location. When more than one object exists at the -location, the order of removal is: via, line, text, polygon and -element. The drawn layer order also affects the search - whatever is -top - most (except elements) is affected before lower items. Basically -all this means that what is removed is probably just what you expect. -If for some reason it isn't, undo and try again. -Only one object is removed for each keystroke. If two or more -of the same type match, the newest one is removed. - - -<P> -Use <EM><Key>s</EM> and <EM>Shift<Key>s</EM> to change the size (width) -of lines, arcs, text objects, pins, pads and vias, or to toggle the style -of polygons (whether pins and vias automatically have clearances). - - -<P> -<EM><Key>n</EM> changes the name of pins, pads, vias, the -string of a text object, or the currently displayed label of an element. - - -<P> -<EM><Key>m</EM> moves the line, arc, or polygon under the crosshair to the -active layer if it wasn't on that layer already. - - -<P> -<EM><Key>u</EM> (undo) recovers from an unlimited number of operations -such as creating, removing, moving, copying, selecting etc. It works like -you'd expect even if you're in the midst of creating something. - - -<P> -<EM>Shift<Key>r</EM> restores the last undone operation provided no other -changes have been made since the undo was performed. - - -<P> -<EM><Key>tab</EM> changes the board side you are viewing. - - -<P> -For a complete list of keystrokes and button events see section <A HREF="pcb.html#SEC43">Default Translations</A>. - - -<P> -<A NAME="IDX62"></A> -<A NAME="IDX63"></A> - - -<H3><A NAME="SEC22" HREF="pcb_toc.html#TOC22">Lines</A></H3> -<P> -To draw new lines you have to be in <EM>line-mode</EM>. Get there either by -selecting it from the <EM>Tool palette</EM> or by pressing <EM><Key>F2</EM>. -Each successive <EM>notify</EM> event creates a new line. The -adjustment to 45 degree lines is done automatically if it is selected from the -<EM>Display</EM> menu. You can toggle the 45 degree mode setting by -pressing the <EM><Key>.</EM> (That is the period key). When 45 degree enforcement -is turned on there are three distinct modes of line creation: a single -line on the closest 45 degree vector towards the crosshair (but not necessarily -actually ending at the crosshair), two lines created such that the first leaves -the start point on a 90 degree vector and the second arrives at the crosshair -on a 45 degree vector, and finally two lines created such that the first leaves -the start point on a 45 degree vector and the second arrives at the crosshair -on a 90 degree vector. These last two modes always connect all the way from -the start and end points, and all lines have angles in 45 degree multiples. -The <EM><Key>/</EM> cycles through the three modes. The status line shows a -text icon to indicate which of the modes is active and the lines following -the crosshair motion show the outline of the line(s) that will actually be created. -Press <EM><Key>Escape</EM> to leave line-mode. - - -<P> -<EM><Key>l</EM>, <EM>Shift<Key>l</EM> and the entries in the -<EM>Sizes</EM> menu change the initial width of new lines. This width is also -displayed in the status line. - - -<P> -<A NAME="IDX64"></A> - - -<H3><A NAME="SEC23" HREF="pcb_toc.html#TOC23">Arcs</A></H3> -<P> -An Arc is drawn with the <EM>arc-tool</EM>. Get there either by selecting it -from the <EM>Tool palette</EM> or by pressing <EM><Key>F8</EM>. Press <EM>Btn1</EM> to -define the starting point for the arc. Drag the mouse towards the desired -end point along the path you want the arc to follow. The outline of the arc that -will be created is shown on the screen as you move the mouse. Arcs are always -forced to be 90 degrees and have symmetrical length and width ( i.e. they are -a quarter circle). The next <EM>Btn1</EM> click creates the arc. It will have -the same width as new lines (displayed in the status line) and appear on the -active layer. The arc leaves the starting point towards the crosshair along -the axis whose distance from the crosshair is largest. Normally this means that -if you drag along the path you want the arc to follow, you'll get what you -want. If the grid is set to the arc radius, then the two distances will be -equal and you won't be able to get all of the possible directions. If this -is thwarting your desires, reduce the grid spacing (<EM>!Shift<Key>G</EM>) and -try again. - - -<P> -<A NAME="IDX65"></A> -<A NAME="IDX66"></A> -<A NAME="IDX67"></A> -<A NAME="IDX68"></A> - - -<H3><A NAME="SEC24" HREF="pcb_toc.html#TOC24">Polygons and Rectangles</A></H3> -<P> -A polygon is drawn by defining all of its segments as a series of -consecutive line segments. If the first point matches a new one and if -the number of points is greater than two, then the polygon is closed. -Since matching up with the first point may be difficult, you may use -<EM>Shift<Key>p</EM> to close the polygon. The <EM>Shift<Key>p</EM> won't -work if clipping to 45 degree lines is selected -and the final segment cannot match this condition. -I suggest you create simple convex polygons in order to avoid a strong -negative impact on the performance of the connection scanning routines. -The <EM>rectangle-mode</EM> is just an easy way to generate rectangular polygons. -<EM>Polygon-mode</EM> also is selected by <EM><Key>F6</EM> whereas -<EM>rectangle-mode</EM> uses <EM><Key>F4</EM>. -Pressing a <EM><Btn1Down></EM> at two locations creates a rectangle by -defining two of its corners. -<EM><Key>Insert</EM> brings you to <EM>insert-point-mode</EM> which lets you -add additional points to an already existing polygon. -Single points may be removed by moving the crosshair to them and selecting -one of the delete actions <EM>(remove-mode, BackSpace, or Delete</EM>. This only works -if the remaining polygon will still have three or more corners. -Pressing <EM><Key>u</EM> or <EM><Key>p</EM> while entering a new polygon -brings you back to the previous corner. Removing a point does not -force clipping to 45 degree angles (because it's not generally possible). -Newly created polygons will not connect to pins or vias -that pierce it unless you create a thermal (using the thermal mode) to make -the connection. If the edge of a polygon gets too close to a pin or via that -lies outside of it, a warning will be issued and the pin will be given a -special color. Increasing the distance between them will remove the warning -color. - - - - -<H3><A NAME="SEC25" HREF="pcb_toc.html#TOC25">Text</A></H3> -<P> -<A NAME="IDX69"></A> -<A NAME="IDX70"></A> -<A NAME="IDX71"></A> -Pressing <EM><Key>F5</EM> or clicking one of the text selector buttons -changes to <EM>text-mode</EM>. -Each successive notify event (<EM><Btn1Down></EM>) -pops up the input line at the bottom and queries for a string. -Enter it and press <EM><Key>Return</EM> to confirm or -<EM><Key>Escape</EM> to abort. -The text object is created with its upper left corner at the current pointer -location. -The initial scaling is changed by <EM><Key>t</EM> and -<EM>Shift<Key>t</EM> or from the <EM>Sizes</EM> menu. - - -<P> -Now switch to <EM>rotate-mode</EM> and press -<EM><Btn1Down></EM> at the text-objects location. Text objects -on the solder side of the layout are automatically mirrored and -flipped so that they are seen correctly when viewing the solder-side. - - -<P> -Use <EM><Key>n</EM> to edit the string. - - -<P> -<B>TEXT OBJECTS ON COPPER LAYERS CREATE COPPER LINES BUT THEY ARE NOT SCANNED FOR -CONNECTIONS</B>. If they are moved to the silkscreen layer, they -no longer create copper. - - -<P> -<A NAME="IDX72"></A> -<A NAME="IDX73"></A> - - -<H3><A NAME="SEC26" HREF="pcb_toc.html#TOC26">Vias</A></H3> -<P> -The initial size of new vias may be changed by <EM><Key>v</EM> and -<EM>Shift<Key>v</EM> or by selecting the appropriate entry from the -<EM>Sizes</EM> menu. <EM>Mod1<Key>v</EM> and <EM>Mod1 Shift<Key>v</EM> do -the same for the drilling hole of the via. -The statusline is updated with the new values. -Creating a via is similar to the other objects. Switch to <EM>via-mode</EM> -by using either the selector button or <EM><Key>F1</EM> then press -<EM><Key>]</EM> or <EM><Btn1Down></EM> to create one. -<EM><Key>n</EM> changes the name of a via. If you want to create a mounting -hole for your board, then you can place a via where you want the hole to -be then convert the via into a hole. The conversion is done by pressing -<EM>!Ctrl<Key>h</EM> with the crosshair over the via. Conceptually it is -still a via, but it has no copper annulus. If you create such a hole in -the middle of two polygons on different layers, it will short the layers. -Theoretically you could arrange for such a hole not to be plated, but a -metal screw inserted in the hole would still risk shorting the layers. -A good rule is to realize that holes in the board really are vias between -the layers and so place them where they won't interfere with connectivity. -You can convert a hole back into a normal via with the same keystroke used -to convery it in the first place. - - -<P> -<A NAME="IDX74"></A> -<A NAME="IDX75"></A> - - -<H3><A NAME="SEC27" HREF="pcb_toc.html#TOC27">Elements</A></H3> -<P> -Some of the functions related to elements only work if both the package -layer and the pin layer are switched on. - - -<P> -Now that you're familiar with many of the basic commands, it is -time to put the first element on the layout. -First of all, you have to load data into the paste buffer. -There are four ways to do this: - -<PRE> - 1) load the data from a library - 2) load the data from a file - 3) copy data from an already existing element - 4) convert objects in the buffer into an element -</PRE> - -<P> -We don't have any elements on the screen yet nor anything in the -buffer, so we use number one. - - -<P> -<A NAME="IDX76"></A> -<A NAME="IDX77"></A> -Select <EM>lsi</EM> from the menu in the library window press -<EM><Btn1Down></EM> twice at the appropriate text-line to get -the MC68030 CPU. -The data is loaded and the mode is switched to <EM>pastebuffer-mode</EM>. -Each notify event now creates one of these beasts. Leave the mode -by selecting a different one or by <EM><Key>Escape</EM> which resets -all modes.. -The crosshair is located at the <EM>mark</EM> position as defined by -the data file. Rotating the buffer contents is done by selecting -the <EM>rotate</EM> entry of the <EM>Buffer</EM> menu or by pressing -<EM>Shift<Key>F3</EM>. The contents of the buffer -are valid until new data is loaded into it either by a cut-to-buffer -operation, copy-to-buffer operation or by loading a new data file. -There are 5 buffers -available. Switching between them is done by selecting a menu entry or -by <EM>Shift<Key>1..5</EM>. -Each of the two board sides has its own buffers. - - -<P> -The release includes all data files for the circuits that are used -by the demo layout. The elements in the LED example are not found in the library, -but you can lift them from the example itself if you want. -If you have problems with the color of the crosshair, change the resource -<EM>crosshairColor</EM> setting to a different one. - - -<P> -<A NAME="IDX78"></A> -<A NAME="IDX79"></A> -<A NAME="IDX80"></A> -Now load a second circuit, the MC68882 FPU for example. -Create the circuit as explained above. You now have two different unnamed -elements. Unnamed means that the layout-name of the element -hasn't been set yet. Selecting <EM>description</EM> from the <EM>Display</EM> -menu displays the description string of the two circuits which -are CPU and FPU. The values of the circuits are set to MC68030 and MC68882. -Each of the names of an element may be changed -by <EM><Key>n</EM> at the elements location and editing the old name in -the bottom input line. Naming pins and vias is similar to elements. -You can hide the element name so that it won't appear on the board -silkscreen by pressing <EM><key>h</EM> with the cursor over the element. -Doing so again un-hides the element name. - - -<P> -Entering <KBD>:le</KBD> and selecting an element data file is -the second way to load circuits. - - -<P> -The third way to create a new element is to copy an existing one. -Please refer to section <A HREF="pcb.html#SEC29">Moving and Copying</A>. - - -<P> -<A NAME="IDX81"></A> -<A NAME="IDX82"></A> -<A NAME="IDX83"></A> -<A NAME="IDX84"></A> -The fourth way to create a new element is to convert a buffer's contents -into an element. Here's how it's done: Select the Via-tool from the -<EM>Tool pallette</EM>. Set the grid spacing to something appropriate for -the element pin spacing. Now create a series of vias where the pins -go. Create them in pin number order. It is often handy to place a reference -point (<EM>!Ctrl<Key>m</EM>) in the center of the first pin in order to measure -the location of the other pins. Next make a solder-side layer the active -layer from the <EM>active-layer</EM> popup menu. Now draw the outline of -the element using lines and arcs. When you're done, select everything that -makes up the element with a box selection (<EM><Btn3Down> drag, -<Btn3Up></EM>). Now select "cut selection to buffer" from the <EM>Buffer</EM> -menu. Position the cursor over the center of pin 1 and press the left -button to load the data into the buffer. -Finally select "convert buffer to element" from the <EM>Buffer</EM> menu. -You'll only want to create elements this way if they aren't already in the -library. It's also probably a good idea to do this before starting any of -the other aspects of a layout, but it isn't necessary. - - -<P> -To display the pinout of a circuit move to it and press <EM>Shift<Key>d</EM> -or select <EM>show pinout</EM> from the <EM>Objects</EM> menu. A new window -pops up and displays the complete pinout of the element. This display can -be difficult to read if the component has been rotated 90 degrees :-( -therefore, the new window will show an un-rotated view so the pin names -are readable. -<EM><Key>d</EM> displays the name of one or all pins/pads inside the -drawing area, this is only for display on-screen, it has no effect on any -printing of the layout. - - -<P> -You also may want to change a pin's or pad's current size by pressing -<EM><Key>s</EM> to increase or <EM>Shift<Key>s</EM> to decrease it. While -this is possible, it is not recommended since care was probably taken -to define the element structure in the first place. You can also change the thickness -of the element's silkscreen outline with the same keys. You can -change whether a pin or SMD pad is rounded or square with the <EM><Key>q</EM>. -SMD pads should usually have squared ends. Finally, you can change whether -the non-square pins are round or octagonal with the <EM>!Ctrl<Key>o</EM>. - - -<P> -SMD elements and silkscreen objects are drawn in the "invisible object" -color if they are located on the opposite side of the board. - - -<P> -For information on element connections refer to section <A HREF="pcb.html#SEC32">Connection Lists</A>. - - -<P> -<A NAME="IDX85"></A> -<A NAME="IDX86"></A> -<A NAME="IDX87"></A> -<A NAME="IDX88"></A> - - -<H3><A NAME="SEC28" HREF="pcb_toc.html#TOC28">Pastebuffer</A></H3> -<P> -The linestack and element-buffer of former releases have been replaced -by 5 multi-purpose buffers that are selected by -<EM>Shift<Key>1..5</EM>. The status line shows which buffer is -the active one. -You may load data from a file or layout into them. -Cut-and-paste works too. -If you followed the instructions earlier in this chapter you should -now have several objects on the screen. Move the crosshair to one of them -and press <EM><Btn3Down></EM> to toggle its selection flag. (If you drag the -mouse while the button is down, a box selection will be attempted instead -of toggling the selection.) The object -is redrawn in a different color. You also may want to try -moving the pointer while holding the third button down and -release it on a different location. This selects all objects inside the -rectangle and unselects everything else. If you want to add a box selection -to an existing selection, drag with <EM>Mod1<Btn3Down></EM> instead. -Dragging <EM>Shift Mod1<Btn3Down></EM> unselects objects in a box. -Now change to <EM>pastebuffer-mode</EM> and select some operations from the -<EM>Buffer</EM> menu. Copying objects to the buffer is available as -<EM>Mod1<Key>c</EM> while cutting them uses <EM>Mod1<Key>x</EM> as -shortcut. Both clear the buffer before new data is added. -If you use the menu entries, you have to supply a crosshair position by -pressing a mouse button. The objects are attached to the pastebuffer -relative to that crosshair location. -Element data or PCB data may be merged into an existing layout by loading -the datafiles into the pastebuffer. Both operations are available from -the <EM>File</EM> menu or as user commands. - - - - -<H2><A NAME="SEC29" HREF="pcb_toc.html#TOC29">Moving and Copying</A></H2> -<P> -<A NAME="IDX89"></A> -<A NAME="IDX90"></A> -<A NAME="IDX91"></A> -<A NAME="IDX92"></A> -All objects can be moved including element-names, by -<EM><Btn2Down></EM>, draging the pointer while holding the button down -and releasing it at the new location of the object. If you use -<EM>Mod1<Btn2Down></EM> instead, the object is copied. Copying does not work for -element-names of course. You can move all selected objects with -<EM>Shift <Btn1Down></EM>. This uses the Pastebuffer, so -it will remove whatever was previously in the Pastebuffer. -Please refer to section <A HREF="pcb.html#SEC28">Pastebuffer</A>. -If you want to give a small nudge to an object, but you don't think -that the mouse will give you the fine level of control that you want, -you can position the cursor over the object, press <EM><Key>[</EM>, -move it with the arrow keys, then press <EM><Key>]</EM> when it's at the -desired position. Remember that all movements are forced onto grid coordinates, so -you may want to change the grid spacing first. - - - - -<H2><A NAME="SEC30" HREF="pcb_toc.html#TOC30">Loading and Saving</A></H2> -<P> -<A NAME="IDX93"></A> -<A NAME="IDX94"></A> -<A NAME="IDX95"></A> -<A NAME="IDX96"></A> -After your first experience with <CODE>Pcb</CODE> you will probably want to save -your work. <KBD>:s name</KBD> passes the data to an external program which -is responsible for saving it. For details see <EM>saveCommand</EM> in -section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>. -Saving also is available from the <EM>File</EM> menu, either with or -without supplying a filename. <CODE>Pcb</CODE> reuses the last -filename if you do not pass a new one to the save routine. - - -<P> -To load an existing layout either select <EM>load layout data</EM> from the -<EM>File</EM> menu or use <KBD>:l filename</KBD>. A file select box pops up if you -don't specify a filename. Merging existing layouts into the new one is -supported either by the <EM>File</EM> menu or by <KBD>:m filename</KBD>. - - -<P> -<A NAME="IDX97"></A> -<A NAME="IDX98"></A> -<A NAME="IDX99"></A> -<A NAME="IDX100"></A> -<A NAME="IDX101"></A> -<A NAME="IDX102"></A> -<CODE>Pcb</CODE> saves a backup of the current layout depending on the resource -<EM>backup</EM>. The file is named <TT>`/tmp/PCB.%i.backup'</TT>. During critical -sections of the program or when data would be lost it is saved as -<TT>`/tmp/PCB.%i.save'</TT>. -<EM>%i</EM> is replaced by the process ID. - - -<P> -<A NAME="IDX103"></A> -<A NAME="IDX104"></A> - - -<H2><A NAME="SEC31" HREF="pcb_toc.html#TOC31">Printing</A></H2> -<P> -<CODE>Pcb</CODE> now has support for device drivers, -<CODE>PostScript</CODE>, <EM>encapsulated PostScript</EM>, -and <EM>Gerber X</EM> drivers are -available so far. The <EM>Gerber X</EM> -driver generates a NC drill file for automated drilling. - I recommend the use of <CODE>GhostScript</CODE> if you -don't have a <CODE>PostScript</CODE> printer for handling the PostScript -output. Printing always generates -a complete set of files for a specified driver. -See the page about -the <EM>Print()</EM> action for addtional information about the filenames. -The control panel offers a number of options. Most of them are not avilable -for Gerber output because it wouldn't make sense, for example, to scale the gerber output -(you'd get an incorrectly made board!) The options are: - - -<DL COMPACT> - -<DT><SAMP>`device'</SAMP> -<DD> -<A NAME="IDX105"></A> - <A NAME="IDX106"></A> - -The top menu button selects from the available device drivers. - -<A NAME="IDX107"></A> -<DT><SAMP>`rotate'</SAMP> -<DD> -Rotate layout 90 degrees counter-clockwise before printing (default). - -<A NAME="IDX108"></A> -<DT><SAMP>`mirror'</SAMP> -<DD> -Mirror layout before printing. Use this option depending -on your production line. - -<A NAME="IDX109"></A> -<DT><SAMP>`color'</SAMP> -<DD> -Created colored output. All colors will be converted to black if this option -is inactive. - -<A NAME="IDX110"></A> -<DT><SAMP>`outline'</SAMP> -<DD> -Add a board outline to the output file. The size is determined by the -maximum boardsize changeable from the <EM>sizes</EM> menu. The outline appears -on the top and bottom sides of the board, but not on the internal layers. -An outline can be useful for determining where to shear the board from the -panel, but be aware that it creates a copper line. Thus it has the potential -to cause short circuits if you don't leave enough room from your wiring -to the board edge. Use a viewer to see what the output outline looks like -if you want to know what it looks like. - -<A NAME="IDX111"></A> -<DT><SAMP>`alignment'</SAMP> -<DD> -Additional alignement targets are added to the output. The distances between -the board outline is set by the resource <EM>alignmentDistance</EM>. Alignment -targets should only be used if you know for certain that YOU WILL BE USING -THEM YOURSELF. It is extremely unlikely that you will want to have alignment -targets if you send gerber files to a commercial pcb manufacture to be made. - -<A NAME="IDX112"></A> -<DT><SAMP>`scaling'</SAMP> -<DD> -It's quite useful to enlarge your printout for checking the layout. -Use the scrollbar to adjust the scaling factor to your needs. - -<A NAME="IDX113"></A> -<A NAME="IDX114"></A> -<DT><SAMP>`media'</SAMP> -<DD> -Select the size of the output media from this menu. The user defined size -may be set by the resource <EM>media</EM> either from one of the well known -paper sizes or by a <CODE>X11</CODE> geometry specification. -This entry is only available if you use <CODE>X11R5</CODE> or later. -For earlier releases the user defined size or, if not available, <EM>A4</EM> -is used. -Well known size are: - -<PRE> - A3 - A4 - A5 - letter - tabloid - ledger - legal - executive -</PRE> - -<A NAME="IDX115"></A> -<A NAME="IDX116"></A> -<DT><SAMP>`offset'</SAMP> -<DD> -Adjust the offsets of the printout by using the panner at the right side -of the dialog box. -This entry is only available if you use <CODE>X11R5</CODE> or later. A zero -offset is used for earlier releases. - -<A NAME="IDX117"></A> -<DT><SAMP>`8.3 filenames'</SAMP> -<DD> -Select this button to generate DOS compatible filenames for the output files. -The <EM>command</EM> input area will disappear if selected. - -<A NAME="IDX118"></A> -<DT><SAMP>`commandline'</SAMP> -<DD> -Use this line to enter a command (starts with <KBD>|</KBD>) or a filename. -A %f is replaced by the current filename. -The default is set by the resource <EM>printCommand</EM>. - -</DL> - -<P> -The created file includes some labels which are guaranteed to stay unchanged -<DL COMPACT> - -<DT><SAMP>`PCBMIN'</SAMP> -<DD> -identifies the lowest x and y coordinates in mil. - -<DT><SAMP>`PCBMAX'</SAMP> -<DD> -identifies the highest x and y coordinates in mil. - -<DT><SAMP>`PCBOFFSET'</SAMP> -<DD> -is set to the x and y offset in mil. - -<DT><SAMP>`PCBSCALE'</SAMP> -<DD> -is a floating point value which identifies the scaling factor. - -<DT><SAMP>`PCBSTARTDATA'</SAMP> -<DD> -<DT><SAMP>`PCBENDDATA'</SAMP> -<DD> -all layout data is included between these two marks. You may use them with an -<CODE>awk</CODE> script to produce several printouts on one piece of paper by -duplicating the code and putting some <CODE>translate</CODE> commands in front. -Note, the normal <CODE>PostScript</CODE> units are 1/72 inch. -</DL> - -<P> -<A NAME="IDX119"></A> -<A NAME="IDX120"></A> - - -<H2><A NAME="SEC32" HREF="pcb_toc.html#TOC32">Connection Lists</A></H2> -<P> -After completing parts of your layout you may want to check if all drawn -connections match the ones you have in mind. This is probably best done -in conjunction with a net-list file: see section <A HREF="pcb.html#SEC34">Rats Nest</A>. -The following examples give more rudimentary ways to examine -the connections. - -<PRE> - 1) create at least two elements and name them - 2) create some connections between their pins - 3) optionally add some vias and connections to them -</PRE> - -<P> -Now select <EM>lookup connection</EM> from the <EM>Connections</EM> menu, -move the cursor to a pin or via and press any mouse button. <CODE>Pcb</CODE> -will look for all other pins and/or vias connected to the one you have -selected and display the objects in a different color. -Now try some of the reset options available from the same menu. - - -<P> -There also is a way to scan all connections of one element. Select -<EM>a single element</EM> from the menu and press any button at the -element's location. All connections of this element will be saved -to the specified file. -Either the layout name of the element or its canonical name is used to -identify pins depending on the one which is displayed on the screen -(may be changed by <EM>Display</EM> menu). - - -<P> -An automatic scan of all elements is initiated by choosing -<EM>all elements</EM>. It behaves in a similar fashion to scanning a single -element except the resource <EM>resetAfterElement</EM> -is used to determine if connections should be reset before a new element is -scanned. Doing so will produce very long lists because the power lines are -rescanned for every element. By default the resource is set to <EM>false</EM> -for this reason. - - -<P> -To scan for unconnected pins select <EM>unused pins</EM> from the same -menu. - - -<P> -<A NAME="IDX121"></A> - - -<H2><A NAME="SEC33" HREF="pcb_toc.html#TOC33">Selection</A></H2> -<P> -Some commands mentioned earlier in this chapter also are able to operate on all -selected and visible objects. -Now go back to the layout and toggle the selection flag of a single one -by <EM><Btn3Down></EM>. Try <EM><Btn3Down></EM>, move the pointer while -holding the button down and release it on a different location. -This selects all objects inside the rectangle and unselects everything else. -Dragging with <EM>Mod1<Btn3Down></EM> adds everything in the box to the -existing selection. Dragging <EM>Shift <Btn3Down></EM> unselects objects in the -box. - - -<P> -The entries of the <EM>Selection</EM> menu are hopefully self-explanatory. -Many of the <EM>Action Commands</EM> can take various key words that make -them function on all or some of the selected items. - - -<P> -<A NAME="IDX122"></A> -<A NAME="IDX123"></A> -<A NAME="IDX124"></A> - - -<H2><A NAME="SEC34" HREF="pcb_toc.html#TOC34">Rats Nest</A></H2> -<P> -If you have a netlist that corresponds to the layout you are working on, you -can use the rats-nest feature to add rat-lines to the layout. -First you will need to load a netlist file (see <EM>:rn</EM>, -section <A HREF="pcb.html#SEC36">User Commands</A>). -<EM><Key>w</EM> adds rat-lines on the active layer using the current -line thickness shown in the status line (usually you'll want them to be thin lines). -Only those rat-lines that fill in missing connectivity (since you have -probably routed some connections already) are added. -If the layout is already completely wired, nothing will be added, and you will -get a message that the wiring is complete. - - -<P> -Rat-lines are lines having the special property that they only connect to pins and -pads at their end points. Rat-lines are drawn on the screen with a stippled pattern -to make them easier to identify since they have special behavior and cannot -remain in a completed layout. -Rat-lines are added in the minimum length straight-line tree pattern -(always ending on pins or pads) that satisfies the missing connectivity in the circuit. -Used in connection with moves and rotates of the elements, they are extremely useful for -deciding where to place elements on the board. The rat-lines will always automatically -rubberband to the elements whether or not the rubberband mode is on. The only way for -you to move them is by moving the parts they connect to. -This is because it is never desireable to have the rat-lines disconnected from -their element pins. Rat-lines will normally criss-cross -all over which gives rise to the name "rats nest" describing a layout connected with -them. If a SMD pad is unreachable on the active layer, a warning will be issued -about it and the rat-line to that pad will not be generated. - - -<P> -A common way to use rats nests is to place some -elements on the board, add the rat-lines, and then use a series of moves/rotates of the -elements until the rats nest appears to have minimum tangling. You may want to iterate this step -several times. Don't worry if the layout looks messy - as long as you can get a sense for whether -the criss-crossing is better or worse as you move things, you're fine. -After moving some elements arround, you may want to optimize the rats nest <EM><Key>o</EM> -so that the lines are drawn between the closest points (this can change once you've moved components). -Adding rat-lines only to selected pads/pins (<EM>Shift<Key>w</EM>) -is often useful to layout a circuit a little bit at a time. -Sometimes you'll want to delete all the rat-lines (<EM><Key>e</EM>) or -selected rat-lines (<EM>Shift<Key>e</EM>) in order to reduce confusion. -With a little practice you'll be able to achieve a near optimal component placement with -the use of a rats nest. - - -<P> -Rat-lines are not only used for assisting your element placement, they can also help -you to route traces on the board. -Use the <EM><Key>m</EM> to convert a rat-line under the cursor into -a normal line on the active layer. -Inserting a point into a rat-line will also cause the two new lines to be normal lines -on the board. -Another way that you can use rat-lines is to -use the <EM><Key>f</EM> with the cursor over a pad or pin. All of the pins and -pads and rat-lines belonging to that net will be highlighted. This is a helpful way to -distinguish one net from the rest of the rats nest. You can then route those tracks, -turn off the highlighting (<EM>Shift<Key>f</EM>) and repeat the process. This will work even -if the layer that the rat-lines reside on is made invisible - so only the pins and pads -are highlighted. -Be sure to erase the rat-lines (<EM><Key>e</EM> erases them all) once you've -duplicated their connectivity by adding your own lines. -When in doubt, the <EM><Key>o</EM> will delete only those -rat-lines that are no longer needed. - - -<P> -If connections exist on the board that are not listed in the netlist when -<EM><Key>w</EM> is pressed, warning messages are issued and the affected pins and -pads are drawn in a special <EM>warnColor</EM> until the next <EM>Notify()</EM> event. -If the entire layout agrees completely with the netlist, a message informs you that -the layout is complete and no rat-lines will be added (since none are needed). -If the layout is complete, but still has rat-lines then you will be warned -that rat-lines remain. If you get no message at all it's probably because some -elements listed in the net list can't be found and where reported in an earlier -message. -There shouldn't be any rat-lines left in a completed layout, only normal lines. - - -<P> -The <EM>Shift<Key>w</EM> is used to add rat-lines to only those missing connections among -the selected pins and pads. This can be used to add rat-lines in an incremental -manner, or to force a rat-line to route between two points that are not the -closest points within the net. Often it is best to add the rats nest in an incremental fashion, laying -out a sub-section of the board before going further. This is easy to accomplish since -new rat-lines are never added where routed connectivity already makes the necessary -connections. - - -<P> -<A NAME="IDX125"></A> -<A NAME="IDX126"></A> -<A NAME="IDX127"></A> -<A NAME="IDX128"></A> - - -<H2><A NAME="SEC35" HREF="pcb_toc.html#TOC35">Design Rule Checking</A></H2> -<P> -After you've finished laying out a board, you may want to check -to be certain that none of your interconnections are too closely -spaced or too tenuously touching to be reliably fabricated. The design -rule checking (DRC) function does this for you. Use the command ":DRC()" (without -the quotes of course) to invoke the checker. If there are no problem areas, -you'll get a message to that effect. If any problem is encountered, you will get -a message about it and the affected traces will be highlighted. One part of the -tracks of concern will be selected, while the other parts of concern will have the -"FindConnection" highlighting. The screen will automatically be centered in the -middle of the object having the "FindConnection" (Green) highlighting. The middle of -the object is also the coordinates reported to be "near" the problem. The actual trouble -region will be somewhere on the boundary of this object. If the two parts are -from different nets then there is some place where they approach each -other closer than the minimum rule. If the parts are from the same net, then -there is place where they are only barely connected. Find that place and connect -them better. - - -<P> -After a DRC error is found and corrected you must run the DRC again because -the search for errors is halted as soon as the first problem is found. Unless you've -been extremely careless there should be no more than a few design rule errors -in your layout. The DRC checker does not check for minimum spacing rules to -copper text, so always be very careful when adding copper text to a layout. -The rules for the DRC are specified in the application resource file. The minimum -spacing value (in mils) is given by the <EM>Settings.Bloat</EM> value. The default -is 7 mils. The minimum touching overlap (in mils) is given by the -<EM>Settings.Shrink</EM> value. This value defaults to 5 mils. Check with your -fabrication process people to determine the values that are right for you. - - -<P> -If you want to turn off the highlighting produced by the DRC, perform an -undo (assuming no other changes have been made). To restore the highlighting, -use redo. The redo will restore the highlighting quickly without re-running -the DRC checker. - - -<P> -<A NAME="IDX129"></A> -<A NAME="IDX130"></A> - - -<H1><A NAME="SEC36" HREF="pcb_toc.html#TOC36">User Commands</A></H1> -<P> -The entering of user-commands is initiated by the action routine -<EM>Command()</EM> (the <CODE>(":")</CODE> character) and finished by either -<EM><Key>Return</EM> -or <EM><Key>Escape</EM> to confirm or to abort. These two keybindings -cannot be changed from the resource file. -The triggering event, normally a key press, is ignored. -The input area will replace the bottom statusline. It pops -up when <EM>Command()</EM> is called. The arguments of the user-commands -are passed to the external commands without modification. -See also, the resource <EM>saveInTMP</EM>. - - -<P> -There are simple <EM>usage</EM> dialogs for each command and one for the -complete set of commands. - - -<DL COMPACT> - -<DT><SAMP>`l [filename]'</SAMP> -<DD> -<A NAME="IDX131"></A> - <A NAME="IDX132"></A> - <A NAME="IDX133"></A> - -Loads a new datafile (layout) and, if confirmed, overwrites any existing unsaved data. -The filename and the searchpath (<EM>filePath</EM>) are passed to the -command defined by <EM>fileCommand</EM>. -If no filename is specified a file select box will popup. - -<A NAME="IDX134"></A> -<A NAME="IDX135"></A> -<A NAME="IDX136"></A> -<DT><SAMP>`le [filename]'</SAMP> -<DD> -Loads an element description into the paste buffer. -The filename and the searchpath (<EM>elementPath</EM>) are passed to the -command defined by <EM>elementCommand</EM>. -If no filename is specified a file select box will popup. - -<A NAME="IDX137"></A> -<A NAME="IDX138"></A> -<A NAME="IDX139"></A> -<A NAME="IDX140"></A> -<A NAME="IDX141"></A> -<DT><SAMP>`m [filename]'</SAMP> -<DD> -Loads an layout file into the paste buffer. -The filename and the searchpath (<EM>filePath</EM>) are passed to the -command defined by <EM>fileCommand</EM>. -If no filename is specified a file select box will popup. - -<A NAME="IDX142"></A> -<A NAME="IDX143"></A> -<A NAME="IDX144"></A> -<DT><SAMP>`q[!]'</SAMP> -<DD> -Quits the program without saving any data (after confirmation). -q! doesn't ask for confirmation, it just quits. - -<A NAME="IDX145"></A> -<A NAME="IDX146"></A> -<A NAME="IDX147"></A> -<DT><SAMP>`s [filename]'</SAMP> -<DD> -Data and the filename are passed to the command defined by the resource -<EM>saveCommand</EM>. It must read the layout data from <EM>stdin</EM>. -If no filename is entered, either the last one is used -again or, if it is not available, a file select box will pop up. - -<A NAME="IDX148"></A> -<A NAME="IDX149"></A> -<A NAME="IDX150"></A> -<A NAME="IDX151"></A> -<DT><SAMP>`rn [filename]'</SAMP> -<DD> -Reads in a netlist file. If no filename is given -a file select box will pop up. -The file is read via the command defined by the -<EM>RatCommand</EM> resource. The command must send its output to <EM>stdout</EM>. -The netlist received by pcb must have this simple text form: - -netname NAME-PINNUM NAME2-PINNUM2 NAME3-PINNUM3 ... [\] - -where "netname" is the name of the net (currently its value is ignored but -it must be present nonetheless), -NAME is the layout-name given to an element, and PINNUM is the (usually numeric) -pin number of the element that is part of the net (see section <A HREF="pcb.html#SEC6">Elements</A> -for details on pin numbering). -Spaces or tabs separate the fields. -If the line ends with a "\" the -net continues on the next line and the "\" is treated exactly as if it -were a space. If the NAME ends with a lower-case letter, -all lower-case letters are stripped from end of the NAME to determine the -matching name-on-board name. For example: - -Data U1-3 U2abc-4 FLOP1a-7 Uabc3-A9 - -would specifiy that pin 3 of U1 be connected to pin 4 of U2, to pin 7 of -FLOP1 and to pin A9 of Uabc3. Note that if pin numbers contain alphabetic -characters, they must match the case contained in the "number" string defining the -pin number on the cooresponding element. -It is up to you to name the elements so that their layout-names agrees with the netlist. -Netlists are used for generating rats nest (see section <A HREF="pcb.html#SEC34">Rats Nest</A>) and for -verifying the board layout (which is also accomplished by the <EM>Ratsnest</EM> -command. - -<A NAME="IDX152"></A> -<A NAME="IDX153"></A> -<A NAME="IDX154"></A> -<DT><SAMP>`w[q] [filename]'</SAMP> -<DD> -These commands have been added for the convenience of <CODE>vi</CODE> users and -have the same functionality as <EM>s</EM> combined with <EM>q</EM>. - -<A NAME="IDX155"></A> -<A NAME="IDX156"></A> -<A NAME="IDX157"></A> -<DT><SAMP>`actionCommand'</SAMP> -<DD> -Causes the actionCommand to be executed. This allows you to initiate actions -for which no bindings exist in the resource file. It can be used to initiate any -action with whatever arguments you enter. This makes it possible to do things -that otherwise would be extremely tedious. For example, to change the drilling -hole diameter of all vias in the layout to 32 mils, you could select everything using the -selection menu, then type "<EM>:ChangeDrillSize(SelectedVias, 32)</EM>". (This will -only work provided the via's diameter is sufficiently large to accomodate a 32 mil hole). -Another example might be to set the grid to 1 mil by typing "<EM>:SetValue(Grid, 1)</EM>". -Note that some actions use the current cursor location, so be sure to place the cursor -where you want before entering the command. This is one of my favorite new -features in 1.5 and can be a powerful tool. Study the section <A HREF="pcb.html#SEC42">Actions</A> section to -see what actions are available. - -</DL> - -<P> -<A NAME="IDX158"></A> -<A NAME="IDX159"></A> - - -<H1><A NAME="SEC37" HREF="pcb_toc.html#TOC37">Command-Line Options</A></H1> -<P> -There are several resources which may be set or reset in addition to the -standard toolkit command-line options. For a complete list refer to -section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>. - - -<P> -The synopsis is: - - -<P> -<CODE>pcb [-option ...] [-toolkit_option ...] [layout-file]</CODE> - - -<P> -or - - -<P> -<CODE>pcb -specialoption</CODE> - - - -<UL> -<LI><A HREF="pcb.html#SEC38">Options</A>: <CODE>Pcb</CODE> command-line options. -<LI><A HREF="pcb.html#SEC39">Special Options</A>: Version and copyright information. -</UL> - - - -<H2><A NAME="SEC38" HREF="pcb_toc.html#TOC38">Options</A></H2> -<DL COMPACT> - -<DT><SAMP>`-alldirections/+alldirections'</SAMP> -<DD> -<A NAME="IDX160"></A> - <A NAME="IDX161"></A> - <A NAME="IDX162"></A> - <A NAME="IDX163"></A> - <A NAME="IDX164"></A> - -Disables or enables line clipping to 45 degree angles. Overwrites the -resource <EM>allDirectionLines</EM>. - -<A NAME="IDX165"></A> -<A NAME="IDX166"></A> -<A NAME="IDX167"></A> -<DT><SAMP>`-backup value'</SAMP> -<DD> -Time between two backups in seconds. Passing zero disables the backup feature. -Overwrites the resource <EM>backupInterval</EM>. - -<A NAME="IDX168"></A> -<A NAME="IDX169"></A> -<A NAME="IDX170"></A> -<A NAME="IDX171"></A> -<A NAME="IDX172"></A> -<DT><SAMP>`-c value'</SAMP> -<DD> -Number of characters per output line. The resource <EM>charactersPerLine</EM> is -overwritten. - -<A NAME="IDX173"></A> -<A NAME="IDX174"></A> -<A NAME="IDX175"></A> -<A NAME="IDX176"></A> -<A NAME="IDX177"></A> -<DT><SAMP>`-fontfile filename'</SAMP> -<DD> -The default set of symbols (font) for a new layout is read from this file. -All directories as defined by the resource <EM>fontPath</EM> are scanned -for the file. The scan is only performed if the filename doesn't contain -a directory component. The <EM>fontFile</EM> resource is changed. - -<A NAME="IDX178"></A> -<A NAME="IDX179"></A> -<A NAME="IDX180"></A> -<A NAME="IDX181"></A> -<A NAME="IDX182"></A> -<A NAME="IDX183"></A> -<A NAME="IDX184"></A> -<DT><SAMP>`-lelement command-line'</SAMP> -<DD> -Sets the command to be executed when an element is loaded from a file to the -paste buffer. The command may contain %f and %p to pass the requested filename -and the searchpath to the command. It must write the data to its -standard output. The related resource is <EM>elementCommand</EM>. - -<A NAME="IDX185"></A> -<A NAME="IDX186"></A> -<A NAME="IDX187"></A> -<A NAME="IDX188"></A> -<A NAME="IDX189"></A> -<A NAME="IDX190"></A> -<A NAME="IDX191"></A> -<DT><SAMP>`-lfile command-line'</SAMP> -<DD> -Sets the command to be executed when a new layout is loaded from a file. -The command may contain %f and %p to pass the requested filename -and the searchpath to the command. It must write the data to its -standard output. The related resource is <EM>fileCommand</EM>. - -<A NAME="IDX192"></A> -<A NAME="IDX193"></A> -<A NAME="IDX194"></A> -<A NAME="IDX195"></A> -<A NAME="IDX196"></A> -<A NAME="IDX197"></A> -<A NAME="IDX198"></A> -<A NAME="IDX199"></A> -<DT><SAMP>`-lfont command-line'</SAMP> -<DD> -Sets the command to be executed when a font is loaded from a file. -The command may contain %f and %p to pass the requested filename -and the searchpath to the command. It must write the data to its -standard output. The related resource is <EM>fontCommand</EM>. - -<A NAME="IDX200"></A> -<A NAME="IDX201"></A> -<A NAME="IDX202"></A> -<A NAME="IDX203"></A> -<DT><SAMP>`-lg layergroups'</SAMP> -<DD> -This option overwrites the resource <EM>layerGroups</EM>. See its description -for more information. The value is used for new layouts only. - -<A NAME="IDX204"></A> -<A NAME="IDX205"></A> -<A NAME="IDX206"></A> -<DT><SAMP>`-libname filename'</SAMP> -<DD> -The default filename for the library. Overwrites the resource -<EM>libraryFilename</EM>. - -<A NAME="IDX207"></A> -<A NAME="IDX208"></A> -<A NAME="IDX209"></A> -<DT><SAMP>`-libpath path'</SAMP> -<DD> -The default search path for the the library. Overwrites the resource -<EM>libraryPath</EM>. - -<A NAME="IDX210"></A> -<A NAME="IDX211"></A> -<A NAME="IDX212"></A> -<A NAME="IDX213"></A> -<A NAME="IDX214"></A> -<A NAME="IDX215"></A> -<DT><SAMP>`-llib command-line'</SAMP> -<DD> -Sets the command to be executed when an element is loaded from the library. -The command may contain %f and %p to pass the requested filename -and the searchpath to the command. %a is replaces by the three arguments -<EM>template</EM>, <EM>value</EM> and <EM>package</EM>. The command must write -the data to its standard output. The related resource is <EM>libraryCommand</EM>. - -<A NAME="IDX216"></A> -<A NAME="IDX217"></A> -<A NAME="IDX218"></A> -<A NAME="IDX219"></A> -<A NAME="IDX220"></A> -<DT><SAMP>`-llibcont command-line'</SAMP> -<DD> -The command lists the contents of the library. -The command may contain %f and %p to pass the library filename -and the searchpath to the command. Also refer to section <A HREF="pcb.html#SEC50">Library File Format</A> -and section <A HREF="pcb.html#SEC49">Library Contents File Format</A>. -The related resource is <EM>libraryContentsCommand</EM>. - -<A NAME="IDX221"></A> -<A NAME="IDX222"></A> -<A NAME="IDX223"></A> -<DT><SAMP>`-loggeometry geometry'</SAMP> -<DD> -Determines the geometry of the log window. - -<A NAME="IDX224"></A> -<A NAME="IDX225"></A> -<A NAME="IDX226"></A> -<A NAME="IDX227"></A> -<A NAME="IDX228"></A> -<DT><SAMP>`-pnl value'</SAMP> -<DD> -Restricts the displayed length of the name of a pin in the pinout window to -the passed value. See also, the resource <EM>pinoutNameLength</EM>. - -<A NAME="IDX229"></A> -<A NAME="IDX230"></A> -<A NAME="IDX231"></A> -<A NAME="IDX232"></A> -<DT><SAMP>`-pz value'</SAMP> -<DD> -Sets the zoom factor for the pinout window according to the formula: -scale = 1:(2 power value). The related resource is <EM>pinoutZoom</EM>. - -<A NAME="IDX233"></A> -<A NAME="IDX234"></A> -<A NAME="IDX235"></A> -<A NAME="IDX236"></A> -<A NAME="IDX237"></A> -<DT><SAMP>`-reset/+reset'</SAMP> -<DD> -If enabled, all connections are reset after each element is scanned. -This feature is only used while scanning connections to all elements. -See also, <EM>resetAfterElement</EM>. - -<A NAME="IDX238"></A> -<A NAME="IDX239"></A> -<A NAME="IDX240"></A> -<A NAME="IDX241"></A> -<DT><SAMP>`-ring/+ring'</SAMP> -<DD> -Overrides the resource <EM>ringBellWhenFinished</EM>. If enabled, the bell -sounds when connection searching has finished. - -<A NAME="IDX242"></A> -<A NAME="IDX243"></A> -<A NAME="IDX244"></A> -<DT><SAMP>`-rs string'</SAMP> -<DD> -Overrides the resource <EM>routeStyle</EM>. The string defines a colon -separated list of route styles. The route styles consist of a -comma separated list of name, line thickness, via diameter, and via drill size. -e.g. "Fat,50,100,40:Skinny,8,35,20:75Ohm,110,110,20" - -<A NAME="IDX245"></A> -<A NAME="IDX246"></A> -<A NAME="IDX247"></A> -<A NAME="IDX248"></A> -<A NAME="IDX249"></A> -<DT><SAMP>`-s/+s'</SAMP> -<DD> -Enables/Disables the saving of the previous commandline. Overrides the -<EM>saveLastCommand</EM> resource. - -<A NAME="IDX250"></A> -<A NAME="IDX251"></A> -<A NAME="IDX252"></A> -<A NAME="IDX253"></A> -<A NAME="IDX254"></A> -<A NAME="IDX255"></A> -<A NAME="IDX256"></A> -<A NAME="IDX257"></A> -<A NAME="IDX258"></A> -<DT><SAMP>`-save/+save'</SAMP> -<DD> -See the resource description of <EM>saveInTMP</EM> for details. - -<A NAME="IDX259"></A> -<A NAME="IDX260"></A> -<A NAME="IDX261"></A> -<A NAME="IDX262"></A> -<A NAME="IDX263"></A> -<A NAME="IDX264"></A> -<A NAME="IDX265"></A> -<DT><SAMP>`-sfile command-line'</SAMP> -<DD> -Sets the command to be executed when an layout file is saved. -The command may contain %f which is replaced by the filename. The command -must read its data from the standard input. -The resource <EM>saveCommand</EM> is overwritten. - -<A NAME="IDX266"></A> -<A NAME="IDX267"></A> -<A NAME="IDX268"></A> -<A NAME="IDX269"></A> -<DT><SAMP>`-size <width>x<height>'</SAMP> -<DD> -Overrides the resource <EM>size</EM> which determines the maximum size -of a layout. - -<A NAME="IDX270"></A> -<A NAME="IDX271"></A> -<A NAME="IDX272"></A> -<A NAME="IDX273"></A> -<DT><SAMP>`-v value'</SAMP> -<DD> -Sets the volume of the X speaker. The value is passed to <CODE>XBell()</CODE> and -must be in the range -100..100. - -</DL> - - - -<H2><A NAME="SEC39" HREF="pcb_toc.html#TOC39">Special Options</A></H2> -<P> -There are some special options available in addition to normal command line -options. Each of these must be the only option specified on a command line. -The available special options are: - - -<DL COMPACT> - -<DT><SAMP>`-copyright'</SAMP> -<DD> -<A NAME="IDX274"></A> - <A NAME="IDX275"></A> - -Prints out the copyright notice and terminates. - -<A NAME="IDX276"></A> -<A NAME="IDX277"></A> -<A NAME="IDX278"></A> -<DT><SAMP>`-version'</SAMP> -<DD> -Prints out the version ID and terminates. - -<A NAME="IDX279"></A> -<DT><SAMP>`-help'</SAMP> -<DD> -Prints out the usage message and terminates. - -</DL> - -<P> -<A NAME="IDX280"></A> - - -<H1><A NAME="SEC40" HREF="pcb_toc.html#TOC40">X11 Interface</A></H1> -<P> -This chapter gives an overview about the additional <CODE>X11</CODE> resources which -are defined by <CODE>Pcb</CODE> as well as the defined action routines. - - - -<UL> -<LI><A HREF="pcb.html#SEC41">Resources</A>: Non-standard <CODE>X11</CODE> application resources. -<LI><A HREF="pcb.html#SEC42">Actions</A>: A list of available action routines. -<LI><A HREF="pcb.html#SEC43">Translations</A>: A list of the default key translations (as shipped). -</UL> - -<P> -<A NAME="IDX281"></A> -<A NAME="IDX282"></A> - - -<H2><A NAME="SEC41" HREF="pcb_toc.html#TOC41">Non-Standard X11 Application Resources</A></H2> -<P> -In addition to the toolkit resources, <CODE>Pcb</CODE> defines the -following resources: - - -<DL COMPACT> - -<DT><SAMP>`absoluteGrid (boolean)'</SAMP> -<DD> -<A NAME="IDX283"></A> - <A NAME="IDX284"></A> - -Selects if either the grid is relative to the position where it has changed -last or absolute, the default, to the origin (0,0). - -<A NAME="IDX285"></A> -<A NAME="IDX286"></A> -<DT><SAMP>`alignmentDistance (dimension)'</SAMP> -<DD> -Specifies the distance between the boards outline to the alignment targets. - -<A NAME="IDX287"></A> -<A NAME="IDX288"></A> -<A NAME="IDX289"></A> -<DT><SAMP>`allDirectionLines (boolean)'</SAMP> -<DD> -Enables (default) or disables clipping of new lines to 45 degree angles. - -<A NAME="IDX290"></A> -<A NAME="IDX291"></A> -<DT><SAMP>`backupInterval (int)'</SAMP> -<DD> -<CODE>Pcb</CODE> has an automatic backup feature which saves the current data -every n seconds. The default is <EM>300</EM> seconds. A value of zero disables -the feature. The backup file is named <TT>`/tmp/PCB.%i.backup'</TT>. -<EM>%i</EM> is replaced by the process ID. -See also, the command-line option <EM>-backup</EM>. - -<A NAME="IDX292"></A> -<A NAME="IDX293"></A> -<A NAME="IDX294"></A> -<DT><SAMP>`Bloat (dimension)'</SAMP> -<DD> -Specifies the minimum spacing design rule in mils. - -<A NAME="IDX295"></A> -<A NAME="IDX296"></A> -<A NAME="IDX297"></A> -<A NAME="IDX298"></A> -<DT><SAMP>`charactersPerLine (int)'</SAMP> -<DD> -<CODE>Pcb</CODE> uses this value to determine the page width when creating lists. -N, the number of characters per line, defaults to <EM>80</EM>. -See also, the command-line option <EM>-c</EM>. - -<A NAME="IDX299"></A> -<A NAME="IDX300"></A> -<A NAME="IDX301"></A> -<DT><SAMP>`connectedColor (color)'</SAMP> -<DD> -All pins, vias, lines and rectangles which are selected during a connection -search are drawn with this color. The default value is determined by -<EM>XtDefaultForeground</EM>. - -<A NAME="IDX302"></A> -<A NAME="IDX303"></A> -<A NAME="IDX304"></A> -<DT><SAMP>`crosshairColor (color)'</SAMP> -<DD> -This color is used to draw the crosshair cursor. The color is a result of -a <EM>XOR</EM> operation with the contents of the drawing area. The result -also depends on the default colormap of the <CODE>X11</CODE> server because only -the colormap index is used in the boolean operation and <CODE>Pcb</CODE> doesn't -create its own colormap. The default setting is <EM>XtDefaultForeground</EM>. - -<A NAME="IDX305"></A> -<A NAME="IDX306"></A> -<A NAME="IDX307"></A> -<A NAME="IDX308"></A> -<DT><SAMP>`elementColor (color)'</SAMP> -<DD> -<DT><SAMP>`elementSelectedColor (color)'</SAMP> -<DD> -The elements package part is drawn in these colors, for normal and selected -mode, respectively, which both default to <EM>XtDefaultForeground</EM>. - -<A NAME="IDX309"></A> -<A NAME="IDX310"></A> -<A NAME="IDX311"></A> -<A NAME="IDX312"></A> -<A NAME="IDX313"></A> -<A NAME="IDX314"></A> -<A NAME="IDX315"></A> -<DT><SAMP>`elementCommand (string)'</SAMP> -<DD> -<CODE>Pcb</CODE> uses a user defined command to read element files. This resources -is used to set the command which is executed by the users default shell. -Two escape sequences are defined to pass the selected filename (%f) and the -current search path (%p). The command must write the element data -to its standard output. The default value is - -<PRE> - M4PATH="%p";export M4PATH;echo 'include(%f)' | m4 -</PRE> - -Using the GNU version of <CODE>m4</CODE> is highly recommended. -See also, the command-line option <EM>-lelement</EM>. - -<A NAME="IDX316"></A> -<A NAME="IDX317"></A> -<A NAME="IDX318"></A> -<A NAME="IDX319"></A> -<A NAME="IDX320"></A> -<DT><SAMP>`elementPath (string)'</SAMP> -<DD> -A colon separated list of directories or commands (starts with '|'). -The path is passed to the program specified in <EM>elementCommand</EM> together -with the selected elementname. A specified command will be executed in order -to create entries for the fileselect box. It must write its results to -<EM>stdout</EM> one entry per line. -See also, the user-command <EM>le[!]</EM>. - -<A NAME="IDX321"></A> -<A NAME="IDX322"></A> -<A NAME="IDX323"></A> -<A NAME="IDX324"></A> -<A NAME="IDX325"></A> -<A NAME="IDX326"></A> -<A NAME="IDX327"></A> -<DT><SAMP>`fileCommand (string)'</SAMP> -<DD> -The command is executed by the user's default shell whenever existing layout -files are loaded. Data is read from the command's standard output. -Two escape sequences may be specified to pass the selected filename (%f) -and the current search path (%p). The default value is: - -<PRE> - cat %f -</PRE> - -See also, the command-line option <EM>-lfile</EM>. - -<A NAME="IDX328"></A> -<A NAME="IDX329"></A> -<A NAME="IDX330"></A> -<A NAME="IDX331"></A> -<A NAME="IDX332"></A> -<DT><SAMP>`filePath (string)'</SAMP> -<DD> -A colon separated list of directories or commands (starts with '|'). -The path is passed to the program specified in <EM>fileCommand</EM> together -with the selected filename. A specified command will be executed in order -to create entries for the fileselect box. It must write its results to -<EM>stdout</EM> one entry per line. -See also, the user-command <EM>l[!]</EM>. - -<A NAME="IDX333"></A> -<A NAME="IDX334"></A> -<A NAME="IDX335"></A> -<A NAME="IDX336"></A> -<A NAME="IDX337"></A> -<A NAME="IDX338"></A> -<A NAME="IDX339"></A> -<A NAME="IDX340"></A> -<DT><SAMP>`fontCommand (string)'</SAMP> -<DD> -Loading new symbol sets also is handled by an external command. You again -may pass the selected filename and the current search path by passing -%f and %p in the command string. Data is read from the commands standard -output. This command defaults to - -<PRE> - cat %f -</PRE> - -See also, the command-line option <EM>-lfont</EM>. - -<A NAME="IDX341"></A> -<A NAME="IDX342"></A> -<A NAME="IDX343"></A> -<DT><SAMP>`fontFile (string)'</SAMP> -<DD> -The default font for new layouts is read from this file which is searched -in the directories as defined by the resource <EM>fontPath</EM>. -Searching is only performed if the filename does not contain a directory -component. -The default filename is <TT>`default_font'</TT>. -See also, the command-line option <EM>-fontfile</EM>. - -<A NAME="IDX344"></A> -<A NAME="IDX345"></A> -<A NAME="IDX346"></A> -<A NAME="IDX347"></A> -<A NAME="IDX348"></A> -<A NAME="IDX349"></A> -<DT><SAMP>`fontPath (string)'</SAMP> -<DD> -This resource, a colon separated list of directories, defines the searchpath -for font files. See also, the resource <EM>fontFile</EM>. - -<A NAME="IDX350"></A> -<A NAME="IDX351"></A> -<A NAME="IDX352"></A> -<DT><SAMP>`grid (int)'</SAMP> -<DD> -This resources defines the initial value of one cursor step. It defaults -to <EM>100 mil</EM> and any changes are saved together with the layout data. - -<A NAME="IDX353"></A> -<A NAME="IDX354"></A> -<A NAME="IDX355"></A> -<DT><SAMP>`gridColor (color)'</SAMP> -<DD> -This color is used to draw the grid. The color is a result of -a <EM>INVERT</EM> operation with the contents of the drawing area. The result -also depends on the default colormap of the <CODE>X11</CODE> server because only -the colormap index is used in the boolean operation and <CODE>Pcb</CODE> doesn't -create its own colormap. The default setting is <EM>XtDefaultForeground</EM>. - -<A NAME="IDX356"></A> -<A NAME="IDX357"></A> -<A NAME="IDX358"></A> -<DT><SAMP>`elementColor (color)'</SAMP> -<DD> -Elements localted on the opposite side of the board are drawn in this color. -The default is <EM>XtDefaultForeground</EM>. - -<A NAME="IDX359"></A> -<A NAME="IDX360"></A> -<A NAME="IDX361"></A> -<A NAME="IDX362"></A> -<DT><SAMP>`layerColor1..8 (color)'</SAMP> -<DD> -<DT><SAMP>`layerSelectedColor1..8 (color)'</SAMP> -<DD> -These resources define the drawing colors of the different layers in -normal and selected state. All values are preset to <EM>XtDefaultForeground</EM>. - -<A NAME="IDX363"></A> -<A NAME="IDX364"></A> -<A NAME="IDX365"></A> -<DT><SAMP>`layerGroups (string)'</SAMP> -<DD> -The argument to this resource is a colon separated list of comma separated -layernumbers (1..8). All layers within one group are switched on/off -together. The default setting is <EM>1:2:3:...:8</EM> which means -all layers are handled separatly. Grouping layers one to three looks like -<EM>1,2,3:4:...:8</EM> -See also, the command-line option <EM>-lg</EM>. - -<A NAME="IDX366"></A> -<A NAME="IDX367"></A> -<DT><SAMP>`layerName1..8 (string)'</SAMP> -<DD> -The default name of the layers in a new layout are determined by these -resources. The defaults are empty strings. - -<A NAME="IDX368"></A> -<A NAME="IDX369"></A> -<A NAME="IDX370"></A> -<A NAME="IDX371"></A> -<DT><SAMP>`libraryCommand (string)'</SAMP> -<DD> -<CODE>Pcb</CODE> uses a command to read element data from libraries. -The resources is used to set the command which is executed by the users -default shell. Three escape sequences are defined to pass the selected -filename (%f), the current search path (%p) as well (%a) as the three -parameters <EM>template</EM>, <EM>value</EM> and <EM>package</EM> to the command. -It must write the element data to its standard output. The default value is - -<PRE> - /usr/X11R6/lib/X11/pcb/QueryLibrary.sh %p %f %a -</PRE> - -<A NAME="IDX372"></A> -<A NAME="IDX373"></A> -<A NAME="IDX374"></A> -<A NAME="IDX375"></A> -<DT><SAMP>`libraryContentsCommand (string)'</SAMP> -<DD> -Similar to <EM>libraryCommand</EM>, <CODE>Pcb</CODE> uses the command specified -by this resource to list the contents of a library. - -<PRE> - /usr/X11R6/lib/X11/pcb/ListLibraryContents.sh %p %f -</PRE> - -is the default. - -<A NAME="IDX376"></A> -<A NAME="IDX377"></A> -<A NAME="IDX378"></A> -<DT><SAMP>`libraryFilename (string)'</SAMP> -<DD> -The resource specifies the name of the library. The default value is -<EM>pcblib</EM>. - -<A NAME="IDX379"></A> -<A NAME="IDX380"></A> -<A NAME="IDX381"></A> -<A NAME="IDX382"></A> -<DT><SAMP>`libraryPath (string)'</SAMP> -<DD> -A colon separated list of directories that will be passed to the commands -specified by <EM>elementCommand</EM> and <EM>elementContentsCommand</EM>. - -<A NAME="IDX383"></A> -<A NAME="IDX384"></A> -<A NAME="IDX385"></A> -<A NAME="IDX386"></A> -<DT><SAMP>`lineThickness (dimension)'</SAMP> -<DD> -The value, int the range [1..250], defines the -initial thickness of new lines. The value is preset to <EM>ten mil</EM>. - -<A NAME="IDX387"></A> -<A NAME="IDX388"></A> -<A NAME="IDX389"></A> -<A NAME="IDX390"></A> -<DT><SAMP>`media (<predefined> | <width>x<height>+-<left_margin>+-<top_margin>)'</SAMP> -<DD> -The default (user defined) media of the <CODE>PostScript</CODE> device. Predefined -values are <EM>a3</EM>, <EM>a4</EM>, <EM>a5</EM>, <EM>letter</EM>, <EM>tabloit</EM>, -<EM>ledger</EM>, <EM>legal</EM>, and <EM>executive</EM>. -The second way is to specify the medias width, height and margins in mil. -The resource defaults to <EM>a4</EM> size. - -<A NAME="IDX391"></A> -<A NAME="IDX392"></A> -<A NAME="IDX393"></A> -<DT><SAMP>`offLimitColor (color)'</SAMP> -<DD> -The area outside the current maximum settings for width and height is drawn -with this color. The default value is determined by <EM>XtDefaultBackground</EM>. - -<A NAME="IDX394"></A> -<A NAME="IDX395"></A> -<A NAME="IDX396"></A> -<A NAME="IDX397"></A> -<DT><SAMP>`pinColor (color)'</SAMP> -<DD> -<DT><SAMP>`pinSelectedColor(color)'</SAMP> -<DD> -This resource defines the drawing color of pins and pads in both states. -The values are preset to <EM>XtDefaultForeground</EM>. - -<A NAME="IDX398"></A> -<A NAME="IDX399"></A> -<A NAME="IDX400"></A> -<DT><SAMP>`pinoutFont (string)'</SAMP> -<DD> -This fonts are used to display pin names. There is one font for each zoom -value. The values are preset to <EM>XtdefaultFont</EM>. - -<A NAME="IDX401"></A> -<A NAME="IDX402"></A> -<A NAME="IDX403"></A> -<A NAME="IDX404"></A> -<DT><SAMP>`pinoutNameLength (int)'</SAMP> -<DD> -This resource limits the number of characters which are displayed for -pin names in the pinout window. By default the string length is limited -to <EM>eight</EM> characters per name. -See also, the command-line option <EM>-pnl</EM>. - -<A NAME="IDX405"></A> -<A NAME="IDX406"></A> -<A NAME="IDX407"></A> -<DT><SAMP>`pinoutOffsetX (int)'</SAMP> -<DD> -<DT><SAMP>`pinoutOffsetY (int)'</SAMP> -<DD> -These resources determine the offset in <EM>mil</EM> of the circuit from the -upper left corner of the window when displaying pinout information. -Both default to <EM>100 mil</EM>. - -<A NAME="IDX408"></A> -<A NAME="IDX409"></A> -<A NAME="IDX410"></A> -<DT><SAMP>`pinoutTextOffsetX (int)'</SAMP> -<DD> -<DT><SAMP>`pinoutTextOffsetY (int)'</SAMP> -<DD> -The resources determine the distance in mil between the drilling hole of a pin -to the location where its name is displayed in the pinout window. -They default to <EM>X:50</EM> and <EM>Y:0</EM>. - -<A NAME="IDX411"></A> -<A NAME="IDX412"></A> -<A NAME="IDX413"></A> -<DT><SAMP>`pinoutZoom (int)'</SAMP> -<DD> -Sets the zoom factor for the pinout window according to the formula: -scale = 1:(2 power value). Its default value is <EM>two</EM> which results in -a <EM>1:4</EM> scale. -See also, the command-line option <EM>-pz</EM>. - -<A NAME="IDX414"></A> -<A NAME="IDX415"></A> -<DT><SAMP>`printCommand (string)'</SAMP> -<DD> -Default file for printouts. If the name starts with a '|' the output -is piped through the command. A %f is replaced by the current filename. -There is no default file or command. - -<A NAME="IDX416"></A> -<A NAME="IDX417"></A> -<A NAME="IDX418"></A> -<DT><SAMP>`raiseLogWindow (boolean)'</SAMP> -<DD> -The log window will be raised when new messages arrive if this resource -is set <EM>true</EM>, the default. - -<A NAME="IDX419"></A> -<A NAME="IDX420"></A> -<A NAME="IDX421"></A> -<DT><SAMP>`ratCommand (string)'</SAMP> -<DD> -Default command for reading a netlist. A %f is replaced by the netlist -filename. Its default value is "<EM>cat %f</EM>". - -<A NAME="IDX422"></A> -<A NAME="IDX423"></A> -<A NAME="IDX424"></A> -<DT><SAMP>`ratPath (string)'</SAMP> -<DD> -Default path to look for netlist files. It's default value is "." - -<A NAME="IDX425"></A> -<A NAME="IDX426"></A> -<A NAME="IDX427"></A> -<DT><SAMP>`resetAfterElement (boolean)'</SAMP> -<DD> -If set to <EM>true</EM>, all found connections will be reset before a new -element is scanned. This will produce long lists when scanning the whole -layout for connections. The resource is set to <EM>false</EM> by default. -The feature is only used while looking up connections of all elements. -See also, the command-line option <EM>-reset, +reset</EM>. - -<A NAME="IDX428"></A> -<A NAME="IDX429"></A> -<DT><SAMP>`ringBellWhenFinished (boolean)'</SAMP> -<DD> -Whether to ring the bell (the default) when a possibly lengthy operation -has finished or not. -See also, the command-line option <EM>-ring, +ring</EM>. - -<A NAME="IDX430"></A> -<A NAME="IDX431"></A> -<DT><SAMP>`routeStyle (string)'</SAMP> -<DD> -Default values for the menu of routing styles (seen in the sizes menu). -The string is a comma separated list of name, line thickness, -via diameter, and via drill size. -e.g. "Fat,50,100,40:Skinny,8,35,20:75Ohm,110,110,20" -See also, the command-line option <EM>-rs</EM> and <EM>Sizes Menu</EM> - -<A NAME="IDX432"></A> -<A NAME="IDX433"></A> -<A NAME="IDX434"></A> -<A NAME="IDX435"></A> -<DT><SAMP>`rubberBandMode (boolean)'</SAMP> -<DD> -Whether rubberband move and rotate (attached lines stretch like -rubberbands) is enabled (the default). - -<A NAME="IDX436"></A> -<A NAME="IDX437"></A> -<A NAME="IDX438"></A> -<A NAME="IDX439"></A> -<A NAME="IDX440"></A> -<A NAME="IDX441"></A> -<A NAME="IDX442"></A> -<DT><SAMP>`saveCommand (string)'</SAMP> -<DD> -This command is used to save data to a layout file. The filename may be -indicated by placing <CODE>%f</CODE> in the string. It must read the data from -its standard input. The default command is: - -<PRE> - cat - > %f -</PRE> - -See also, the command-line option <EM>-sfile</EM>. - -<A NAME="IDX443"></A> -<A NAME="IDX444"></A> -<A NAME="IDX445"></A> -<A NAME="IDX446"></A> -<A NAME="IDX447"></A> -<A NAME="IDX448"></A> -<A NAME="IDX449"></A> -<DT><SAMP>`saveInTMP (boolean)'</SAMP> -<DD> -Enabling this resource will save all data which would otherwise be lost -in a temporary file <TT>`/tmp/PCB.%i.save'</TT>. -<EM>%i</EM> is replaced by the process ID. -As an example, loading a new layout when the old one hasn't been saved would -use this resource. -See also, the command-line option <EM>-save, +save</EM>. - -<A NAME="IDX450"></A> -<A NAME="IDX451"></A> -<A NAME="IDX452"></A> -<DT><SAMP>`saveLastCommand (boolean)'</SAMP> -<DD> -Enables the saving of the last entered user command. The option is -<EM>disabled</EM> by default. -See also, the command-line option <EM>-s, +s</EM>. - -<A NAME="IDX453"></A> -<A NAME="IDX454"></A> -<A NAME="IDX455"></A> -<DT><SAMP>`Shrink (dimension)'</SAMP> -<DD> -Specifies the minimum overlap (touching) design rule in mils. - -<A NAME="IDX456"></A> -<A NAME="IDX457"></A> -<A NAME="IDX458"></A> -<DT><SAMP>`size (<width>x<height>)'</SAMP> -<DD> -Defines the width and height of a new layout. The default is -<EM>7000x5000</EM>. - -<A NAME="IDX459"></A> -<A NAME="IDX460"></A> -<A NAME="IDX461"></A> -<DT><SAMP>`stipllePolygons (boolean)'</SAMP> -<DD> -Determines whether to display polygons on the screen with a stippled -pattern. Stippling can create some amount of transperency so that -you can still (to some extent) see layers beneath polygons. -It defaults to False. - -<A NAME="IDX462"></A> -<A NAME="IDX463"></A> -<A NAME="IDX464"></A> -<DT><SAMP>`textScale (dimension)'</SAMP> -<DD> -The font scaling in percent is defined by this resource. The default is -<EM>100</EM> percent. - -<A NAME="IDX465"></A> -<A NAME="IDX466"></A> -<A NAME="IDX467"></A> -<DT><SAMP>`useLogWindow (boolean)'</SAMP> -<DD> -Several subroutines send messages to the user if an error occurs. -This resource determines if they appear inside the log window or as a separate -dialog box. See also, the resource <EM>raiseLogWindow</EM> and the command line -option <EM>-loggeometry</EM>. -The default value is <EM>true</EM>. - -<A NAME="IDX468"></A> -<A NAME="IDX469"></A> -<A NAME="IDX470"></A> -<A NAME="IDX471"></A> -<DT><SAMP>`viaColor (color)'</SAMP> -<DD> -<DT><SAMP>`viaSelectedColor (color)'</SAMP> -<DD> -This resource defines the drawing color of vias in both states. -The values are preset to <EM>XtDefaultForeground</EM>. - -<A NAME="IDX472"></A> -<A NAME="IDX473"></A> -<A NAME="IDX474"></A> -<A NAME="IDX475"></A> -<A NAME="IDX476"></A> -<DT><SAMP>`viaThickness (dimension)'</SAMP> -<DD> -<DT><SAMP>`viaDrillingHole (dimension)'</SAMP> -<DD> -The initial thickness and drilling hole of new vias. The values must be in the -range [30..250] with at least 20 -mil of copper. -The default thickness is <EM>40 mil</EM> and the default drilling hole is -<EM>20 mil</EM>. - -<A NAME="IDX477"></A> -<A NAME="IDX478"></A> -<A NAME="IDX479"></A> -<DT><SAMP>`volume (int)'</SAMP> -<DD> -The value is passed to <CODE>XBell()</CODE> which sets the volume of the <CODE>X</CODE> -speaker. -The value lies in the range -100..100 and it defaults to the maximum volume of -<EM>100</EM>. - -<A NAME="IDX480"></A> -<A NAME="IDX481"></A> -<A NAME="IDX482"></A> -<DT><SAMP>`warnColor (color)'</SAMP> -<DD> -This resources defines the color to be used for drawing pins and pads when -a warning has been issued about them. - -<A NAME="IDX483"></A> -<A NAME="IDX484"></A> -<DT><SAMP>`zoom (int)'</SAMP> -<DD> -The initial value for output scaling is set according to the following -formula: scale = 1:(2 power value). It defaults to <EM>three</EM> which results -in an output scale of <EM>1:8</EM>. - -</DL> - -<P> -Refer also to section <A HREF="pcb.html#SEC37">Command-Line Options</A>. - - -<P> -<A NAME="IDX485"></A> -<A NAME="IDX486"></A> -<A NAME="IDX487"></A> -<A NAME="IDX488"></A> -<A NAME="IDX489"></A> - - -<H2><A NAME="SEC42" HREF="pcb_toc.html#TOC42">Actions</A></H2> -<P> -All user accessible commands may be bound to almost any <CODE>X</CODE> event. Almost -no default binding for commands is done in the binaries, so it is vital for the -application that at least a system-wide application resource file exists. -This file normally resides in the <TT>`X11/lib/app-defaults'</TT> directory and -is called <TT>`Pcb'</TT>. The bindings to which the manual refers to are the -ones as defined by the shipped resource file. Besides binding an action to -an X11 event, you can also execute any action command using a ":" command -(see section <A HREF="pcb.html#SEC36">User Commands</A>). - - -<P> -Take special care about translations related to the functions keys and the -pointer buttons because most of the window managers use them too. -Change the file according to your hardware/software environment. -You may have to replace all occurances of <EM>baseTranslations</EM> to -<EM>translations</EM> if you use a <CODE>X11R4</CODE> server. - - -<P> -Passing <EM>Object</EM> as an argument to an action routine causes the object -at the cursor location to be changed, removed or whatever. If more than -one object is located at the crosshair position the smallest type is used. -If there are two of the same type the newer one is taken. -<EM>SelectedObjects</EM> will handle all selected and visible objects. - - -<DL COMPACT> - -<DT><SAMP>`AddRats(AllRats|SelectedRats)'</SAMP> -<DD> -<A NAME="IDX490"></A> - <A NAME="IDX491"></A> - <A NAME="IDX492"></A> - <A NAME="IDX493"></A> - -Adds rat-lines to the layout using the loaded netlist file (see the <EM>:rn</EM>, -section <A HREF="pcb.html#SEC36">User Commands</A>.). Rat lines are added on the active layer using the current -line thickness shown in the status line. -Only missing connectivity is added by the -AddRats command so if, for example, the layout is complete nothing will be added. -Rat lines are drawn on the screen with a stippled pattern -to make them easier to identify since they cannot appear in a completed layout. -The rat-lines are added in the minimum length straight-line tree pattern -(always ending on pins or pads) that satisfies the missing connectivity in the circuit. -If a SMD pad is unreachable on the active layer, a warning will be issued -about it and the rat-line to that pad will not be generated. -If connections exist on the board which are not listed in the netlist while -AllRats are being added, warning messages will be issued and the affected pins and -pads will be drawn in a special <EM>warnColor</EM> until the next <EM>Notify()</EM> event. -If the entire layout agrees completely with the net-list a message informs you that -the layout is complete and no rat-lines are added (since none are needed). -If <EM>SelectedRats</EM> -is passed as the argument, only those missing connections that might connect among -the selected pins and pads are drawn. -Default: - -<PRE> -None<Key>w: AddRats(AllRats) -!Shift<Key>w: AddRats(SelectedRats) -None<Key>o: DeleteRats(AllRats) AddRats(AllRats) -!Shift<Key>o: DeleteRats(SelectedRats) AddRats(SelectedRats) -</PRE> - -<A NAME="IDX494"></A> -<A NAME="IDX495"></A> -<A NAME="IDX496"></A> -<DT><SAMP>`Atomic(Save|Restore|Block|Close)'</SAMP> -<DD> -Controls the undo grouping of sequences of actions. Before the first action -in a group, Atomic(Save) should be issued. After each action that might -be undoable, Atomic(Restore) should be issued. Atomic(Block) concludes -and save the undo grouping if there was anything in the group to undo. -Atomic(Close) concludes and save the undo grouping even if nothing was -actually done. Thus it might produce an "empty" undo. This can be useful -when you want to use undo in a group of actions. - -<A NAME="IDX497"></A> -<A NAME="IDX498"></A> -<A NAME="IDX499"></A> -<DT><SAMP>`Bell([-100..100])'</SAMP> -<DD> -Rings the bell of your display. If no value is passed the setting -of the resource <EM>volume</EM> will be used. - -<A NAME="IDX500"></A> -<A NAME="IDX501"></A> -<A NAME="IDX502"></A> -<A NAME="IDX503"></A> -<DT><SAMP>`ChangeDrillSize(Object, value)'</SAMP> -<DD> -<DT><SAMP>`ChangeDrillSize(SelectedPins|SelectedVias, value)'</SAMP> -<DD> -This action routine changes the drilling hole of pins and vias. -If <EM>value</EM> starts with + or -, then it adds (or subtracts) -<EM>value</EM> from the current hole diameter, otherwise it sets the -diameter to the value. -Default: - -<PRE> -!Mod1<Key>s: Change2ndSize(Object, +5) -!Mod1 Shift<Key>s: Change2ndSize(Object, -5) -</PRE> - -<A NAME="IDX504"></A> -<A NAME="IDX505"></A> -<A NAME="IDX506"></A> -<DT><SAMP>`ChangeHole(Object|SelectedVias)'</SAMP> -<DD> -This action routine converts a via to and from a hole. A hole is -a via that has no copper annulus. The drill size for the via -determines the hole diameter. - -<PRE> -!Ctrl<Key>h: ChangeHole(Object) -</PRE> - -<A NAME="IDX507"></A> -<A NAME="IDX508"></A> -<A NAME="IDX509"></A> -<A NAME="IDX510"></A> -<DT><SAMP>`ChangeName(Object)'</SAMP> -<DD> -<DT><SAMP>`ChangeName(Layer|Layout)'</SAMP> -<DD> -Changes the name of the visible object at the cursor location. A text object -doesn't have a name therefore the text string itself is changed. -The element name currently used for display is always the one changed with this -command. -See <EM>Display(Description|NameOnPCB|Value)</EM> for details. -Passing <EM>Layer</EM> changes the current layers name. -Default: - -<PRE> -None<Key>n: ChangeName(Object) -</PRE> - -<A NAME="IDX511"></A> -<A NAME="IDX512"></A> -<A NAME="IDX513"></A> -<A NAME="IDX514"></A> -<DT><SAMP>`ChangeOctagon(Object|SelectElements|SelectedPins|SelectedVias|Selected)'</SAMP> -<DD> -Toggles what shape the affected pin(s) or via(s) will be drawn when they -are not square. The shape will either be round or octagonal. -Default: - -<PRE> -!Ctrl<Key>o: ChangeOctagon(Object) -</PRE> - -<A NAME="IDX515"></A> -<A NAME="IDX516"></A> -<A NAME="IDX517"></A> -<A NAME="IDX518"></A> -<DT><SAMP>`ChangeSize(Object, value)'</SAMP> -<DD> -<DT><SAMP>`ChangeSize(SelectedLines|SelectedPins|SelectedVias, value)'</SAMP> -<DD> -<DT><SAMP>`ChangeSize(SelectedPads|SelectedTexts|SelectedNames, value)'</SAMP> -<DD> -<DT><SAMP>`ChangeSize(SelectedElements, value)'</SAMP> -<DD> -To change the size of an object you have to bind these action to some -<CODE>X</CODE> event (or use :ChangeSize(...)). If <EM>value</EM> begins with -a + or - then the value will be added (or subtracted) from the current -size, otherwise the size is set equal to <EM>value</EM>. Range checking is -done to insure that none of the maximum/minimums of any size are violated. -If <EM>Object</EM> is passed then a single object at the cursor location is -changed. If any of the <EM>Selected</EM> arguments are passed then all selected -and visible objects of that type are changed. If the type being modified is -an element, then the thickness of the silkscreen lines defining the element -is changed. -Default: - -<PRE> -None<Key>s: ChangeSize(Object, +5) -!Shift<Key>s: ChangeSize(Object, -5) -</PRE> - -<A NAME="IDX519"></A> -<A NAME="IDX520"></A> -<A NAME="IDX521"></A> -<A NAME="IDX522"></A> -<DT><SAMP>`ChangeSquare(Object|SelectedElements|SelectedPins)'</SAMP> -<DD> -Toggles the setting of the square flag. The flag is used to identify a -certain pin, normally the first one, of circuits. It is also used to -make SMD pads have square ends. - -<PRE> -None<Key>q: ChangeSquare(Object) -</PRE> - -<A NAME="IDX523"></A> -<A NAME="IDX524"></A> -<A NAME="IDX525"></A> -<DT><SAMP>`Command()'</SAMP> -<DD> -Calling <EM>Command()</EM> pops up an input line at the bottom of the window -which allows you to enter commands. Including all action commands! -The dialog ends when <EM>None<Key>Return</EM> -to confirm or <EM>None<Key>Escape</EM> to abort is entered. -Default: - -<PRE> -<Key>colon: Command() -</PRE> - -<A NAME="IDX526"></A> -<A NAME="IDX527"></A> -<A NAME="IDX528"></A> -<A NAME="IDX529"></A> -<A NAME="IDX530"></A> -<A NAME="IDX531"></A> -<A NAME="IDX532"></A> -<DT><SAMP>`Connection(Find)'</SAMP> -<DD> -<DT><SAMP>`Connection(ResetFoundLinesAndRectangles|ResetPinsViasAndPads|Reset)'</SAMP> -<DD> -The <EM>Connection()</EM> action is used to mark all connections from one pin, -line or via to others. -The <EM>ResetFoundLinesAndRectangles, ResetFoundPinsAndVias</EM> and -<EM>Reset</EM> arguments may be used to reset all marked lines and rectangles, -vias and pins or all of them. The search starts with the pin or via -at the cursor position. All found objects are drawn with the color -defined by the resource <EM>connectedColor</EM>. -See also, <EM>Display(Description|NameOnPCB|Value)</EM>. -Default: - -<PRE> -!Shift<Key>c: Connection(Reset) -None<Key>f: Connection(Find) -!Shift<Key>f: Connection(Reset) -</PRE> - -<A NAME="IDX533"></A> -<A NAME="IDX534"></A> -<A NAME="IDX535"></A> -<A NAME="IDX536"></A> -<DT><SAMP>`DeleteRats(AllRats|SelectedRats)'</SAMP> -<DD> -This routine deletes either all rat-lines in the layout, or only -the selected and visible ones. Non-rat-lines and other layout -objects are unaffected. -Default: - -<PRE> -None<Key>e: DeleteRats(AllRats) -!Shift<Key>e: DeleteRats(SelectedRats) -</PRE> - -<A NAME="IDX537"></A> -<A NAME="IDX538"></A> -<A NAME="IDX539"></A> -<A NAME="IDX540"></A> -<A NAME="IDX541"></A> -<A NAME="IDX542"></A> -<A NAME="IDX543"></A> -<A NAME="IDX544"></A> -<A NAME="IDX545"></A> -<A NAME="IDX546"></A> -<A NAME="IDX547"></A> -<A NAME="IDX548"></A> -<A NAME="IDX549"></A> -<A NAME="IDX550"></A> -<DT><SAMP>`Display(Description|NameOnPCB|Value)'</SAMP> -<DD> -<DT><SAMP>`Display(Toggle45Degree|CycleClip)'</SAMP> -<DD> -<DT><SAMP>`Display(Grid|ToggleGrid)'</SAMP> -<DD> -<DT><SAMP>`Display(ToggleRubberBandMode)'</SAMP> -<DD> -<DT><SAMP>`Display(Center|ClearAndRedraw|Redraw)'</SAMP> -<DD> -<DT><SAMP>`Display(Pinout|PinOrPadName)'</SAMP> -<DD> -This action routines handles some output related settings. It is -used to center the display around the cursor location and to redraw the -output area optionally after clearing the window. -Centering is done with respect to the <EM>grid</EM> setting. Displaying the -grid itself may be switched on and off by <EM>Grid</EM> but only if -the distance between two pixels exceeds 1_DISTANCE pixels. -<CODE>Pcb</CODE> is able to handle several labels of an element. One of them -is a description of the functionality (eg resistor), the second should be -a unique identifier (R1) whereas the last one is a value (100k). -The <EM>Display()</EM> action selects which of the names is displayed. -It also controls which name will be affected by the <EM>ChangeName</EM> command. -If <EM>ToggleGrid</EM> is passed, <CODE>Pcb</CODE> changes between relative -('rel' in the statusline) and absolute grid (an 'abs' in the statusline). -Relative grid means the pointer position when the command is issued is -used as the grid origin; while (0,0) is used in the absolute grid case. -Passing <EM>Pinout</EM> displays the pinout of the element at the current -cursor location whereas <EM>PinOrPadName</EM> toggles displaying of the -pins or pads name under the cursor. If none of them matches but the cursor -is inside of an element, the flags is toggled for all of its pins and pads. -For details about rubberbands see also the details about <EM>Mode</EM>. -Default: - -<PRE> -None<Key>c: Display(Center) -None<Key>d: Display(PinOrPadName) -!Shift<Key>d: Display(Pinout) -None<Key>r: Display(ClearAndRedraw) -None<Key>.: Display(Toggle45Degree) -None<Key>/: Display(CycleClip) -</PRE> - -<A NAME="IDX551"></A> -<A NAME="IDX552"></A> -<A NAME="IDX553"></A> -<DT><SAMP>`DRC()'</SAMP> -<DD> -Initiates design rule checking of the entire layout. Must be repeated -until no errors are found. - -<A NAME="IDX554"></A> -<A NAME="IDX555"></A> -<A NAME="IDX556"></A> -<DT><SAMP>`EditLayerGroups()'</SAMP> -<DD> -Pops up a dialog box to edit the layergroup setting. The function is also -available from the <EM>Objects</EM> menu. -There are no defaults. - -<A NAME="IDX557"></A> -<A NAME="IDX558"></A> -<DT><SAMP>`Load(ElementToBuffer|Layout|LayoutToBuffer|Nelist)'</SAMP> -<DD> -This routine pops up a fileselect box to load layout, element data, -or netlist. -The passed filename for layout data is saved and may be reused. -<EM>ElementToBuffer</EM> and <EM>LayoutToBuffer</EM> load the data into the -current buffer. -There are no defaults. - -<A NAME="IDX559"></A> -<A NAME="IDX560"></A> -<A NAME="IDX561"></A> -<DT><SAMP>`MarkCrosshair()'</SAMP> -<DD> -This routine marks the current cursor location with an X, and then -the cursor display shows both absolute position and position relative to -the mark. If a mark is already present, this routine removes it and -stops displaying relative cursor coordinates. -Defaults: - -<PRE> -!Ctrl<key>m: MarkCrosshair() -</PRE> - -<A NAME="IDX562"></A> -<A NAME="IDX563"></A> -<A NAME="IDX564"></A> -<DT><SAMP>`Mode(Copy|InsertPoint|Line|Move|None|PasteBuffer|Polygon|Thermal)'</SAMP> -<DD> -<DT><SAMP>`Mode(Remove|Rectangle|RubberbandMove|Text|Via)'</SAMP> -<DD> -<DT><SAMP>`Mode(Cycle)'</SAMP> -<DD> -<DT><SAMP>`Mode(Notify)'</SAMP> -<DD> -<DT><SAMP>`Mode(Save|Restore)'</SAMP> -<DD> -Switches to a new mode of operation. The active mode is displayed by a thick -line around the matching mode selector button. -Most of the functionality of <CODE>Pcb</CODE> is implemented by selecting a mode -and calling <EM>Mode(Notify)</EM>. The arguments <EM>Line</EM>, <EM>Polygon</EM>, -<EM>Rectangle</EM>, <EM>Text</EM> and <EM>Via</EM> are used to create the -appropriate object whenever <EM>Mode(Notify)</EM> is called. Some of them, -such as <EM>Polygon</EM>, need more than one call for one object to be created. -<EM>InsertPoint</EM> adds points to existing polygons or lines. -<EM>Save</EM> and <EM>Restore</EM> are used to temporarily save the mode, switch -to another one, call <EM>Mode(Notify)</EM> and restore the saved one. Have -a look at the application resource file for examples. -<EM>Copy</EM> and <EM>Move</EM> modes are used to change an object's location and, -optionally, to create a new one. The first call of <EM>Mode(Notify)</EM> attaches -the object at the pointer location to the crosshair whereas the second -one drops it to the layout. The <EM>rubberband</EM> version of move performs the -move while overriding the current rubberband mode. -Passing <EM>PasteBuffer</EM> attaches the contents of the currently selected -buffer to the crosshair. Each call to <EM>Mode(Notify)</EM> pastes this contents -to the layout. <EM>Mode(Cycle)</EM> cycles through the modes available in the -mode-button pallete. -<EM>Mode(None)</EM> switches all modes off. -Default: - -<PRE> -<Key>Escape: Mode(None) -<Key>space: Mode(Cycle) -None<Key>BackSpace: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore) -None<Key>Delete: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore) -None<Key>F1: Mode(Via) -None<Key>F2: Mode(Line) -None<Key>F3: Mode(PasteBuffer) -None<Key>F4: Mode(Rectangle) -None<Key>F5: Mode(Text) -None<Key>F6: Mode(Polygon) -None<Key>F7: Mode(Thermal) -None<Key>F8: Mode(Arc) -None<Key>Insert: Mode(InsertPoint) -None<Key>[: Mode(Save) Mode(Move) Mode(Notify) -None<Key>]: Mode(Notify) Mode(Restore) -None<Btn1Down>: Mode(Notify) -!Shift Ctrl<Btn1Down>: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore) -None<Btn2Down>: Mode(Save) Mode(Move) Mode(Notify) -None<Btn2Up>: Mode(Notify) Mode(Restore) -!Mod1<Btn2Down>: Mode(Save) Mode(Copy) Mode(Notify) -!Mod1<Btn2Up>: Mode(Notify) Mode(Restore) -Shift Mod1<Btn2Down>: Mode(Save) Mode(RubberbandMove) Mode(Notify) -</PRE> - -<A NAME="IDX565"></A> -<A NAME="IDX566"></A> -<A NAME="IDX567"></A> -<DT><SAMP>`MovePointer(delta_x, delta_y)'</SAMP> -<DD> -With this function it is possible to move the crosshair cursor by using the -cursor keys. The <CODE>X</CODE> server's pointer follows because the necessary -events are generated by <CODE>Pcb</CODE>. All movements are performed with respect -to the currently set grid value. -Default: - -<PRE> -None<Key>Up: MovePointer(0, -1) -!Shift<Key>Up: MovePointer(0, -10) -None<Key>Down: MovePointer(0, 1) -!Shift<Key>Down: MovePointer(0, 10) -None<Key>Right: MovePointer(1, 0) -!Shift<Key>Right: MovePointer(10, 0) -None<Key>Left: MovePointer(-1, 0) -!Shift<Key>Left: MovePointer(-10, 0) -</PRE> - -<A NAME="IDX568"></A> -<A NAME="IDX569"></A> -<A NAME="IDX570"></A> -<DT><SAMP>`MoveToCurrentLayer(Object|SelectedObjects)'</SAMP> -<DD> -The function moves a single object at the crosshair location or all selected -objects to the current layer. Elements are not moveable by this function. -They have to be deleted and replaced on the other side. -If a line segment is moved and the movement would result in a loss of -connectivity to another segment then via(s) are automatically added to -maintain the connectivity. - -<PRE> -None<Key>m: MoveToCurrentLayer(Object) -!Shift<Key>m: MoveToCurrentLayer(SelectedObjects) -</PRE> - -<A NAME="IDX571"></A> -<A NAME="IDX572"></A> -<A NAME="IDX573"></A> -<DT><SAMP>`New()'</SAMP> -<DD> -Clear the current layout and starts a new one after entering its name. -Refer to the resource <EM>backup</EM> for more information. -No defaults. - -<A NAME="IDX574"></A> -<A NAME="IDX575"></A> -<A NAME="IDX576"></A> -<A NAME="IDX577"></A> -<A NAME="IDX578"></A> -<A NAME="IDX579"></A> -<A NAME="IDX580"></A> -<DT><SAMP>`PasteBuffer(AddSelected|Clear|1..5)'</SAMP> -<DD> -<DT><SAMP>`PasteBuffer(Rotate, 1..3)'</SAMP> -<DD> -<DT><SAMP>`PasteBuffer(Convert)'</SAMP> -<DD> -This action routine controls and selects the pastebuffer as well as all -cut-and-paste operations. Passing a buffer number selects one in of the -range 1..5. The statusline is updated with the new number. -<EM>Rotate</EM> performs a number of 90 degree counter clockwise rotations -of the buffer contents. <EM>AddSelected</EM> as first argument copies all -selected and visible objects into the buffer. Passing <EM>Clear</EM> removes -all objects from the currently selected buffer. <EM>Convert</EM> causes -the contents of the buffer (lines, arc, vias) to be converted into an -element definition. Refer to section <A HREF="pcb.html#SEC28">Pastebuffer</A> -for examples. -Default: - -<PRE> -!Ctrl<Key>x: PasteBuffer(Clear) PasteBuffer(AddSelected) - Mode(PasteBuffer) -!Shift Ctrl<Key>x: PasteBuffer(Clear) PasteBuffer(AddSelected) - RemoveSelected() Mode(PasteBuffer) -!Mod1<Key>c: PasteBuffer(Clear) PasteBuffer(AddSelected) -!Mod1<key>x: PasteBuffer(Clear) PasteBuffer(AddSelected) - RemoveSelected() -!Shift<Key>1: PasteBuffer(1) -!Shift<Key>2: PasteBuffer(2) -!Shift<Key>3: PasteBuffer(3) -!Shift<Key>4: PasteBuffer(4) -!Shift<Key>5: PasteBuffer(5) -None<Key>F3: Mode(PasteBuffer) -</PRE> - -<A NAME="IDX581"></A> -<A NAME="IDX582"></A> -<A NAME="IDX583"></A> -<A NAME="IDX584"></A> -<DT><SAMP>`Polygon((Close|PreviousPoint)'</SAMP> -<DD> -Polygons need a special action routine to make life easier. Calling -<EM>Polygon(PreviousPoint)</EM> resets the newly entered corner to the -previous one. The Undo action will call Polygon(PreviousPoint) -when appropriate to do so. <EM>Close</EM> creates the final -segment of the polygon. This may fail if clipping to 45 degree -lines is switched on, in which case a warning is issued. -Default: - -<PRE> -None<Key>p: Polygon(Close) -!Shift<Key>p: Polygon(Close) -</PRE> - -<A NAME="IDX585"></A> -<A NAME="IDX586"></A> -<A NAME="IDX587"></A> -<DT><SAMP>`Print()'</SAMP> -<DD> -Pops up a print control box that lets you select the output -device, scaling and many more options. Each run creates all -files that are supported by the selected device. These are -mask files as well as drilling files, silk screens and so on. The table -shows the filenames for all possible files: - -<PRE> - POSIX (extention) 8.3 filename - --------------------------------------------- - *_componentmask.* cmsk.* - *_componentsilk.* cslk.* - *_soldermask.* smsk.* - *_soldersilk.* sslk.* - *_drill.* dril.* - *_groundplane.* gpl.* - *_group[1..8].* [..8].* -</PRE> - -The output may be sent to a postprocessor by starting the filename with the -<EM>pipe</EM> <CODE>("|")</CODE> character. Any <CODE>"%f"</CODE> in a command is replaced -with the current filename. The function is available from the <EM>file</EM> menu. -There are no defaults. - -<A NAME="IDX588"></A> -<A NAME="IDX589"></A> -<A NAME="IDX590"></A> -<DT><SAMP>`Quit()'</SAMP> -<DD> -Quits the application after confirming the operation. -Default: - -<PRE> -<Message>WM_PROTOCOLS: Quit() -</PRE> - -<A NAME="IDX591"></A> -<A NAME="IDX592"></A> -<A NAME="IDX593"></A> -<DT><SAMP>`Redo()'</SAMP> -<DD> -This routine allows you to recover from the last undo command. -You might want to do this if you thought that undo was going to -revert something other than what it actually did (in case you -are confused about which operations are un-doable), or if you -have been backing up through a long undo list and over-shoot -your stopping point. Any change that is made since the undo -in question will trim the redo list. For example if you add -ten lines, then undo three of them you could use redo to put -them back, but if you move a line on the board before performing -the redo, you will lose the ability to "redo" the three "undone" lines. -Default: - -<PRE> -!Shift<Key>r: Redo() -</PRE> - -<A NAME="IDX594"></A> -<A NAME="IDX595"></A> -<A NAME="IDX596"></A> -<DT><SAMP>`RemoveSelected()'</SAMP> -<DD> -This routine removes all visible and selected objects. -There are no defaults. - -<A NAME="IDX597"></A> -<A NAME="IDX598"></A> -<A NAME="IDX599"></A> -<A NAME="IDX600"></A> -<DT><SAMP>`Report(Object|DrillReport)'</SAMP> -<DD> -This routine pops up a dialog box describing the various -characteristics of an object (or piece of an object such as a pad or pin) -in the layout at the cursor position, or a report about all of the -drill holes in the layout. -There are no defaults. - -<A NAME="IDX601"></A> -<A NAME="IDX602"></A> -<A NAME="IDX603"></A> -<DT><SAMP>`RouteStyle(1|2|3|4)'</SAMP> -<DD> -This routine copies the sizes corresponding to the numbered route style -into the active line thicknes, via diameter, and via drill size. -Defaults: - -<PRE> -!Ctrl<Key>1: RouteStyle(1) -... -!Ctrl<Key>4: RouteStyle(4) -</PRE> - -<A NAME="IDX604"></A> -<A NAME="IDX605"></A> -<A NAME="IDX606"></A> -<DT><SAMP>`Save(Layout|LayoutAs)'</SAMP> -<DD> -<DT><SAMP>`Save(AllConnections|AllUnusedPins|ElementConnections)'</SAMP> -<DD> -Passing <EM>Layout</EM> saves the layout using the file from which it was -loaded or, if it is a new layout, calls <EM>Save(LayoutAs)</EM> which queries -the user for a filename. -The values: <EM>AllConnections</EM>, <EM>AllUnusedPins</EM> and -<EM>ElementConnections</EM> start a connection scan and save all connections, -all unused pins or the connections of a single element to a file. -There are no defaults. - -<A NAME="IDX607"></A> -<A NAME="IDX608"></A> -<A NAME="IDX609"></A> -<DT><SAMP>`Select(All|Block|Connection|ToggleObject)'</SAMP> -<DD> -<DT><SAMP>`Select(ElementByName|ObjectByName|PadByName|PinByName)'</SAMP> -<DD> -<DT><SAMP>`Select(TextByName|ViaByName)'</SAMP> -<DD> -Toggles either the selection flag of the object at the crosshair position -(<EM>ToggleObject</EM>) or selects all visible objects, all inside a -rectangle or all objects which have been found during the last connection -scan. The <EM>ByName</EM> functions use a regular expression search, -always case insensitive, to select the objects. -Default: - -<PRE> -None<Btn3Down>: Select(ToggleObject) -None<Btn3Down>,None<Btn3Motion>: See resource file - this is complex -</PRE> - -<A NAME="IDX610"></A> -<A NAME="IDX611"></A> -<A NAME="IDX612"></A> -<A NAME="IDX613"></A> -<A NAME="IDX614"></A> -<A NAME="IDX615"></A> -<A NAME="IDX616"></A> -<DT><SAMP>`SetValue(Grid|LineSize|TextScale|ViaDrillingHole|ViaSize|Zoom, value)'</SAMP> -<DD> -Some internal values may be changed online by this function. -The first parameter specifies which data has to be changed. The other one -determines if the resource is set to the passed value, if <EM>value</EM> is -specified without sign, or increments/decrements if it is specified with -a plus or minus sign. -The function doesn't change any existing object only the initial values of -new objects. Use the <EM>ChangeSize()</EM> and <EM>ChangeDrillSize()</EM> -to change existing objects. -Default: - -<PRE> -None<Key>g: SetValue(Grid, +5) -!Shift<Key>g: SetValue(Grid, -5) -None<Key>l: SetValue(LineSize, +5) -!Shift<Key>l: SetValue(LineSize, -5) -None<Key>t: SetValue(TextScale, +10) -!Shift<Key>t: SetValue(TextScale, -10) -None<Key>v: SetValue(ViaSize, +5) -!Shift<Key>v: SetValue(ViaSize, -5) -!Mod1<Key>v: SetValue(ViaDrillingHole, +5) -!Mod1 Shift<Key>v: SetValue(ViaDrillingHole, -5) -None<Key>z: SetValue(Zoom, -1) -!Shift<Key>z: SetValue(Zoom, +1) -</PRE> - -<A NAME="IDX617"></A> -<A NAME="IDX618"></A> -<A NAME="IDX619"></A> -<DT><SAMP>`SwapSides()'</SAMP> -<DD> -This routine changes the board side you are viewing. -Default: - -<PRE> -None<Key>Tab: SwapSides() -</PRE> - -<A NAME="IDX620"></A> -<A NAME="IDX621"></A> -<A NAME="IDX622"></A> -<DT><SAMP>`SwitchDrawingLayer(value)'</SAMP> -<DD> -Makes layer numer 1..8 the current one. -Default: - -<PRE> -None<Key>1: SwitchDrawingLayer(1) -... -None<Key>8: SwitchDrawingLayer(8) -</PRE> - -<A NAME="IDX623"></A> -<A NAME="IDX624"></A> -<A NAME="IDX625"></A> -<A NAME="IDX626"></A> -<DT><SAMP>`ToggleHideName(Object|SelectedElements)'</SAMP> -<DD> -Toggles whether the element's name is displayed or hidden. If it -is hidden you won't see it on the screen and it will not appear -on the silk layer when you print the layout. - -<PRE> -None<Key>h: ToggleHideName(Object) -!Shift<Key>h: ToggleHideName(SelectedElements) -</PRE> - -<A NAME="IDX627"></A> -<A NAME="IDX628"></A> -<A NAME="IDX629"></A> -<DT><SAMP>`Undo()'</SAMP> -<DD> -<DT><SAMP>`Undo(ClearList)'</SAMP> -<DD> -The unlimited undo feature of <CODE>Pcb</CODE> allows you to recover -from most operations that materially affect you work. -Calling <EM>Undo()</EM> without any parameter recovers -from the last (non-undo) operation. <EM>ClearList</EM> is used to release the -allocated memory. <EM>ClearList</EM> is called whenever a new layout is started -or loaded. See also <EM>Redo</EM>. -Default: - -<PRE> -None<Key>u: Undo() -!Shift Ctrl<Key>u: Undo(ClearList) -</PRE> - -<A NAME="IDX630"></A> -<A NAME="IDX631"></A> -<A NAME="IDX632"></A> -<DT><SAMP>`Unselect(All|Block|Connection)'</SAMP> -<DD> -Unselects all visible objects, all inside a rectangle or all objects which -have been found during the last connection scan. -Default: - -<PRE> -!Shift <Btn3Down>: Mode(Save) Mode(None) Unselect(Block) -!Shift <Btn3Up>: Unselect(Block) Mode(Restore) -</PRE> - -</DL> - -<P> -<A NAME="IDX633"></A> -<A NAME="IDX634"></A> -<A NAME="IDX635"></A> - - -<H2><A NAME="SEC43" HREF="pcb_toc.html#TOC43">Default Translations</A></H2> -<P> -This section covers some default translations of key and button events as -defined in the shipped default application resource file. Most of them have -already been listed in section <A HREF="pcb.html#SEC42">Actions</A>. <CODE>Pcb</CODE> makes use of a nice <CODE>X11</CODE> -feature; calling several action routines for one event. - - -<DL COMPACT> - -<DT><SAMP>`None<Key>BackSpace:'</SAMP> -<DD> -<A NAME="IDX636"></A> - <A NAME="IDX637"></A> - <A NAME="IDX638"></A> - <A NAME="IDX639"></A> - -<DT><SAMP>`None<key>Delete:'</SAMP> -<DD> -<DT><SAMP>`!Shift<Key>BackSpace:'</SAMP> -<DD> -<DT><SAMP>`!Shift Ctrl<Btn1Down>:'</SAMP> -<DD> -The object at the cursor location is removed by <EM>None<Key>BackSpace</EM> or -<EM>Shift Ctrl<Btn1Down></EM> whereas <EM>Shift<Key>BackSpace</EM> also removes -all other objects that are fully-connected to the one at the cursor location. - -<A NAME="IDX640"></A> -<DT><SAMP>`!Mod1 Ctrl<Key>Left:'</SAMP> -<DD> -<DT><SAMP>`!Mod1 Ctrl<Key>Right:'</SAMP> -<DD> -<DT><SAMP>`!Mod1 Ctrl<Key>Up:'</SAMP> -<DD> -<DT><SAMP>`!Mod1 Ctrl<Key>Down:'</SAMP> -<DD> -Scroll one page in one of the four directions. - -<A NAME="IDX641"></A> -<DT><SAMP>`None<Key>Left:, !Shift<Key>Left:'</SAMP> -<DD> -<DT><SAMP>`None<Key>Right:, !Shift<Key>Right:'</SAMP> -<DD> -<DT><SAMP>`None<Key>Up:, !Shift<Key>Up:'</SAMP> -<DD> -<DT><SAMP>`None<Key>Down:, !Shift<Key>Down:'</SAMP> -<DD> -Move crosshair either one or ten points in grid. - -<A NAME="IDX642"></A> -<DT><SAMP>`None<Key>Return:'</SAMP> -<DD> -Finished user input, selects the 'default' button of dialogs. - -<A NAME="IDX643"></A> -<DT><SAMP>`None<Key>Escape:'</SAMP> -<DD> -<EM>Mode(Reset)</EM>, aborts user input, selects the 'abort' button of -dialogs or resets all modes. - -<A NAME="IDX644"></A> -<A NAME="IDX645"></A> -<A NAME="IDX646"></A> -<A NAME="IDX647"></A> -<A NAME="IDX648"></A> -<DT><SAMP>`None<Btn2Down>, Btn2<Motion>, None<Btn2Up>:'</SAMP> -<DD> -<DT><SAMP>`!Mod1<Btn2Down>, Btn2<Motion>, !Mod1<Btn2Up>:'</SAMP> -<DD> -The first sequence moves the object or element name at the cursor location. -The second one copies the objects. Copying isn't available for -element names. - -</DL> - -<P> -<A NAME="IDX649"></A> -<A NAME="IDX650"></A> - - -<H1><A NAME="SEC44" HREF="pcb_toc.html#TOC44">File Formats</A></H1> -<P> -All files used by <CODE>Pcb</CODE> are read from the standard output of a command -or written to the standard input of one as plain seven bit <CODE>ASCII</CODE>. This -makes it possible to use any editor to change the contents of a layout file. -It is the only way for element or font description files to be created. -To do so you'll need to study the example files <TT>`example/*'</TT> and -<TT>`default_font'</TT> which are shipped with <CODE>Pcb</CODE>. -For an overview refer to section <A HREF="pcb.html#SEC3">Introduction</A>. - - -<P> -<A NAME="IDX651"></A> -<A NAME="IDX652"></A> -<A NAME="IDX653"></A> -<A NAME="IDX654"></A> -<A NAME="IDX655"></A> -<A NAME="IDX656"></A> -The following sections provide the necessary information about the syntax of -the files. -Netlist files are not created by <CODE>Pcb</CODE>, but it does use them. For information -on the format of a netlist file see the <EM>:rn</EM>, -section <A HREF="pcb.html#SEC36">User Commands</A>. Rat lines are added on the current layer using the current -The commands described allow you to add almost any additional -functionality you may need. Examples are compressed read and write access as -well as archives. The commands themselves are defined by the resources -<EM>elementCommand</EM>, <EM>fileCommand</EM>, <EM>fontCommand</EM>, -<EM>libraryCommand</EM>, <EM>libraryContentsCommand</EM> and <EM>saveCommand</EM>. -Note that the commands are not saved along with the data. -It is considered an advantage to have the layout file contain all necessary -information, independent of any other files. - - -<P> -One thing common to all files is they may include comments, newlines, -and carriage returns at any place except within quoted strings. - - - -<UL> -<LI><A HREF="pcb.html#SEC45">Basic Types</A>: Basic types used by all data files. -<LI><A HREF="pcb.html#SEC46">Layout File</A> -<LI><A HREF="pcb.html#SEC47">Element File</A> -<LI><A HREF="pcb.html#SEC48">Font File</A> -<LI><A HREF="pcb.html#SEC49">Library Contents File</A> -<LI><A HREF="pcb.html#SEC50">Library File</A> -</UL> - -<P> -<A NAME="IDX657"></A> -<A NAME="IDX658"></A> - - -<H2><A NAME="SEC45" HREF="pcb_toc.html#TOC45">Basic Types</A></H2> -<P> -Here are the basic type definitions used in the other sections of this -chapter. - - - -<PRE> -Description = Name -DeltaAngle = Number -DrillingHole = Number -Flags = Number -FontPosition = Number -Grid = Number -GridOffsetX = Number -GridOffsetY = Number -Group = GroupMember [,GroupMember]... -GroupMember = decimal | [cs] -GroupString = """ Group [:Group]... """ -StyleString = """ Style [:Style]... """ -Height = Number -LayerNumber = Number -LayoutName = Name -Name = quoted_string -Number = decimal | hex -PinNumber = quoted_string -Spacing = Number -StartAngle = Number -SymbolID = Number | charconst -Thickness = Number -TextData = quoted_string -TextFlags = Flags -TextScale = scale -TextX = Number -TextY = Number -Value = Name -Width = Number -X = Number -X1 = Number -X2 = Number -Y = Number -Y1 = Number -Y2 = Number -charconst = "'" <any character> "'" -comment = "#" {<any character up to a newline>}... -decimal = [0-9]+ -direction = [0-3] -hex = 0x[0-9a-fA-F]+ -scale = [1-<positive integer>] -quoted_string = """ <anything except \n and \r> """ -zoom = [0-MAX] -</PRE> - -<P> -<A NAME="IDX659"></A> -<A NAME="IDX660"></A> -<A NAME="IDX661"></A> - - -<H2><A NAME="SEC46" HREF="pcb_toc.html#TOC46">Layout File Format</A></H2> -<P> -The layout file describes a complete layout including symbols, vias, -elements and layers with lines, rectangles and text. This is the most -complex file of all. - - - -<PRE> -File = Header Font PCBData -Header = PCBName [GridData] [CursorData] [PCBFlags] [Groups] -PCBName = "PCB(" Name Width Height ")" -GridData = "Grid(" Grid GridOffsetX GridOffsetY ")" -CursorData = "Cursor(" X Y zoom ")" -PCBFlags = "Flags(" Flags ")" -Groups = "Groups(" GroupString ")" -Styles = "Styles(" StyleString ")" -Font = {FontData}... -FontData = {Symbol}... -Symbol = "Symbol(" SymbolID Spacing ")" - "(" {SymbolData}... ")" -SymbolData = {SymbolLine}... -SymbolLine = "SymbolLine(" X1 Y1 X2 Y2 Thickness ")" -PCBData = {Via | Layer | Element}... - -Via = "Via(" X Y Thickness DrillingHole Name Flags ")" - -Element = "Element(" Flags Description LayoutName Value \ - TextX TextY direction scale TextFlags")" - "(" {ElementData}... [Mark] ")" -ElementData = {ElementLine | Pad | Pin | ElementArc }... -ElementArc = "ElementArc(" X Y Width Height - StartAngle DeltaAngle Thickness ")" -ElementLine = "ElementLine(" X1 Y1 X2 Y2 Thickness ")" -Mark = "Mark(" X Y ")" -Pad = "Pad(" X1 Y1 X2 Y2 Thickness Name PinNumber Flags")" -Pin = "Pin(" X Y Thickness DrillingHole Name PinNumber Flags ")" - -Layer = "Layer(" LayerNumber Name ")" - "(" {LayerData}... ")" -LayerData = {Line | Polygon | Text}... -Line = "Line(" X1 Y1 X2 Y2 Thickness Flags")" -Arc = "Arc(" X Y Width Height StartAngle DeltaAngle Thickness Flags")" -Polygon = "Polygon(" Flags ")" \ - "(" {Points}... ")" -Points = "(" X Y ")" -Text = "Text(" X Y direction scale TextData Flags")" -</PRE> - -<DL COMPACT> - -<DT><SAMP>`PCBName'</SAMP> -<DD> -is used to define the layout's name which is independent of its filename. -It is displayed in the lower left corner of the main window. - -<DT><SAMP>`GridData'</SAMP> -<DD> -is optional and is used to save the grid setting and offset which were set -at the time the layout was saved. - -<DT><SAMP>`CursorData'</SAMP> -<DD> -also is an optional parameter to save the last cursor location and zoom value. -The real zoom factor is calculated by scale = 1:(2 power value). - -<DT><SAMP>`PCBFlags'</SAMP> -<DD> -determine how to draw lines and which name of the elements should be -displayed. - -<PRE> - bit 4: do rubberband moves and rotates if set - bit 5: display description of elements if set - bit 6: display unique name of an element if set - bit 7: use absolute grid if set - bit 8: don't clip lines to 45 degrees -</PRE> - -<DT><SAMP>`Groups'</SAMP> -<DD> -Layergroups are saved by using this optional parameter. The only way of -changing them is to use an editor and alter the appropriate line. The -characters <EM>c,s</EM> idenify the component- and solder-side for SMD -objects. - -<DT><SAMP>`Symbol'</SAMP> -<DD> -See the description of font files in this chapter. - -<DT><SAMP>`Via'</SAMP> -<DD> -Vias are always connected to all layers which also means vias are one -logical level ahead of layers. Vias are defined by position, size, name and -by some flags. - -<PRE> - bit 0: always clear - bit 1: always set - bit 2: set if via was found during a connection search - bit 4: set if via is a hole (has no copper annulus) - bit 5: display the vias name - bit 6: via has been selected - bit 12: set if via has octagonal shape - Other bits have special meaning and should not be changed - by the user. See const.h for more information -</PRE> - -<DT><SAMP>`Element'</SAMP> -<DD> -See the description of element files in this chapter. - -<DT><SAMP>`Layer'</SAMP> -<DD> -A layer is the central object from the user's point of view. It holds all -connections and all text objects. Up to 8 may be used individually. -Its number, starting with one, and its name are read as arguments. - -<DL COMPACT> - -<DT><SAMP>`Line'</SAMP> -<DD> -All lines are identified by their start and endpoints together with their -thickness and some flags. They have to fit a 45 degree scheme. - -<PRE> - bit 2: set if line was found during a connection search - bit 4: line is a rat-line - bit 6: line has been selected -</PRE> - -<DT><SAMP>`Polygon'</SAMP> -<DD> -used to fill a larger area with <SAMP>`copper'</SAMP>. The coordinates specify the -corners. The flags are: - -<PRE> - bit 2: set if polygon was found during a connection search - bit 4: polygon is a 1.5 style polygon that automatically clears pins - bit 6: polygon has been selected -</PRE> - -<DT><SAMP>`Text'</SAMP> -<DD> -You may use text objects to add information to your board. An example would -be naming a connector or marking pin one of it. The position marks the -lower left corner of the string which is also a fixpoint for rotations. -Text directions are independent to those of lines. They are counted from -zero to three with a meaning of zero to 270 degree rotations counter-clockwise. -The scaling value is a positive integer which determines a zoom factor in -percent. - -<PRE> - bit 6: the text has been selected - bit 7: the text is on the solder (back) side of the board - bit 10: the text is on the silkscreen layer -</PRE> - -</DL> - -</DL> - -<P> -<A NAME="IDX662"></A> -<A NAME="IDX663"></A> -<A NAME="IDX664"></A> - - -<H2><A NAME="SEC47" HREF="pcb_toc.html#TOC47">Element File Format</A></H2> -<P> -Element files are used to describe one component which then may be used -several times within one or more layouts. You will normally split the -file into two parts, one for the pinout and one for the package description. -Using <CODE>m4</CODE> allows you to define pin names as macros in one file and -include a package description file which evaluates the macros. See -the resource <EM>elementCommand</EM> for more information. The pins (and pads) -must appear in squential order in the element file (new in 1.5) so that -pin 1 must be the first PIN(...) in the file. - - -<P> -Doing things this way makes it possible to use one package file for several -different circuits. See the sample files <TT>`dil*'</TT>. - - -<P> -The lowest x and y coordinates of all subobjects of an element are used -as an attachment point for the crosshair cursor of the main window. - - - -<PRE> -File = {Element}... -Element = "Element(" Flags Description LayoutName Value \ - TextX TextY direction scale TextFlags")" - "(" {ElementData}... [Mark] ")" -ElementData = {ElementLine | Pad | Pin | ElementArc }... -ElementArc = "ElementArc(" X Y Width Height - StartAngle DeltaAngle Thickness ")" -ElementLine = "ElementLine(" X1 Y1 X2 Y2 Thickness ")" -Mark = "Mark(" X Y ")" -Pad = "Pad(" X1 Y1 X2 Y2 Thickness Name PinNumber Flags ")" -Pin = "Pin(" X Y Thickness DrillingHole Name PinNumber Flags ")" -</PRE> - -<DL COMPACT> - -<DT><SAMP>`Element'</SAMP> -<DD> -Objects of type element are determined by flags, some names, a canonical -and a layout name as well as a value. Additional fields are text position, -their direction counted from zero to three (n * 90 degrees counter-clockwise) -and element data. - -<DL COMPACT> - -<DT><SAMP>`Flags'</SAMP> -<DD> -The flag field determines the state of an element. -The bit values are: - -<PRE> - bit 4: the element name is hidden - bit 6: element has been selected - bit 7: element is located on the solder side -</PRE> - -<DT><SAMP>`TextFlags'</SAMP> -<DD> -<DT><SAMP>`scale'</SAMP> -<DD> -<DT><SAMP>`direction'</SAMP> -<DD> -See the description of text object earlier in this chapter. - -<DT><SAMP>`ElementLine'</SAMP> -<DD> -A line is defined by its start and end points and by its size, or width. - -<DT><SAMP>`ElementArc'</SAMP> -<DD> -Defines an arc by its center, width, height, startangle, its length in -degrees and its size. Remember the y axis on the screen grows downwards. - -<DT><SAMP>`Mark'</SAMP> -<DD> -is just a hint to make positioning easier. The crosshair will be positioned -here. Its center is passed as the two arguments. - -<DT><SAMP>`Pad'</SAMP> -<DD> -A pad is very similar to a line except it may not be disconnected from -its element and it has an associated name. -Is is defined by two end point position, size, name and by some flags. - -<PRE> - bit 2: set if pad was found during a connection search - bit 5: display the pads name - bit 6: pad has been selected - bit 7: pad is located on the solder side -</PRE> - -<DT><SAMP>`Pin'</SAMP> -<DD> -A pin is very similar to a via except it may not be disconnected from -its element. - -<PRE> - bit 0: always set - bit 1: always clear - bit 2: set if pin was found during a connection search - bit 3: set if pin is only a mounting hole (no copper annulus) - bit 5: display the pins name - bit 6: pin has been selected - bit 8: pin is drawn as a square - bit 12: set if pin is drawn with an octagonal shape -</PRE> - -</DL> - -</DL> - -<P> -<A NAME="IDX665"></A> -<A NAME="IDX666"></A> -<A NAME="IDX667"></A> - - -<H2><A NAME="SEC48" HREF="pcb_toc.html#TOC48">Font File Format</A></H2> -<P> -A number of user defined symbols are called a font. There is only one per -layout. All symbols are made of lines. See the file <TT>`default_font'</TT> -as an example. - - -<P> -The lowest x and y coordinates of all lines of a font are transformed to (0,0). - - - -<PRE> -File = Font -Font = {FontData}... -FontData = {Symbol}... -Symbol = "Symbol(" SymbolID FontPosition ")" - "(" {SymbolData}... ")" -SymbolData = {SymbolLine}... -</PRE> - -<DL COMPACT> - -<DT><SAMP>`Symbol'</SAMP> -<DD> -The two arguments are the <CODE>ASCII</CODE> code of the symbol and its distance to -the next symbol. Undefined symbols are drawn as filled rectangles. -The <CODE>ASCII</CODE> code may be passed as a character constant or as a hexadecimal -value. - -<DL COMPACT> - -<DT><SAMP>`SymbolLine'</SAMP> -<DD> -The symbol data itself is made up of several entries -of type <EM>SymbolLine</EM>. -</DL> - -</DL> - -<P> -<A NAME="IDX668"></A> -<A NAME="IDX669"></A> -<A NAME="IDX670"></A> - - -<H2><A NAME="SEC49" HREF="pcb_toc.html#TOC49">Library Contents File Format</A></H2> -<P> -There is nothing like a special library format. The ones that have been -introduced in 1.4.1 just use some nice (and time consuming) fetures of GNU -<CODE>m4</CODE>. The only predefined format is the one of the contents file -which is read during startup. It is made up of two basic line types: - - - -<PRE> -menu entry = "TYPE="name -contents line = template":"package":"value":"description -name = String -template = String -package = String -value = String -description = String -String = <anything except ":", "\n" and "\r"> -</PRE> - -<P> -No leading whitespaces or comments are allowed in this file. If you need -either one, define a command that removes them before loading. Have a look -to the <EM>libraryContentsCommand</EM> resource. - - -<P> -The menu entry will appear in the selection menu at the top and of the -library window. - - -<P> -<A NAME="IDX671"></A> -<A NAME="IDX672"></A> -<A NAME="IDX673"></A> - - -<H2><A NAME="SEC50" HREF="pcb_toc.html#TOC50">Library File Format</A></H2> -<P> -This section provides an overview about the existing <CODE>m4</CODE> definitions -of the elements. There are basically two different types of files. One -to define element specific data like the pinout, package and so on, the -other to define the values. For example the static RAM circuits 43256 and -62256 are very similar. They therefore share a common definition in the -macro file but are defined with two different value labels. - - -<P> -The macro file entry: - -<PRE> -define(`Description_43256_dil', `SRAM 32Kx8') -define(`Param1_43256_dil', 28) -define(`Param2_43256_dil', 600) -define(`PinList_43256_dil', ``pin1', `pin2', ...') -</PRE> - -<P> -And the list file: - -<PRE> -43256_dil:N:43256:62256 -</PRE> - -<P> -The macro must define a description, the pin list and up to two additional -parameters that are passed to the package definitions. The first one is -the number of pins whereas the second one defines for example the width -of a package. - - -<P> -It is very important to select a unique identifier for each macro. In -the example this would be <EM>43256_dil</EM> which is also the templates name. -It is required by some low-level macros that -<EM>Description_, Param1_, Param2_</EM> and <EM>PinList_</EM> are prepended. - - -<P> -The list file uses a syntax: - -<PRE> -template:package:value[:more values] -</PRE> - -<P> -This means that the shown example will create two element entries with the -sam package and pinout but with different names. - - -<P> -A number of packages are defined in <TT>`common.m4'</TT>. Included are: - - - -<PRE> -DIL packages with suffix D, DW, J, JD, JG, N, NT, P -PLCC -TO3 -generic connectors -DIN 41.612 connectors -zick-zack (SD suffix) -15 pin multiwatt -</PRE> - -<P> -If you are going to start your own library please take care about <CODE>m4</CODE> -functions. Be aware of quoting and so on and, most important check your -additional entry by calling the macro: - - - -<PRE> -CreateObject(`template', `value', `package suffix') -</PRE> - -<P> -If quoting is incorrect an endless loop may occur (broken by a out-of-memory -message). - - -<P> -The scripts in the <TT>`lib'</TT> directory handle the creation of libraries -as well as of their contents files. Querying is also supported. - - -<P> -I know quite well that this description of the library implementation is -not what some out there expect. But in my opinion it's much more useful to -look at the comments and follow the macros step by step. - - - - -<H1><A NAME="SEC51" HREF="pcb_toc.html#TOC51">Installation and Troubleshooting</A></H1> -<P> -Compiling and installing the package should be straightforward. If any problems -occur, please contact the author (Thomas.Nau@rz.uni-ulm.de) to find -a solution and include it into the next release. - - - -<UL> -<LI><A HREF="pcb.html#SEC52">compiling</A>: Compiling and installing. -<LI><A HREF="pcb.html#SEC56">problems</A>: Troubleshooting. -</UL> - -<P> -<A NAME="IDX674"></A> -<A NAME="IDX675"></A> - - -<H2><A NAME="SEC52" HREF="pcb_toc.html#TOC52">Compiling and Installing</A></H2> -<P> -This section covers the steps which are necessary to compile the package. - - - -<UL> -<LI><A HREF="pcb.html#SEC53">config.h</A>: Editing <TT>`config.h'</TT> options. -<LI><A HREF="pcb.html#SEC54">manuals</A>: Creating the man page, info file and this manual. -<LI><A HREF="pcb.html#SEC55">make</A>: Creating the <TT>`Makefile'</TT>, compiling and installing. -</UL> - -<P> -<A NAME="IDX676"></A> -<A NAME="IDX677"></A> -<A NAME="IDX678"></A> - - -<H3><A NAME="SEC53" HREF="pcb_toc.html#TOC53">Editing config.h</A></H3> -<P> -Most <CODE>X11</CODE> related options are automatically covered by <CODE>imake</CODE> -which is called from <CODE>xmkmf</CODE>. The ones special to <CODE>Pcb</CODE> -have to be edited in <TT>`config.h'</TT>. -In order of appearance: - - -<DL COMPACT> - -<DT><SAMP>`INFOLIBDIR'</SAMP> -<DD> -<A NAME="IDX679"></A> - -must be set to the directory where your GNU info files are located. - -<A NAME="IDX680"></A> -<DT><SAMP>`/usr/X11R6/lib/X11/pcb'</SAMP> -<DD> -is the path of a directory where the font files will be installed. - -<A NAME="IDX681"></A> -<DT><SAMP>`DEFAULTFONT'</SAMP> -<DD> -the name of the default font file. - -<A NAME="IDX682"></A> -<DT><SAMP>`DEFAULTLIBRARY'</SAMP> -<DD> -the name of the default library. - -<A NAME="IDX683"></A> -<DT><SAMP>`gm4'</SAMP> -<DD> -the name of GNUs m4 version. - -<A NAME="IDX684"></A> -<DT><SAMP>`Mod1'</SAMP> -<DD> -If your window manager has already bound <EM>Mod1</EM> together with some -function keys you may want to change this setting. This is true for HP-VUE. - -<A NAME="IDX685"></A> -<DT><SAMP>`EXTRA_INCLUDES'</SAMP> -<DD> -Some systems do not have the Athena Widget include files in their normal -place as configured by <CODE>X11</CODE>s config files. Define this as follows: - -<PRE> - EXTRA_INCLUDES = -I/usr/openwin/share/include -</PRE> - -This is probably true for Suns which use <CODE>OpenWindows</CODE>. - -<A NAME="IDX686"></A> -<DT><SAMP>`PATCHES'</SAMP> -<DD> -This symbol is passed to the compiler. Use it to define additional compiler -flags. -Add the <EM>-DNEED_STRDUP</EM> flag, if your system does not have a strdup() -library function. - -<A NAME="IDX687"></A> -<DT><SAMP>`HAS_REGEX'</SAMP> -<DD> -Set to <EM>-DHAS_REGEX</EM> if your system supports regular expressions. -This enables the actions <EM>Select(*ByName)</EM>. - -<A NAME="IDX688"></A> -<A NAME="IDX689"></A> -<DT><SAMP>`EXITCALL'</SAMP> -<DD> -The symbol <EM>EXITCALL</EM> should be defined according to the -<EM>call on exit</EM> functions supported by your system. There are three -choices: - -<PRE> - EXITCALL = -DHAS_ATEXIT if atexit() is supported (SYSV) - EXITCALL = -DHAS_ON_EXIT if on_exit() and no atexit() is supported - EXITCALL = if none of them is supported -</PRE> - -Please check your manpages for details. - -<A NAME="IDX690"></A> -<DT><SAMP>`SYS_LIBRARIES'</SAMP> -<DD> -This symbol is used to pass additional libraries to the linker. The only -additional libraries which are used are the math and lex library. - -</DL> - -<P> -If you have to make system dependent changes please include them into a -<EM>#ifdef Architecture</EM> ... <EM>#endif</EM> construct and mail a copy to -the author (Thomas.Nau@rz.uni-ulm.de). - - -<P> -Now run <CODE>xmkmf -a</CODE> which creates the <TT>`Makefiles'</TT> and runs -<CODE>make depend</CODE>. This should finish without any problems except some -systems which complain about missing include files. Don't worry about any -such warnings at this time, the package should compile without any problems. - - -<P> -<A NAME="IDX691"></A> -<A NAME="IDX692"></A> -<A NAME="IDX693"></A> -<A NAME="IDX694"></A> - - -<H3><A NAME="SEC54" HREF="pcb_toc.html#TOC54">Manuals</A></H3> -<P> -After <CODE>xmkmf -a</CODE> has created the new <TT>`Makefile'</TT> you are able to -create the manpages, the application resource, the info file, the -<CODE>TeX</CODE> output and a reference card by executing - -<PRE> - (cd doc; make) - (cd src; make Pcb.ad) -</PRE> - -<P> -You'll need <CODE>TeX</CODE>, <CODE>texindex</CODE> and, if you want <CODE>PostScript</CODE>, -<CODE>dvips</CODE> to build the manuals. Preformatted documentation for the -default configuration may be found in the <TT>`./doc.ps'</TT> directory. -A simple <EM>make</EM> builds everything. -Generate a printed copy to make your life easier. -<CODE>TeX-3.0</CODE> failed, <CODE>TeX-3.14</CODE> worked just fine. - - -<P> -<A NAME="IDX695"></A> - - -<H3><A NAME="SEC55" HREF="pcb_toc.html#TOC55">Compiling the Package</A></H3> -<P> -After reaching this point, it is time for <CODE>make</CODE>. It should build -everything without any errors. -If it doesn't refer to section <A HREF="pcb.html#SEC56">Troubleshooting</A>. - - -<P> -You have to be root to install the package or at least a user with -the appropriate priveleges in some <CODE>X11</CODE> directories. Set the umask to -<EM>022</EM> or else some files will not be found because the directory isn't -world readable. - - -<P> -If you do not have the appropriate permissions you should run -<TT>`./pcbtest.sh'</TT> in the <TT>`src'</TT> directory to run <CODE>Pcb</CODE> from -the installation directory. - - -<P> -<CODE>make install</CODE> and <CODE>make install.man</CODE> install the program, -the fonts, the application default resource file, all element and package -data as well as the manpage into the <CODE>X11</CODE> directories. -<CODE>make install.info</CODE> does the same for the <CODE>GNU</CODE> info file. - - -<P> -<A NAME="IDX696"></A> -<A NAME="IDX697"></A> - - -<H2><A NAME="SEC56" HREF="pcb_toc.html#TOC56">Troubleshooting</A></H2> -<P> -There are some known problems. Most of them are related to -missing parts of a standard <CODE>X11</CODE> distribution. Some others are caused by -third party applications such as <CODE>X</CODE> servers. To make this list more -complete please mail your problems and, if available, solutions to the author. -The mail address may be found at the beginning of this chapter. -In any case, read section <A HREF="pcb.html#SEC64">Problems related to X11</A>. - - -<P> -By the way, you <CODE>MUST HAVE AN ANSI COMPILER</CODE> to make <CODE>Pcb</CODE> work. - - -<P> -If the shell script <CODE>create_sed_script.sh</CODE> fails with an error -of <CODE>awk</CODE> check your system for <CODE>nawk</CODE> or get the <CODE>GNU gawk</CODE>. -See the script for details. - - -<P> -Another source of problems are older versions of <CODE>flex</CODE> and <CODE>bison</CODE>. -<CODE>Pcb</CODE> definitely works with <CODE>flex-2.4.7</CODE> and <CODE>bison-1.22</CODE> or -later. The problems will result in a <EM>syntax error</EM> while parsing files. -You will have to add <EM>-lfl</EM> to the SYS_LIBRARIES identifier in -<TT>`Imakefile'</TT>. See also, section <A HREF="pcb.html#SEC63">FreeBSD and NetBSD</A>. - - -<P> -The following list gives you just an idea because I'm not able to test -all <CODE>Pcb</CODE> releases on all platforms. - - - -<UL> -<LI><A HREF="pcb.html#SEC57">HP</A>: Hewlett-Packard series 700 and 800 running HP-UX 10.* -<LI><A HREF="pcb.html#SEC58">Sun</A>: Sun, Solaris 2.5 -<LI><A HREF="pcb.html#SEC59">SGI</A>: SGI, IRIX 5.3 and 6.* -<LI><A HREF="pcb.html#SEC60">DEC Alpha</A>: DEC Alpha, DEC UNIX 3.2c and 4.0 -<LI><A HREF="pcb.html#SEC61">SCO</A>: SCO Unix ODT 3.0, PC hardware -<LI><A HREF="pcb.html#SEC62">Linux</A>: Linux 0.99pl14 and later -<LI><A HREF="pcb.html#SEC63">FreeBSD</A>: FreeBSD, NetBSD ... -<LI><A HREF="pcb.html#SEC64">X11</A>: Refers to <CODE>X11R4</CODE>, <CODE>X11R5</CODE>, and <CODE>OpenWindows</CODE> -<LI><A HREF="pcb.html#SEC65">TeX and Manuals</A>: Problems creating the <TT>`pcb.dvi'</TT> -</UL> - -<P> -<A NAME="IDX698"></A> -<A NAME="IDX699"></A> -<A NAME="IDX700"></A> - - -<H3><A NAME="SEC57" HREF="pcb_toc.html#TOC57">HP Series 700 and 800</A></H3> -<P> -You have to install several <CODE>X11</CODE> tools (<CODE>imake</CODE>) and include files -or, better, install a complete <CODE>X11R5</CODE> release. Hewlett-Packard doesn't -support the Athena Widgets. So the header files and libraries are missing -from the application media, but they are available as a patch. -They also do not ship the <CODE>ANSI</CODE> compiler with the normal operating -system release so you have to buy one or use <CODE>GCC</CODE>. -Some of the tools are available as patches. - - -<P> -In addition, <CODE>Pcb</CODE> has been successfully tested on these platforms with -<CODE>HPUX 9.*, 10.*</CODE> running self-compiled <CODE>X11R5</CODE>. - - -<P> -<A NAME="IDX701"></A> -<A NAME="IDX702"></A> -<A NAME="IDX703"></A> -<A NAME="IDX704"></A> - - -<H3><A NAME="SEC58" HREF="pcb_toc.html#TOC58">Sun SPARC architecture</A></H3> -<P> -There are no known problems with Sun machines if they use <CODE>X11R5</CODE> instead -of <CODE>OpenWindows</CODE>. <CODE>Pcb</CODE> compiled successfully with all kinds of -SPARCstations <CODE>Solaris-2.[345]</CODE>. - - -<P> -For problems with <CODE>OpenWindows</CODE> refer to section <A HREF="pcb.html#SEC64">Problems related to X11</A>. - - -<P> -If <CODE>xmkmf</CODE> is missing, try - -<PRE> - /usr/openwin/bin/imake -DUseInstalled -I/usr/openwin/lib/config - make Makefile - make includes - make depend -</PRE> - -<P> -instead. I got it compiled but the linker complained about missing symbols. -The problem may be related to the mixed <CODE>OpenWindows</CODE> - <CODE>X11R5</CODE> -environment which is installed on the test machine. -Anyway the code was executable and I haven't got a core yet. - - -<P> -<A NAME="IDX705"></A> -<A NAME="IDX706"></A> -<A NAME="IDX707"></A> - - -<H3><A NAME="SEC59" HREF="pcb_toc.html#TOC59">Silicon Graphics</A></H3> -<P> -<CODE>Pcb</CODE> has been tested on some boxes running either <CODE>IRIX-4.0.5</CODE> or -<CODE>IRIX-5.3</CODE>. The former one uses a <CODE>X11R4</CODE> server. -There are no problems except some additionally needed -compiler flags. For known problems -with <CODE>X11R4</CODE>, see section <A HREF="pcb.html#SEC64">Problems related to X11</A>. Check <TT>`Imakefile'</TT>, too. - - -<P> -<A NAME="IDX708"></A> -<A NAME="IDX709"></A> -<A NAME="IDX710"></A> - - -<H3><A NAME="SEC60" HREF="pcb_toc.html#TOC60">DEC Alpha</A></H3> -<P> -<CODE>Pcb</CODE> compiled and runs without problems on <CODE>DEC UNIX V3.2c</CODE> if you -do the following instead of calling <CODE>xmkmf -a</CODE>: - -<PRE> - xmkmf - make Makefiles - make includes - make depend -</PRE> - -<P> -<A NAME="IDX711"></A> -<A NAME="IDX712"></A> -<A NAME="IDX713"></A> - - -<H3><A NAME="SEC61" HREF="pcb_toc.html#TOC61">SCO Unix</A></H3> -<P> -John DuBois <spcecdt@deeptht.armory.com> wrote: - -<PRE> -<CODE>SCO-ODT-3.0</CODE> requires the latest version of tls003, the Athena -widget library (available from sosco.sco.com). The main problems -I have encountered are it core dumps fairly often, especially -while loading/dropping elements... -</PRE> - -<P> -I'll see what I am able to do as soon as I have access to an <CODE>SCO</CODE> system. - - -<P> -<A NAME="IDX714"></A> -<A NAME="IDX715"></A> -<A NAME="IDX716"></A> - - -<H3><A NAME="SEC62" HREF="pcb_toc.html#TOC62">Linux</A></H3> -<P> -Since the <CODE>X11</CODE> version of <CODE>Pcb</CODE> has been developed on a Linux -system here are no known problems. - - -<P> -<A NAME="IDX717"></A> -<A NAME="IDX718"></A> -<A NAME="IDX719"></A> - - -<H3><A NAME="SEC63" HREF="pcb_toc.html#TOC63">FreeBSD and NetBSD</A></H3> -<P> -If <CODE>Pcb</CODE> complains about syntax errors even in the demo files get -rid of your <CODE>lex</CODE> and <CODE>yacc</CODE> implementation. Replace them by -<CODE>GNU flex</CODE> and <CODE>bison</CODE>. Don't forget to change the SYS_LIBRARIES -in <TT>`Imakefile'</TT> from <EM>-ll</EM> to <EM>-lfl</EM>. You also need to define: - -<PRE> - YACC = bison -y - LEX = flex -</PRE> - -<P> -<A NAME="IDX720"></A> - - -<H3><A NAME="SEC64" HREF="pcb_toc.html#TOC64">Problems related to X11</A></H3> -<P> -There are a some problems related to <CODE>X11R4</CODE> or systems derived from -<CODE>X11</CODE> such as <CODE>OpenWindows</CODE>. See section <A HREF="pcb.html#SEC58">Sun SPARC architecture</A>. You at least have to change -all occurances of <EM>baseTranslations</EM> in the resource files to -<EM>translations</EM> if you are using a <CODE>X11R4</CODE> server. Look at the -<CODE>X11R5</CODE> <EM>Intrinsics</EM> manual for details. - - -<P> -The panner widget (print dialog box) appears only in release <CODE>X11R5</CODE> and -later. It really simplifies adjusting the offsets. -With earlier releases the printout will always appear in the center of the -page. - - -<P> -You may have some problems in a mixed <CODE>X11-OpenWindows</CODE> -environment. -If you want to try it anyway you have to add an additional path for -include files and define another symbol in <TT>`Imakefile'</TT>, - -<PRE> - EXTRA_INCLUDES = -I/usr/openwin/include -</PRE> - -<P> -<CODE>Pcb</CODE> has been tested successfully with <CODE>X11R6</CODE> under Linux 1.1.59 -and later. - - -<P> -<A NAME="IDX721"></A> - - -<H3><A NAME="SEC65" HREF="pcb_toc.html#TOC65">Problems related to TeX</A></H3> -<P> -If your <CODE>TeX</CODE> installation complains about a missing <TT>`texinfo.tex'</TT> -file copy the one included in this release (directory <TT>`doc'</TT> -to your <CODE>TeX</CODE> macro directory. -Note, there are probably newer versions of this file available from some -FTP sites. -<CODE>TeX-3.0</CODE> failed, <CODE>TeX-3.14</CODE> worked just fine. Check our FTP server -<EM>ftp.uni-ulm.de</EM> for ready-to-print versions of the manuals. - - - - -<H1><A NAME="SEC66" HREF="pcb_toc.html#TOC66">Index of Resources</A></H1> -<P> -Jump to: -<A HREF="#vindex_/">/</A> -- -<A HREF="#vindex_a">a</A> -- -<A HREF="#vindex_b">b</A> -- -<A HREF="#vindex_c">c</A> -- -<A HREF="#vindex_d">d</A> -- -<A HREF="#vindex_e">e</A> -- -<A HREF="#vindex_f">f</A> -- -<A HREF="#vindex_g">g</A> -- -<A HREF="#vindex_h">h</A> -- -<A HREF="#vindex_i">i</A> -- -<A HREF="#vindex_l">l</A> -- -<A HREF="#vindex_m">m</A> -- -<A HREF="#vindex_o">o</A> -- -<A HREF="#vindex_p">p</A> -- -<A HREF="#vindex_r">r</A> -- -<A HREF="#vindex_s">s</A> -- -<A HREF="#vindex_t">t</A> -- -<A HREF="#vindex_u">u</A> -- -<A HREF="#vindex_v">v</A> -- -<A HREF="#vindex_w">w</A> -- -<A HREF="#vindex_z">z</A> -<P> -<H2><A NAME="vindex_/">/</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX680">/usr/X11R6/lib/X11/pcb</A> -</DIR> -<H2><A NAME="vindex_a">a</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX283">absoluteGrid</A> -<LI><A HREF="pcb.html#IDX285">alignmentDistance</A> -<LI><A HREF="pcb.html#IDX160">allDirectionLines</A>, <A HREF="pcb.html#IDX287">allDirectionLines</A> -</DIR> -<H2><A NAME="vindex_b">b</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX165">backupInterval</A>, <A HREF="pcb.html#IDX290">backupInterval</A> -<LI><A HREF="pcb.html#IDX292">bloat</A> -</DIR> -<H2><A NAME="vindex_c">c</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX168">charactersPerLine</A>, <A HREF="pcb.html#IDX295">charactersPerLine</A> -<LI><A HREF="pcb.html#IDX299">connectedColor</A> -<LI><A HREF="pcb.html#IDX302">crosshairColor</A> -</DIR> -<H2><A NAME="vindex_d">d</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX174">default font</A> -<LI><A HREF="pcb.html#IDX681">DEFAULTFONT</A> -<LI><A HREF="pcb.html#IDX682">DEFAULTLIBRARY</A> -</DIR> -<H2><A NAME="vindex_e">e</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX305">elementColor</A> -<LI><A HREF="pcb.html#IDX178">elementCommand</A>, <A HREF="pcb.html#IDX309">elementCommand</A>, <A HREF="pcb.html#IDX651">elementCommand</A> -<LI><A HREF="pcb.html#IDX372">elementContentsCommand</A> -<LI><A HREF="pcb.html#IDX316">elementPath</A> -<LI><A HREF="pcb.html#IDX306">elementSelectedColor</A> -<LI><A HREF="pcb.html#IDX688">EXITCALL</A>, <A HREF="pcb.html#IDX689">EXITCALL</A> -<LI><A HREF="pcb.html#IDX685">EXTRA_INCLUDES</A> -</DIR> -<H2><A NAME="vindex_f">f</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX185">fileCommand</A>, <A HREF="pcb.html#IDX321">fileCommand</A>, <A HREF="pcb.html#IDX652">fileCommand</A> -<LI><A HREF="pcb.html#IDX328">filePath</A> -<LI><A HREF="pcb.html#IDX192">fontCommand</A>, <A HREF="pcb.html#IDX333">fontCommand</A>, <A HREF="pcb.html#IDX653">fontCommand</A> -<LI><A HREF="pcb.html#IDX173">fontFile</A>, <A HREF="pcb.html#IDX341">fontFile</A> -<LI><A HREF="pcb.html#IDX344">fontPath</A> -</DIR> -<H2><A NAME="vindex_g">g</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX683">gm4</A> -<LI><A HREF="pcb.html#IDX350">grid</A> -<LI><A HREF="pcb.html#IDX353">gridColor</A> -</DIR> -<H2><A NAME="vindex_h">h</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX687">HAS_REGEX</A> -</DIR> -<H2><A NAME="vindex_i">i</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX679">INFOLIBDIR</A> -<LI><A HREF="pcb.html#IDX356">invisibleObjectsColor</A> -</DIR> -<H2><A NAME="vindex_l">l</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX359">layerColor</A> -<LI><A HREF="pcb.html#IDX200">layerGroups</A>, <A HREF="pcb.html#IDX363">layerGroups</A> -<LI><A HREF="pcb.html#IDX366">layerName</A> -<LI><A HREF="pcb.html#IDX360">layerSelectedColor</A> -<LI><A HREF="pcb.html#IDX210">libraryCommand</A>, <A HREF="pcb.html#IDX368">libraryCommand</A>, <A HREF="pcb.html#IDX654">libraryCommand</A> -<LI><A HREF="pcb.html#IDX216">libraryContentsCommand</A>, <A HREF="pcb.html#IDX655">libraryContentsCommand</A> -<LI><A HREF="pcb.html#IDX204">libraryFilename</A>, <A HREF="pcb.html#IDX376">libraryFilename</A> -<LI><A HREF="pcb.html#IDX207">libraryPath</A>, <A HREF="pcb.html#IDX379">libraryPath</A> -<LI><A HREF="pcb.html#IDX383">lineThickness</A> -</DIR> -<H2><A NAME="vindex_m">m</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX387">media</A> -<LI><A HREF="pcb.html#IDX684">Mod1</A> -</DIR> -<H2><A NAME="vindex_o">o</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX391">offLimitColor</A> -</DIR> -<H2><A NAME="vindex_p">p</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX686">PATCHES</A> -<LI><A HREF="pcb.html#IDX394">pinColor</A> -<LI><A HREF="pcb.html#IDX398">pinoutFont0..4</A> -<LI><A HREF="pcb.html#IDX224">pinoutNameLength</A>, <A HREF="pcb.html#IDX401">pinoutNameLength</A> -<LI><A HREF="pcb.html#IDX405">pinoutOffsetX</A> -<LI><A HREF="pcb.html#IDX406">pinoutOffsetY</A> -<LI><A HREF="pcb.html#IDX408">pinoutTextOffsetX</A> -<LI><A HREF="pcb.html#IDX409">pinoutTextOffsetY</A> -<LI><A HREF="pcb.html#IDX229">pinoutZoom</A>, <A HREF="pcb.html#IDX411">pinoutZoom</A> -<LI><A HREF="pcb.html#IDX395">pinSelectedColor</A> -<LI><A HREF="pcb.html#IDX414">printCommand</A> -</DIR> -<H2><A NAME="vindex_r">r</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX416">raiseLogWindow</A> -<LI><A HREF="pcb.html#IDX419">ratCommand</A> -<LI><A HREF="pcb.html#IDX422">ratPath</A> -<LI><A HREF="pcb.html#IDX233">resetAfterElement</A>, <A HREF="pcb.html#IDX425">resetAfterElement</A> -<LI><A HREF="pcb.html#IDX238">ringBellWhenFinished</A>, <A HREF="pcb.html#IDX428">ringBellWhenFinished</A> -<LI><A HREF="pcb.html#IDX242">routeStyle</A>, <A HREF="pcb.html#IDX430">routeStyle</A> -<LI><A HREF="pcb.html#IDX432">rubberBandMode</A> -</DIR> -<H2><A NAME="vindex_s">s</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX259">saveCommand</A>, <A HREF="pcb.html#IDX436">saveCommand</A>, <A HREF="pcb.html#IDX656">saveCommand</A> -<LI><A HREF="pcb.html#IDX250">saveInTMP</A>, <A HREF="pcb.html#IDX443">saveInTMP</A> -<LI><A HREF="pcb.html#IDX245">saveLastCommand</A>, <A HREF="pcb.html#IDX450">saveLastCommand</A> -<LI><A HREF="pcb.html#IDX453">shrink</A> -<LI><A HREF="pcb.html#IDX266">size</A>, <A HREF="pcb.html#IDX456">size</A> -<LI><A HREF="pcb.html#IDX459">stipplePolygons</A> -<LI><A HREF="pcb.html#IDX690">SYS_LIBRARIES</A> -</DIR> -<H2><A NAME="vindex_t">t</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX462">textScale</A> -</DIR> -<H2><A NAME="vindex_u">u</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX465">useLogWindow</A> -</DIR> -<H2><A NAME="vindex_v">v</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX468">viaColor</A> -<LI><A HREF="pcb.html#IDX473">viaDrillingHole</A> -<LI><A HREF="pcb.html#IDX469">viaSelectedColor</A> -<LI><A HREF="pcb.html#IDX472">viaThickness</A> -<LI><A HREF="pcb.html#IDX270">volume</A>, <A HREF="pcb.html#IDX477">volume</A> -</DIR> -<H2><A NAME="vindex_w">w</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX480">warnColor</A> -</DIR> -<H2><A NAME="vindex_z">z</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX483">zoom</A> -</DIR> - - - - -<H1><A NAME="SEC67" HREF="pcb_toc.html#TOC67">Index of Actions, Commands and Options</A></H1> -<P> -Jump to: -<A HREF="#findex_+">+</A> -- -<A HREF="#findex_-">-</A> -- -<A HREF="#findex_:">:</A> -- -<A HREF="#findex_a">a</A> -- -<A HREF="#findex_b">b</A> -- -<A HREF="#findex_c">c</A> -- -<A HREF="#findex_d">d</A> -- -<A HREF="#findex_e">e</A> -- -<A HREF="#findex_l">l</A> -- -<A HREF="#findex_m">m</A> -- -<A HREF="#findex_n">n</A> -- -<A HREF="#findex_p">p</A> -- -<A HREF="#findex_q">q</A> -- -<A HREF="#findex_r">r</A> -- -<A HREF="#findex_s">s</A> -- -<A HREF="#findex_t">t</A> -- -<A HREF="#findex_u">u</A> -<P> -<H2><A NAME="findex_+">+</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX164">+alldirections</A> -<LI><A HREF="pcb.html#IDX235">+reset</A> -<LI><A HREF="pcb.html#IDX240">+ring</A> -<LI><A HREF="pcb.html#IDX249">+s</A> -<LI><A HREF="pcb.html#IDX252">+save</A> -</DIR> -<H2><A NAME="findex_-">-</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX163">-alldirections</A> -<LI><A HREF="pcb.html#IDX167">-backup</A> -<LI><A HREF="pcb.html#IDX172">-c</A> -<LI><A HREF="pcb.html#IDX274">-copyright</A> -<LI><A HREF="pcb.html#IDX175">-fontfile</A> -<LI><A HREF="pcb.html#IDX279">-help</A> -<LI><A HREF="pcb.html#IDX179">-lelement</A> -<LI><A HREF="pcb.html#IDX186">-lfile</A> -<LI><A HREF="pcb.html#IDX199">-lfont</A> -<LI><A HREF="pcb.html#IDX203">-lg</A> -<LI><A HREF="pcb.html#IDX205">-libname</A> -<LI><A HREF="pcb.html#IDX208">-libpath</A> -<LI><A HREF="pcb.html#IDX215">-llib</A> -<LI><A HREF="pcb.html#IDX220">-llibcont</A> -<LI><A HREF="pcb.html#IDX223">-loggeometry</A> -<LI><A HREF="pcb.html#IDX225">-pnl</A> -<LI><A HREF="pcb.html#IDX232">-pz</A> -<LI><A HREF="pcb.html#IDX234">-reset</A> -<LI><A HREF="pcb.html#IDX239">-ring</A> -<LI><A HREF="pcb.html#IDX243">-rs</A> -<LI><A HREF="pcb.html#IDX248">-s</A> -<LI><A HREF="pcb.html#IDX251">-save</A> -<LI><A HREF="pcb.html#IDX265">-sfile</A> -<LI><A HREF="pcb.html#IDX269">-size</A> -<LI><A HREF="pcb.html#IDX273">-v</A> -<LI><A HREF="pcb.html#IDX276">-version</A> -</DIR> -<H2><A NAME="findex_:">:</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX155">:actionCommand()</A> -<LI><A HREF="pcb.html#IDX131">:l</A> -<LI><A HREF="pcb.html#IDX134">:le</A> -<LI><A HREF="pcb.html#IDX137">:m</A> -<LI><A HREF="pcb.html#IDX142">:q</A> -<LI><A HREF="pcb.html#IDX148">:rn</A> -<LI><A HREF="pcb.html#IDX145">:s</A> -<LI><A HREF="pcb.html#IDX152">:w[q]</A> -</DIR> -<H2><A NAME="findex_a">a</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX490">AddRats()</A> -<LI><A HREF="pcb.html#IDX494">Atomic()</A> -</DIR> -<H2><A NAME="findex_b">b</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX497">Bell()</A> -</DIR> -<H2><A NAME="findex_c">c</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX500">ChangeDrillSize()</A> -<LI><A HREF="pcb.html#IDX504">ChangeHole()</A> -<LI><A HREF="pcb.html#IDX507">ChangeName()</A> -<LI><A HREF="pcb.html#IDX511">ChangeOctagon()</A> -<LI><A HREF="pcb.html#IDX515">ChangeSize()</A> -<LI><A HREF="pcb.html#IDX519">ChangeSquare()</A> -<LI><A HREF="pcb.html#IDX523">Command()</A> -<LI><A HREF="pcb.html#IDX526">Connection()</A> -</DIR> -<H2><A NAME="findex_d">d</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX533">DeleteRats()</A> -<LI><A HREF="pcb.html#IDX537">Display()</A> -<LI><A HREF="pcb.html#IDX551">DRC()</A> -</DIR> -<H2><A NAME="findex_e">e</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX554">EditLayerGroups()</A> -</DIR> -<H2><A NAME="findex_l">l</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX557">Load()</A> -</DIR> -<H2><A NAME="findex_m">m</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX559">MarkCrosshair()</A> -<LI><A HREF="pcb.html#IDX562">Mode()</A> -<LI><A HREF="pcb.html#IDX565">MovePointer()</A> -<LI><A HREF="pcb.html#IDX568">MoveToCurrentLayer()</A> -</DIR> -<H2><A NAME="findex_n">n</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX571">New()</A> -</DIR> -<H2><A NAME="findex_p">p</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX574">PasteBuffer()</A> -<LI><A HREF="pcb.html#IDX581">Polygon()</A> -<LI><A HREF="pcb.html#IDX585">Print()</A> -</DIR> -<H2><A NAME="findex_q">q</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX588">Quit()</A> -</DIR> -<H2><A NAME="findex_r">r</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX591">Redo()</A> -<LI><A HREF="pcb.html#IDX594">RemoveSelected()</A> -<LI><A HREF="pcb.html#IDX597">Report()</A> -<LI><A HREF="pcb.html#IDX601">RouteStyle()</A> -</DIR> -<H2><A NAME="findex_s">s</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX604">Save()</A> -<LI><A HREF="pcb.html#IDX607">Select()</A> -<LI><A HREF="pcb.html#IDX610">SetValue()</A> -<LI><A HREF="pcb.html#IDX617">SwapSides()</A> -<LI><A HREF="pcb.html#IDX620">SwitchDrawingLayer()</A> -</DIR> -<H2><A NAME="findex_t">t</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX623">ToggleHideName()</A> -</DIR> -<H2><A NAME="findex_u">u</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX627">Undo()</A> -<LI><A HREF="pcb.html#IDX630">Unselect()</A> -</DIR> - - - - -<H1><A NAME="SEC68" HREF="pcb_toc.html#TOC68">Index of Concepts</A></H1> -<P> -Jump to: -<A HREF="#cindex_/">/</A> -- -<A HREF="#cindex_a">a</A> -- -<A HREF="#cindex_b">b</A> -- -<A HREF="#cindex_c">c</A> -- -<A HREF="#cindex_d">d</A> -- -<A HREF="#cindex_e">e</A> -- -<A HREF="#cindex_f">f</A> -- -<A HREF="#cindex_g">g</A> -- -<A HREF="#cindex_h">h</A> -- -<A HREF="#cindex_i">i</A> -- -<A HREF="#cindex_k">k</A> -- -<A HREF="#cindex_l">l</A> -- -<A HREF="#cindex_m">m</A> -- -<A HREF="#cindex_n">n</A> -- -<A HREF="#cindex_o">o</A> -- -<A HREF="#cindex_p">p</A> -- -<A HREF="#cindex_q">q</A> -- -<A HREF="#cindex_r">r</A> -- -<A HREF="#cindex_s">s</A> -- -<A HREF="#cindex_t">t</A> -- -<A HREF="#cindex_u">u</A> -- -<A HREF="#cindex_v">v</A> -- -<A HREF="#cindex_x">x</A> -- -<A HREF="#cindex_z">z</A> -<P> -<H2><A NAME="cindex_/">/</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX100">/tmp</A>, <A HREF="pcb.html#IDX257">/tmp</A>, <A HREF="pcb.html#IDX448">/tmp</A> -</DIR> -<H2><A NAME="cindex_a">a</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX27">about, command button</A> -<LI><A HREF="pcb.html#IDX156">action command</A> -<LI><A HREF="pcb.html#IDX485">actions</A> -<LI><A HREF="pcb.html#IDX157">Actions, initiating</A> -<LI><A HREF="pcb.html#IDX286">alignment</A> -<LI><A HREF="pcb.html#IDX111">alignment targets</A> -<LI><A HREF="pcb.html#IDX710">Alpha</A> -<LI><A HREF="pcb.html#IDX10">arc</A> -<LI><A HREF="pcb.html#IDX64">arc, an example</A> -<LI><A HREF="pcb.html#IDX698">architecture</A>, <A HREF="pcb.html#IDX701">architecture</A>, <A HREF="pcb.html#IDX705">architecture</A>, <A HREF="pcb.html#IDX708">architecture</A>, <A HREF="pcb.html#IDX711">architecture</A>, <A HREF="pcb.html#IDX714">architecture</A> -<LI><A HREF="pcb.html#IDX650">ASCII files, format of</A> -<LI><A HREF="pcb.html#IDX1">Atari version</A> -<LI><A HREF="pcb.html#IDX496">atomic</A> -</DIR> -<H2><A NAME="cindex_b">b</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX97">backup</A>, <A HREF="pcb.html#IDX166">backup</A>, <A HREF="pcb.html#IDX253">backup</A>, <A HREF="pcb.html#IDX291">backup</A>, <A HREF="pcb.html#IDX444">backup</A> -<LI><A HREF="pcb.html#IDX657">basic types</A> -<LI><A HREF="pcb.html#IDX499">bell</A> -<LI><A HREF="pcb.html#IDX293">bloat</A> -<LI><A HREF="pcb.html#IDX87">buffer, an example</A> -<LI><A HREF="pcb.html#IDX84">buffer, convert contents to element</A> -<LI><A HREF="pcb.html#IDX44">buffer, popup menu</A> -<LI><A HREF="pcb.html#IDX575">buffer, selecting a</A> -<LI><A HREF="pcb.html#IDX488">button translations</A> -</DIR> -<H2><A NAME="cindex_c">c</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX327">cat</A>, <A HREF="pcb.html#IDX340">cat</A>, <A HREF="pcb.html#IDX442">cat</A> -<LI><A HREF="pcb.html#IDX538">centering</A> -<LI><A HREF="pcb.html#IDX21">change active layer</A> -<LI><A HREF="pcb.html#IDX621">change drawing layer</A> -<LI><A HREF="pcb.html#IDX509">change object name</A> -<LI><A HREF="pcb.html#IDX611">change settings</A> -<LI><A HREF="pcb.html#IDX501">change sizes</A>, <A HREF="pcb.html#IDX516">change sizes</A> -<LI><A HREF="pcb.html#IDX520">change square flag</A> -<LI><A HREF="pcb.html#IDX618">change viewing side</A> -<LI><A HREF="pcb.html#IDX169">characters per line</A>, <A HREF="pcb.html#IDX296">characters per line</A> -<LI><A HREF="pcb.html#IDX289">clipping lines to 45 degree</A>, <A HREF="pcb.html#IDX550">clipping lines to 45 degree</A> -<LI><A HREF="pcb.html#IDX162">clipping of lines</A> -<LI><A HREF="pcb.html#IDX584">closing a polygon</A> -<LI><A HREF="pcb.html#IDX109">color printout</A> -<LI><A HREF="pcb.html#IDX482">color, warning</A> -<LI><A HREF="pcb.html#IDX300">colors</A>, <A HREF="pcb.html#IDX303">colors</A>, <A HREF="pcb.html#IDX307">colors</A>, <A HREF="pcb.html#IDX354">colors</A>, <A HREF="pcb.html#IDX357">colors</A>, <A HREF="pcb.html#IDX361">colors</A>, <A HREF="pcb.html#IDX392">colors</A>, <A HREF="pcb.html#IDX396">colors</A>, <A HREF="pcb.html#IDX470">colors</A>, <A HREF="pcb.html#IDX481">colors</A> -<LI><A HREF="pcb.html#IDX159">command-line options</A> -<LI><A HREF="pcb.html#IDX675">compile, how to</A> -<LI><A HREF="pcb.html#IDX676">config.h</A> -<LI><A HREF="pcb.html#IDX639">connection, removing an</A> -<LI><A HREF="pcb.html#IDX301">connections, colors</A> -<LI><A HREF="pcb.html#IDX120">connections, creating list of</A> -<LI><A HREF="pcb.html#IDX46">connections, popup menu</A> -<LI><A HREF="pcb.html#IDX529">connections, reseting</A> -<LI><A HREF="pcb.html#IDX236">connections, reseting after element</A>, <A HREF="pcb.html#IDX426">connections, reseting after element</A> -<LI><A HREF="pcb.html#IDX531">connections, searching for</A> -<LI><A HREF="pcb.html#IDX18">control panel</A> -<LI><A HREF="pcb.html#IDX648">copy an object</A> -<LI><A HREF="pcb.html#IDX580">copying objects</A> -<LI><A HREF="pcb.html#IDX90">copying, an example</A> -<LI><A HREF="pcb.html#IDX275">copyright</A> -<LI><A HREF="pcb.html#IDX56">creating objects</A> -<LI><A HREF="pcb.html#IDX304">cursor color</A> -<LI><A HREF="pcb.html#IDX567">cursor movements</A> -<LI><A HREF="pcb.html#IDX561">cursor position</A> -<LI><A HREF="pcb.html#IDX352">cursor steps</A> -<LI><A HREF="pcb.html#IDX579">cutting objects</A> -</DIR> -<H2><A NAME="cindex_d">d</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX709">DEC</A> -<LI><A HREF="pcb.html#IDX176">default font</A>, <A HREF="pcb.html#IDX342">default font</A> -<LI><A HREF="pcb.html#IDX457">default layout size</A> -<LI><A HREF="pcb.html#IDX377">default library</A> -<LI><A HREF="pcb.html#IDX464">default text scaling</A> -<LI><A HREF="pcb.html#IDX634">default translations</A> -<LI><A HREF="pcb.html#IDX125">design rule checking</A>, <A HREF="pcb.html#IDX552">design rule checking</A> -<LI><A HREF="pcb.html#IDX105">device, selecting an output</A> -<LI><A HREF="pcb.html#IDX101">directory /tmp</A>, <A HREF="pcb.html#IDX258">directory /tmp</A>, <A HREF="pcb.html#IDX449">directory /tmp</A> -<LI><A HREF="pcb.html#IDX461">display</A> -<LI><A HREF="pcb.html#IDX29">display, popup menu</A> -<LI><A HREF="pcb.html#IDX30">displaying element names</A>, <A HREF="pcb.html#IDX542">displaying element names</A> -<LI><A HREF="pcb.html#IDX548">displaying pinout</A> -<LI><A HREF="pcb.html#IDX16">displaying status information</A> -<LI><A HREF="pcb.html#IDX117">DOS filenames</A> -<LI><A HREF="pcb.html#IDX52">drawing objects</A> -<LI><A HREF="pcb.html#IDX126">drc</A>, <A HREF="pcb.html#IDX294">drc</A>, <A HREF="pcb.html#IDX455">drc</A>, <A HREF="pcb.html#IDX553">drc</A> -<LI><A HREF="pcb.html#IDX600">drill</A> -<LI><A HREF="pcb.html#IDX503">drilling hole, changing of objects</A> -<LI><A HREF="pcb.html#IDX614">drilling hole, setting of initial size</A> -<LI><A HREF="pcb.html#IDX694">DVI format of manual</A> -</DIR> -<H2><A NAME="cindex_e">e</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX625">element name, hiding</A> -<LI><A HREF="pcb.html#IDX626">element name, removing from silk-screen</A> -<LI><A HREF="pcb.html#IDX74">element, an example</A> -<LI><A HREF="pcb.html#IDX6">element, an overview</A> -<LI><A HREF="pcb.html#IDX308">element, color</A>, <A HREF="pcb.html#IDX358">element, color</A> -<LI><A HREF="pcb.html#IDX180">element, command</A>, <A HREF="pcb.html#IDX310">element, command</A> -<LI><A HREF="pcb.html#IDX82">element, creating a new package</A> -<LI><A HREF="pcb.html#IDX31">element, display names of</A>, <A HREF="pcb.html#IDX543">element, display names of</A> -<LI><A HREF="pcb.html#IDX662">element, fileformat</A> -<LI><A HREF="pcb.html#IDX181">element, files</A>, <A HREF="pcb.html#IDX311">element, files</A>, <A HREF="pcb.html#IDX319">element, files</A> -<LI><A HREF="pcb.html#IDX136">element, loading to buffer</A> -<LI><A HREF="pcb.html#IDX644">element, move name of</A> -<LI><A HREF="pcb.html#IDX130">entering user commands</A> -<LI><A HREF="pcb.html#IDX54">erasing objects</A> -<LI><A HREF="pcb.html#IDX76">example files</A> -<LI><A HREF="pcb.html#IDX88">example of buffer handling</A> -<LI><A HREF="pcb.html#IDX119">example of connection lists</A> -<LI><A HREF="pcb.html#IDX92">example of copying</A> -<LI><A HREF="pcb.html#IDX81">example of creating an element</A> -<LI><A HREF="pcb.html#IDX75">example of element handling</A> -<LI><A HREF="pcb.html#IDX63">example of line handling</A> -<LI><A HREF="pcb.html#IDX96">example of loading</A> -<LI><A HREF="pcb.html#IDX78">example of loading an element file</A> -<LI><A HREF="pcb.html#IDX91">example of moving</A> -<LI><A HREF="pcb.html#IDX86">example of pastebuffer handling</A> -<LI><A HREF="pcb.html#IDX80">example of pin handling</A> -<LI><A HREF="pcb.html#IDX66">example of polygon handling</A> -<LI><A HREF="pcb.html#IDX104">example of printing</A> -<LI><A HREF="pcb.html#IDX68">example of rectangle handling</A> -<LI><A HREF="pcb.html#IDX95">example of saving</A> -<LI><A HREF="pcb.html#IDX71">example of text handling</A> -<LI><A HREF="pcb.html#IDX73">example of via handling</A> -<LI><A HREF="pcb.html#IDX143">exit</A>, <A HREF="pcb.html#IDX590">exit</A> -</DIR> -<H2><A NAME="cindex_f">f</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX664">file format, element data</A> -<LI><A HREF="pcb.html#IDX667">file format, font data</A> -<LI><A HREF="pcb.html#IDX661">file format, layout data</A> -<LI><A HREF="pcb.html#IDX673">file format, libraries</A> -<LI><A HREF="pcb.html#IDX670">file format, library contents</A> -<LI><A HREF="pcb.html#IDX649">file formats</A> -<LI><A HREF="pcb.html#IDX658">file formats, basic types</A> -<LI><A HREF="pcb.html#IDX187">file load command</A>, <A HREF="pcb.html#IDX322">file load command</A> -<LI><A HREF="pcb.html#IDX260">file save command</A>, <A HREF="pcb.html#IDX437">file save command</A> -<LI><A HREF="pcb.html#IDX28">file, popup menu</A> -<LI><A HREF="pcb.html#IDX193">font command</A>, <A HREF="pcb.html#IDX334">font command</A> -<LI><A HREF="pcb.html#IDX665">font file, format of</A> -<LI><A HREF="pcb.html#IDX194">font files</A>, <A HREF="pcb.html#IDX335">font files</A>, <A HREF="pcb.html#IDX347">font files</A> -<LI><A HREF="pcb.html#IDX4">font, an overview</A> -<LI><A HREF="pcb.html#IDX399">font, used for pin names</A> -<LI><A HREF="pcb.html#IDX663">format of element files</A> -<LI><A HREF="pcb.html#IDX666">format of font files</A> -<LI><A HREF="pcb.html#IDX660">format of layout files</A> -<LI><A HREF="pcb.html#IDX672">format of libraries</A> -<LI><A HREF="pcb.html#IDX669">format of library contents</A> -<LI><A HREF="pcb.html#IDX717">FreeBSD</A> -</DIR> -<H2><A NAME="cindex_g">g</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX24">grid</A>, <A HREF="pcb.html#IDX284">grid</A>, <A HREF="pcb.html#IDX351">grid</A> -<LI><A HREF="pcb.html#IDX355">grid color</A> -<LI><A HREF="pcb.html#IDX33">grid, absolute and relative</A>, <A HREF="pcb.html#IDX544">grid, absolute and relative</A> -<LI><A HREF="pcb.html#IDX32">grid, display</A>, <A HREF="pcb.html#IDX545">grid, display</A> -<LI><A HREF="pcb.html#IDX613">grid, setting of</A> -<LI><A HREF="pcb.html#IDX202">groups</A>, <A HREF="pcb.html#IDX365">groups</A> -<LI><A HREF="pcb.html#IDX556">groups, editing of</A> -</DIR> -<H2><A NAME="cindex_h">h</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX700">Hewlett Packard</A> -<LI><A HREF="pcb.html#IDX624">hide element name</A> -<LI><A HREF="pcb.html#IDX14">how to start</A> -<LI><A HREF="pcb.html#IDX699">HP</A> -</DIR> -<H2><A NAME="cindex_i">i</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX692">info file</A> -<LI><A HREF="pcb.html#IDX599">information about objects</A> -<LI><A HREF="pcb.html#IDX17">input-field, position of</A> -<LI><A HREF="pcb.html#IDX247">inputfield, saving entered command-line</A>, <A HREF="pcb.html#IDX452">inputfield, saving entered command-line</A> -<LI><A HREF="pcb.html#IDX525">inputfield, start user input</A> -<LI><A HREF="pcb.html#IDX674">install, how to</A> -</DIR> -<H2><A NAME="cindex_k">k</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX487">key translations</A> -<LI><A HREF="pcb.html#IDX241">keyboard bell</A>, <A HREF="pcb.html#IDX429">keyboard bell</A> -</DIR> -<H2><A NAME="cindex_l">l</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX622">layer, change active</A> -<LI><A HREF="pcb.html#IDX367">layer, name of</A> -<LI><A HREF="pcb.html#IDX8">layers, an overview</A> -<LI><A HREF="pcb.html#IDX20">layers, changing active one</A> -<LI><A HREF="pcb.html#IDX362">layers, colors</A> -<LI><A HREF="pcb.html#IDX555">layers, editing of groups</A> -<LI><A HREF="pcb.html#IDX201">layers, groups</A>, <A HREF="pcb.html#IDX364">layers, groups</A> -<LI><A HREF="pcb.html#IDX19">layers, switching on/off</A> -<LI><A HREF="pcb.html#IDX188">layout files</A>, <A HREF="pcb.html#IDX261">layout files</A>, <A HREF="pcb.html#IDX323">layout files</A>, <A HREF="pcb.html#IDX331">layout files</A>, <A HREF="pcb.html#IDX438">layout files</A> -<LI><A HREF="pcb.html#IDX659">layout files, format of</A> -<LI><A HREF="pcb.html#IDX147">layout files, saving of</A>, <A HREF="pcb.html#IDX154">layout files, saving of</A> -<LI><A HREF="pcb.html#IDX2">layout objects, an overview</A> -<LI><A HREF="pcb.html#IDX268">layout size</A> -<LI><A HREF="pcb.html#IDX458">layout, default size of</A> -<LI><A HREF="pcb.html#IDX133">layout, loading a</A> -<LI><A HREF="pcb.html#IDX140">layout, loading to buffer</A> -<LI><A HREF="pcb.html#IDX141">layout, merging a</A> -<LI><A HREF="pcb.html#IDX586">layout, printing a</A> -<LI><A HREF="pcb.html#IDX572">layout, start a new</A> -<LI><A HREF="pcb.html#IDX7">layout-name</A>, <A HREF="pcb.html#IDX151">layout-name</A> -<LI><A HREF="pcb.html#IDX228">length of a pin name</A>, <A HREF="pcb.html#IDX404">length of a pin name</A> -<LI><A HREF="pcb.html#IDX170">length of outputline</A> -<LI><A HREF="pcb.html#IDX211">library command</A>, <A HREF="pcb.html#IDX369">library command</A> -<LI><A HREF="pcb.html#IDX217">library contents command</A>, <A HREF="pcb.html#IDX373">library contents command</A> -<LI><A HREF="pcb.html#IDX668">library contents file, format of</A> -<LI><A HREF="pcb.html#IDX671">library file, format of</A> -<LI><A HREF="pcb.html#IDX206">library name</A>, <A HREF="pcb.html#IDX378">library name</A> -<LI><A HREF="pcb.html#IDX209">library search path</A> -<LI><A HREF="pcb.html#IDX382">library searchpath</A> -<LI><A HREF="pcb.html#IDX51">library window</A> -<LI><A HREF="pcb.html#IDX161">line clipping</A> -<LI><A HREF="pcb.html#IDX297">linelength</A> -<LI><A HREF="pcb.html#IDX62">lines, an example</A> -<LI><A HREF="pcb.html#IDX9">lines, an overview</A> -<LI><A HREF="pcb.html#IDX288">lines, clipping to 45 degree</A>, <A HREF="pcb.html#IDX549">lines, clipping to 45 degree</A> -<LI><A HREF="pcb.html#IDX616">lines, setting of initial size</A> -<LI><A HREF="pcb.html#IDX384">lines, size</A> -<LI><A HREF="pcb.html#IDX715">Linux</A> -<LI><A HREF="pcb.html#IDX298">list of connections</A> -<LI><A HREF="pcb.html#IDX218">listing libraries</A> -<LI><A HREF="pcb.html#IDX374">listing library contents</A> -<LI><A HREF="pcb.html#IDX138">loading a layout to buffer</A> -<LI><A HREF="pcb.html#IDX182">loading elements</A>, <A HREF="pcb.html#IDX212">loading elements</A>, <A HREF="pcb.html#IDX312">loading elements</A>, <A HREF="pcb.html#IDX320">loading elements</A>, <A HREF="pcb.html#IDX370">loading elements</A> -<LI><A HREF="pcb.html#IDX135">loading elements to buffer</A> -<LI><A HREF="pcb.html#IDX558">loading files</A> -<LI><A HREF="pcb.html#IDX195">loading fonts</A>, <A HREF="pcb.html#IDX336">loading fonts</A>, <A HREF="pcb.html#IDX348">loading fonts</A> -<LI><A HREF="pcb.html#IDX132">loading layouts</A>, <A HREF="pcb.html#IDX189">loading layouts</A>, <A HREF="pcb.html#IDX324">loading layouts</A>, <A HREF="pcb.html#IDX332">loading layouts</A> -<LI><A HREF="pcb.html#IDX196">loading symbols</A>, <A HREF="pcb.html#IDX337">loading symbols</A>, <A HREF="pcb.html#IDX349">loading symbols</A> -<LI><A HREF="pcb.html#IDX93">loading, an example</A> -<LI><A HREF="pcb.html#IDX49">log window</A>, <A HREF="pcb.html#IDX221">log window</A>, <A HREF="pcb.html#IDX417">log window</A>, <A HREF="pcb.html#IDX466">log window</A> -</DIR> -<H2><A NAME="cindex_m">m</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX315">m4</A> -<LI><A HREF="pcb.html#IDX77">m4, preprocessing example files</A> -<LI><A HREF="pcb.html#IDX695">make</A> -<LI><A HREF="pcb.html#IDX678">Makefile</A> -<LI><A HREF="pcb.html#IDX691">manuals</A> -<LI><A HREF="pcb.html#IDX560">mark</A> -<LI><A HREF="pcb.html#IDX388">media</A> -<LI><A HREF="pcb.html#IDX389">media margin</A> -<LI><A HREF="pcb.html#IDX114">media, size of</A> -<LI><A HREF="pcb.html#IDX25">menus</A> -<LI><A HREF="pcb.html#IDX139">merging layouts</A> -<LI><A HREF="pcb.html#IDX50">messages</A>, <A HREF="pcb.html#IDX222">messages</A>, <A HREF="pcb.html#IDX418">messages</A>, <A HREF="pcb.html#IDX467">messages</A> -<LI><A HREF="pcb.html#IDX108">mirroring printout</A> -<LI><A HREF="pcb.html#IDX22">mode selection</A> -<LI><A HREF="pcb.html#IDX563">mode, selecting of</A> -<LI><A HREF="pcb.html#IDX506">mounting holes</A> -<LI><A HREF="pcb.html#IDX433">move</A> -<LI><A HREF="pcb.html#IDX647">move an object</A> -<LI><A HREF="pcb.html#IDX570">moving objects to current layer</A> -<LI><A HREF="pcb.html#IDX89">moving, an example</A> -</DIR> -<H2><A NAME="cindex_n">n</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX541">name of an element</A> -<LI><A HREF="pcb.html#IDX508">name, change an objects</A> -<LI><A HREF="pcb.html#IDX226">namelength of pins</A>, <A HREF="pcb.html#IDX402">namelength of pins</A> -<LI><A HREF="pcb.html#IDX718">NetBSD</A> -<LI><A HREF="pcb.html#IDX123">netlist</A>, <A HREF="pcb.html#IDX149">netlist</A>, <A HREF="pcb.html#IDX421">netlist</A>, <A HREF="pcb.html#IDX424">netlist</A>, <A HREF="pcb.html#IDX492">netlist</A>, <A HREF="pcb.html#IDX536">netlist</A> -</DIR> -<H2><A NAME="cindex_o">o</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX510">object, change name of</A> -<LI><A HREF="pcb.html#IDX61">object, changing the size of an</A> -<LI><A HREF="pcb.html#IDX646">object, copy an</A> -<LI><A HREF="pcb.html#IDX57">object, creating an</A> -<LI><A HREF="pcb.html#IDX55">object, drawing and removing</A> -<LI><A HREF="pcb.html#IDX645">object, move an</A> -<LI><A HREF="pcb.html#IDX59">object, removing an</A>, <A HREF="pcb.html#IDX638">object, removing an</A> -<LI><A HREF="pcb.html#IDX42">object, selecting an</A> -<LI><A HREF="pcb.html#IDX569">objects, moving to current layer</A> -<LI><A HREF="pcb.html#IDX36">objects, popup menu</A> -<LI><A HREF="pcb.html#IDX514">octagonal pins and vias</A> -<LI><A HREF="pcb.html#IDX393">off limit color</A> -<LI><A HREF="pcb.html#IDX410">offset of pinnames</A> -<LI><A HREF="pcb.html#IDX407">offset of pinout</A> -<LI><A HREF="pcb.html#IDX115">offset of printout</A> -<LI><A HREF="pcb.html#IDX704">OpenWindows</A> -<LI><A HREF="pcb.html#IDX564">operation modes, selecting of</A> -<LI><A HREF="pcb.html#IDX110">outline printout</A> -<LI><A HREF="pcb.html#IDX106">output device</A> -<LI><A HREF="pcb.html#IDX171">outputline, length of</A> -<LI><A HREF="pcb.html#IDX128">overlap, minimum</A> -</DIR> -<H2><A NAME="cindex_p">p</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX85">pastebuffer, an example</A> -<LI><A HREF="pcb.html#IDX83">pastebuffer, convert contents to element</A> -<LI><A HREF="pcb.html#IDX45">pastebuffer, popup menu</A> -<LI><A HREF="pcb.html#IDX576">pastebuffer, selecting a</A> -<LI><A HREF="pcb.html#IDX318">path for element files</A> -<LI><A HREF="pcb.html#IDX346">path for font files</A> -<LI><A HREF="pcb.html#IDX330">path for layout files</A> -<LI><A HREF="pcb.html#IDX381">path for libraries</A> -<LI><A HREF="pcb.html#IDX713">PC UNIX</A>, <A HREF="pcb.html#IDX716">PC UNIX</A>, <A HREF="pcb.html#IDX719">PC UNIX</A> -<LI><A HREF="pcb.html#IDX397">pin color</A> -<LI><A HREF="pcb.html#IDX227">pin, name of</A>, <A HREF="pcb.html#IDX403">pin, name of</A> -<LI><A HREF="pcb.html#IDX37">pinout of elements</A> -<LI><A HREF="pcb.html#IDX547">pinout, display of</A> -<LI><A HREF="pcb.html#IDX400">pinout, font to display pin names</A> -<LI><A HREF="pcb.html#IDX230">pinout, zoomfactor of display</A>, <A HREF="pcb.html#IDX412">pinout, zoomfactor of display</A> -<LI><A HREF="pcb.html#IDX79">pins, an example</A> -<LI><A HREF="pcb.html#IDX512">pins, changing shape of</A> -<LI><A HREF="pcb.html#IDX566">pointer, moving of</A> -<LI><A HREF="pcb.html#IDX460">polygon</A> -<LI><A HREF="pcb.html#IDX583">polygon point, go back to previous</A> -<LI><A HREF="pcb.html#IDX65">polygon, an example</A> -<LI><A HREF="pcb.html#IDX11">polygon, an overview</A> -<LI><A HREF="pcb.html#IDX582">polygon, closing a</A> -<LI><A HREF="pcb.html#IDX26">popping up menus</A> -<LI><A HREF="pcb.html#IDX263">postprocessing layout data</A>, <A HREF="pcb.html#IDX440">postprocessing layout data</A> -<LI><A HREF="pcb.html#IDX183">preprocessing element data</A>, <A HREF="pcb.html#IDX213">preprocessing element data</A>, <A HREF="pcb.html#IDX313">preprocessing element data</A> -<LI><A HREF="pcb.html#IDX197">preprocessing font data</A>, <A HREF="pcb.html#IDX338">preprocessing font data</A> -<LI><A HREF="pcb.html#IDX190">preprocessing layout data</A>, <A HREF="pcb.html#IDX325">preprocessing layout data</A> -<LI><A HREF="pcb.html#IDX99">preventing loss of data</A>, <A HREF="pcb.html#IDX255">preventing loss of data</A>, <A HREF="pcb.html#IDX446">preventing loss of data</A> -<LI><A HREF="pcb.html#IDX118">print command</A> -<LI><A HREF="pcb.html#IDX113">print media</A>, <A HREF="pcb.html#IDX390">print media</A> -<LI><A HREF="pcb.html#IDX116">print offset</A> -<LI><A HREF="pcb.html#IDX415">printing</A> -<LI><A HREF="pcb.html#IDX587">printing a layout</A> -<LI><A HREF="pcb.html#IDX103">printing, an example</A> -<LI><A HREF="pcb.html#IDX696">problems</A> -</DIR> -<H2><A NAME="cindex_q">q</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX144">quit</A>, <A HREF="pcb.html#IDX589">quit</A> -</DIR> -<H2><A NAME="cindex_r">r</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX124">rat-line</A>, <A HREF="pcb.html#IDX493">rat-line</A>, <A HREF="pcb.html#IDX535">rat-line</A> -<LI><A HREF="pcb.html#IDX122">rats nest</A>, <A HREF="pcb.html#IDX150">rats nest</A>, <A HREF="pcb.html#IDX420">rats nest</A>, <A HREF="pcb.html#IDX423">rats nest</A>, <A HREF="pcb.html#IDX491">rats nest</A>, <A HREF="pcb.html#IDX534">rats nest</A> -<LI><A HREF="pcb.html#IDX593">recover</A>, <A HREF="pcb.html#IDX629">recover</A> -<LI><A HREF="pcb.html#IDX67">rectangle, an example</A> -<LI><A HREF="pcb.html#IDX592">redo</A> -<LI><A HREF="pcb.html#IDX539">redrawing layout</A> -<LI><A HREF="pcb.html#IDX540">refreshing layout</A> -<LI><A HREF="pcb.html#IDX277">release, current</A> -<LI><A HREF="pcb.html#IDX637">removing connections</A> -<LI><A HREF="pcb.html#IDX53">removing objects</A>, <A HREF="pcb.html#IDX58">removing objects</A>, <A HREF="pcb.html#IDX636">removing objects</A> -<LI><A HREF="pcb.html#IDX595">removing selected objects</A> -<LI><A HREF="pcb.html#IDX598">report</A> -<LI><A HREF="pcb.html#IDX48">report, popup menu</A> -<LI><A HREF="pcb.html#IDX237">reseting found connections</A>, <A HREF="pcb.html#IDX427">reseting found connections</A>, <A HREF="pcb.html#IDX530">reseting found connections</A> -<LI><A HREF="pcb.html#IDX281">resources</A> -<LI><A HREF="pcb.html#IDX435">rotate</A> -<LI><A HREF="pcb.html#IDX578">rotating a buffer</A> -<LI><A HREF="pcb.html#IDX107">rotating printout</A> -<LI><A HREF="pcb.html#IDX244">routing style</A>, <A HREF="pcb.html#IDX431">routing style</A>, <A HREF="pcb.html#IDX602">routing style</A> -<LI><A HREF="pcb.html#IDX434">rubberband</A>, <A HREF="pcb.html#IDX546">rubberband</A> -</DIR> -<H2><A NAME="cindex_s">s</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX606">saving connections</A> -<LI><A HREF="pcb.html#IDX605">saving files</A> -<LI><A HREF="pcb.html#IDX532">saving found connections</A> -<LI><A HREF="pcb.html#IDX246">saving last entered user command</A>, <A HREF="pcb.html#IDX451">saving last entered user command</A> -<LI><A HREF="pcb.html#IDX98">saving layouts</A>, <A HREF="pcb.html#IDX146">saving layouts</A>, <A HREF="pcb.html#IDX153">saving layouts</A>, <A HREF="pcb.html#IDX254">saving layouts</A>, <A HREF="pcb.html#IDX262">saving layouts</A>, <A HREF="pcb.html#IDX439">saving layouts</A>, <A HREF="pcb.html#IDX445">saving layouts</A> -<LI><A HREF="pcb.html#IDX94">saving, an example</A> -<LI><A HREF="pcb.html#IDX112">scaling a printout</A> -<LI><A HREF="pcb.html#IDX527">scanning connections</A> -<LI><A HREF="pcb.html#IDX712">SCO</A> -<LI><A HREF="pcb.html#IDX640">scrolling</A>, <A HREF="pcb.html#IDX641">scrolling</A> -<LI><A HREF="pcb.html#IDX528">searching connections</A> -<LI><A HREF="pcb.html#IDX317">searchpath for element files</A> -<LI><A HREF="pcb.html#IDX345">searchpath for font files</A> -<LI><A HREF="pcb.html#IDX329">searchpath for layout files</A> -<LI><A HREF="pcb.html#IDX380">searchpath for libraries</A> -<LI><A HREF="pcb.html#IDX596">selected object, removing an</A> -<LI><A HREF="pcb.html#IDX41">selected objects, changing size</A> -<LI><A HREF="pcb.html#IDX40">selected objects, removing</A> -<LI><A HREF="pcb.html#IDX577">selecting a buffer</A> -<LI><A HREF="pcb.html#IDX23">selecting a new mode</A> -<LI><A HREF="pcb.html#IDX43">selecting objects</A>, <A HREF="pcb.html#IDX609">selecting objects</A> -<LI><A HREF="pcb.html#IDX608">selection</A>, <A HREF="pcb.html#IDX631">selection</A> -<LI><A HREF="pcb.html#IDX121">selection, an example</A> -<LI><A HREF="pcb.html#IDX39">selection, popup menu</A> -<LI><A HREF="pcb.html#IDX707">SGI</A> -<LI><A HREF="pcb.html#IDX454">shrink</A> -<LI><A HREF="pcb.html#IDX498">signal</A> -<LI><A HREF="pcb.html#IDX706">Silicon Graphics</A> -<LI><A HREF="pcb.html#IDX267">size of a layout</A> -<LI><A HREF="pcb.html#IDX385">size of lines</A> -<LI><A HREF="pcb.html#IDX603">size of lines and vias</A> -<LI><A HREF="pcb.html#IDX475">size of vias</A> -<LI><A HREF="pcb.html#IDX502">sizes, changing of objects</A>, <A HREF="pcb.html#IDX517">sizes, changing of objects</A> -<LI><A HREF="pcb.html#IDX35">sizes, popup menu</A> -<LI><A HREF="pcb.html#IDX703">Solaris</A> -<LI><A HREF="pcb.html#IDX127">spacing, minimum</A> -<LI><A HREF="pcb.html#IDX271">speaker volume</A>, <A HREF="pcb.html#IDX478">speaker volume</A> -<LI><A HREF="pcb.html#IDX521">square flag, changing of objects</A> -<LI><A HREF="pcb.html#IDX524">start user input</A> -<LI><A HREF="pcb.html#IDX573">starting a new layout</A> -<LI><A HREF="pcb.html#IDX158">starting <CODE>Pcb</CODE></A> -<LI><A HREF="pcb.html#IDX15">status information</A> -<LI><A HREF="pcb.html#IDX70">strings, an example</A> -<LI><A HREF="pcb.html#IDX13">strings, an overview</A> -<LI><A HREF="pcb.html#IDX702">Sun</A> -<LI><A HREF="pcb.html#IDX177">symbols</A>, <A HREF="pcb.html#IDX343">symbols</A> -<LI><A HREF="pcb.html#IDX3">symbols, an overview</A> -</DIR> -<H2><A NAME="cindex_t">t</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX102">temporary files</A>, <A HREF="pcb.html#IDX256">temporary files</A>, <A HREF="pcb.html#IDX447">temporary files</A> -<LI><A HREF="pcb.html#IDX721">TeX, problems</A> -<LI><A HREF="pcb.html#IDX693">texinfo file</A> -<LI><A HREF="pcb.html#IDX69">text, an example</A> -<LI><A HREF="pcb.html#IDX12">text, an overview</A> -<LI><A HREF="pcb.html#IDX463">text, default scaling</A> -<LI><A HREF="pcb.html#IDX38">text, editing</A> -<LI><A HREF="pcb.html#IDX386">thickness of lines</A> -<LI><A HREF="pcb.html#IDX60">thickness of objects</A> -<LI><A HREF="pcb.html#IDX476">thickness of vias</A> -<LI><A HREF="pcb.html#IDX518">thickness, changing of objects</A>, <A HREF="pcb.html#IDX522">thickness, changing of objects</A> -<LI><A HREF="pcb.html#IDX486">translations</A>, <A HREF="pcb.html#IDX633">translations</A> -<LI><A HREF="pcb.html#IDX697">troubleshooting</A> -</DIR> -<H2><A NAME="cindex_u">u</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX628">undo</A> -<LI><A HREF="pcb.html#IDX495">undo, multi-action resources</A> -<LI><A HREF="pcb.html#IDX47">undo, popup menu</A> -<LI><A HREF="pcb.html#IDX184">unix command</A>, <A HREF="pcb.html#IDX191">unix command</A>, <A HREF="pcb.html#IDX198">unix command</A>, <A HREF="pcb.html#IDX214">unix command</A>, <A HREF="pcb.html#IDX219">unix command</A>, <A HREF="pcb.html#IDX264">unix command</A>, <A HREF="pcb.html#IDX314">unix command</A>, <A HREF="pcb.html#IDX326">unix command</A>, <A HREF="pcb.html#IDX339">unix command</A>, <A HREF="pcb.html#IDX371">unix command</A>, <A HREF="pcb.html#IDX375">unix command</A>, <A HREF="pcb.html#IDX441">unix command</A> -<LI><A HREF="pcb.html#IDX632">unselect objects</A> -<LI><A HREF="pcb.html#IDX129">user commands</A> -<LI><A HREF="pcb.html#IDX642">user input</A>, <A HREF="pcb.html#IDX643">user input</A> -</DIR> -<H2><A NAME="cindex_v">v</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX278">version, current</A> -<LI><A HREF="pcb.html#IDX72">vias, an example</A> -<LI><A HREF="pcb.html#IDX5">vias, an overview</A> -<LI><A HREF="pcb.html#IDX513">vias, changing shape of</A> -<LI><A HREF="pcb.html#IDX471">vias, color</A> -<LI><A HREF="pcb.html#IDX505">vias, converting to mounting hole</A> -<LI><A HREF="pcb.html#IDX615">vias, setting of initial size</A> -<LI><A HREF="pcb.html#IDX474">vias, size</A> -<LI><A HREF="pcb.html#IDX619">viewing side, changing of</A> -<LI><A HREF="pcb.html#IDX272">volume of speaker</A>, <A HREF="pcb.html#IDX479">volume of speaker</A> -</DIR> -<H2><A NAME="cindex_x">x</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX280">X11</A> -<LI><A HREF="pcb.html#IDX635">X11 default translations</A> -<LI><A HREF="pcb.html#IDX282">X11 resources</A> -<LI><A HREF="pcb.html#IDX489">X11 translations</A> -<LI><A HREF="pcb.html#IDX720">X11, problems</A> -<LI><A HREF="pcb.html#IDX677">xmkmf</A> -</DIR> -<H2><A NAME="cindex_z">z</A></H2> -<DIR> -<LI><A HREF="pcb.html#IDX484">zoom of drawing window</A> -<LI><A HREF="pcb.html#IDX231">zoom of pinout window</A>, <A HREF="pcb.html#IDX413">zoom of pinout window</A> -<LI><A HREF="pcb.html#IDX34">zoom, setting</A> -<LI><A HREF="pcb.html#IDX612">zoom, setting of</A> -</DIR> - - -<P><HR><P> -This document was generated on 31 August 2000 using -<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k. -</BODY> -</HTML> diff --git a/cad/pcb/files/pcb.info b/cad/pcb/files/pcb.info deleted file mode 100644 index d206463fd1e..00000000000 --- a/cad/pcb/files/pcb.info +++ /dev/null @@ -1,4125 +0,0 @@ -This is Info file pcb.info, produced by Makeinfo version 1.68 from the -input file pcb.texi. - -INFO-DIR-SECTION PCB Layout Tool -START-INFO-DIR-ENTRY -* Pcb: (pcb). PCB Layout Tool. -END-INFO-DIR-ENTRY - - This file documents how to use Pcb, the interactive printed circuit -board layout system for `X11'. - - Copyright (C) 1994,1995,1996 Thomas Nau - - This program is free software; you may redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at -your option) any later version. - - This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANT-ABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - - -File: pcb.info, Node: Top, Next: Copying, Prev: (dir), Up: (dir) - -Pcb -*** - - This document is a manual for `Pcb', the interactive printed circuit -board layout system for `X11'. - -* Menu: - -* Copying:: `Pcb' is freely redistributable! -* History:: How it all began. -* Intro:: A short description of the basic objects. -* Getting Started:: Introduction to `Pcb'. -* User Commands:: User commands of `Pcb'. -* Command-Line Options:: Calling `Pcb' from a shell. -* X11 Interface:: Action routines, resources and default translation. -* File Formats:: Description of `ASCII' files used by `Pcb'. -* Installation:: Compiling, installing and troubleshooting. - - -File: pcb.info, Node: Copying, Next: History, Prev: Top, Up: Top - -Copying -******* - - Copyright (C) 1994,1995,1996,1997 Thomas Nau - - This program is free software; you may redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at -your option) any later version. - - This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANT-ABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - - -File: pcb.info, Node: History, Next: Intro, Prev: Copying, Up: Top - -History -******* - - `Pcb' is a handy tool for laying out printed circuit boards. It was -first written for an Atari ST in 1990 and ported to `UNIX' and `X11' in -1994. I never had the intention to create another professional layout -system, but to write a tool which supports people like you who do some -home-developing of hardware. For this reason it has no auto-router nor -auto-placement code. - - The second release 1.2 included menus for the first time. This made -`PCB' easier to use and thus a more important tool. - - Release 1.3 introduced undo for highly-destructive commands, more -straightforward action handling and scalable fonts. Layer-groups were -introduced to group signal-layers together. - - Release 1.4 provided support for add-on device drivers. Two layers -(the solder and the component side) were added to support SMD elements. -The handling of libraries was also improved in 1.4.1. Support for -additional devices like GERBER plotters started in 1.4.4. The undo -feature was expanded and the redo-feature added in 1.4.5. - - Release 1.5 provides support for rats-nest generation from simple net -lists. It also allows for automatic clearances around pins that pierce -a polygon. A variety of other enhancments including a Gerber RS274X -driver and NC drill file generation have also been added. harry eaton -(haceaton@aplcomm.jhuapl.edu) was responsible for most of the changes -found in this release. - - Release 1.6 provides automatic screen updates of changed regions. -This should elliminate most of the need for the redraw (r) key. Also -some changes to what order items under the cursor are selected were -made for better consistancy - it is no longer possible to accidentally -move a line or line point that is completely obscured by a polygon -laying over top of it. Larger objects on the upper most layers can be -selected ahead of smaller objects on lower layers. These changes make -operations more intuitive. A new mode of line creation was added that -creates two line on 45 degree angles with a single click. The actual -outline of the prospective line(s) are now shown during line creation. -An arc creation mode was added. Drawn arcs are quarter circles and can -be useful for high frequency controlled impedance lines. (You can have -eighth circle arc if the source is compiled with -DARC45, but be aware -that the ends of such arcs can never intersect a grid point). Two new -flags for pins and vias were created - one indicates that the pin or -via is purely a drill hole and has no copper annulus. You can only -toggle this flag for vias - for elements, it must be an integral part -of the element definition. The other flag controls whether the pad -will be round or octagonal. There is also now a feature for converting -the contents of a buffer into an element. Vias become the pins (or -mounting holes), lines and arcs on the solder layer become silkscreen, -and lines on the component layer become the pads. Action commands -entered via the colon command entry are no longer proceeded with "a ", -just type the command directly. Several bugs have also been fixed. New -ones were probably introduced since extensive changes were made. harry -eaton was responsible for these changes. - - Release 1.6.1 adds the ability to make groups of action commands -bound to a single X11 event to be undone by a single undo. Also a -simple design rule checker was added - it checks for minimum spacing -and overlap rules. Plus many fixes for bugs introduced with the many -changes of 1.6 harry is responsible for these changes too. - - Special thanks goes to: - Bernhard Daeubler (Bernhard.Daeubler@physik.uni-ulm.de) - Harald Daeubler (Harald.Daeubler@physik.uni-ulm.de) - Roland Merk (merk@faw.uni-ulm.de) - Erland Unruh (Erland.Unruh@malmo.trab.se) - Albert John FitzPatrick III (ajf_nylorac@acm.org) - Boerge Strand (borges@ifi.uio.no) - harry eaton (haceaton@aplcomm.jhuapl.edu) - Andre M. Hedrick (hedrick@Astro.Dyer.Vanderbilt.Edu) - - who did most of the alpha and beta testing, helped to port `PCB' to - several operating systems and platforms and corrected several typos -in the manuals. In addition to these, many others donated time for -bug-fixing and other important work. Some of them can be identified in -the source code files. Thanks to all of them. - - -File: pcb.info, Node: Intro, Next: Getting Started, Prev: History, Up: Top - -Introduction -************ - - Each layout consists of several, mostly independent, objects. This -chapter gives an overview of the object types and their relationship to -each other. For a complete description of how to use `Pcb', refer to -*Note Getting Started::. The layout is generated on-screen on a grid -that has its origin in the upper left corner of the screen. The x -coordinate increases to the right, y increases down to the bottom. All -distances and sizes in `Pcb' are measured in mils (0.001 inch). One -unit on the display grid is one mil in distance on the board. The -sections in this chapter are sorted by the order of appearance of the -objects within a layout file. - -* Menu: - -* Symbol Objects:: Information about fonts and symbols. -* Via Objects:: Vias and pins connect layers. -* Element Objects:: Element, the basic type of circuits. -* Layer Objects:: A `container' for lines, text... -* Line Objects:: -* Arc Objects:: -* Polygon Objects:: -* Text Objects:: Objects to add symbols to your board. - - -File: pcb.info, Node: Symbol Objects, Next: Via Objects, Up: Intro - -Symbols -======= - - The top object is the layout itself. It uses a set of symbols that -resides at the first logical level. Each symbol is uniquely identified -by a seven bit `ASCII' code. All layout objects share the same set of -symbols. These symbols are used to form text objects on the silkscreen -and copper layers. Undefined symbols are drawn as filled rectangles. - - Every font file is preprocessed by a user-defined command when it is -loaded. For details see `fontCommand', *Note Resources::. - - -File: pcb.info, Node: Via Objects, Next: Element Objects, Prev: Symbol Objects, Up: Intro - -Vias -==== - - Vias are identical to the pins used by elements except that they can -be added or removed individually. The purpose of vias is to provide -connections between different layers. Don't use vias for adding -elements to the layout, even if that seems easier than creating a new -element. Vias are useful for defining arbitrary drill points such as -those used for mounting a board. You can assign a name to a via even -though you probably won't ever want to. Vias reside at the first -logical level; therefore, each via exists on all layers. (*i.e.* blind -vias are not supported) - - -File: pcb.info, Node: Element Objects, Next: Layer Objects, Prev: Via Objects, Up: Intro - -Elements -======== - - Elements represent the components on a board. Elements are loaded -from `ASCII' coded files in a similar manner to the layout file itself. -They are composed of lines and arcs on the silk-screen layer (used to -define the package outline) , pins (or pads for SMD) and three labels -that define the description, the element's layout-name (which also -appears on the silk- screen layer) and its value. Element pins are -contained on the first logical level and so reside on all layers. A -mark is used to position the element with respect to the cursor -cross-hair during pasting. SMD elements use pads instead of pins. -Pads are handled similarly to lines on a layer but they must be oriented -either vertically or horizontally. Pads can have either rounded or -square ends. All parts of an element are treated as one unit. It is -not possible to delete a single pin or break an element into pieces on -the layout. You can resize separate pieces of an element, but doing so -is usually a bad idea. - - Elements are supported by several special layers: *silk*, -*pins/pads* and *far-side*. The *silk* layer shows the package outline -and also holds legend text and element names. The *pins/pads* layer is -used to toggle whether the element's pins and pads are displayed. The -*far-side* layer controls visibility of objects (silkscreen and pads) -that are on the far (*i.e.* not currently viewed) side of the board. - - Every element file is preprocessed by a user-defined command when -the file is read. For details see `elementCommand', *Note Resources::. -`m4', the default value of `elementCommand', allows you to create -libraries for package definitions that are shared by all elements. The -element libraries distributed with `Pcb' expect `m4' or an equivalent -to be the *elementCommand*. - - `Pcb' can create a list of all connections from one (or all) -elements to the others or a list of unconnected pins. It can also -verify the layout connections against a netlist file. The element's -`layout-name' is the name used to identify an element in a netlist file. -The pin numbering for an element is defined by unique strings assigned -to each pin. In addition to the "pin number" string, each pin has a -"name" which describes its function. Previously element pin number was -established by the order of appearance of the pin definitions in the -layout or element file. Since the "number" strings for each pin are a -new feature, if they are absent then the numbering is again established -by the order of pin appearance in the file. In other words, the first -pin appearing in the file is pin one, the next pin is pin two and so on. -Usually the names assigned to pins are simply numbers, but they don't -have to be. It is only necessary that the "number" string for the pin -matches exactly the "number" string in the netlist file. Be aware that -a few of the library parts may still be incorrectly implemented -regarding pin-numbering. All of the DIL (Dual- Inline-Pins) parts are -correct and most of the others are too, but you should verify the pin -numbering of any non-DIL part (use the *Report Menu* to see what `Pcb' -thinks a pin's number is) before using the rats nest feature with a -library part. Hopefully sometime soon someone will volunteer to -cross-check all of the element libraries and make fixes available as -necessary. `Pcb' can also check a layout to see that it meets minimum -spacing and overlap rules. - - You can make your own quick-and-dirty element definitions -graphically now. Simply draw vias for the pins and lines and arcs on a -solder layer for the silkscreen outline. You should name each via with -the pin number. If you want to create a SMD device, draw lines for the -pads on a component side layer (You must draw these in pin number order -since lines can't be named). They must be either horizontal or vertical -or they will not be recognized as pads. Once you are happy with the -geometry, select everything that is to become part of the element, then -choose "cut to buffer" from the menu. Now select "convert buffer to -element" from the menu. Viola'! Afterwards you can make pin one -square (or pads) if you like, and give the element its various names. -Note that the element mark corresponds to the cut position when -everything was put into the buffer. If the vias are not named, then the -pin numbering will correspond to the order in which the vias were -placed. - - -File: pcb.info, Node: Layer Objects, Next: Line Objects, Prev: Element Objects, Up: Intro - -Layers -====== - - Every layout consists of several layers that can be used -independently or treated as a group. Layer groups can be used to -logically separate (and color-code) different traces (*e.g.* power and -signal); however, all layers within a group reside on the same physical -copper layer of a board, so using different layers within the same -group won't provide electrical separation where they touch or overlap. -For details, see `layerGroups', *Note Resources::. Each layer is drawn -in a color defined in the resource file (for details see `layerColor', -*Note Resources::) and identified by a name that you can change. -Layers are really just containers for line, polygon, and text objects. -The component and solder layers contain SMD elements as well, but the -file structure doesn't reflect that fact directly. Each layer group -represents a physical layer on the printed circuit board. If you want -to make a four layer board, you'll need to have four layer groups. -Connections between layer groups are established only through element -pins and vias. The relationship between a specific layer and the board -itself is configureable from the `Edit layer groups' option in the -`Objects' menu. The layer groups corresponding to the physical layers -*component-side* and *solder-side* are always defined, and you must map -at least one logical layer to each. Of course, you are not obligated -to put tracks on either of them. SMD-elements always reside on either -the component-side or the solder-side layer group. You can swap which -side of the board you are viewing by pressing *<Key>Tab*. You can -decide which layer group will be the solder side and which will be the -component side. The layers groups just have a name or number -associated with them - where they are sandwiched in the board is left -to the manufacturing processes. - - -File: pcb.info, Node: Line Objects, Next: Arc Objects, Prev: Layer Objects, Up: Intro - -Lines -===== - - Lines are used to draw tracks on the pc board. When in the line -mode, each *<Btn1>* press establishes one end of a line. Once the -second point is defined, the line is drawn and a new line started where -the first one ended. You can abondon the new starting point in favor -of another by pressing *Ctrl<Btn1>*. The undo function (*<Key>u*) will -take you back point by point if you use it while in the line mode. New -lines can be restricted to 45 degree angles if desired. You can toggle -this restriction on and off while creating lines by pressing *<Key>.* -(that is the *period* key). If the 45 degree restriction is turned on, -then the *<Key>/* can be used to cylce through three different modes of -45 degree line creation. One mode just creates a single line forced to -the nearest 45 degree vector. The next mode creates two lines from the -start to end points such that the first line leaves the start point at -a 90 degree vector, and the second line enters the end point on a 45 -degree vector. The next mode creates two lines such that the first line -leaves the start point on a 45 degree vector and arrives at the end -point on a 90 degree vector. You can temporarily swap between the last -two modes by holding the shift key down. It is simple to edit a line -type object by breaking it into pieces (insert point mode), moving an -end point (or the whole line) (*<Btn2Down><drag><Btn2Up>*), or changing -the layer it resides on (*<Key>m* moves the line under the pointer to -the active layer). In the case when two line segments meet at exactly -the same point you can delete the intermediate point, otherwise the -delete mode removes an entire line. Feel free to experiment since -`Pcb' will allow you to undo anything that materially affects your work. -If you switch active layers in the midst of placing lines a via will -automatically be placed, when necessary, in order to continue the -connection. - - -File: pcb.info, Node: Arc Objects, Next: Polygon Objects, Prev: Line Objects, Up: Into - -Arcs -==== - - With version 1.6 it is possible to draw copper arcs. The arcs are -restricted to be quarter circles. This means they always bend a right -angle. They are very similar to lines otherwise. They are created on -the current layer and have the same thickness that new lines will have. -The various clicks for creating lines work pretty much the same way -for creating arcs. The start point for the arc is at the first *<Btn1>* -position. In order to make the arc curve in the direction desired, -drag the mouse along the tangent line from the starting position -towards the end position. If the grid is too coarse, it may not be -possible to distinguish whether you've moved over then up, or up then -over, so if you can't seem to make the arc go the direction you want, -you should decrease the grid spacing. Alternatively you could drawn -the wrong arc, then rotate and move it where you want. Like the line -tool, after an arc is drawn a new starting point is established at the -end point. Whenever a start point is established by either the line or -arc tools it will be retained if you switch directly between the tools -(e.g. *<Key>F2* for Lines, *<Key>F8* for Arcs. Of course connection -searches, undo and all the other features you'd expect work with arcs -now. - - -File: pcb.info, Node: Polygon Objects, Next: Text Objects, Prev: Arc Objects, Up: Intro - -Polygons -======== - - Sometimes it's useful to fill large areas with solid copper. The -way to do this is with polygons. Polygons can be created in either the -polygon mode or the rectangle mode. In the polygon mode, you'll have -to define each corner of the polygon with a mouse click (*<Btn1>*). -When the last point is clicked exactly on top of the starting point, -the polygon is finished. Since this can be hard to do, the -*Shift<Key>p* will enter the final point for you, closing the polygon. -If the 45 degree angle restriction is turned on and you try to close -the polygon when it is not possible, you'll get a warning instead. If -you haven't finished entering a polygon, but want to undo one (or more) -of the points that you've already defined, use the undo command -(*<Key>u*). With the rectangle tool, defining the two opposite corners -is sufficient, but of course the resulting polygon is a rectangle. -Like lines, a polygon can by edited by deleting, inserting and moving -the points that define it. `Pcb' is capable of handling complex -polygons, but using a number of simpler ones improves performance of -the connection tracing code. - - A new feature in version 1.5 of `Pcb' automatically creates clearance -regions around pins and vias that pierce a polygon. This means that they -aren't electrically connected to the polygon unless you add "thermals" -to cross the clearance region. Thermals can be added and removed by -selecting the thermal mode and clicking *<Btn1>* on the pin or via. -Remember that this only creates connections to the polygon on the -active layer. The great advantage to this new polygon behavior is that -simple or complex ground and/or power planes can be easily made with -polygons and seen on the screen. If you don't want this auto-clearance -behavior, or you load a layout created by an earlier version of `Pcb', -the old behavior (shorts to all piercing pins and vias) is available. -A `ChangeSize' operation (*<Key>s*) toggles a polygon between the new -and old polygon/pin behavior. - - -File: pcb.info, Node: Text Objects, Prev: Polygon Objects, Up: Intro - -Text -==== - - Text objects should be used to label a layout or to put additional -information on the board, but not to identify elements because elements -have their own labels. Text is always horizontal when first created, -but the rotate mode can align it along 0, 90, 180 and 270 degree angles. -Text can be moved from any layer to the silk-screen layer with a -command in the `selection menu'. Text that is moved to the silk-screen -layer will appear on the solder-side silk-screen if it originating on a -solder-side layer. Otherwise moving it to the silk-screen layer will -put it on the component-side silk-screen. To move text back to a -copper layer from the silk-screen, use the `MoveToCurrentLayer' -(*<Key>m*) command. Text on the far side of the board will -automatically appear mirror-imaged. - - TEXT OBJECTS ON A COPPER LAYER CREATE COPPER LINES BUT THEY ARE NOT -SCANNED FOR CONNECTIONS OR TESTED FOR CREATING SHORTS VS. THE NETLIST. -NEITHER ARE TEXT OBJECTS TESTED AGAINST ANY DESIGN RULES. - - -File: pcb.info, Node: Getting Started, Next: User Commands, Prev: Intro, Up: Top - -Getting Started -*************** - - The goal of this chapter is to give you enough information to learn -how `Pcb' works and how to develop your layouts to make the best use of -`Pcb''s features. All event translations (*i.e.* the buttons and keys -you press) refer to the default application resource file shipped with -`Pcb'. There is probably no need to change them unless your window -manager uses some of the button events itself; however, if you *want* -to customize the behavior of `Pcb' then changing the resource file is -usually the best way to do it. - - Get yourself a printout of this chapter and *User Commands*, if you -haven't already done so, and follow the examples. An example layout -may be found in `example/68HC11'. An example illustrating some version -1.5 features is found in `example/LED' along with its corresponding -netlist file `example/LED.NET'. - - Start `Pcb' (the actual command will use all lower-case letters) -without any additional options. If you get the error message: - - can't find default font-symbol-file 'default_font' - - then the font searchpath or filename in the application resource - file is wrong. Be sure that your `m4' program supports searchpaths. -If not, get `GNU m4'. For other messages, see *Note problems::. -Another quick-start is provided by `pcbtest.sh' in the `src' directory. - -* Menu: - -* Application Window:: The elements of the main window. -* Log Window:: The optional logging window -* Library Window:: The circuit selection window -* Drawing and Removing:: -* Moving and Copying:: -* Loading and Saving:: -* Printing:: -* Connection Lists:: How to get a list of all or some connections. -* Selection:: Commands which handle more than one object. -* Rats Nest:: Helps you place and route tracks against a netlist. -* Design Rule Checking:: - - -File: pcb.info, Node: Application Window, Next: Log Window, Up: Getting Started - -The Application Window -====================== - - The main window consists of five areas: the menu at the top, the -control panel in the upper left corner, the mode buttons located below -the control panel, the drawing area to the right of these, and the -status line at the bottom of the window. - -* Menu: - -* Status-line and Input-field:: What is the program configuration. -* Control Panel:: Switch layers on/off; change current one. -* Mode Selectors:: Select an operation mode. -* Drawing Area:: Where the layout is drawn. -* Menu:: - - -File: pcb.info, Node: Status-line and Input-field, Next: Control Panel, Up: Application Window - -The Status-line and Input-field -------------------------------- - - The status-line is located at the bottom edge of the main window. -During normal operation the status information is visible there. When -a selected menu operation requires an additional button click, the -status-line is replaced by a message telling you to position the cursor -and click. When a text input is required, the status-line is replaced -by the Input-field which has a prompt for the typed input. - - The status-line shows, from left to right, the side of the board -that you are viewing (*<Key>Tab* changes this), if an absolute (abs) or -relative (rel) grid is used, if new lines are restricted to 45 degrees, -which type of 45 degree line mode is active, whether rubberband move and -rotate mode is on (R), the current grid values, and the zoom factor. -This information is followed by the line-width, via-size and drilling -hole in mil, text scaling, the active buffer number and the name of the -layout. An asterisk appearing at the left edge indicates the layout has -been modified since the last save. Note that the name of the layout is -not the same thing as the filename of the layout. - - The input-field pops up (temporarily replacing the status-line) -whenever user input is required. Two keys are bound to the input field: -*<Key>Escape* aborts the input, *<Key>Return* finishes it. - - The present cursor position is displayed in the upper right corner -of the window. Normally this position is an absolute coordinate, but -with version 1.5 of `Pcb' you can anchor a marker at the current cursor -location by pressing *Ctrl<Key>m* then the display will read both the -absolute cursor position as well as the difference between it and the -marker. Pressing *Ctrl<Key>m* again turns the marker off. - - -File: pcb.info, Node: Control Panel, Next: Mode Selectors, Prev: Status-line and Input-field, Up: Application Window - -The Control Panel ------------------ - - The control panel, located at the left side of the window, is used -to turn on and off the display of layer groups and to select the active -drawing layer. If a layer hasn't been named, the label "*(unknown)*" -is used as the defualt. - - The upper control box is used to switch layers on and off. Click -*<Btn1Down>* on one or more of them. Each click toggles the setting. -The currently active layer can't be switched off. The layout is -refreshed when the pointer reenters the drawing area. This prevents -excessive redrawing when the visibility of several layers is changed. -When the layers are grouped, clicking on these fields will toggle the -visibility of all layers in the same group. This is a good idea because -layers in the same group reside on the same physical layer of the -actual board. Use the `Edit layer groups' option in the `Objects' menu -to change the layer groupings. Grouping layers is only useful for -helping you to color-code signals in your layout. Note that grouping -layers actually reduces the number of different physical layers -available for your board, thus to make an eight layer board, you cannot -group any layers. - - *far side* turns on and off the visibility of elements (including -SMD pads) on the opposite board side, as well as silk screening on that -side. It does not automatically hide the x-ray view of the other copper -layers, these must be turned off separately if desired. Use the *tab* -key to view the entire board from the other side. To see a view of -what the back side of the board will actually look like, make the -solder layer the active layer then press *tab* until the status line -says "solder" on the right, then turn off the visibility of all other -layers except pins/pads, vias, and silk. - - The lower control menu, named *active*, is used to change the active -drawing layer. *<Btn1Down>* pops up a menu to select a one. Each entry -is labeled with the layer's name and drawn in its color. The new -drawing layer is automatically made visible. Try changing the active -layer's name to *ABC* by selecting `set name of layer' from the `File' -menu. Changing the active layer also is available with *<Key>1..8*. - - -File: pcb.info, Node: Mode Selectors, Next: Drawing Area, Prev: Control Panel, Up: Application Window - -The Mode Selectors ------------------- - - The mode selector buttons reside below the control panel. They are -used to select the operation mode of `Pcb'. A mode can be thought of as -a tool that gets used when *<Btn1>* is pressed. Each mode causes the -cursor to take on a unique shape that identifies the tool. The buttons -themselves are icons that illustrate their function. The drawing modes -can also be selected from the keyboard: - *<Key>Escape* reset mode - *<Key>F1* via-mode - *<Key>F2* line-mode - *<Key>F3* pastebuffer-mode - *<Key>F4* rectangle-mode - *<Key>F5* text-mode - *<Key>F6* polygon-mode - *<Key>Insert* insert-point-mode - *<Key>F7* thermal-mode - *<Key>F8* arc-mode - The *<Key>Space* cycles through all of the modes in the mode button -palette. - - Reset-mode is really no mode, and *<Btn1>* has no effect with this -setting. Some of the modes are very simple, such as the via-mode. -Clicking *<Btn1>* while in this mode creates a via at the cross-hair -position. The pastebuffer-mode is similar. With this mode, *<Btn1>* -copies the contents of the active buffer to the layout, but only those -parts that reside on visible layers are copied. The rotate-mode allows -you to rotate elements and text objects 90 degrees counter-clockwise -with each click. The line-mode is explained in detail in *Note Line -Objects::. The arc-mode is explained in detainl in *Note Arc Objects::. -Rectangle-mode, polygon-mode and thermal-mode are explained in detail in -*Note Polygon Objects::. Remember that the thermal-mode will only -create and destroy thermals to polygons on the active layer. - - The insert-point-mode is an editing tool that allows you to add -points into lines or polygons. With version 1.5 of `Pcb', the -insert-point-mode enforces the 45 degree line rule. You can force only -the shorter line segment to 45 degrees by holding the shift key down -while inserting the point. The delete-mode deletes the smallest object -beneath the cursor with each *<Btn1>* click. If you use click at an -end-point that two lines have in common, it will replace the two lines -with a single line spanning the two remaining points. This can be used -to delete an "inserted" point in a line, restoring the previous line. - - -File: pcb.info, Node: Drawing Area, Next: Menu, Prev: Mode Selectors, Up: Application Window - -Drawing Area ------------- - - The drawing area is made from a viewport widget that also includes -two scrollbars. The cursor changes shape depending on the current -operation mode when the pointer is moved into the drawing area. A -crosshair follows the X11 pointer with respect to the grid setting. -Move around and watch the cursor position displayed in the upper right -of the window. Now select a new grid from the *Display* menu. The new -value is updated in the statusline. Now move again and watch the -difference. A different way to change the grid is *Shift<Key>g* to -decrease or *<Key>g* to increase it. The grid setting is saved along -with the data when you save a pcb layout. For homemade layouts a value -around 50 is a good setting. The cursor also may be moved with the -cursor keys or, for larger distances, by pressing the *shift* modifier -together with a cursor key. - - -File: pcb.info, Node: Menu, Prev: Drawing Area, Up: Application Window - -Menu ----- - - The menus are located at the top of the drawing area. Most, but not -all, of their functions are also available from the keyboard. Some of -the entries such as *center* require a certain cursor position. In -this case a statusline will popup at the bottom with wording similar to -the following: - move pointer to the appropriate screen position and press a button - Any mouse button will do the job, whereas any key except the cursor -keys will cancel the operation. For details see *Note Actions::. - -`About' - There is no menu hiding behind this button, but a small - information box will pop up. - -`File' - This menu offers a choice of loading, saving and printing data, - saving connection information to a file or quitting the - application. You also may change the layout's or the active - layer's name. Selecting *print layout* pops up a printer control - dialog which is, hopefully, self explaining. This box contains a - panner widget (only `X11R5' and later) which simplifies adjusting - the offsets. With earlier releases the printout will always appear - in the upper left corner with respect to the media margins. - - A selection of several device drivers is available from the - printer control dialog. Presently *PostScript*, *encapsulated - PostScript*, and *GerberX* are supported. *GerberD* support may be - forthcoming. It requires a rastering engine that pcb presently - lacks. - -`Display' - The display menu supports the most needed functions related to - screen output. The entries are used to change the grid to some - popular values, the zoom factor, the displayed element name and - also are used to center or refresh the output. You also may - switch grid-displaying on or off and select between absolute grid - (origin at (0,0)) or relative grid (origin at the position where - the grid has been changed). The relative grid position is now - established at the actual pointer position, NOT necessarily the - same as the crosshair position. This allows you to shift the grid - without changing the grid spacing. I recommend that you zoom in - as close as possible before setting a relative grid so that you're - sure the grid lines fall where you want. The clipping to - 45-degree lines is selected in this menu, as well as enabling - rubberband mode (see description of *Mode*). - -`Sizes' - This menu allows you to select a group of line thickness, via - diameter and via drill size (collectively called a "routing - style") to be coppied to the "active" sizes. You can also change - the names given to these styles and adjust their values from this - menu. You can also edit the "active" sizes (the initial size of - new vias, drilling holes, lines, text-objects and the current - maximum size of the layout) from this menu. - -`Objects' - Displaying the pinout of an element and changing its names, the one - that is currently selected by the *Display* menu, as well as - editing a text object is offered by this menu. The latter two - selections require an additional pointer button click at the - object's position. A dialog for changing the layer groupings is - also reached from this menu. - -`Selection' - This menu covers most of the operations that work with selected - objects. You may either (un)select all visible objects of a - layout or only the ones which have been found by the last - connection scan. The mouse can also be used to change which things - are and are not selected: toggle the selection of a single object - by pressing *<Btn3Down>* and releasing without moving the mouse. - Pressing *Mod1<Btn3Down>*, moving and releasing the button selects - all visible objects inside the rectangle. Pressing the modifier - key *Shift* too, unselects all objects in the area. You can delete - all selected objects from this menu, and also move selected text - objects to the silk-screen layer. The other entries change the - sizes of visible and selected objects. - -`Buffer' - This menu handles pastebuffer related actions. You may select one - out of five (per viewing side) buffers to use, rotate or clear its - contents and paste it to the layout. You can also gather objects - in the buffer into an element definition from this menu. Note: - only visible objects are pasted to the layout. - -`Connections' - The entries available through the connections menu button allow - the user to find connections from pins or vias and to manipulate - these. The connection lists may be saved by selecting entries - from the *File* menu. In many cases it is desireable to use the - ratsnest function to check connections against a netlist file - instead of using the connections menu to generate text connection - lists. - -`Undo' - This menu is a frontend for managing the reversing of operations - such as remove, copy, move, name changes, etc. The number of - operations is unlimited (depending on memory). The list is cleared - if new layout data is loaded or by selecting the appropriate entry - from this menu. The inverse operation, redo, is also available. - -`Report' - This menu allows you to generate a dialog that summerizes - information about an object such as sizes and coordinates. You can - also get a report about all of the drills that are used on the - board. - - -File: pcb.info, Node: Log Window, Next: Library Window, Prev: Application Window, Up: Getting Started - -Log Window -========== - - This optional window is used to display all kind of messages -including the ones written to *stderr* by external commands. The main -advantage is that its contents are saved in a scrolling list until the -program exits. Disabling this feature by setting the resource -*useLogWindow* to *false* will generate popup windows to display -messages. The *stderr* of external commands will appear on `Pcb's -*stderr* which normally is the parent shell. I suggest you iconify the -window after startup for example by setting **log.iconic* to *true*. If -*raiseLogWindow* is set *true*, the window will deiconify and raise -itself whenever new messages are to be displayed. - - -File: pcb.info, Node: Library Window, Next: Drawing and Removing, Prev: Log Window, Up: Getting Started - -Library Window -============== - - First appearing in 1.4.1 the library window is one of the best new -features in my opinion. It simplifies loading circuits quiet a lot just -by selecting the appropriate type from the menu at the top. A circuit -is then selected by simply double-clicking on the text line. For -details on libraries check-out *Note Library File:: and *Note Library -Contents File::. - - -File: pcb.info, Node: Drawing and Removing, Next: Moving and Copying, Prev: Library Window, Up: Getting Started - -Drawing and Removing Basic Objects -================================== - - There are several ways of creating new objects: you may draw them -yourself, you may copy an existing object or you may load an element -from a file or library. Creating new objects is normally related to a -special mode depending on the object type. The notation of key and -button events is the same as described in the X11 Intrinsics manual. - - The operation mode may be selected by one of the mode selectors in -the bottom left corner, by one of the function keys listed earlier in -this chapter, or by pressing the space bar to cycle through the modes. -*<Btn1Down>* sends a notify request to the application which responds -by creating or changing the appropriate object or at least takes the -first step to do so. Switching to a mode causes the cursor to take on a -unique shape and also causes the cooresponding mode selector button to -be drawn with thick lines. You can use either cue to see which mode is -currently selected. - - Removing objects is possible using *<Key>BackSpace* (or *<Key>Delete* -on some machines) which deletes the object at the cursor location. If -more than one object is located at the same position, the smallest -matching type will be chosen. If two or more of the same type are the -smallest at the position, then the newest one will be deleted. You -also may change to *remove-mode* and click *<Btn1Down>* at the location -of the objects which are to be removed. If you "remove" the end-point -where two lines connect, it will remove the point of connection leaving -a single line that spans the far end points. - - Rotating works in a similar fashion. Change the mode and press -*<Btn1Down>* at the object's location. Remember only text, elements and -arcs can be rotated. (Anything including groups of objects may be -rotated inside a buffer using the rotate buffer menu option.) - - Insert mode provides the capability of inserting new points into -existing polygons or lines. The 45 degree line clipping is now enforced -when selected. Press and hold the shift key while positioning the new -point to only clip the line segment to the nearer of the two existing -points to 45 degrees. You can also toggle the 45-degree clipping in -the middle of a point insertion by pressing the *<Key>.* If the shift -key is not depressed and the 45 degree line clipping mode is on, both -new line segments must be on 45 degree angles - greatly restricting -where the new point may be placed. In some cases this can cause -confusion as to whether an insertion has been started since the two new -lines may be forced to lie parallel on top of the original line until -the pointer is moved far from the end points. - - Removing objects, changing their size or moving them only applies to -objects that are visible when the command is executed. - -* Menu: - -* Common:: Keystrokes common to some objects. -* Lines:: -* Arcs:: -* Polygons:: Drawing polygons and rectangles. -* Text:: -* Vias:: -* Elements:: -* Pastebuffer:: A multi-purpose buffer. - - -File: pcb.info, Node: Common, Next: Lines, Up: Drawing and Removing - - There are several keystrokes and button events refering to an -*object* without identifying its type. Here's a list of them: - - *<Btn1Down>* creates (or deletes) an object depending on the -current mode. - - *<Key>BackSpace* or *<Key>Delete* removes the visible object at the -cursor location. When more than one object exists at the location, the -order of removal is: via, line, text, polygon and element. The drawn -layer order also affects the search - whatever is top - most (except -elements) is affected before lower items. Basically all this means -that what is removed is probably just what you expect. If for some -reason it isn't, undo and try again. Only one object is removed for -each keystroke. If two or more of the same type match, the newest one -is removed. - - Use *<Key>s* and *Shift<Key>s* to change the size (width) of lines, -arcs, text objects, pins, pads and vias, or to toggle the style of -polygons (whether pins and vias automatically have clearances). - - *<Key>n* changes the name of pins, pads, vias, the string of a text -object, or the currently displayed label of an element. - - *<Key>m* moves the line, arc, or polygon under the crosshair to the -active layer if it wasn't on that layer already. - - *<Key>u* (undo) recovers from an unlimited number of operations such -as creating, removing, moving, copying, selecting etc. It works like -you'd expect even if you're in the midst of creating something. - - *Shift<Key>r* restores the last undone operation provided no other -changes have been made since the undo was performed. - - *<Key>tab* changes the board side you are viewing. - - For a complete list of keystrokes and button events see *Note -Translations::. - - -File: pcb.info, Node: Lines, Next: Arcs, Prev: Common, Up: Drawing and Removing - -Lines ------ - - To draw new lines you have to be in *line-mode*. Get there either by -selecting it from the *Tool palette* or by pressing *<Key>F2*. Each -successive *notify* event creates a new line. The adjustment to 45 -degree lines is done automatically if it is selected from the *Display* -menu. You can toggle the 45 degree mode setting by pressing the -*<Key>.* (That is the period key). When 45 degree enforcement is turned -on there are three distinct modes of line creation: a single line on -the closest 45 degree vector towards the crosshair (but not necessarily -actually ending at the crosshair), two lines created such that the -first leaves the start point on a 90 degree vector and the second -arrives at the crosshair on a 45 degree vector, and finally two lines -created such that the first leaves the start point on a 45 degree -vector and the second arrives at the crosshair on a 90 degree vector. -These last two modes always connect all the way from the start and end -points, and all lines have angles in 45 degree multiples. The *<Key>/* -cycles through the three modes. The status line shows a text icon to -indicate which of the modes is active and the lines following the -crosshair motion show the outline of the line(s) that will actually be -created. Press *<Key>Escape* to leave line-mode. - - *<Key>l*, *Shift<Key>l* and the entries in the *Sizes* menu change -the initial width of new lines. This width is also displayed in the -status line. - - -File: pcb.info, Node: Arcs, Next: Polygons, Prev: Lines, Up: Drawing and Removing - -Arcs ----- - - An Arc is drawn with the *arc-tool*. Get there either by selecting -it from the *Tool palette* or by pressing *<Key>F8*. Press *Btn1* to -define the starting point for the arc. Drag the mouse towards the -desired end point along the path you want the arc to follow. The -outline of the arc that will be created is shown on the screen as you -move the mouse. Arcs are always forced to be 90 degrees and have -symmetrical length and width ( i.e. they are a quarter circle). The -next *Btn1* click creates the arc. It will have the same width as new -lines (displayed in the status line) and appear on the active layer. -The arc leaves the starting point towards the crosshair along the axis -whose distance from the crosshair is largest. Normally this means that -if you drag along the path you want the arc to follow, you'll get what -you want. If the grid is set to the arc radius, then the two distances -will be equal and you won't be able to get all of the possible -directions. If this is thwarting your desires, reduce the grid spacing -(*!Shift<Key>G*) and try again. - - -File: pcb.info, Node: Polygons, Next: Text, Prev: Arcs, Up: Drawing and Removing - -Polygons and Rectangles ------------------------ - - A polygon is drawn by defining all of its segments as a series of -consecutive line segments. If the first point matches a new one and if -the number of points is greater than two, then the polygon is closed. -Since matching up with the first point may be difficult, you may use -*Shift<Key>p* to close the polygon. The *Shift<Key>p* won't work if -clipping to 45 degree lines is selected and the final segment cannot -match this condition. I suggest you create simple convex polygons in -order to avoid a strong negative impact on the performance of the -connection scanning routines. The *rectangle-mode* is just an easy way -to generate rectangular polygons. *Polygon-mode* also is selected by -*<Key>F6* whereas *rectangle-mode* uses *<Key>F4*. Pressing a -*<Btn1Down>* at two locations creates a rectangle by defining two of -its corners. *<Key>Insert* brings you to *insert-point-mode* which -lets you add additional points to an already existing polygon. Single -points may be removed by moving the crosshair to them and selecting one -of the delete actions *(remove-mode, BackSpace, or Delete*. This only -works if the remaining polygon will still have three or more corners. -Pressing *<Key>u* or *<Key>p* while entering a new polygon brings you -back to the previous corner. Removing a point does not force clipping -to 45 degree angles (because it's not generally possible). Newly -created polygons will not connect to pins or vias that pierce it unless -you create a thermal (using the thermal mode) to make the connection. -If the edge of a polygon gets too close to a pin or via that lies -outside of it, a warning will be issued and the pin will be given a -special color. Increasing the distance between them will remove the -warning color. - - -File: pcb.info, Node: Text, Next: Vias, Prev: Polygons, Up: Drawing and Removing - -Text ----- - - Pressing *<Key>F5* or clicking one of the text selector buttons -changes to *text-mode*. Each successive notify event (*<Btn1Down>*) -pops up the input line at the bottom and queries for a string. Enter -it and press *<Key>Return* to confirm or *<Key>Escape* to abort. The -text object is created with its upper left corner at the current pointer -location. The initial scaling is changed by *<Key>t* and *Shift<Key>t* -or from the *Sizes* menu. - - Now switch to *rotate-mode* and press *<Btn1Down>* at the -text-objects location. Text objects on the solder side of the layout -are automatically mirrored and flipped so that they are seen correctly -when viewing the solder-side. - - Use *<Key>n* to edit the string. - - TEXT OBJECTS ON COPPER LAYERS CREATE COPPER LINES BUT THEY ARE NOT -SCANNED FOR CONNECTIONS. If they are moved to the silkscreen layer, they -no longer create copper. - - -File: pcb.info, Node: Vias, Next: Elements, Prev: Text, Up: Drawing and Removing - -Vias ----- - - The initial size of new vias may be changed by *<Key>v* and -*Shift<Key>v* or by selecting the appropriate entry from the *Sizes* -menu. *Mod1<Key>v* and *Mod1 Shift<Key>v* do the same for the drilling -hole of the via. The statusline is updated with the new values. -Creating a via is similar to the other objects. Switch to *via-mode* by -using either the selector button or *<Key>F1* then press *<Key>]* or -*<Btn1Down>* to create one. *<Key>n* changes the name of a via. If you -want to create a mounting hole for your board, then you can place a via -where you want the hole to be then convert the via into a hole. The -conversion is done by pressing *!Ctrl<Key>h* with the crosshair over -the via. Conceptually it is still a via, but it has no copper annulus. -If you create such a hole in the middle of two polygons on different -layers, it will short the layers. Theoretically you could arrange for -such a hole not to be plated, but a metal screw inserted in the hole -would still risk shorting the layers. A good rule is to realize that -holes in the board really are vias between the layers and so place them -where they won't interfere with connectivity. You can convert a hole -back into a normal via with the same keystroke used to convery it in -the first place. - - -File: pcb.info, Node: Elements, Next: Pastebuffer, Prev: Vias, Up: Drawing and Removing - -Elements --------- - - Some of the functions related to elements only work if both the -package layer and the pin layer are switched on. - - Now that you're familiar with many of the basic commands, it is time -to put the first element on the layout. First of all, you have to load -data into the paste buffer. There are four ways to do this: - 1) load the data from a library - 2) load the data from a file - 3) copy data from an already existing element - 4) convert objects in the buffer into an element - We don't have any elements on the screen yet nor anything in the -buffer, so we use number one. - - Select *lsi* from the menu in the library window press *<Btn1Down>* -twice at the appropriate text-line to get the MC68030 CPU. The data is -loaded and the mode is switched to *pastebuffer-mode*. Each notify -event now creates one of these beasts. Leave the mode by selecting a -different one or by *<Key>Escape* which resets all modes.. The -crosshair is located at the *mark* position as defined by the data -file. Rotating the buffer contents is done by selecting the *rotate* -entry of the *Buffer* menu or by pressing *Shift<Key>F3*. The contents -of the buffer are valid until new data is loaded into it either by a -cut-to-buffer operation, copy-to-buffer operation or by loading a new -data file. There are 5 buffers available. Switching between them is -done by selecting a menu entry or by *Shift<Key>1..5*. Each of the two -board sides has its own buffers. - - The release includes all data files for the circuits that are used -by the demo layout. The elements in the LED example are not found in -the library, but you can lift them from the example itself if you want. -If you have problems with the color of the crosshair, change the -resource *crosshairColor* setting to a different one. - - Now load a second circuit, the MC68882 FPU for example. Create the -circuit as explained above. You now have two different unnamed -elements. Unnamed means that the layout-name of the element hasn't been -set yet. Selecting *description* from the *Display* menu displays the -description string of the two circuits which are CPU and FPU. The -values of the circuits are set to MC68030 and MC68882. Each of the -names of an element may be changed by *<Key>n* at the elements location -and editing the old name in the bottom input line. Naming pins and vias -is similar to elements. You can hide the element name so that it won't -appear on the board silkscreen by pressing *<key>h* with the cursor -over the element. Doing so again un-hides the element name. - - Entering `:le' and selecting an element data file is the second way -to load circuits. - - The third way to create a new element is to copy an existing one. -Please refer to *Note Moving and Copying::. - - The fourth way to create a new element is to convert a buffer's -contents into an element. Here's how it's done: Select the Via-tool -from the *Tool pallette*. Set the grid spacing to something -appropriate for the element pin spacing. Now create a series of vias -where the pins go. Create them in pin number order. It is often handy -to place a reference point (*!Ctrl<Key>m*) in the center of the first -pin in order to measure the location of the other pins. Next make a -solder-side layer the active layer from the *active-layer* popup menu. -Now draw the outline of the element using lines and arcs. When you're -done, select everything that makes up the element with a box selection -(*<Btn3Down> drag, <Btn3Up>*). Now select "cut selection to buffer" -from the *Buffer* menu. Position the cursor over the center of pin 1 -and press the left button to load the data into the buffer. Finally -select "convert buffer to element" from the *Buffer* menu. You'll only -want to create elements this way if they aren't already in the library. -It's also probably a good idea to do this before starting any of the -other aspects of a layout, but it isn't necessary. - - To display the pinout of a circuit move to it and press *Shift<Key>d* -or select *show pinout* from the *Objects* menu. A new window pops up -and displays the complete pinout of the element. This display can be -difficult to read if the component has been rotated 90 degrees :-( -therefore, the new window will show an un-rotated view so the pin names -are readable. *<Key>d* displays the name of one or all pins/pads -inside the drawing area, this is only for display on-screen, it has no -effect on any printing of the layout. - - You also may want to change a pin's or pad's current size by pressing -*<Key>s* to increase or *Shift<Key>s* to decrease it. While this is -possible, it is not recommended since care was probably taken to define -the element structure in the first place. You can also change the -thickness of the element's silkscreen outline with the same keys. You -can change whether a pin or SMD pad is rounded or square with the -*<Key>q*. SMD pads should usually have squared ends. Finally, you can -change whether the non-square pins are round or octagonal with the -*!Ctrl<Key>o*. - - SMD elements and silkscreen objects are drawn in the "invisible -object" color if they are located on the opposite side of the board. - - For information on element connections refer to *Note Connection -Lists::. - - -File: pcb.info, Node: Pastebuffer, Prev: Elements, Up: Drawing and Removing - -Pastebuffer ------------ - - The linestack and element-buffer of former releases have been -replaced by 5 multi-purpose buffers that are selected by -*Shift<Key>1..5*. The status line shows which buffer is the active one. -You may load data from a file or layout into them. Cut-and-paste works -too. If you followed the instructions earlier in this chapter you -should now have several objects on the screen. Move the crosshair to -one of them and press *<Btn3Down>* to toggle its selection flag. (If -you drag the mouse while the button is down, a box selection will be -attempted instead of toggling the selection.) The object is redrawn in -a different color. You also may want to try moving the pointer while -holding the third button down and release it on a different location. -This selects all objects inside the rectangle and unselects everything -else. If you want to add a box selection to an existing selection, -drag with *Mod1<Btn3Down>* instead. Dragging *Shift Mod1<Btn3Down>* -unselects objects in a box. Now change to *pastebuffer-mode* and -select some operations from the *Buffer* menu. Copying objects to the -buffer is available as *Mod1<Key>c* while cutting them uses -*Mod1<Key>x* as shortcut. Both clear the buffer before new data is -added. If you use the menu entries, you have to supply a crosshair -position by pressing a mouse button. The objects are attached to the -pastebuffer relative to that crosshair location. Element data or PCB -data may be merged into an existing layout by loading the datafiles -into the pastebuffer. Both operations are available from the *File* -menu or as user commands. - - -File: pcb.info, Node: Moving and Copying, Next: Loading and Saving, Prev: Drawing and Removing, Up: Getting Started - -Moving and Copying -================== - - All objects can be moved including element-names, by *<Btn2Down>*, -draging the pointer while holding the button down and releasing it at -the new location of the object. If you use *Mod1<Btn2Down>* instead, -the object is copied. Copying does not work for element-names of -course. You can move all selected objects with *Shift <Btn1Down>*. -This uses the Pastebuffer, so it will remove whatever was previously in -the Pastebuffer. Please refer to *Note Pastebuffer::. If you want to -give a small nudge to an object, but you don't think that the mouse -will give you the fine level of control that you want, you can position -the cursor over the object, press *<Key>[*, move it with the arrow -keys, then press *<Key>]* when it's at the desired position. Remember -that all movements are forced onto grid coordinates, so you may want to -change the grid spacing first. - - -File: pcb.info, Node: Loading and Saving, Next: Printing, Prev: Moving and Copying, Up: Getting Started - -Loading and Saving -================== - - After your first experience with `Pcb' you will probably want to save -your work. `:s name' passes the data to an external program which is -responsible for saving it. For details see *saveCommand* in *Note -Resources::. Saving also is available from the *File* menu, either -with or without supplying a filename. `Pcb' reuses the last filename if -you do not pass a new one to the save routine. - - To load an existing layout either select *load layout data* from the -*File* menu or use `:l filename'. A file select box pops up if you -don't specify a filename. Merging existing layouts into the new one is -supported either by the *File* menu or by `:m filename'. - - `Pcb' saves a backup of the current layout depending on the resource -*backup*. The file is named `/tmp/PCB.%i.backup'. During critical -sections of the program or when data would be lost it is saved as -`/tmp/PCB.%i.save'. *%i* is replaced by the process ID. - - -File: pcb.info, Node: Printing, Next: Connection Lists, Prev: Loading and Saving, Up: Getting Started - -Printing -======== - - `Pcb' now has support for device drivers, `PostScript', -*encapsulated PostScript*, and *Gerber X* drivers are available so far. -The *Gerber X* driver generates a NC drill file for automated drilling. -I recommend the use of `GhostScript' if you don't have a `PostScript' -printer for handling the PostScript output. Printing always generates a -complete set of files for a specified driver. See the page about the -*Print()* action for addtional information about the filenames. The -control panel offers a number of options. Most of them are not avilable -for Gerber output because it wouldn't make sense, for example, to -scale the gerber output (you'd get an incorrectly made board!) The -options are: - -`device' - The top menu button selects from the available device drivers. - -`rotate' - Rotate layout 90 degrees counter-clockwise before printing - (default). - -`mirror' - Mirror layout before printing. Use this option depending on your - production line. - -`color' - Created colored output. All colors will be converted to black if - this option is inactive. - -`outline' - Add a board outline to the output file. The size is determined by - the maximum boardsize changeable from the *sizes* menu. The - outline appears on the top and bottom sides of the board, but not - on the internal layers. An outline can be useful for determining - where to shear the board from the panel, but be aware that it - creates a copper line. Thus it has the potential to cause short - circuits if you don't leave enough room from your wiring to the - board edge. Use a viewer to see what the output outline looks like - if you want to know what it looks like. - -`alignment' - Additional alignement targets are added to the output. The - distances between the board outline is set by the resource - *alignmentDistance*. Alignment targets should only be used if you - know for certain that YOU WILL BE USING THEM YOURSELF. It is - extremely unlikely that you will want to have alignment targets if - you send gerber files to a commercial pcb manufacture to be made. - -`scaling' - It's quite useful to enlarge your printout for checking the layout. - Use the scrollbar to adjust the scaling factor to your needs. - -`media' - Select the size of the output media from this menu. The user - defined size may be set by the resource *media* either from one of - the well known paper sizes or by a `X11' geometry specification. - This entry is only available if you use `X11R5' or later. For - earlier releases the user defined size or, if not available, *A4* - is used. Well known size are: - A3 - A4 - A5 - letter - tabloid - ledger - legal - executive - -`offset' - Adjust the offsets of the printout by using the panner at the - right side of the dialog box. This entry is only available if you - use `X11R5' or later. A zero offset is used for earlier releases. - -`8.3 filenames' - Select this button to generate DOS compatible filenames for the - output files. The *command* input area will disappear if selected. - -`commandline' - Use this line to enter a command (starts with `|') or a filename. - A %f is replaced by the current filename. The default is set by - the resource *printCommand*. - - The created file includes some labels which are guaranteed to stay -unchanged -`PCBMIN' - identifies the lowest x and y coordinates in mil. - -`PCBMAX' - identifies the highest x and y coordinates in mil. - -`PCBOFFSET' - is set to the x and y offset in mil. - -`PCBSCALE' - is a floating point value which identifies the scaling factor. - -`PCBSTARTDATA' -`PCBENDDATA' - all layout data is included between these two marks. You may use - them with an `awk' script to produce several printouts on one - piece of paper by duplicating the code and putting some - `translate' commands in front. Note, the normal `PostScript' - units are 1/72 inch. - - -File: pcb.info, Node: Connection Lists, Next: Selection, Prev: Printing, Up: Getting Started - -Connection Lists -================ - - After completing parts of your layout you may want to check if all -drawn connections match the ones you have in mind. This is probably -best done in conjunction with a net-list file: see *Note Rats Nest::. -The following examples give more rudimentary ways to examine the -connections. - 1) create at least two elements and name them - 2) create some connections between their pins - 3) optionally add some vias and connections to them - - Now select *lookup connection* from the *Connections* menu, move the -cursor to a pin or via and press any mouse button. `Pcb' will look for -all other pins and/or vias connected to the one you have selected and -display the objects in a different color. Now try some of the reset -options available from the same menu. - - There also is a way to scan all connections of one element. Select -*a single element* from the menu and press any button at the element's -location. All connections of this element will be saved to the -specified file. Either the layout name of the element or its canonical -name is used to identify pins depending on the one which is displayed -on the screen (may be changed by *Display* menu). - - An automatic scan of all elements is initiated by choosing *all -elements*. It behaves in a similar fashion to scanning a single element -except the resource *resetAfterElement* is used to determine if -connections should be reset before a new element is scanned. Doing so -will produce very long lists because the power lines are rescanned for -every element. By default the resource is set to *false* for this -reason. - - To scan for unconnected pins select *unused pins* from the same menu. - - -File: pcb.info, Node: Selection, Next: Rats Nest, Prev: Connection Lists, Up: Getting Started - -Selection -========= - - Some commands mentioned earlier in this chapter also are able to -operate on all selected and visible objects. Now go back to the layout -and toggle the selection flag of a single one by *<Btn3Down>*. Try -*<Btn3Down>*, move the pointer while holding the button down and -release it on a different location. This selects all objects inside -the rectangle and unselects everything else. Dragging with -*Mod1<Btn3Down>* adds everything in the box to the existing selection. -Dragging *Shift <Btn3Down>* unselects objects in the box. - - The entries of the *Selection* menu are hopefully self-explanatory. -Many of the *Action Commands* can take various key words that make them -function on all or some of the selected items. - - -File: pcb.info, Node: Rats Nest, Next: Design Rule Checking, Prev: Selection, Up: Getting Started - -Rats Nest -========= - - If you have a netlist that corresponds to the layout you are working -on, you can use the rats-nest feature to add rat-lines to the layout. -First you will need to load a netlist file (see *:rn*, *Note User -Commands::). *<Key>w* adds rat-lines on the active layer using the -current line thickness shown in the status line (usually you'll want -them to be thin lines). Only those rat-lines that fill in missing -connectivity (since you have probably routed some connections already) -are added. If the layout is already completely wired, nothing will be -added, and you will get a message that the wiring is complete. - - Rat-lines are lines having the special property that they only -connect to pins and pads at their end points. Rat-lines are drawn on -the screen with a stippled pattern to make them easier to identify -since they have special behavior and cannot remain in a completed -layout. Rat-lines are added in the minimum length straight-line tree -pattern (always ending on pins or pads) that satisfies the missing -connectivity in the circuit. Used in connection with moves and rotates -of the elements, they are extremely useful for deciding where to place -elements on the board. The rat-lines will always automatically -rubberband to the elements whether or not the rubberband mode is on. -The only way for you to move them is by moving the parts they connect -to. This is because it is never desireable to have the rat-lines -disconnected from their element pins. Rat-lines will normally -criss-cross all over which gives rise to the name "rats nest" -describing a layout connected with them. If a SMD pad is unreachable -on the active layer, a warning will be issued about it and the rat-line -to that pad will not be generated. - - A common way to use rats nests is to place some elements on the -board, add the rat-lines, and then use a series of moves/rotates of the -elements until the rats nest appears to have minimum tangling. You may -want to iterate this step several times. Don't worry if the layout -looks messy - as long as you can get a sense for whether the -criss-crossing is better or worse as you move things, you're fine. -After moving some elements arround, you may want to optimize the rats -nest *<Key>o* so that the lines are drawn between the closest points -(this can change once you've moved components). Adding rat-lines only -to selected pads/pins (*Shift<Key>w*) is often useful to layout a -circuit a little bit at a time. Sometimes you'll want to delete all -the rat-lines (*<Key>e*) or selected rat-lines (*Shift<Key>e*) in order -to reduce confusion. With a little practice you'll be able to achieve -a near optimal component placement with the use of a rats nest. - - Rat-lines are not only used for assisting your element placement, -they can also help you to route traces on the board. Use the *<Key>m* -to convert a rat-line under the cursor into a normal line on the active -layer. Inserting a point into a rat-line will also cause the two new -lines to be normal lines on the board. Another way that you can use -rat-lines is to use the *<Key>f* with the cursor over a pad or pin. -All of the pins and pads and rat-lines belonging to that net will be -highlighted. This is a helpful way to distinguish one net from the rest -of the rats nest. You can then route those tracks, turn off the -highlighting (*Shift<Key>f*) and repeat the process. This will work even -if the layer that the rat-lines reside on is made invisible - so only -the pins and pads are highlighted. Be sure to erase the rat-lines -(*<Key>e* erases them all) once you've duplicated their connectivity by -adding your own lines. When in doubt, the *<Key>o* will delete only -those rat-lines that are no longer needed. - - If connections exist on the board that are not listed in the netlist -when *<Key>w* is pressed, warning messages are issued and the affected -pins and pads are drawn in a special *warnColor* until the next -*Notify()* event. If the entire layout agrees completely with the -netlist, a message informs you that the layout is complete and no -rat-lines will be added (since none are needed). If the layout is -complete, but still has rat-lines then you will be warned that -rat-lines remain. If you get no message at all it's probably because -some elements listed in the net list can't be found and where reported -in an earlier message. There shouldn't be any rat-lines left in a -completed layout, only normal lines. - - The *Shift<Key>w* is used to add rat-lines to only those missing -connections among the selected pins and pads. This can be used to add -rat-lines in an incremental manner, or to force a rat-line to route -between two points that are not the closest points within the net. -Often it is best to add the rats nest in an incremental fashion, laying -out a sub-section of the board before going further. This is easy to -accomplish since new rat-lines are never added where routed -connectivity already makes the necessary connections. - - -File: pcb.info, Node: Design Rule Checking, Prev: Rats Nest, Up: Getting Started - -Design Rule Checking -==================== - - After you've finished laying out a board, you may want to check to -be certain that none of your interconnections are too closely spaced or -too tenuously touching to be reliably fabricated. The design rule -checking (DRC) function does this for you. Use the command ":DRC()" -(without the quotes of course) to invoke the checker. If there are no -problem areas, you'll get a message to that effect. If any problem is -encountered, you will get a message about it and the affected traces -will be highlighted. One part of the tracks of concern will be -selected, while the other parts of concern will have the -"FindConnection" highlighting. The screen will automatically be -centered in the middle of the object having the "FindConnection" -(Green) highlighting. The middle of the object is also the coordinates -reported to be "near" the problem. The actual trouble region will be -somewhere on the boundary of this object. If the two parts are from -different nets then there is some place where they approach each other -closer than the minimum rule. If the parts are from the same net, then -there is place where they are only barely connected. Find that place -and connect them better. - - After a DRC error is found and corrected you must run the DRC again -because the search for errors is halted as soon as the first problem is -found. Unless you've been extremely careless there should be no more -than a few design rule errors in your layout. The DRC checker does not -check for minimum spacing rules to copper text, so always be very -careful when adding copper text to a layout. The rules for the DRC are -specified in the application resource file. The minimum spacing value -(in mils) is given by the *Settings.Bloat* value. The default is 7 -mils. The minimum touching overlap (in mils) is given by the -*Settings.Shrink* value. This value defaults to 5 mils. Check with your -fabrication process people to determine the values that are right for -you. - - If you want to turn off the highlighting produced by the DRC, -perform an undo (assuming no other changes have been made). To restore -the highlighting, use redo. The redo will restore the highlighting -quickly without re-running the DRC checker. - - -File: pcb.info, Node: User Commands, Next: Command-Line Options, Prev: Getting Started, Up: Top - -User Commands -************* - - The entering of user-commands is initiated by the action routine -*Command()* (the `(":")' character) and finished by either *<Key>Return* -or *<Key>Escape* to confirm or to abort. These two keybindings cannot -be changed from the resource file. The triggering event, normally a -key press, is ignored. The input area will replace the bottom -statusline. It pops up when *Command()* is called. The arguments of the -user-commands are passed to the external commands without modification. -See also, the resource *saveInTMP*. - - There are simple *usage* dialogs for each command and one for the -complete set of commands. - -`l [filename]' - Loads a new datafile (layout) and, if confirmed, overwrites any - existing unsaved data. The filename and the searchpath - (*filePath*) are passed to the command defined by *fileCommand*. - If no filename is specified a file select box will popup. - -`le [filename]' - Loads an element description into the paste buffer. The filename - and the searchpath (*elementPath*) are passed to the command - defined by *elementCommand*. If no filename is specified a file - select box will popup. - -`m [filename]' - Loads an layout file into the paste buffer. The filename and the - searchpath (*filePath*) are passed to the command defined by - *fileCommand*. If no filename is specified a file select box will - popup. - -`q[!]' - Quits the program without saving any data (after confirmation). - q! doesn't ask for confirmation, it just quits. - -`s [filename]' - Data and the filename are passed to the command defined by the - resource *saveCommand*. It must read the layout data from *stdin*. - If no filename is entered, either the last one is used again or, - if it is not available, a file select box will pop up. - -`rn [filename]' - Reads in a netlist file. If no filename is given a file select - box will pop up. The file is read via the command defined by the - *RatCommand* resource. The command must send its output to - *stdout*. The netlist received by pcb must have this simple text - form: - - netname NAME-PINNUM NAME2-PINNUM2 NAME3-PINNUM3 ... [\] - - where "netname" is the name of the net (currently its value is - ignored but it must be present nonetheless), NAME is the - layout-name given to an element, and PINNUM is the (usually - numeric) pin number of the element that is part of the net (see - *Note Element Objects:: for details on pin numbering). Spaces or - tabs separate the fields. If the line ends with a "\" the net - continues on the next line and the "\" is treated exactly as if it - were a space. If the NAME ends with a lower-case letter, all - lower-case letters are stripped from end of the NAME to determine - the matching name-on-board name. For example: - - Data U1-3 U2abc-4 FLOP1a-7 Uabc3-A9 - - would specifiy that pin 3 of U1 be connected to pin 4 of U2, to - pin 7 of FLOP1 and to pin A9 of Uabc3. Note that if pin numbers - contain alphabetic characters, they must match the case contained - in the "number" string defining the pin number on the - cooresponding element. It is up to you to name the elements so - that their layout-names agrees with the netlist. Netlists are - used for generating rats nest (see *Note Rats Nest::) and for - verifying the board layout (which is also accomplished by the - *Ratsnest* command. - -`w[q] [filename]' - These commands have been added for the convenience of `vi' users - and have the same functionality as *s* combined with *q*. - -`actionCommand' - Causes the actionCommand to be executed. This allows you to - initiate actions for which no bindings exist in the resource file. - It can be used to initiate any action with whatever arguments you - enter. This makes it possible to do things that otherwise would - be extremely tedious. For example, to change the drilling hole - diameter of all vias in the layout to 32 mils, you could select - everything using the selection menu, then type - "*:ChangeDrillSize(SelectedVias, 32)*". (This will only work - provided the via's diameter is sufficiently large to accomodate a - 32 mil hole). Another example might be to set the grid to 1 mil - by typing "*:SetValue(Grid, 1)*". Note that some actions use the - current cursor location, so be sure to place the cursor where you - want before entering the command. This is one of my favorite new - features in 1.5 and can be a powerful tool. Study the *Note - Actions:: section to see what actions are available. - - -File: pcb.info, Node: Command-Line Options, Next: X11 Interface, Prev: User Commands, Up: Top - -Command-Line Options -******************** - - There are several resources which may be set or reset in addition to -the standard toolkit command-line options. For a complete list refer to -*Note Resources::. - - The synopsis is: - - `pcb [-option ...] [-toolkit_option ...] [layout-file]' - - or - - `pcb -specialoption' - -* Menu: - -* Options:: `Pcb' command-line options. -* Special Options:: Version and copyright information. - - -File: pcb.info, Node: Options, Next: Special Options, Up: Command-Line Options - -Options -======= - -`-alldirections/+alldirections' - Disables or enables line clipping to 45 degree angles. Overwrites - the resource *allDirectionLines*. - -`-backup value' - Time between two backups in seconds. Passing zero disables the - backup feature. Overwrites the resource *backupInterval*. - -`-c value' - Number of characters per output line. The resource - *charactersPerLine* is overwritten. - -`-fontfile filename' - The default set of symbols (font) for a new layout is read from - this file. All directories as defined by the resource *fontPath* - are scanned for the file. The scan is only performed if the - filename doesn't contain a directory component. The *fontFile* - resource is changed. - -`-lelement command-line' - Sets the command to be executed when an element is loaded from a - file to the paste buffer. The command may contain %f and %p to - pass the requested filename and the searchpath to the command. It - must write the data to its standard output. The related resource - is *elementCommand*. - -`-lfile command-line' - Sets the command to be executed when a new layout is loaded from a - file. The command may contain %f and %p to pass the requested - filename and the searchpath to the command. It must write the data - to its standard output. The related resource is *fileCommand*. - -`-lfont command-line' - Sets the command to be executed when a font is loaded from a file. - The command may contain %f and %p to pass the requested filename - and the searchpath to the command. It must write the data to its - standard output. The related resource is *fontCommand*. - -`-lg layergroups' - This option overwrites the resource *layerGroups*. See its - description for more information. The value is used for new - layouts only. - -`-libname filename' - The default filename for the library. Overwrites the resource - *libraryFilename*. - -`-libpath path' - The default search path for the the library. Overwrites the - resource *libraryPath*. - -`-llib command-line' - Sets the command to be executed when an element is loaded from the - library. The command may contain %f and %p to pass the requested - filename and the searchpath to the command. %a is replaces by the - three arguments *template*, *value* and *package*. The command - must write the data to its standard output. The related resource - is *libraryCommand*. - -`-llibcont command-line' - The command lists the contents of the library. The command may - contain %f and %p to pass the library filename and the searchpath - to the command. Also refer to *Note Library File:: and *Note - Library Contents File::. The related resource is - *libraryContentsCommand*. - -`-loggeometry geometry' - Determines the geometry of the log window. - -`-pnl value' - Restricts the displayed length of the name of a pin in the pinout - window to the passed value. See also, the resource - *pinoutNameLength*. - -`-pz value' - Sets the zoom factor for the pinout window according to the - formula: scale = 1:(2 power value). The related resource is - *pinoutZoom*. - -`-reset/+reset' - If enabled, all connections are reset after each element is - scanned. This feature is only used while scanning connections to - all elements. See also, *resetAfterElement*. - -`-ring/+ring' - Overrides the resource *ringBellWhenFinished*. If enabled, the bell - sounds when connection searching has finished. - -`-rs string' - Overrides the resource *routeStyle*. The string defines a colon - separated list of route styles. The route styles consist of a - comma separated list of name, line thickness, via diameter, and - via drill size. e.g. - "Fat,50,100,40:Skinny,8,35,20:75Ohm,110,110,20" - -`-s/+s' - Enables/Disables the saving of the previous commandline. Overrides - the *saveLastCommand* resource. - -`-save/+save' - See the resource description of *saveInTMP* for details. - -`-sfile command-line' - Sets the command to be executed when an layout file is saved. The - command may contain %f which is replaced by the filename. The - command must read its data from the standard input. The resource - *saveCommand* is overwritten. - -`-size <width>x<height>' - Overrides the resource *size* which determines the maximum size of - a layout. - -`-v value' - Sets the volume of the X speaker. The value is passed to `XBell()' - and must be in the range -100..100. - - -File: pcb.info, Node: Special Options, Prev: Options, Up: Command-Line Options - -Special Options -=============== - - There are some special options available in addition to normal -command line options. Each of these must be the only option specified -on a command line. The available special options are: - -`-copyright' - Prints out the copyright notice and terminates. - -`-version' - Prints out the version ID and terminates. - -`-help' - Prints out the usage message and terminates. - - -File: pcb.info, Node: X11 Interface, Next: File Formats, Prev: Command-Line Options, Up: Top - -X11 Interface -************* - - This chapter gives an overview about the additional `X11' resources -which are defined by `Pcb' as well as the defined action routines. - -* Menu: - -* Resources:: Non-standard `X11' application resources. -* Actions:: A list of available action routines. -* Translations:: A list of the default key translations (as shipped). - - -File: pcb.info, Node: Resources, Next: Actions, Up: X11 Interface - -Non-Standard X11 Application Resources -====================================== - - In addition to the toolkit resources, `Pcb' defines the following -resources: - -`absoluteGrid (boolean)' - Selects if either the grid is relative to the position where it - has changed last or absolute, the default, to the origin (0,0). - -`alignmentDistance (dimension)' - Specifies the distance between the boards outline to the alignment - targets. - -`allDirectionLines (boolean)' - Enables (default) or disables clipping of new lines to 45 degree - angles. - -`backupInterval (int)' - `Pcb' has an automatic backup feature which saves the current data - every n seconds. The default is *300* seconds. A value of zero - disables the feature. The backup file is named - `/tmp/PCB.%i.backup'. *%i* is replaced by the process ID. See - also, the command-line option *-backup*. - -`Bloat (dimension)' - Specifies the minimum spacing design rule in mils. - -`charactersPerLine (int)' - `Pcb' uses this value to determine the page width when creating - lists. N, the number of characters per line, defaults to *80*. - See also, the command-line option *-c*. - -`connectedColor (color)' - All pins, vias, lines and rectangles which are selected during a - connection search are drawn with this color. The default value is - determined by *XtDefaultForeground*. - -`crosshairColor (color)' - This color is used to draw the crosshair cursor. The color is a - result of a *XOR* operation with the contents of the drawing area. - The result also depends on the default colormap of the `X11' - server because only the colormap index is used in the boolean - operation and `Pcb' doesn't create its own colormap. The default - setting is *XtDefaultForeground*. - -`elementColor (color)' -`elementSelectedColor (color)' - The elements package part is drawn in these colors, for normal and - selected mode, respectively, which both default to - *XtDefaultForeground*. - -`elementCommand (string)' - `Pcb' uses a user defined command to read element files. This - resources is used to set the command which is executed by the - users default shell. Two escape sequences are defined to pass the - selected filename (%f) and the current search path (%p). The - command must write the element data to its standard output. The - default value is - M4PATH="%p";export M4PATH;echo 'include(%f)' | m4 - Using the GNU version of `m4' is highly recommended. See also, - the command-line option *-lelement*. - -`elementPath (string)' - A colon separated list of directories or commands (starts with - '|'). The path is passed to the program specified in - *elementCommand* together with the selected elementname. A - specified command will be executed in order to create entries for - the fileselect box. It must write its results to *stdout* one - entry per line. See also, the user-command *le[!]*. - -`fileCommand (string)' - The command is executed by the user's default shell whenever - existing layout files are loaded. Data is read from the command's - standard output. Two escape sequences may be specified to pass - the selected filename (%f) and the current search path (%p). The - default value is: - cat %f - See also, the command-line option *-lfile*. - -`filePath (string)' - A colon separated list of directories or commands (starts with - '|'). The path is passed to the program specified in - *fileCommand* together with the selected filename. A specified - command will be executed in order to create entries for the - fileselect box. It must write its results to *stdout* one entry - per line. See also, the user-command *l[!]*. - -`fontCommand (string)' - Loading new symbol sets also is handled by an external command. - You again may pass the selected filename and the current search - path by passing %f and %p in the command string. Data is read from - the commands standard output. This command defaults to - cat %f - See also, the command-line option *-lfont*. - -`fontFile (string)' - The default font for new layouts is read from this file which is - searched in the directories as defined by the resource *fontPath*. - Searching is only performed if the filename does not contain a - directory component. The default filename is `default_font'. See - also, the command-line option *-fontfile*. - -`fontPath (string)' - This resource, a colon separated list of directories, defines the - searchpath for font files. See also, the resource *fontFile*. - -`grid (int)' - This resources defines the initial value of one cursor step. It - defaults to *100 mil* and any changes are saved together with the - layout data. - -`gridColor (color)' - This color is used to draw the grid. The color is a result of a - *INVERT* operation with the contents of the drawing area. The - result also depends on the default colormap of the `X11' server - because only the colormap index is used in the boolean operation - and `Pcb' doesn't create its own colormap. The default setting is - *XtDefaultForeground*. - -`elementColor (color)' - Elements localted on the opposite side of the board are drawn in - this color. The default is *XtDefaultForeground*. - -`layerColor1..8 (color)' -`layerSelectedColor1..8 (color)' - These resources define the drawing colors of the different layers - in normal and selected state. All values are preset to - *XtDefaultForeground*. - -`layerGroups (string)' - The argument to this resource is a colon separated list of comma - separated layernumbers (1..8). All layers within one group are - switched on/off together. The default setting is *1:2:3:...:8* - which means all layers are handled separatly. Grouping layers one - to three looks like *1,2,3:4:...:8* See also, the command-line - option *-lg*. - -`layerName1..8 (string)' - The default name of the layers in a new layout are determined by - these resources. The defaults are empty strings. - -`libraryCommand (string)' - `Pcb' uses a command to read element data from libraries. The - resources is used to set the command which is executed by the users - default shell. Three escape sequences are defined to pass the - selected filename (%f), the current search path (%p) as well (%a) - as the three parameters *template*, *value* and *package* to the - command. It must write the element data to its standard output. - The default value is - /usr/X11R6/lib/X11/pcb/QueryLibrary.sh %p %f %a - -`libraryContentsCommand (string)' - Similar to *libraryCommand*, `Pcb' uses the command specified by - this resource to list the contents of a library. - /usr/X11R6/lib/X11/pcb/ListLibraryContents.sh %p %f - is the default. - -`libraryFilename (string)' - The resource specifies the name of the library. The default value - is *pcblib*. - -`libraryPath (string)' - A colon separated list of directories that will be passed to the - commands specified by *elementCommand* and - *elementContentsCommand*. - -`lineThickness (dimension)' - The value, int the range [1..250], defines the initial thickness - of new lines. The value is preset to *ten mil*. - -`media (<predefined> | <width>x<height>+-<left_margin>+-<top_margin>)' - The default (user defined) media of the `PostScript' device. - Predefined values are *a3*, *a4*, *a5*, *letter*, *tabloit*, - *ledger*, *legal*, and *executive*. The second way is to specify - the medias width, height and margins in mil. The resource - defaults to *a4* size. - -`offLimitColor (color)' - The area outside the current maximum settings for width and height - is drawn with this color. The default value is determined by - *XtDefaultBackground*. - -`pinColor (color)' -`pinSelectedColor(color)' - This resource defines the drawing color of pins and pads in both - states. The values are preset to *XtDefaultForeground*. - -`pinoutFont (string)' - This fonts are used to display pin names. There is one font for - each zoom value. The values are preset to *XtdefaultFont*. - -`pinoutNameLength (int)' - This resource limits the number of characters which are displayed - for pin names in the pinout window. By default the string length - is limited to *eight* characters per name. See also, the - command-line option *-pnl*. - -`pinoutOffsetX (int)' -`pinoutOffsetY (int)' - These resources determine the offset in *mil* of the circuit from - the upper left corner of the window when displaying pinout - information. Both default to *100 mil*. - -`pinoutTextOffsetX (int)' -`pinoutTextOffsetY (int)' - The resources determine the distance in mil between the drilling - hole of a pin to the location where its name is displayed in the - pinout window. They default to *X:50* and *Y:0*. - -`pinoutZoom (int)' - Sets the zoom factor for the pinout window according to the - formula: scale = 1:(2 power value). Its default value is *two* - which results in a *1:4* scale. See also, the command-line option - *-pz*. - -`printCommand (string)' - Default file for printouts. If the name starts with a '|' the - output is piped through the command. A %f is replaced by the - current filename. There is no default file or command. - -`raiseLogWindow (boolean)' - The log window will be raised when new messages arrive if this - resource is set *true*, the default. - -`ratCommand (string)' - Default command for reading a netlist. A %f is replaced by the - netlist filename. Its default value is "*cat %f*". - -`ratPath (string)' - Default path to look for netlist files. It's default value is "." - -`resetAfterElement (boolean)' - If set to *true*, all found connections will be reset before a new - element is scanned. This will produce long lists when scanning the - whole layout for connections. The resource is set to *false* by - default. The feature is only used while looking up connections of - all elements. See also, the command-line option *-reset, +reset*. - -`ringBellWhenFinished (boolean)' - Whether to ring the bell (the default) when a possibly lengthy - operation has finished or not. See also, the command-line option - *-ring, +ring*. - -`routeStyle (string)' - Default values for the menu of routing styles (seen in the sizes - menu). The string is a comma separated list of name, line - thickness, via diameter, and via drill size. e.g. - "Fat,50,100,40:Skinny,8,35,20:75Ohm,110,110,20" See also, the - command-line option *-rs* and *Sizes Menu* - -`rubberBandMode (boolean)' - Whether rubberband move and rotate (attached lines stretch like - rubberbands) is enabled (the default). - -`saveCommand (string)' - This command is used to save data to a layout file. The filename - may be indicated by placing `%f' in the string. It must read the - data from its standard input. The default command is: - cat - > %f - See also, the command-line option *-sfile*. - -`saveInTMP (boolean)' - Enabling this resource will save all data which would otherwise be - lost in a temporary file `/tmp/PCB.%i.save'. *%i* is replaced by - the process ID. As an example, loading a new layout when the old - one hasn't been saved would use this resource. See also, the - command-line option *-save, +save*. - -`saveLastCommand (boolean)' - Enables the saving of the last entered user command. The option is - *disabled* by default. See also, the command-line option *-s, +s*. - -`Shrink (dimension)' - Specifies the minimum overlap (touching) design rule in mils. - -`size (<width>x<height>)' - Defines the width and height of a new layout. The default is - *7000x5000*. - -`stipllePolygons (boolean)' - Determines whether to display polygons on the screen with a - stippled pattern. Stippling can create some amount of - transperency so that you can still (to some extent) see layers - beneath polygons. It defaults to False. - -`textScale (dimension)' - The font scaling in percent is defined by this resource. The - default is *100* percent. - -`useLogWindow (boolean)' - Several subroutines send messages to the user if an error occurs. - This resource determines if they appear inside the log window or - as a separate dialog box. See also, the resource *raiseLogWindow* - and the command line option *-loggeometry*. The default value is - *true*. - -`viaColor (color)' - -`viaSelectedColor (color)' - This resource defines the drawing color of vias in both states. - The values are preset to *XtDefaultForeground*. - -`viaThickness (dimension)' -`viaDrillingHole (dimension)' - The initial thickness and drilling hole of new vias. The values - must be in the range [30..250] with at least 20 mil of copper. - The default thickness is *40 mil* and the default drilling hole is - *20 mil*. - -`volume (int)' - The value is passed to `XBell()' which sets the volume of the `X' - speaker. The value lies in the range -100..100 and it defaults to - the maximum volume of *100*. - -`warnColor (color)' - This resources defines the color to be used for drawing pins and - pads when a warning has been issued about them. - -`zoom (int)' - The initial value for output scaling is set according to the - following formula: scale = 1:(2 power value). It defaults to - *three* which results in an output scale of *1:8*. - - Refer also to *Note Command-Line Options::. - - -File: pcb.info, Node: Actions, Next: Translations, Prev: Resources, Up: X11 Interface - -Actions -======= - - All user accessible commands may be bound to almost any `X' event. -Almost no default binding for commands is done in the binaries, so it -is vital for the application that at least a system-wide application -resource file exists. This file normally resides in the -`X11/lib/app-defaults' directory and is called `Pcb'. The bindings to -which the manual refers to are the ones as defined by the shipped -resource file. Besides binding an action to an X11 event, you can also -execute any action command using a ":" command (see *Note User -Commands::). - - Take special care about translations related to the functions keys -and the pointer buttons because most of the window managers use them -too. Change the file according to your hardware/software environment. -You may have to replace all occurances of *baseTranslations* to -*translations* if you use a `X11R4' server. - - Passing *Object* as an argument to an action routine causes the -object at the cursor location to be changed, removed or whatever. If -more than one object is located at the crosshair position the smallest -type is used. If there are two of the same type the newer one is taken. -*SelectedObjects* will handle all selected and visible objects. - -`AddRats(AllRats|SelectedRats)' - Adds rat-lines to the layout using the loaded netlist file (see - the *:rn*, *Note User Commands::.). Rat lines are added on the - active layer using the current line thickness shown in the status - line. Only missing connectivity is added by the AddRats command - so if, for example, the layout is complete nothing will be added. - Rat lines are drawn on the screen with a stippled pattern to make - them easier to identify since they cannot appear in a completed - layout. The rat-lines are added in the minimum length - straight-line tree pattern (always ending on pins or pads) that - satisfies the missing connectivity in the circuit. If a SMD pad - is unreachable on the active layer, a warning will be issued about - it and the rat-line to that pad will not be generated. If - connections exist on the board which are not listed in the netlist - while AllRats are being added, warning messages will be issued and - the affected pins and pads will be drawn in a special *warnColor* - until the next *Notify()* event. If the entire layout agrees - completely with the net-list a message informs you that the layout - is complete and no rat-lines are added (since none are needed). - If *SelectedRats* is passed as the argument, only those missing - connections that might connect among the selected pins and pads - are drawn. Default: - None<Key>w: AddRats(AllRats) - !Shift<Key>w: AddRats(SelectedRats) - None<Key>o: DeleteRats(AllRats) AddRats(AllRats) - !Shift<Key>o: DeleteRats(SelectedRats) AddRats(SelectedRats) - -`Atomic(Save|Restore|Block|Close)' - Controls the undo grouping of sequences of actions. Before the - first action in a group, Atomic(Save) should be issued. After - each action that might be undoable, Atomic(Restore) should be - issued. Atomic(Block) concludes and save the undo grouping if - there was anything in the group to undo. Atomic(Close) concludes - and save the undo grouping even if nothing was actually done. - Thus it might produce an "empty" undo. This can be useful when - you want to use undo in a group of actions. - -`Bell([-100..100])' - Rings the bell of your display. If no value is passed the setting - of the resource *volume* will be used. - -`ChangeDrillSize(Object, value)' -`ChangeDrillSize(SelectedPins|SelectedVias, value)' - This action routine changes the drilling hole of pins and vias. - If *value* starts with + or -, then it adds (or subtracts) *value* - from the current hole diameter, otherwise it sets the diameter to - the value. Default: - !Mod1<Key>s: Change2ndSize(Object, +5) - !Mod1 Shift<Key>s: Change2ndSize(Object, -5) - -`ChangeHole(Object|SelectedVias)' - This action routine converts a via to and from a hole. A hole is - a via that has no copper annulus. The drill size for the via - determines the hole diameter. - !Ctrl<Key>h: ChangeHole(Object) - -`ChangeName(Object)' -`ChangeName(Layer|Layout)' - Changes the name of the visible object at the cursor location. A - text object doesn't have a name therefore the text string itself - is changed. The element name currently used for display is always - the one changed with this command. See - *Display(Description|NameOnPCB|Value)* for details. Passing - *Layer* changes the current layers name. Default: - None<Key>n: ChangeName(Object) - -`ChangeOctagon(Object|SelectElements|SelectedPins|SelectedVias|Selected)' - Toggles what shape the affected pin(s) or via(s) will be drawn - when they are not square. The shape will either be round or - octagonal. Default: - !Ctrl<Key>o: ChangeOctagon(Object) - -`ChangeSize(Object, value)' -`ChangeSize(SelectedLines|SelectedPins|SelectedVias, value)' -`ChangeSize(SelectedPads|SelectedTexts|SelectedNames, value)' -`ChangeSize(SelectedElements, value)' - To change the size of an object you have to bind these action to - some `X' event (or use :ChangeSize(...)). If *value* begins with - a + or - then the value will be added (or subtracted) from the - current size, otherwise the size is set equal to *value*. Range - checking is done to insure that none of the maximum/minimums of - any size are violated. If *Object* is passed then a single object - at the cursor location is changed. If any of the *Selected* - arguments are passed then all selected and visible objects of that - type are changed. If the type being modified is an element, then - the thickness of the silkscreen lines defining the element is - changed. Default: - None<Key>s: ChangeSize(Object, +5) - !Shift<Key>s: ChangeSize(Object, -5) - -`ChangeSquare(Object|SelectedElements|SelectedPins)' - Toggles the setting of the square flag. The flag is used to - identify a certain pin, normally the first one, of circuits. It is - also used to make SMD pads have square ends. - None<Key>q: ChangeSquare(Object) - -`Command()' - Calling *Command()* pops up an input line at the bottom of the - window which allows you to enter commands. Including all action - commands! The dialog ends when *None<Key>Return* to confirm or - *None<Key>Escape* to abort is entered. Default: - <Key>colon: Command() - -`Connection(Find)' -`Connection(ResetFoundLinesAndRectangles|ResetPinsViasAndPads|Reset)' - The *Connection()* action is used to mark all connections from one - pin, line or via to others. The *ResetFoundLinesAndRectangles, - ResetFoundPinsAndVias* and *Reset* arguments may be used to reset - all marked lines and rectangles, vias and pins or all of them. The - search starts with the pin or via at the cursor position. All - found objects are drawn with the color defined by the resource - *connectedColor*. See also, - *Display(Description|NameOnPCB|Value)*. Default: - !Shift<Key>c: Connection(Reset) - None<Key>f: Connection(Find) - !Shift<Key>f: Connection(Reset) - -`DeleteRats(AllRats|SelectedRats)' - This routine deletes either all rat-lines in the layout, or only - the selected and visible ones. Non-rat-lines and other layout - objects are unaffected. Default: - None<Key>e: DeleteRats(AllRats) - !Shift<Key>e: DeleteRats(SelectedRats) - -`Display(Description|NameOnPCB|Value)' -`Display(Toggle45Degree|CycleClip)' -`Display(Grid|ToggleGrid)' -`Display(ToggleRubberBandMode)' -`Display(Center|ClearAndRedraw|Redraw)' -`Display(Pinout|PinOrPadName)' - This action routines handles some output related settings. It is - used to center the display around the cursor location and to - redraw the output area optionally after clearing the window. - Centering is done with respect to the *grid* setting. Displaying - the grid itself may be switched on and off by *Grid* but only if - the distance between two pixels exceeds 1_DISTANCE pixels. `Pcb' - is able to handle several labels of an element. One of them is a - description of the functionality (eg resistor), the second should - be a unique identifier (R1) whereas the last one is a value (100k). - The *Display()* action selects which of the names is displayed. - It also controls which name will be affected by the *ChangeName* - command. If *ToggleGrid* is passed, `Pcb' changes between relative - ('rel' in the statusline) and absolute grid (an 'abs' in the - statusline). Relative grid means the pointer position when the - command is issued is used as the grid origin; while (0,0) is used - in the absolute grid case. Passing *Pinout* displays the pinout - of the element at the current cursor location whereas - *PinOrPadName* toggles displaying of the pins or pads name under - the cursor. If none of them matches but the cursor is inside of an - element, the flags is toggled for all of its pins and pads. For - details about rubberbands see also the details about *Mode*. - Default: - None<Key>c: Display(Center) - None<Key>d: Display(PinOrPadName) - !Shift<Key>d: Display(Pinout) - None<Key>r: Display(ClearAndRedraw) - None<Key>.: Display(Toggle45Degree) - None<Key>/: Display(CycleClip) - -`DRC()' - Initiates design rule checking of the entire layout. Must be - repeated until no errors are found. - -`EditLayerGroups()' - Pops up a dialog box to edit the layergroup setting. The function - is also available from the *Objects* menu. There are no defaults. - -`Load(ElementToBuffer|Layout|LayoutToBuffer|Nelist)' - This routine pops up a fileselect box to load layout, element data, - or netlist. The passed filename for layout data is saved and may - be reused. *ElementToBuffer* and *LayoutToBuffer* load the data - into the current buffer. There are no defaults. - -`MarkCrosshair()' - This routine marks the current cursor location with an X, and then - the cursor display shows both absolute position and position - relative to the mark. If a mark is already present, this routine - removes it and stops displaying relative cursor coordinates. - Defaults: - !Ctrl<key>m: MarkCrosshair() - -`Mode(Copy|InsertPoint|Line|Move|None|PasteBuffer|Polygon|Thermal)' -`Mode(Remove|Rectangle|RubberbandMove|Text|Via)' -`Mode(Cycle)' -`Mode(Notify)' -`Mode(Save|Restore)' - Switches to a new mode of operation. The active mode is displayed - by a thick line around the matching mode selector button. Most of - the functionality of `Pcb' is implemented by selecting a mode and - calling *Mode(Notify)*. The arguments *Line*, *Polygon*, - *Rectangle*, *Text* and *Via* are used to create the appropriate - object whenever *Mode(Notify)* is called. Some of them, such as - *Polygon*, need more than one call for one object to be created. - *InsertPoint* adds points to existing polygons or lines. *Save* - and *Restore* are used to temporarily save the mode, switch to - another one, call *Mode(Notify)* and restore the saved one. Have a - look at the application resource file for examples. *Copy* and - *Move* modes are used to change an object's location and, - optionally, to create a new one. The first call of *Mode(Notify)* - attaches the object at the pointer location to the crosshair - whereas the second one drops it to the layout. The *rubberband* - version of move performs the move while overriding the current - rubberband mode. Passing *PasteBuffer* attaches the contents of - the currently selected buffer to the crosshair. Each call to - *Mode(Notify)* pastes this contents to the layout. *Mode(Cycle)* - cycles through the modes available in the mode-button pallete. - *Mode(None)* switches all modes off. Default: - <Key>Escape: Mode(None) - <Key>space: Mode(Cycle) - None<Key>BackSpace: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore) - None<Key>Delete: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore) - None<Key>F1: Mode(Via) - None<Key>F2: Mode(Line) - None<Key>F3: Mode(PasteBuffer) - None<Key>F4: Mode(Rectangle) - None<Key>F5: Mode(Text) - None<Key>F6: Mode(Polygon) - None<Key>F7: Mode(Thermal) - None<Key>F8: Mode(Arc) - None<Key>Insert: Mode(InsertPoint) - None<Key>[: Mode(Save) Mode(Move) Mode(Notify) - None<Key>]: Mode(Notify) Mode(Restore) - None<Btn1Down>: Mode(Notify) - !Shift Ctrl<Btn1Down>: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore) - None<Btn2Down>: Mode(Save) Mode(Move) Mode(Notify) - None<Btn2Up>: Mode(Notify) Mode(Restore) - !Mod1<Btn2Down>: Mode(Save) Mode(Copy) Mode(Notify) - !Mod1<Btn2Up>: Mode(Notify) Mode(Restore) - Shift Mod1<Btn2Down>: Mode(Save) Mode(RubberbandMove) Mode(Notify) - -`MovePointer(delta_x, delta_y)' - With this function it is possible to move the crosshair cursor by - using the cursor keys. The `X' server's pointer follows because - the necessary events are generated by `Pcb'. All movements are - performed with respect to the currently set grid value. Default: - None<Key>Up: MovePointer(0, -1) - !Shift<Key>Up: MovePointer(0, -10) - None<Key>Down: MovePointer(0, 1) - !Shift<Key>Down: MovePointer(0, 10) - None<Key>Right: MovePointer(1, 0) - !Shift<Key>Right: MovePointer(10, 0) - None<Key>Left: MovePointer(-1, 0) - !Shift<Key>Left: MovePointer(-10, 0) - -`MoveToCurrentLayer(Object|SelectedObjects)' - The function moves a single object at the crosshair location or - all selected objects to the current layer. Elements are not - moveable by this function. They have to be deleted and replaced - on the other side. If a line segment is moved and the movement - would result in a loss of connectivity to another segment then - via(s) are automatically added to maintain the connectivity. - None<Key>m: MoveToCurrentLayer(Object) - !Shift<Key>m: MoveToCurrentLayer(SelectedObjects) - -`New()' - Clear the current layout and starts a new one after entering its - name. Refer to the resource *backup* for more information. No - defaults. - -`PasteBuffer(AddSelected|Clear|1..5)' -`PasteBuffer(Rotate, 1..3)' -`PasteBuffer(Convert)' - This action routine controls and selects the pastebuffer as well - as all cut-and-paste operations. Passing a buffer number selects - one in of the range 1..5. The statusline is updated with the new - number. *Rotate* performs a number of 90 degree counter clockwise - rotations of the buffer contents. *AddSelected* as first argument - copies all selected and visible objects into the buffer. Passing - *Clear* removes all objects from the currently selected buffer. - *Convert* causes the contents of the buffer (lines, arc, vias) to - be converted into an element definition. Refer to *Note - Pastebuffer:: for examples. Default: - !Ctrl<Key>x: PasteBuffer(Clear) PasteBuffer(AddSelected) - Mode(PasteBuffer) - !Shift Ctrl<Key>x: PasteBuffer(Clear) PasteBuffer(AddSelected) - RemoveSelected() Mode(PasteBuffer) - !Mod1<Key>c: PasteBuffer(Clear) PasteBuffer(AddSelected) - !Mod1<key>x: PasteBuffer(Clear) PasteBuffer(AddSelected) - RemoveSelected() - !Shift<Key>1: PasteBuffer(1) - !Shift<Key>2: PasteBuffer(2) - !Shift<Key>3: PasteBuffer(3) - !Shift<Key>4: PasteBuffer(4) - !Shift<Key>5: PasteBuffer(5) - None<Key>F3: Mode(PasteBuffer) - -`Polygon((Close|PreviousPoint)' - Polygons need a special action routine to make life easier. Calling - *Polygon(PreviousPoint)* resets the newly entered corner to the - previous one. The Undo action will call Polygon(PreviousPoint) - when appropriate to do so. *Close* creates the final segment of - the polygon. This may fail if clipping to 45 degree lines is - switched on, in which case a warning is issued. Default: - None<Key>p: Polygon(Close) - !Shift<Key>p: Polygon(Close) - -`Print()' - Pops up a print control box that lets you select the output - device, scaling and many more options. Each run creates all files - that are supported by the selected device. These are mask files as - well as drilling files, silk screens and so on. The table shows - the filenames for all possible files: - POSIX (extention) 8.3 filename - --------------------------------------------- - *_componentmask.* cmsk.* - *_componentsilk.* cslk.* - *_soldermask.* smsk.* - *_soldersilk.* sslk.* - *_drill.* dril.* - *_groundplane.* gpl.* - *_group[1..8].* [..8].* - The output may be sent to a postprocessor by starting the filename - with the *pipe* `("|")' character. Any `"%f"' in a command is - replaced with the current filename. The function is available from - the *file* menu. There are no defaults. - -`Quit()' - Quits the application after confirming the operation. Default: - <Message>WM_PROTOCOLS: Quit() - -`Redo()' - This routine allows you to recover from the last undo command. - You might want to do this if you thought that undo was going to - revert something other than what it actually did (in case you are - confused about which operations are un-doable), or if you have - been backing up through a long undo list and over-shoot your - stopping point. Any change that is made since the undo in - question will trim the redo list. For example if you add ten - lines, then undo three of them you could use redo to put them - back, but if you move a line on the board before performing the - redo, you will lose the ability to "redo" the three "undone" lines. - Default: - !Shift<Key>r: Redo() - -`RemoveSelected()' - This routine removes all visible and selected objects. There are - no defaults. - -`Report(Object|DrillReport)' - This routine pops up a dialog box describing the various - characteristics of an object (or piece of an object such as a pad - or pin) in the layout at the cursor position, or a report about - all of the drill holes in the layout. There are no defaults. - -`RouteStyle(1|2|3|4)' - This routine copies the sizes corresponding to the numbered route - style into the active line thicknes, via diameter, and via drill - size. Defaults: - !Ctrl<Key>1: RouteStyle(1) - ... - !Ctrl<Key>4: RouteStyle(4) - -`Save(Layout|LayoutAs)' -`Save(AllConnections|AllUnusedPins|ElementConnections)' - Passing *Layout* saves the layout using the file from which it was - loaded or, if it is a new layout, calls *Save(LayoutAs)* which - queries the user for a filename. The values: *AllConnections*, - *AllUnusedPins* and *ElementConnections* start a connection scan - and save all connections, all unused pins or the connections of a - single element to a file. There are no defaults. - -`Select(All|Block|Connection|ToggleObject)' -`Select(ElementByName|ObjectByName|PadByName|PinByName)' -`Select(TextByName|ViaByName)' - Toggles either the selection flag of the object at the crosshair - position (*ToggleObject*) or selects all visible objects, all - inside a rectangle or all objects which have been found during the - last connection scan. The *ByName* functions use a regular - expression search, always case insensitive, to select the objects. - Default: - None<Btn3Down>: Select(ToggleObject) - None<Btn3Down>,None<Btn3Motion>: See resource file - this is complex - -`SetValue(Grid|LineSize|TextScale|ViaDrillingHole|ViaSize|Zoom, value)' - Some internal values may be changed online by this function. The - first parameter specifies which data has to be changed. The other - one determines if the resource is set to the passed value, if - *value* is specified without sign, or increments/decrements if it - is specified with a plus or minus sign. The function doesn't - change any existing object only the initial values of new objects. - Use the *ChangeSize()* and *ChangeDrillSize()* to change existing - objects. Default: - None<Key>g: SetValue(Grid, +5) - !Shift<Key>g: SetValue(Grid, -5) - None<Key>l: SetValue(LineSize, +5) - !Shift<Key>l: SetValue(LineSize, -5) - None<Key>t: SetValue(TextScale, +10) - !Shift<Key>t: SetValue(TextScale, -10) - None<Key>v: SetValue(ViaSize, +5) - !Shift<Key>v: SetValue(ViaSize, -5) - !Mod1<Key>v: SetValue(ViaDrillingHole, +5) - !Mod1 Shift<Key>v: SetValue(ViaDrillingHole, -5) - None<Key>z: SetValue(Zoom, -1) - !Shift<Key>z: SetValue(Zoom, +1) - -`SwapSides()' - This routine changes the board side you are viewing. Default: - None<Key>Tab: SwapSides() - -`SwitchDrawingLayer(value)' - Makes layer numer 1..8 the current one. Default: - None<Key>1: SwitchDrawingLayer(1) - ... - None<Key>8: SwitchDrawingLayer(8) - -`ToggleHideName(Object|SelectedElements)' - Toggles whether the element's name is displayed or hidden. If it - is hidden you won't see it on the screen and it will not appear on - the silk layer when you print the layout. - None<Key>h: ToggleHideName(Object) - !Shift<Key>h: ToggleHideName(SelectedElements) - -`Undo()' -`Undo(ClearList)' - The unlimited undo feature of `Pcb' allows you to recover from - most operations that materially affect you work. Calling *Undo()* - without any parameter recovers from the last (non-undo) operation. - *ClearList* is used to release the allocated memory. *ClearList* - is called whenever a new layout is started or loaded. See also - *Redo*. Default: - None<Key>u: Undo() - !Shift Ctrl<Key>u: Undo(ClearList) - -`Unselect(All|Block|Connection)' - Unselects all visible objects, all inside a rectangle or all - objects which have been found during the last connection scan. - Default: - !Shift <Btn3Down>: Mode(Save) Mode(None) Unselect(Block) - !Shift <Btn3Up>: Unselect(Block) Mode(Restore) - - -File: pcb.info, Node: Translations, Prev: Actions, Up: X11 Interface - -Default Translations -==================== - - This section covers some default translations of key and button -events as defined in the shipped default application resource file. -Most of them have already been listed in *Note Actions::. `Pcb' makes -use of a nice `X11' feature; calling several action routines for one -event. - -`None<Key>BackSpace:' - -`None<key>Delete:' -`!Shift<Key>BackSpace:' -`!Shift Ctrl<Btn1Down>:' - The object at the cursor location is removed by - *None<Key>BackSpace* or *Shift Ctrl<Btn1Down>* whereas - *Shift<Key>BackSpace* also removes all other objects that are - fully-connected to the one at the cursor location. - -`!Mod1 Ctrl<Key>Left:' -`!Mod1 Ctrl<Key>Right:' -`!Mod1 Ctrl<Key>Up:' -`!Mod1 Ctrl<Key>Down:' - Scroll one page in one of the four directions. - -`None<Key>Left:, !Shift<Key>Left:' -`None<Key>Right:, !Shift<Key>Right:' -`None<Key>Up:, !Shift<Key>Up:' -`None<Key>Down:, !Shift<Key>Down:' - Move crosshair either one or ten points in grid. - -`None<Key>Return:' - Finished user input, selects the 'default' button of dialogs. - -`None<Key>Escape:' - *Mode(Reset)*, aborts user input, selects the 'abort' button of - dialogs or resets all modes. - -`None<Btn2Down>, Btn2<Motion>, None<Btn2Up>:' -`!Mod1<Btn2Down>, Btn2<Motion>, !Mod1<Btn2Up>:' - The first sequence moves the object or element name at the cursor - location. The second one copies the objects. Copying isn't - available for element names. - - -File: pcb.info, Node: File Formats, Next: Installation, Prev: X11 Interface, Up: Top - -File Formats -************ - - All files used by `Pcb' are read from the standard output of a -command or written to the standard input of one as plain seven bit -`ASCII'. This makes it possible to use any editor to change the -contents of a layout file. It is the only way for element or font -description files to be created. To do so you'll need to study the -example files `example/*' and `default_font' which are shipped with -`Pcb'. For an overview refer to *Note Intro::. - - The following sections provide the necessary information about the -syntax of the files. Netlist files are not created by `Pcb', but it -does use them. For information on the format of a netlist file see the -*:rn*, *Note User Commands::. Rat lines are added on the current layer -using the current The commands described allow you to add almost any -additional functionality you may need. Examples are compressed read and -write access as well as archives. The commands themselves are defined -by the resources *elementCommand*, *fileCommand*, *fontCommand*, -*libraryCommand*, *libraryContentsCommand* and *saveCommand*. Note -that the commands are not saved along with the data. It is considered -an advantage to have the layout file contain all necessary information, -independent of any other files. - - One thing common to all files is they may include comments, newlines, -and carriage returns at any place except within quoted strings. - -* Menu: - -* Basic Types:: Basic types used by all data files. -* Layout File:: -* Element File:: -* Font File:: -* Library Contents File:: -* Library File:: - - -File: pcb.info, Node: Basic Types, Next: Layout File, Up: File Formats - -Basic Types -=========== - - Here are the basic type definitions used in the other sections of -this chapter. - - Description = Name - DeltaAngle = Number - DrillingHole = Number - Flags = Number - FontPosition = Number - Grid = Number - GridOffsetX = Number - GridOffsetY = Number - Group = GroupMember [,GroupMember]... - GroupMember = decimal | [cs] - GroupString = """ Group [:Group]... """ - StyleString = """ Style [:Style]... """ - Height = Number - LayerNumber = Number - LayoutName = Name - Name = quoted_string - Number = decimal | hex - PinNumber = quoted_string - Spacing = Number - StartAngle = Number - SymbolID = Number | charconst - Thickness = Number - TextData = quoted_string - TextFlags = Flags - TextScale = scale - TextX = Number - TextY = Number - Value = Name - Width = Number - X = Number - X1 = Number - X2 = Number - Y = Number - Y1 = Number - Y2 = Number - charconst = "'" <any character> "'" - comment = "#" {<any character up to a newline>}... - decimal = [0-9]+ - direction = [0-3] - hex = 0x[0-9a-fA-F]+ - scale = [1-<positive integer>] - quoted_string = """ <anything except \n and \r> """ - zoom = [0-MAX] - - -File: pcb.info, Node: Layout File, Next: Element File, Prev: Basic Types, Up: File Formats - -Layout File Format -================== - - The layout file describes a complete layout including symbols, vias, -elements and layers with lines, rectangles and text. This is the most -complex file of all. - - File = Header Font PCBData - Header = PCBName [GridData] [CursorData] [PCBFlags] [Groups] - PCBName = "PCB(" Name Width Height ")" - GridData = "Grid(" Grid GridOffsetX GridOffsetY ")" - CursorData = "Cursor(" X Y zoom ")" - PCBFlags = "Flags(" Flags ")" - Groups = "Groups(" GroupString ")" - Styles = "Styles(" StyleString ")" - Font = {FontData}... - FontData = {Symbol}... - Symbol = "Symbol(" SymbolID Spacing ")" - "(" {SymbolData}... ")" - SymbolData = {SymbolLine}... - SymbolLine = "SymbolLine(" X1 Y1 X2 Y2 Thickness ")" - PCBData = {Via | Layer | Element}... - - Via = "Via(" X Y Thickness DrillingHole Name Flags ")" - - Element = "Element(" Flags Description LayoutName Value \ - TextX TextY direction scale TextFlags")" - "(" {ElementData}... [Mark] ")" - ElementData = {ElementLine | Pad | Pin | ElementArc }... - ElementArc = "ElementArc(" X Y Width Height - StartAngle DeltaAngle Thickness ")" - ElementLine = "ElementLine(" X1 Y1 X2 Y2 Thickness ")" - Mark = "Mark(" X Y ")" - Pad = "Pad(" X1 Y1 X2 Y2 Thickness Name PinNumber Flags")" - Pin = "Pin(" X Y Thickness DrillingHole Name PinNumber Flags ")" - - Layer = "Layer(" LayerNumber Name ")" - "(" {LayerData}... ")" - LayerData = {Line | Polygon | Text}... - Line = "Line(" X1 Y1 X2 Y2 Thickness Flags")" - Arc = "Arc(" X Y Width Height StartAngle DeltaAngle Thickness Flags")" - Polygon = "Polygon(" Flags ")" \ - "(" {Points}... ")" - Points = "(" X Y ")" - Text = "Text(" X Y direction scale TextData Flags")" - -`PCBName' - is used to define the layout's name which is independent of its - filename. It is displayed in the lower left corner of the main - window. - -`GridData' - is optional and is used to save the grid setting and offset which - were set at the time the layout was saved. - -`CursorData' - also is an optional parameter to save the last cursor location and - zoom value. The real zoom factor is calculated by scale = 1:(2 - power value). - -`PCBFlags' - determine how to draw lines and which name of the elements should - be displayed. - bit 4: do rubberband moves and rotates if set - bit 5: display description of elements if set - bit 6: display unique name of an element if set - bit 7: use absolute grid if set - bit 8: don't clip lines to 45 degrees - -`Groups' - Layergroups are saved by using this optional parameter. The only - way of changing them is to use an editor and alter the appropriate - line. The characters *c,s* idenify the component- and solder-side - for SMD objects. - -`Symbol' - See the description of font files in this chapter. - -`Via' - Vias are always connected to all layers which also means vias are - one logical level ahead of layers. Vias are defined by position, - size, name and by some flags. - bit 0: always clear - bit 1: always set - bit 2: set if via was found during a connection search - bit 4: set if via is a hole (has no copper annulus) - bit 5: display the vias name - bit 6: via has been selected - bit 12: set if via has octagonal shape - Other bits have special meaning and should not be changed - by the user. See const.h for more information - -`Element' - See the description of element files in this chapter. - -`Layer' - A layer is the central object from the user's point of view. It - holds all connections and all text objects. Up to 8 may be used - individually. Its number, starting with one, and its name are - read as arguments. - - `Line' - All lines are identified by their start and endpoints - together with their thickness and some flags. They have to - fit a 45 degree scheme. - bit 2: set if line was found during a connection search - bit 4: line is a rat-line - bit 6: line has been selected - - `Polygon' - used to fill a larger area with `copper'. The coordinates - specify the corners. The flags are: - bit 2: set if polygon was found during a connection search - bit 4: polygon is a 1.5 style polygon that automatically clears pins - bit 6: polygon has been selected - - `Text' - You may use text objects to add information to your board. An - example would be naming a connector or marking pin one of it. - The position marks the lower left corner of the string which - is also a fixpoint for rotations. Text directions are - independent to those of lines. They are counted from zero to - three with a meaning of zero to 270 degree rotations - counter-clockwise. The scaling value is a positive integer - which determines a zoom factor in percent. - bit 6: the text has been selected - bit 7: the text is on the solder (back) side of the board - bit 10: the text is on the silkscreen layer - - -File: pcb.info, Node: Element File, Next: Font File, Prev: Layout File, Up: File Formats - -Element File Format -=================== - - Element files are used to describe one component which then may be -used several times within one or more layouts. You will normally split -the file into two parts, one for the pinout and one for the package -description. Using `m4' allows you to define pin names as macros in -one file and include a package description file which evaluates the -macros. See the resource *elementCommand* for more information. The -pins (and pads) must appear in squential order in the element file (new -in 1.5) so that pin 1 must be the first PIN(...) in the file. - - Doing things this way makes it possible to use one package file for -several different circuits. See the sample files `dil*'. - - The lowest x and y coordinates of all subobjects of an element are -used as an attachment point for the crosshair cursor of the main window. - - File = {Element}... - Element = "Element(" Flags Description LayoutName Value \ - TextX TextY direction scale TextFlags")" - "(" {ElementData}... [Mark] ")" - ElementData = {ElementLine | Pad | Pin | ElementArc }... - ElementArc = "ElementArc(" X Y Width Height - StartAngle DeltaAngle Thickness ")" - ElementLine = "ElementLine(" X1 Y1 X2 Y2 Thickness ")" - Mark = "Mark(" X Y ")" - Pad = "Pad(" X1 Y1 X2 Y2 Thickness Name PinNumber Flags ")" - Pin = "Pin(" X Y Thickness DrillingHole Name PinNumber Flags ")" - -`Element' - Objects of type element are determined by flags, some names, a - canonical and a layout name as well as a value. Additional fields - are text position, their direction counted from zero to three (n * - 90 degrees counter-clockwise) and element data. - - `Flags' - The flag field determines the state of an element. The bit - values are: - bit 4: the element name is hidden - bit 6: element has been selected - bit 7: element is located on the solder side - - `TextFlags' - `scale' - `direction' - See the description of text object earlier in this chapter. - - `ElementLine' - A line is defined by its start and end points and by its - size, or width. - - `ElementArc' - Defines an arc by its center, width, height, startangle, its - length in degrees and its size. Remember the y axis on the - screen grows downwards. - - `Mark' - is just a hint to make positioning easier. The crosshair will - be positioned here. Its center is passed as the two arguments. - - `Pad' - A pad is very similar to a line except it may not be - disconnected from its element and it has an associated name. - Is is defined by two end point position, size, name and by - some flags. - bit 2: set if pad was found during a connection search - bit 5: display the pads name - bit 6: pad has been selected - bit 7: pad is located on the solder side - - `Pin' - A pin is very similar to a via except it may not be - disconnected from its element. - bit 0: always set - bit 1: always clear - bit 2: set if pin was found during a connection search - bit 3: set if pin is only a mounting hole (no copper annulus) - bit 5: display the pins name - bit 6: pin has been selected - bit 8: pin is drawn as a square - bit 12: set if pin is drawn with an octagonal shape - - -File: pcb.info, Node: Font File, Next: Library Contents File, Prev: Element File, Up: File Formats - -Font File Format -================ - - A number of user defined symbols are called a font. There is only -one per layout. All symbols are made of lines. See the file -`default_font' as an example. - - The lowest x and y coordinates of all lines of a font are -transformed to (0,0). - - File = Font - Font = {FontData}... - FontData = {Symbol}... - Symbol = "Symbol(" SymbolID FontPosition ")" - "(" {SymbolData}... ")" - SymbolData = {SymbolLine}... - -`Symbol' - The two arguments are the `ASCII' code of the symbol and its - distance to the next symbol. Undefined symbols are drawn as filled - rectangles. The `ASCII' code may be passed as a character - constant or as a hexadecimal value. - - `SymbolLine' - The symbol data itself is made up of several entries of type - *SymbolLine*. - - -File: pcb.info, Node: Library Contents File, Next: Library File, Prev: Font File, Up: File Formats - -Library Contents File Format -============================ - - There is nothing like a special library format. The ones that have -been introduced in 1.4.1 just use some nice (and time consuming) -fetures of GNU `m4'. The only predefined format is the one of the -contents file which is read during startup. It is made up of two basic -line types: - - menu entry = "TYPE="name - contents line = template":"package":"value":"description - name = String - template = String - package = String - value = String - description = String - String = <anything except ":", "\n" and "\r"> - - No leading whitespaces or comments are allowed in this file. If you -need either one, define a command that removes them before loading. -Have a look to the *libraryContentsCommand* resource. - - The menu entry will appear in the selection menu at the top and of -the library window. - - -File: pcb.info, Node: Library File, Prev: Library Contents File, Up: File Formats - -Library File Format -=================== - - This section provides an overview about the existing `m4' definitions -of the elements. There are basically two different types of files. One -to define element specific data like the pinout, package and so on, the -other to define the values. For example the static RAM circuits 43256 -and 62256 are very similar. They therefore share a common definition in -the macro file but are defined with two different value labels. - - The macro file entry: - define(`Description_43256_dil', `SRAM 32Kx8') - define(`Param1_43256_dil', 28) - define(`Param2_43256_dil', 600) - define(`PinList_43256_dil', ``pin1', `pin2', ...') - - And the list file: - 43256_dil:N:43256:62256 - - The macro must define a description, the pin list and up to two -additional parameters that are passed to the package definitions. The -first one is the number of pins whereas the second one defines for -example the width of a package. - - It is very important to select a unique identifier for each macro. In -the example this would be *43256_dil* which is also the templates name. -It is required by some low-level macros that *Description_, Param1_, -Param2_* and *PinList_* are prepended. - - The list file uses a syntax: - template:package:value[:more values] - - This means that the shown example will create two element entries -with the sam package and pinout but with different names. - - A number of packages are defined in `common.m4'. Included are: - - DIL packages with suffix D, DW, J, JD, JG, N, NT, P - PLCC - TO3 - generic connectors - DIN 41.612 connectors - zick-zack (SD suffix) - 15 pin multiwatt - - If you are going to start your own library please take care about -`m4' functions. Be aware of quoting and so on and, most important check -your additional entry by calling the macro: - - CreateObject(`template', `value', `package suffix') - - If quoting is incorrect an endless loop may occur (broken by a -out-of-memory message). - - The scripts in the `lib' directory handle the creation of libraries -as well as of their contents files. Querying is also supported. - - I know quite well that this description of the library -implementation is not what some out there expect. But in my opinion -it's much more useful to look at the comments and follow the macros -step by step. - - -File: pcb.info, Node: Installation, Prev: File Formats, Up: Top - -Installation and Troubleshooting -******************************** - - Compiling and installing the package should be straightforward. If -any problems occur, please contact the author -(Thomas.Nau@rz.uni-ulm.de) to find a solution and include it into the -next release. - -* Menu: - -* compiling:: Compiling and installing. -* problems:: Troubleshooting. - - -File: pcb.info, Node: compiling, Next: problems, Up: Installation - -Compiling and Installing -======================== - - This section covers the steps which are necessary to compile the -package. - -* Menu: - -* config.h:: Editing `config.h' options. -* manuals:: Creating the man page, info file and this manual. -* make:: Creating the `Makefile', compiling and installing. - - -File: pcb.info, Node: config.h, Next: manuals, Up: compiling - -Editing config.h ----------------- - - Most `X11' related options are automatically covered by `imake' -which is called from `xmkmf'. The ones special to `Pcb' have to be -edited in `config.h'. In order of appearance: - -`INFOLIBDIR' - must be set to the directory where your GNU info files are located. - -`/usr/X11R6/lib/X11/pcb' - is the path of a directory where the font files will be installed. - -`DEFAULTFONT' - the name of the default font file. - -`DEFAULTLIBRARY' - the name of the default library. - -`gm4' - the name of GNUs m4 version. - -`Mod1' - If your window manager has already bound *Mod1* together with some - function keys you may want to change this setting. This is true - for HP-VUE. - -`EXTRA_INCLUDES' - Some systems do not have the Athena Widget include files in their - normal place as configured by `X11's config files. Define this as - follows: - EXTRA_INCLUDES = -I/usr/openwin/share/include - This is probably true for Suns which use `OpenWindows'. - -`PATCHES' - This symbol is passed to the compiler. Use it to define additional - compiler flags. Add the *-DNEED_STRDUP* flag, if your system does - not have a strdup() library function. - -`HAS_REGEX' - Set to *-DHAS_REGEX* if your system supports regular expressions. - This enables the actions *Select(*ByName)*. - -`EXITCALL' - The symbol *EXITCALL* should be defined according to the *call on - exit* functions supported by your system. There are three choices: - EXITCALL = -DHAS_ATEXIT if atexit() is supported (SYSV) - EXITCALL = -DHAS_ON_EXIT if on_exit() and no atexit() is supported - EXITCALL = if none of them is supported - Please check your manpages for details. - -`SYS_LIBRARIES' - This symbol is used to pass additional libraries to the linker. - The only additional libraries which are used are the math and lex - library. - - If you have to make system dependent changes please include them -into a *#ifdef Architecture* ... *#endif* construct and mail a copy to -the author (Thomas.Nau@rz.uni-ulm.de). - - Now run `xmkmf -a' which creates the `Makefiles' and runs `make -depend'. This should finish without any problems except some systems -which complain about missing include files. Don't worry about any such -warnings at this time, the package should compile without any problems. - - -File: pcb.info, Node: manuals, Next: make, Prev: config.h, Up: compiling - -Manuals -------- - - After `xmkmf -a' has created the new `Makefile' you are able to -create the manpages, the application resource, the info file, the `TeX' -output and a reference card by executing - (cd doc; make) - (cd src; make Pcb.ad) - You'll need `TeX', `texindex' and, if you want `PostScript', `dvips' -to build the manuals. Preformatted documentation for the default -configuration may be found in the `./doc.ps' directory. A simple -*make* builds everything. Generate a printed copy to make your life -easier. `TeX-3.0' failed, `TeX-3.14' worked just fine. - - -File: pcb.info, Node: make, Prev: manuals, Up: compiling - -Compiling the Package ---------------------- - - After reaching this point, it is time for `make'. It should build -everything without any errors. If it doesn't refer to *Note problems::. - - You have to be root to install the package or at least a user with -the appropriate priveleges in some `X11' directories. Set the umask to -*022* or else some files will not be found because the directory isn't -world readable. - - If you do not have the appropriate permissions you should run -`./pcbtest.sh' in the `src' directory to run `Pcb' from the -installation directory. - - `make install' and `make install.man' install the program, the -fonts, the application default resource file, all element and package -data as well as the manpage into the `X11' directories. `make -install.info' does the same for the `GNU' info file. - - -File: pcb.info, Node: problems, Prev: compiling, Up: Installation - -Troubleshooting -=============== - - There are some known problems. Most of them are related to missing -parts of a standard `X11' distribution. Some others are caused by third -party applications such as `X' servers. To make this list more complete -please mail your problems and, if available, solutions to the author. -The mail address may be found at the beginning of this chapter. In any -case, read *Note X11::. - - By the way, you `MUST HAVE AN ANSI COMPILER' to make `Pcb' work. - - If the shell script `create_sed_script.sh' fails with an error of -`awk' check your system for `nawk' or get the `GNU gawk'. See the -script for details. - - Another source of problems are older versions of `flex' and `bison'. -`Pcb' definitely works with `flex-2.4.7' and `bison-1.22' or later. The -problems will result in a *syntax error* while parsing files. You will -have to add *-lfl* to the SYS_LIBRARIES identifier in `Imakefile'. See -also, *Note FreeBSD::. - - The following list gives you just an idea because I'm not able to -test all `Pcb' releases on all platforms. - -* Menu: - -* HP:: Hewlett-Packard series 700 and 800 running HP-UX 10.* -* Sun:: Sun, Solaris 2.5 -* SGI:: SGI, IRIX 5.3 and 6.* -* DEC Alpha:: DEC Alpha, DEC UNIX 3.2c and 4.0 -* SCO:: SCO Unix ODT 3.0, PC hardware -* Linux:: Linux 0.99pl14 and later -* FreeBSD:: FreeBSD, NetBSD ... -* X11:: Refers to `X11R4', `X11R5', and `OpenWindows' -* TeX and Manuals:: Problems creating the `pcb.dvi' - - -File: pcb.info, Node: HP, Next: Sun, Up: problems - -HP Series 700 and 800 ---------------------- - - You have to install several `X11' tools (`imake') and include files -or, better, install a complete `X11R5' release. Hewlett-Packard doesn't -support the Athena Widgets. So the header files and libraries are -missing from the application media, but they are available as a patch. -They also do not ship the `ANSI' compiler with the normal operating -system release so you have to buy one or use `GCC'. Some of the tools -are available as patches. - - In addition, `Pcb' has been successfully tested on these platforms -with `HPUX 9.*, 10.*' running self-compiled `X11R5'. - - -File: pcb.info, Node: Sun, Next: SGI, Prev: HP, Up: problems - -Sun SPARC architecture ----------------------- - - There are no known problems with Sun machines if they use `X11R5' -instead of `OpenWindows'. `Pcb' compiled successfully with all kinds of -SPARCstations `Solaris-2.[345]'. - - For problems with `OpenWindows' refer to *Note X11::. - - If `xmkmf' is missing, try - /usr/openwin/bin/imake -DUseInstalled -I/usr/openwin/lib/config - make Makefile - make includes - make depend - instead. I got it compiled but the linker complained about missing -symbols. The problem may be related to the mixed `OpenWindows' - -`X11R5' environment which is installed on the test machine. Anyway the -code was executable and I haven't got a core yet. - - -File: pcb.info, Node: SGI, Next: DEC Alpha, Prev: Sun, Up: problems - -Silicon Graphics ----------------- - - `Pcb' has been tested on some boxes running either `IRIX-4.0.5' or -`IRIX-5.3'. The former one uses a `X11R4' server. There are no -problems except some additionally needed compiler flags. For known -problems with `X11R4', see *Note X11::. Check `Imakefile', too. - - -File: pcb.info, Node: DEC Alpha, Next: SCO, Prev: SGI, Up: problems - -DEC Alpha ---------- - - `Pcb' compiled and runs without problems on `DEC UNIX V3.2c' if you -do the following instead of calling `xmkmf -a': - xmkmf - make Makefiles - make includes - make depend - - -File: pcb.info, Node: SCO, Next: Linux, Prev: DEC Alpha, Up: problems - -SCO Unix --------- - - John DuBois <spcecdt@deeptht.armory.com> wrote: - `SCO-ODT-3.0' requires the latest version of tls003, the Athena - widget library (available from sosco.sco.com). The main problems - I have encountered are it core dumps fairly often, especially - while loading/dropping elements... - I'll see what I am able to do as soon as I have access to an `SCO' -system. - - -File: pcb.info, Node: Linux, Next: FreeBSD, Prev: SCO, Up: problems - -Linux ------ - - Since the `X11' version of `Pcb' has been developed on a Linux -system here are no known problems. - - -File: pcb.info, Node: FreeBSD, Next: X11, Prev: Linux, Up: problems - -FreeBSD and NetBSD ------------------- - - If `Pcb' complains about syntax errors even in the demo files get -rid of your `lex' and `yacc' implementation. Replace them by `GNU flex' -and `bison'. Don't forget to change the SYS_LIBRARIES in `Imakefile' -from *-ll* to *-lfl*. You also need to define: - YACC = bison -y - LEX = flex - - -File: pcb.info, Node: X11, Next: TeX and Manuals, Prev: FreeBSD, Up: problems - -Problems related to X11 ------------------------ - - There are a some problems related to `X11R4' or systems derived from -`X11' such as `OpenWindows'. *Note Sun::. You at least have to change -all occurances of *baseTranslations* in the resource files to -*translations* if you are using a `X11R4' server. Look at the `X11R5' -*Intrinsics* manual for details. - - The panner widget (print dialog box) appears only in release `X11R5' -and later. It really simplifies adjusting the offsets. With earlier -releases the printout will always appear in the center of the page. - - You may have some problems in a mixed `X11-OpenWindows' environment. -If you want to try it anyway you have to add an additional path for -include files and define another symbol in `Imakefile', - EXTRA_INCLUDES = -I/usr/openwin/include - - `Pcb' has been tested successfully with `X11R6' under Linux 1.1.59 -and later. - - -File: pcb.info, Node: TeX and Manuals, Prev: X11, Up: problems - -Problems related to TeX ------------------------ - - If your `TeX' installation complains about a missing `texinfo.tex' -file copy the one included in this release (directory `doc' to your -`TeX' macro directory. Note, there are probably newer versions of this -file available from some FTP sites. `TeX-3.0' failed, `TeX-3.14' -worked just fine. Check our FTP server *ftp.uni-ulm.de* for -ready-to-print versions of the manuals. - -Index of Resources -****************** - -* Menu: - -* /usr/X11R6/lib/X11/pcb: config.h. -* absoluteGrid: Resources. -* alignmentDistance: Resources. -* allDirectionLines <1>: Resources. -* allDirectionLines: Options. -* backupInterval <1>: Resources. -* backupInterval: Options. -* bloat: Resources. -* charactersPerLine <1>: Resources. -* charactersPerLine: Options. -* connectedColor: Resources. -* crosshairColor: Resources. -* default font: Options. -* DEFAULTFONT: config.h. -* DEFAULTLIBRARY: config.h. -* elementColor: Resources. -* elementCommand <1>: File Formats. -* elementCommand <2>: Resources. -* elementCommand: Options. -* elementContentsCommand: Resources. -* elementPath: Resources. -* elementSelectedColor: Resources. -* EXITCALL: config.h. -* EXTRA_INCLUDES: config.h. -* fileCommand <1>: Options. -* fileCommand <2>: File Formats. -* fileCommand: Resources. -* filePath: Resources. -* fontCommand <1>: Options. -* fontCommand <2>: File Formats. -* fontCommand: Resources. -* fontFile <1>: Options. -* fontFile: Resources. -* fontPath: Resources. -* gm4: config.h. -* grid: Resources. -* gridColor: Resources. -* HAS_REGEX: config.h. -* INFOLIBDIR: config.h. -* invisibleObjectsColor: Resources. -* layerColor: Resources. -* layerGroups <1>: Options. -* layerGroups: Resources. -* layerName: Resources. -* layerSelectedColor: Resources. -* libraryCommand <1>: Options. -* libraryCommand <2>: File Formats. -* libraryCommand: Resources. -* libraryContentsCommand <1>: File Formats. -* libraryContentsCommand: Options. -* libraryFilename <1>: Options. -* libraryFilename: Resources. -* libraryPath <1>: Options. -* libraryPath: Resources. -* lineThickness: Resources. -* media: Resources. -* Mod1: config.h. -* offLimitColor: Resources. -* PATCHES: config.h. -* pinColor: Resources. -* pinoutFont0..4: Resources. -* pinoutNameLength <1>: Options. -* pinoutNameLength: Resources. -* pinoutOffsetX: Resources. -* pinoutOffsetY: Resources. -* pinoutTextOffsetX: Resources. -* pinoutTextOffsetY: Resources. -* pinoutZoom <1>: Resources. -* pinoutZoom: Options. -* pinSelectedColor: Resources. -* printCommand: Resources. -* raiseLogWindow: Resources. -* ratCommand: Resources. -* ratPath: Resources. -* resetAfterElement <1>: Options. -* resetAfterElement: Resources. -* ringBellWhenFinished <1>: Resources. -* ringBellWhenFinished: Options. -* routeStyle <1>: Resources. -* routeStyle: Options. -* rubberBandMode: Resources. -* saveCommand <1>: Options. -* saveCommand <2>: File Formats. -* saveCommand: Resources. -* saveInTMP <1>: Options. -* saveInTMP: Resources. -* saveLastCommand <1>: Resources. -* saveLastCommand: Options. -* shrink: Resources. -* size <1>: Options. -* size: Resources. -* stipplePolygons: Resources. -* SYS_LIBRARIES: config.h. -* textScale: Resources. -* useLogWindow: Resources. -* viaColor: Resources. -* viaDrillingHole: Resources. -* viaSelectedColor: Resources. -* viaThickness: Resources. -* volume <1>: Options. -* volume: Resources. -* warnColor: Resources. -* zoom: Resources. - -Index of Actions, Commands and Options -************************************** - -* Menu: - -* +alldirections: Options. -* +reset: Options. -* +ring: Options. -* +s: Options. -* +save: Options. -* -alldirections: Options. -* -backup: Options. -* -c: Options. -* -copyright: Special Options. -* -fontfile: Options. -* -help: Special Options. -* -lelement: Options. -* -lfile: Options. -* -lfont: Options. -* -lg: Options. -* -libname: Options. -* -libpath: Options. -* -llib: Options. -* -llibcont: Options. -* -loggeometry: Options. -* -pnl: Options. -* -pz: Options. -* -reset: Options. -* -ring: Options. -* -rs: Options. -* -s: Options. -* -save: Options. -* -sfile: Options. -* -size: Options. -* -v: Options. -* -version: Special Options. -* :actionCommand(): User Commands. -* :l: User Commands. -* :le: User Commands. -* :m: User Commands. -* :q: User Commands. -* :rn: User Commands. -* :s: User Commands. -* :w[q]: User Commands. -* AddRats(): Actions. -* Atomic(): Actions. -* Bell(): Actions. -* ChangeDrillSize(): Actions. -* ChangeHole(): Actions. -* ChangeName(): Actions. -* ChangeOctagon(): Actions. -* ChangeSize(): Actions. -* ChangeSquare(): Actions. -* Command(): Actions. -* Connection(): Actions. -* DeleteRats(): Actions. -* Display(): Actions. -* DRC(): Actions. -* EditLayerGroups(): Actions. -* Load(): Actions. -* MarkCrosshair(): Actions. -* Mode(): Actions. -* MovePointer(): Actions. -* MoveToCurrentLayer(): Actions. -* New(): Actions. -* PasteBuffer(): Actions. -* Polygon(): Actions. -* Print(): Actions. -* Quit(): Actions. -* Redo(): Actions. -* RemoveSelected(): Actions. -* Report(): Actions. -* RouteStyle(): Actions. -* Save(): Actions. -* Select(): Actions. -* SetValue(): Actions. -* SwapSides(): Actions. -* SwitchDrawingLayer(): Actions. -* ToggleHideName(): Actions. -* Undo(): Actions. -* Unselect(): Actions. - -Index of Concepts -***************** - -* Menu: - -* /tmp <1>: Options. -* /tmp <2>: Loading and Saving. -* /tmp: Resources. -* about, command button: Menu. -* action command: User Commands. -* actions: Actions. -* Actions, initiating: User Commands. -* alignment: Resources. -* alignment targets: Printing. -* Alpha: DEC Alpha. -* arc: Arc Objects. -* arc, an example: Arcs. -* architecture <1>: SCO. -* architecture <2>: Linux. -* architecture <3>: Sun. -* architecture <4>: DEC Alpha. -* architecture <5>: SGI. -* architecture: HP. -* ASCII files, format of: File Formats. -* Atari version: History. -* atomic: Actions. -* backup <1>: Options. -* backup <2>: Loading and Saving. -* backup <3>: Resources. -* backup <4>: Options. -* backup: Resources. -* basic types: Basic Types. -* bell: Actions. -* bloat: Resources. -* buffer, an example: Pastebuffer. -* buffer, convert contents to element: Elements. -* buffer, popup menu: Menu. -* buffer, selecting a: Actions. -* button translations: Actions. -* cat: Resources. -* centering: Actions. -* change active layer: Control Panel. -* change drawing layer: Actions. -* change object name: Actions. -* change settings: Actions. -* change sizes: Actions. -* change square flag: Actions. -* change viewing side: Actions. -* characters per line <1>: Resources. -* characters per line: Options. -* clipping lines to 45 degree <1>: Resources. -* clipping lines to 45 degree: Actions. -* clipping of lines: Options. -* closing a polygon: Actions. -* color printout: Printing. -* color, warning: Resources. -* colors: Resources. -* command-line options: Command-Line Options. -* compile, how to: compiling. -* config.h: config.h. -* connection, removing an: Translations. -* connections, colors: Resources. -* connections, creating list of: Connection Lists. -* connections, popup menu: Menu. -* connections, reseting: Actions. -* connections, reseting after element <1>: Resources. -* connections, reseting after element: Options. -* connections, searching for: Actions. -* control panel: Control Panel. -* copy an object: Translations. -* copying objects: Actions. -* copying, an example: Moving and Copying. -* copyright: Special Options. -* creating objects: Common. -* cursor color: Resources. -* cursor movements: Actions. -* cursor position: Actions. -* cursor steps: Resources. -* cutting objects: Actions. -* DEC: DEC Alpha. -* default font <1>: Options. -* default font: Resources. -* default layout size: Resources. -* default library: Resources. -* default text scaling: Resources. -* default translations: Translations. -* design rule checking <1>: Actions. -* design rule checking: Design Rule Checking. -* device, selecting an output: Printing. -* directory /tmp <1>: Options. -* directory /tmp <2>: Loading and Saving. -* directory /tmp: Resources. -* display: Resources. -* display, popup menu: Menu. -* displaying element names <1>: Actions. -* displaying element names: Menu. -* displaying pinout: Actions. -* displaying status information: Status-line and Input-field. -* DOS filenames: Printing. -* drawing objects: Drawing and Removing. -* drc <1>: Resources. -* drc <2>: Actions. -* drc: Design Rule Checking. -* drill: Actions. -* drilling hole, changing of objects: Actions. -* drilling hole, setting of initial size: Actions. -* DVI format of manual: manuals. -* element name, hiding: Actions. -* element name, removing from silk-screen: Actions. -* element, an example: Elements. -* element, an overview: Element Objects. -* element, color: Resources. -* element, command <1>: Resources. -* element, command: Options. -* element, creating a new package: Elements. -* element, display names of <1>: Menu. -* element, display names of: Actions. -* element, fileformat: Element File. -* element, files <1>: Options. -* element, files: Resources. -* element, loading to buffer: User Commands. -* element, move name of: Translations. -* entering user commands: User Commands. -* erasing objects: Drawing and Removing. -* example files: Elements. -* example of buffer handling: Pastebuffer. -* example of connection lists: Connection Lists. -* example of copying: Moving and Copying. -* example of creating an element: Elements. -* example of element handling: Elements. -* example of line handling: Lines. -* example of loading: Loading and Saving. -* example of loading an element file: Elements. -* example of moving: Moving and Copying. -* example of pastebuffer handling: Pastebuffer. -* example of pin handling: Elements. -* example of polygon handling: Polygons. -* example of printing: Printing. -* example of rectangle handling: Polygons. -* example of saving: Loading and Saving. -* example of text handling: Text. -* example of via handling: Vias. -* exit <1>: Actions. -* exit: User Commands. -* file format, element data: Element File. -* file format, font data: Font File. -* file format, layout data: Layout File. -* file format, libraries: Library File. -* file format, library contents: Library Contents File. -* file formats: File Formats. -* file formats, basic types: Basic Types. -* file load command <1>: Resources. -* file load command: Options. -* file save command <1>: Resources. -* file save command: Options. -* file, popup menu: Menu. -* font command <1>: Options. -* font command: Resources. -* font file, format of: Font File. -* font files <1>: Resources. -* font files <2>: Options. -* font files: Resources. -* font, an overview: Symbol Objects. -* font, used for pin names: Resources. -* format of element files: Element File. -* format of font files: Font File. -* format of layout files: Layout File. -* format of libraries: Library File. -* format of library contents: Library Contents File. -* FreeBSD: FreeBSD. -* grid <1>: Resources. -* grid: Drawing Area. -* grid color: Resources. -* grid, absolute and relative <1>: Actions. -* grid, absolute and relative: Menu. -* grid, display <1>: Actions. -* grid, display: Menu. -* grid, setting of: Actions. -* groups <1>: Resources. -* groups: Options. -* groups, editing of: Actions. -* Hewlett Packard: HP. -* hide element name: Actions. -* how to start: Getting Started. -* HP: HP. -* info file: manuals. -* information about objects: Actions. -* input-field, position of: Status-line and Input-field. -* inputfield, saving entered command-line <1>: Options. -* inputfield, saving entered command-line: Resources. -* inputfield, start user input: Actions. -* install, how to: compiling. -* key translations: Actions. -* keyboard bell <1>: Resources. -* keyboard bell: Options. -* layer, change active: Actions. -* layer, name of: Resources. -* layers, an overview: Layer Objects. -* layers, changing active one: Control Panel. -* layers, colors: Resources. -* layers, editing of groups: Actions. -* layers, groups <1>: Resources. -* layers, groups: Options. -* layers, switching on/off: Control Panel. -* layout files <1>: Resources. -* layout files <2>: Options. -* layout files <3>: Resources. -* layout files: Options. -* layout files, format of: Layout File. -* layout files, saving of: User Commands. -* layout objects, an overview: Intro. -* layout size: Options. -* layout, default size of: Resources. -* layout, loading a: User Commands. -* layout, loading to buffer: User Commands. -* layout, merging a: User Commands. -* layout, printing a: Actions. -* layout, start a new: Actions. -* layout-name <1>: Element Objects. -* layout-name: User Commands. -* length of a pin name <1>: Resources. -* length of a pin name: Options. -* length of outputline: Options. -* library command <1>: Options. -* library command: Resources. -* library contents command <1>: Options. -* library contents command: Resources. -* library contents file, format of: Library Contents File. -* library file, format of: Library File. -* library name <1>: Resources. -* library name: Options. -* library search path: Options. -* library searchpath: Resources. -* library window: Library Window. -* line clipping: Options. -* linelength: Resources. -* lines, an example: Lines. -* lines, an overview: Line Objects. -* lines, clipping to 45 degree <1>: Resources. -* lines, clipping to 45 degree: Actions. -* lines, setting of initial size: Actions. -* lines, size: Resources. -* Linux: Linux. -* list of connections: Resources. -* listing libraries: Options. -* listing library contents: Resources. -* loading a layout to buffer: User Commands. -* loading elements <1>: Resources. -* loading elements: Options. -* loading elements to buffer: User Commands. -* loading files: Actions. -* loading fonts <1>: Resources. -* loading fonts: Options. -* loading layouts <1>: User Commands. -* loading layouts <2>: Options. -* loading layouts: Resources. -* loading symbols <1>: Resources. -* loading symbols: Options. -* loading, an example: Loading and Saving. -* log window <1>: Options. -* log window <2>: Resources. -* log window: Log Window. -* m4: Resources. -* m4, preprocessing example files: Elements. -* make: make. -* Makefile: config.h. -* manuals: manuals. -* mark: Actions. -* media: Resources. -* media margin: Resources. -* media, size of: Printing. -* menus: Menu. -* merging layouts: User Commands. -* messages <1>: Resources. -* messages <2>: Options. -* messages: Log Window. -* mirroring printout: Printing. -* mode selection: Mode Selectors. -* mode, selecting of: Actions. -* mounting holes: Actions. -* move: Resources. -* move an object: Translations. -* moving objects to current layer: Actions. -* moving, an example: Moving and Copying. -* name of an element: Actions. -* name, change an objects: Actions. -* namelength of pins <1>: Options. -* namelength of pins: Resources. -* NetBSD: FreeBSD. -* netlist <1>: Actions. -* netlist <2>: Resources. -* netlist <3>: User Commands. -* netlist <4>: Rats Nest. -* netlist: Actions. -* object, change name of: Actions. -* object, changing the size of an: Common. -* object, copy an: Translations. -* object, creating an: Common. -* object, drawing and removing: Drawing and Removing. -* object, move an: Translations. -* object, removing an <1>: Translations. -* object, removing an: Common. -* object, selecting an: Menu. -* objects, moving to current layer: Actions. -* objects, popup menu: Menu. -* octagonal pins and vias: Actions. -* off limit color: Resources. -* offset of pinnames: Resources. -* offset of pinout: Resources. -* offset of printout: Printing. -* OpenWindows: Sun. -* operation modes, selecting of: Actions. -* outline printout: Printing. -* output device: Printing. -* outputline, length of: Options. -* overlap, minimum: Design Rule Checking. -* pastebuffer, an example: Pastebuffer. -* pastebuffer, convert contents to element: Elements. -* pastebuffer, popup menu: Menu. -* pastebuffer, selecting a: Actions. -* path for element files: Resources. -* path for font files: Resources. -* path for layout files: Resources. -* path for libraries: Resources. -* PC UNIX <1>: SCO. -* PC UNIX <2>: Linux. -* PC UNIX: FreeBSD. -* pin color: Resources. -* pin, name of <1>: Options. -* pin, name of: Resources. -* pinout of elements: Menu. -* pinout, display of: Actions. -* pinout, font to display pin names: Resources. -* pinout, zoomfactor of display <1>: Resources. -* pinout, zoomfactor of display: Options. -* pins, an example: Elements. -* pins, changing shape of: Actions. -* pointer, moving of: Actions. -* polygon: Resources. -* polygon point, go back to previous: Actions. -* polygon, an example: Polygons. -* polygon, an overview: Polygon Objects. -* polygon, closing a: Actions. -* popping up menus: Menu. -* postprocessing layout data <1>: Resources. -* postprocessing layout data: Options. -* preprocessing element data <1>: Options. -* preprocessing element data: Resources. -* preprocessing font data <1>: Options. -* preprocessing font data: Resources. -* preprocessing layout data <1>: Options. -* preprocessing layout data: Resources. -* preventing loss of data <1>: Loading and Saving. -* preventing loss of data <2>: Options. -* preventing loss of data: Resources. -* print command: Printing. -* print media <1>: Printing. -* print media: Resources. -* print offset: Printing. -* printing: Resources. -* printing a layout: Actions. -* printing, an example: Printing. -* problems: problems. -* quit <1>: Actions. -* quit: User Commands. -* rat-line <1>: Actions. -* rat-line: Rats Nest. -* rats nest <1>: User Commands. -* rats nest <2>: Actions. -* rats nest <3>: Resources. -* rats nest <4>: Actions. -* rats nest: Rats Nest. -* recover: Actions. -* rectangle, an example: Polygons. -* redo: Actions. -* redrawing layout: Actions. -* refreshing layout: Actions. -* release, current: Special Options. -* removing connections: Translations. -* removing objects <1>: Translations. -* removing objects <2>: Drawing and Removing. -* removing objects: Common. -* removing selected objects: Actions. -* report: Actions. -* report, popup menu: Menu. -* reseting found connections <1>: Actions. -* reseting found connections <2>: Options. -* reseting found connections: Resources. -* resources: Resources. -* rotate: Resources. -* rotating a buffer: Actions. -* rotating printout: Printing. -* routing style <1>: Options. -* routing style <2>: Resources. -* routing style: Actions. -* rubberband <1>: Actions. -* rubberband: Resources. -* saving connections: Actions. -* saving files: Actions. -* saving found connections: Actions. -* saving last entered user command <1>: Resources. -* saving last entered user command: Options. -* saving layouts <1>: Loading and Saving. -* saving layouts <2>: Options. -* saving layouts <3>: Resources. -* saving layouts <4>: Options. -* saving layouts: User Commands. -* saving, an example: Loading and Saving. -* scaling a printout: Printing. -* scanning connections: Actions. -* SCO: SCO. -* scrolling: Translations. -* searching connections: Actions. -* searchpath for element files: Resources. -* searchpath for font files: Resources. -* searchpath for layout files: Resources. -* searchpath for libraries: Resources. -* selected object, removing an: Actions. -* selected objects, changing size: Menu. -* selected objects, removing: Menu. -* selecting a buffer: Actions. -* selecting a new mode: Mode Selectors. -* selecting objects <1>: Actions. -* selecting objects: Menu. -* selection: Actions. -* selection, an example: Selection. -* selection, popup menu: Menu. -* SGI: SGI. -* shrink: Resources. -* signal: Actions. -* Silicon Graphics: SGI. -* size of a layout: Options. -* size of lines: Resources. -* size of lines and vias: Actions. -* size of vias: Resources. -* sizes, changing of objects: Actions. -* sizes, popup menu: Menu. -* Solaris: Sun. -* spacing, minimum: Design Rule Checking. -* speaker volume <1>: Resources. -* speaker volume: Options. -* square flag, changing of objects: Actions. -* start user input: Actions. -* starting a new layout: Actions. -* starting Pcb: Command-Line Options. -* status information: Status-line and Input-field. -* strings, an example: Text. -* strings, an overview: Text Objects. -* Sun: Sun. -* symbols <1>: Options. -* symbols: Resources. -* symbols, an overview: Symbol Objects. -* temporary files <1>: Resources. -* temporary files <2>: Options. -* temporary files: Loading and Saving. -* TeX, problems: TeX and Manuals. -* texinfo file: manuals. -* text, an example: Text. -* text, an overview: Text Objects. -* text, default scaling: Resources. -* text, editing: Menu. -* thickness of lines: Resources. -* thickness of objects: Common. -* thickness of vias: Resources. -* thickness, changing of objects: Actions. -* translations <1>: Actions. -* translations: Translations. -* troubleshooting: problems. -* undo: Actions. -* undo, multi-action resources: Actions. -* undo, popup menu: Menu. -* unix command <1>: Options. -* unix command <2>: Resources. -* unix command <3>: Options. -* unix command <4>: Resources. -* unix command <5>: Options. -* unix command <6>: Resources. -* unix command <7>: Options. -* unix command: Resources. -* unselect objects: Actions. -* user commands: User Commands. -* user input: Translations. -* version, current: Special Options. -* vias, an example: Vias. -* vias, an overview: Via Objects. -* vias, changing shape of: Actions. -* vias, color: Resources. -* vias, converting to mounting hole: Actions. -* vias, setting of initial size: Actions. -* vias, size: Resources. -* viewing side, changing of: Actions. -* volume of speaker <1>: Options. -* volume of speaker: Resources. -* X11: X11 Interface. -* X11 default translations: Translations. -* X11 resources: Resources. -* X11 translations: Actions. -* X11, problems: X11. -* xmkmf: config.h. -* zoom of drawing window: Resources. -* zoom of pinout window <1>: Options. -* zoom of pinout window: Resources. -* zoom, setting: Menu. -* zoom, setting of: Actions. - - - -Tag Table: -Node: Top723 -Node: Copying1468 -Node: History2088 -Node: Intro6464 -Node: Symbol Objects7604 -Node: Via Objects8179 -Node: Element Objects8865 -Node: Layer Objects13372 -Node: Line Objects15314 -Node: Arc Objects17330 -Node: Polygon Objects18696 -Node: Text Objects20812 -Node: Getting Started21890 -Node: Application Window23822 -Node: Status-line and Input-field24472 -Node: Control Panel26349 -Node: Mode Selectors28678 -Node: Drawing Area31137 -Node: Menu32120 -Node: Log Window37656 -Node: Library Window38448 -Node: Drawing and Removing38955 -Node: Common42106 -Node: Lines43875 -Node: Arcs45425 -Node: Polygons46597 -Node: Text48478 -Node: Vias49463 -Node: Elements50833 -Node: Pastebuffer56184 -Node: Moving and Copying57883 -Node: Loading and Saving58911 -Node: Printing59987 -Node: Connection Lists64148 -Node: Selection65952 -Node: Rats Nest66796 -Node: Design Rule Checking71884 -Node: User Commands74218 -Node: Command-Line Options78975 -Node: Options79523 -Node: Special Options84130 -Node: X11 Interface84625 -Node: Resources85092 -Node: Actions98785 -Node: Translations122057 -Node: File Formats123597 -Node: Basic Types125267 -Node: Layout File126939 -Node: Element File132784 -Node: Font File136592 -Node: Library Contents File137593 -Node: Library File138638 -Node: Installation141066 -Node: compiling141493 -Node: config.h141887 -Node: manuals144357 -Node: make145012 -Node: problems145895 -Node: HP147499 -Node: Sun148170 -Node: SGI148947 -Node: DEC Alpha149323 -Node: SCO149622 -Node: Linux150094 -Node: FreeBSD150284 -Node: X11150701 -Node: TeX and Manuals151681 - -End Tag Table diff --git a/cad/pcb/files/pcb.ps b/cad/pcb/files/pcb.ps deleted file mode 100644 index 73a8238a45e..00000000000 --- a/cad/pcb/files/pcb.ps +++ /dev/null @@ -1,6489 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software -%%Title: pcb.dvi -%%Pages: 67 -%%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips -D 300 -o pcb.ps pcb.dvi -%DVIPSParameters: dpi=300, compressed -%DVIPSSource: TeX output 2000.08.31:1013 -%%BeginProcSet: texc.pro -%! -/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S -N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 -mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 -0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ -landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize -mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ -matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round -exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ -statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] -N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin -/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array -/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 -array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N -df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A -definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get -}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} -B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 -1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx -0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx -sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ -/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) -(LaserWriter 16/600)]{A length product length le{A length product exch 0 -exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse -end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask -grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} -imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round -exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto -fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p -delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} -B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ -p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S -rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -TeXDict begin 39158280 55380996 1000 300 300 (pcb.dvi) -@start -%DVIPSBitmapFont: Fa cmbxti10 14.4 1 -/Fa 1 47 df<120E123FEA7F80A212FFA21300127E123C0909798815>46 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fb cmtt12 14.4 1 -/Fb 1 44 df<130C131EAA007FB51280B612C0A26C1480D8001EC7FCAA130C1A1A7E9E1F ->43 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fc cmr9 9 63 -/Fc 63 123 df<EBFE7C380381C6380603CE000E1384001C1380A6B512F0381C0380AE38 -FF8FF0171A809916>11 D<13FEEA038138060180EA0E03381C010090C7FCA5B51280EA1C -03AE38FF8FF0141A809915>I<EBFF80EA0383EA0603120E121CA6B5FCEA1C03AE38FF9F -F0141A809915>I<126012F0A212701210A31220A21240A2040B7D830B>44 -D<EAFFC0A20A0280880D>I<126012F0A2126004047D830B>I<1304130C1318A31330A313 -60A313C0A3EA0180A3EA0300A31206A35AA35AA35AA35AA35AA20E257E9B13>I<EA07E0 -EA1C38EA381CEA300CEA700EEA6006A2EAE007AAEA6006A2EA700EEA300CEA381CEA1C38 -EA07E010187F9713>I<12035AB4FC1207B3A2EA7FF80D187D9713>I<EA0F80EA1060EA20 -30EA4038EA803CEAC01C12E01240EA003C1338A21370136013C0EA018013001202EA0404 -12081210EA3008EA3FF8127F12FF0E187E9713>I<EA07E0EA1838EA201CEA601EEA700E -EA201E1200131CA213381370EA07E0EA0038131C130E130FA212E0A212C0EA400EEA601C -EA1838EA07E010187F9713>I<1318A21338137813F813B8EA01381202A2120412081218 -12101220124012C0B5FCEA0038A6EA03FF10187F9713>I<EA3018EA3FF013E01380EA20 -00A5EA2FC0EA3060EA2030EA00381318131CA2124012E0A2EA8018EA40381330EA30E0EA -0F800E187E9713>I<EA01F8EA0704EA0C06EA180E123013001270126012E0EAE3E0EAE4 -18EAE80CEAF00EEAE0061307A31260A2EA7006EA300EEA180CEA0C38EA07E010187F9713 ->I<1240EA7FFF13FEA2EA4004EA80081310A2EA00201340A21380120113005AA25A1206 -A2120EA5120410197E9813>I<EA07E0EA1818EA300CEA20061260A21270EA780CEA3E18 -EA1F30EA07C0EA03E0EA0CF8EA307CEA601E130FEAC0071303A3EA6002EA2004EA1818EA -07E010187F9713>I<EA07E0EA1C30EA3018EA700CEA600EEAE006A21307A31260EA700F -EA3017EA1827EA07C7EA00071306130E130C12701318EA6030EA3060EA0F8010187F9713 ->I<130CA3131EA2132F1327A2EB4380A3EB81C0A200017F1300A248B47E38020070A248 -7FA3487FA2003C131EB4EBFFC01A1A7F991D>65 D<B51280380E00E014701438143CA514 -781470EB01E0380FFFC0380E00F01478143C141C141EA4141C143C147814F0B512C0171A -7F991B>I<EB3F023801C0C63803002E000E131E48130E14065A007813021270A200F013 -00A600701302A21278003813047E14087E000313303801C0C038003F00171A7E991C>I< -B57E380E00E01470808080A280A21580A81500A25C140E5CA2147814E0B51280191A7F99 -1D>I<B512F8380E003814181408140C1404A3EB0100A35BEA0FFFEA0E037FA3EB0002A3 -14061404A2140C143CB512FC171A7F991A>I<B512F8380E003814181408140C1404A3EB -0100A35BEA0FFFEA0E037FA390C7FCA8EAFFE0161A7F9919>I<EB3F023801C0C6380300 -2E000E131E48130E14065A007813021270A200F090C7FCA5903801FFC03970000E00A212 -7812387EA27E000313163801C06638003F821A1A7E991E>I<39FFE1FFC0390E001C00AB -380FFFFC380E001CAC39FFE1FFC01A1A7F991D>I<EAFF80EA1C00B3A6EAFF80091A7E99 -0E>I<EAFFE0000EC7FCB01408A3141814101430147014F0B5FC151A7F9918>76 -D<B414FF000F14F0A2390B800170A23809C002A33808E004A2EB7008A3EB3810A3EB1C20 -A2EB0E40A3EB0780A2EB0300121C39FF8307FF201A7F9923>I<00FEEB7FC0000FEB0E00 -1404EA0B80EA09C0A2EA08E01370A21338131CA2130E1307EB0384A2EB01C4EB00E4A214 -74143CA2141C140C121C38FF80041A1A7F991D>I<137F3801C1C038070070000E7F487F -003C131E0038130E0078130F00707F00F01480A80078EB0F00A20038130E003C131E001C -131C6C5B6C5B3801C1C0D8007FC7FC191A7E991E>I<B51280380E01E0EB007014781438 -143CA4143814781470EB01E0380FFF80000EC7FCABEAFFE0161A7F991A>I<EA0FC2EA18 -36EA200EEA600612C01302A3EAE0001270127EEA3FE0EA1FF8EA03FCEA007E130E130713 -031280A3EAC0021306EAE004EAD818EA87E0101A7E9915>83 D<007FB5FC38701C070040 -1301A200C0148000801300A300001400B13803FFE0191A7F991C>I<39FFE07FC0390E00 -0E001404B200065B12076C5B6C6C5A3800E0C0013FC7FC1A1A7F991D>I<39FF801FC039 -1C00070014066C1304A36C5BA26C6C5AA36C6C5AA26C6C5AA3EB7080A213790139C7FCA2 -131EA3130CA21A1A7F991D>I<3AFF81FF07F03A3C007801C0001CEC0080A36C90389C01 -00A33907010E02A33903830F04EB8207A2150C3901C40388A33900E801D0A390387000E0 -A301305B01201340241A7F9927>I<39FFC0FF80390F003C0014106C5BEA03806D5A0001 -5BEA00E101F1C7FC137A133E131C131EA21317EB27801343EB41C0EB81E0EA0100481370 -00021378481338000C7F001E133EB4EB7FC01A1A7F991D>I<EA1FC0EA38707FEA101C12 -00A2EA03FCEA1E1C1238127012E01480A2133CEA705F381F8F0011107F8F13>97 -D<12FC121CA913FCEA1D07381E0380381C01C0130014E0A6EB01C01480381E0300EA1906 -EA10F8131A809915>I<EA07F8EA1C1C1238EA700813005AA612701304EA3808EA1C18EA -07E00E107F8F11>I<133F1307A9EA03E7EA0C17EA180F487E127012E0A6126012706C5A -EA1C373807C7E0131A7F9915>I<EA07C0EA1C30EA30181270EA600C12E0EAFFFCEAE000 -A41260EA7004EA3808EA1C18EA07E00E107F8F11>I<EA01F0EA0718EA0E38EA1C101300 -A6EAFFC0EA1C00AEEAFF800D1A80990C>I<EA0FCF3818718038303000EA7038A4EA3030 -6C5AEA2FC00060C7FCA21270EA3FF013FC6C7EEA600FEAC003A4EA6006EA381CEA07E011 -187F8F13>I<12FC121CA9137CEA1D87381E0380A2121CAB38FF9FF0141A809915>I<1218 -123CA212181200A612FC121CAE12FF081A80990A>I<EA0180EA03C0A2EA0180C7FCA6EA -0FC01201B21241EAE180EAE300127E0A2182990C>I<12FC121CA9EB1FC0EB0F00130C5B -13205B13E0121DEA1E70EA1C7813387F131E7F148038FF9FE0131A809914>I<12FC121C -B3A6EAFF80091A80990A>I<38FC7C1F391D8E6380391E0781C0A2001C1301AB39FF9FE7 -F81D107F8F20>I<EAFC7CEA1D87381E0380A2121CAB38FF9FF01410808F15>I<EA07E0EA -1C38EA300CEA700EEA6006EAE007A6EA6006EA700EEA381CEA1C38EA07E010107F8F13> -I<EAFCFCEA1D07381E0380381C01C0A2EB00E0A6EB01C01480381E0300EA1D06EA1CF890 -C7FCA6B47E1317808F15>I<EA03E1EA0C13EA180BEA300FEA700712E0A61270A26C5AEA -1C37EA07C7EA0007A6EB3FE013177F8F14>I<EAFC78EA1D9CEA1E1C1308EA1C00ABEAFF -800E10808F0F>I<EA1F20EA60E0EA402012C0A2EAF000127FEA3FC0EA1FE0EA00F0EA80 -70133012C01320EAF040EA8F800C107F8F0F>I<1208A41218A21238EAFFC0EA3800A813 -20A41218EA1C40EA07800B177F960F>I<38FC1F80EA1C03AB1307120CEA0E0B3803F3F0 -1410808F15>I<38FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2EA01C0A36C -5A11107F8F14>I<39FE7F1F8039381C0700003C1306381C0C04130E380E16081317A238 -072310149013A33803C1A014E0380180C0A319107F8F1C>I<38FE3F80383C1E00EA1C08 -6C5AEA0F306C5A6C5A12017F1203EA0270487E1208EA181CEA381E38FC3FC012107F8F14 ->I<38FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2EA01C0A36C5AA248C7FC -A212E112E212E4127811177F8F14>I<EAFFF8EAE07012C0EA80E0EA81C0A2EA0380EA07 -00A2EA0E04121CA2EA380812701338EAFFF80E107F8F11>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fd cmti9 9 1 -/Fd 1 47 df<1230127812F0126005047C830C>46 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fe cmtt9 9 64 -/Fe 64 123 df<EA01801203EA06005A121C121812385AA35AA91270A37E1218121C120C -7EEA03801201091D799914>40 D<128012C01260123012381218121C120EA31207A9120E -A3121C121812381230126012C01280081D7C9914>I<EA01C0A7B51280A33801C000A711 -117F9314>43 D<EAFFFEA30F037E8C14>45 D<127012F8A312700505798414>I<130613 -0EA2131CA21338A21370A213E0A2EA01C0A2EA0380A3EA0700A2120EA25AA25AA25AA25A -A25A0F1D7E9914>I<EA07C0EA0FE0EA1C70EA3838EA3018EA701CA2EAE00EA9EA701CA2 -EA3838A2EA1C70EA0FE0EA07C00F177E9614>I<1203A25A5A123F12F712471207AEEA7F -F0A20C177C9614>I<137813F8EA01B8A2EA0338A21206120E120C121C12381230127012 -E0B51280A238003800A548B4FCA211177F9614>52 D<EA01F0EA07F8EA0E1C121C1238EA -30001270A25AEAE7C0EAEFF0EAF838EAF01C130CEAE00EA212601270130CEA381CEA1C38 -EA0FF0EA07C00F177E9614>54 D<127012F8A312701200A6127012F8A312700510798F14 ->58 D<EA01C0487EA21360A2EA0770A4EA0630EA0E38A4487EEA1FFCA2EA1C1CA2487EA2 -38FE3F80A211177F9614>65 D<EAFFF013FCEA381E130E1307A4130E131EEA3FFCA2EA38 -1E130E1307A5130E131EEAFFFC13F810177F9614>I<3801F180EA07FFEA0E1FEA1C0712 -38EA7003A348C7FCA738700380A338380700121CEA0E0EEA07FCEA01F011177F9614>I< -EAFFE013F8EA383C7F130E7FA3EB0380A8EB0700A2130E131E5BEAFFF813E011177F9614 ->I<B5FCA2EA3807A490C7FCA21338A2EA3FF8A2EA3838A290C7FCA3EB0380A4B5FCA211 -177F9614>I<B51280A2EA3803A490C7FCA21338A2EA3FF8A2EA3838A290C7FCA7B4FCA2 -11177F9614>I<EA03C6EA0FFEEA1C3EEA181E1238EA700EA21260EAE000A4137FA2130E -12601270A2EA381E1218EA1C3EEA0FFEEA03CE10177F9614>I<38FE3F80A238380E00A8 -EA3FFEA2EA380EA938FE3F80A211177F9614>I<EAFFF8A2EA0700B3EAFFF8A20D177D96 -14>I<B4FCA21238AF1307A4B5FCA210177E9614>76 D<38FC1F80A2007C1300EA7637A4 -EA7777A2EA7367A313E7EA71C7A2EA7007A638F80F80A211177F9614>I<38FE3F80A238 -3E0E00123BA4138E1239A213CEA31238A213EE136EA4133E12FEA211177F9614>I<EA1F -F0EA7FFCEA783CEA701CEAE00EAFEA701CEA783CEA7FFCEA1FF00F177E9614>I<EAFFF0 -13FCEA381E130E1307A5130E131EEA3FFC13F0EA3800A812FEA210177F9614>I<EA1FF0 -EA7FFCEA783CEA701CEAE00EADEAE38EEAE1CEEA71DCEA78FC127FEA1FF0EA0078133813 -3C131C131E0F1C7E9614>I<EAFFE013F8EA383C131C7FA45B133CEA3FF85BEA38387FA5 -1480EB1DC0A238FE0F80EB070012177F9614>I<EA0FCCEA1FFCEA307CEA603CEAE01CA3 -13001270127EEA3FE0EA0FF0EA01F8EA001C131E130E126012E0A2EAF01CEAF838EAFFF0 -EAC7E00F177E9614>I<387FFF80B5FCEAE1C3A43801C000AFEA0FF8A211177F9614>I<38 -FE0FE0A238380380B0381C0700A2EA0E0EEA07FCEA01F01317809614>I<38FC1F80A238 -380E00A3EA3C1EEA1C1CA46C5AA4EA0630EA0770A3EA0360A213E0A26C5A11177F9614> -I<38FC1F80A238700700A7EA31C6EA33E6EA3BEE136EA5EA1B6CA2EA1A2CEA1E3CA31117 -7F9614>I<EA7E3EA2EA1C3CEA1E38EA0E78EA0F7012075B12035B120112037FA2EA0770 -A2EA0E781338EA1C3C131CEA3C1E38FE3F80A211177F9614>I<38FC1F80A238380E00EA -3C1EEA1C1CEA1E3CEA0E38A26C5AA2EA036013E0A26C5AA8EA07F0A211177F9614>I<EA -7FFE12FFEAE01CA21338A2EA007013E0A2EA01C0A2EA0380EA0700A2120EA25AEA380EA2 -1270A2EAFFFEA20F177E9614>I<EAFFE0A2EAE000B3A7EAFFE0A20B1D799914>I<EAFFE0 -A21200B3A712FFA20B1D7F9914>93 D<EAFFFEA30F037E7E14>95 -D<EA1FC0EA7FF0EA7078EA2018EA001CA2EA07FC121FEA3C1C127012E0A3EA707C383FFF -80EA0F8F11107E8F14>97 D<12FCA2121CA513F8EA1DFEEA1F07EA1E03001C1380EB01C0 -A6EB0380001E1300EA1F0EEA1DFCEA0CF81217809614>I<EA03F8EA0FFEEA1C0EEA3804 -EA7000126012E0A412601270EA380EEA1C1EEA0FFCEA03F00F107E8F14>I<137EA2130E -A5EA07CEEA0FFEEA1C3EEA301EEA700E12E0A61270EA301EEA383E381FEFC0EA07CF1217 -7F9614>I<EA07E0EA0FF0EA1C38EA301CEA700CEAE00EA2EAFFFEA2EAE00012601270EA -380EEA1C1EEA0FFCEA03F00F107E8F14>I<13FCEA01FEEA038EEA07041300A3EA7FFE12 -FFEA0700ACEAFFF8A20F177F9614>I<EA07CF381FFF80EA383B38301800EA701CA3EA30 -18EA3838EA3FF0EA37C00070C7FCA2EA3FF86C7E487EEA700F38E00380A438700700EA3C -1EEA1FFCEA07F011197F8F14>I<12FCA2121CA51378EA1DFEEA1F86EA1E07121CAA38FF -8FE0A21317809614>I<1206120FA21206C7FCA4B4FCA21207ACEAFFF8A20D187C9714>I< -136013F0A213601300A4EA1FF0A2EA0070B2EA40E0EAE0C0EA7F80EA3F000C207E9714> -I<12FCA2121CA5EBFF80A2EB1C005B5B5BEA1DC0EA1FE0A2EA1E70EA1C38133C131C7F38 -FF1F80A21117809614>I<EAFF80A21203B3EAFFFEA20F177E9614>I<EAFB8EEAFFDF383C -F380A2EA38E3AA38FEFBE013791310808F14>I<EAFC78EAFDFEEA1F86EA1E07121CAA38 -FF8FE0A21310808F14>I<EA07C0EA1FF0EA3C78EA701CA2EAE00EA6EA701CEA783CEA3C -78EA1FF0EA07C00F107E8F14>I<EAFCF8EAFDFEEA1F07EA1E03001C1380EB01C0A6EB03 -80001E1300EA1F0EEA1DFCEA1CF890C7FCA6B47EA21218808F14>I<EA03E7EA0FF7EA1C -1FEA300F1270487EA6EA700F1230EA1C3FEA0FF7EA07C7EA0007A6EB3FE0A213187F8F14 ->I<EAFE1FEB7F80EA0EE3380F810090C7FCA2120EA8EAFFF0A211107F8F14>I<EA0FD8EA -3FF8EA603812C0A2EAF000EA7F80EA3FF0EA07F8EA001CEA600612E012F0EAF81CEAFFF8 -EACFE00F107E8F14>I<1206120EA4EA7FFC12FFEA0E00A8130EA3131CEA07F8EA01F00F -157F9414>I<EAFC3FA2EA1C07AB131F380FFFE0EA03E71310808F14>I<38FE3F80A2383C -1E00EA1C1CA36C5AA3EA0630EA0770A36C5AA311107F8F14>I<38FE3F80A238700700EA -380EA3EA39CEA3EA1B6C121AA3EA1E7CA2EA0E3811107F8F14>I<EA7E3FA2EA1E3CEA0E -78EA07705B12036C5A12037FEA0770EA0E781338487E38FE3F80A211107F8F14>I<38FE -3F80A2381C0E005BA2120E5BA212071330A2EA0370A25B1201A25BA3485A12730077C7FC -127E123C11187F8F14>I<EA3FFF5AEA700E131C1338EA007013E0EA01C0EA0380EA0700 -120EEA1C0712381270B5FCA210107F8F14>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Ff cmsltt10 10.95 9 -/Ff 9 116 df<120C121E123FA2123E121C1200A8127012F8A412700814769318>58 -D<EA03FC48B4FC4813801303380601C01200A2137FEA07FF121FEA3F813878038012F012 -E0A21307EA701F387FFFF0EA3FFBEA0FE114147D9318>97 D<13F8EA07FE487E381F0780 -EA3C03387801C0127012E0A2B5FCA2148000E0C7FCA213033870078038780F00EA3FFE6C -5AEA07F012147B9318>101 D<EB01F8EB07FC131FEB1E3CEB38181400A25B381FFFF05A -7E38007000A25BA6485AA6EA7FFE12FF127F161C7E9B18>I<1318133C137C133C131890 -C7FCA4EA0FF8121F120FEA0038A25BA65BA6EA7FFFB512806C1300111D7C9C18>105 -D<EA0FFCA3EA001CA45BA65BA65BA6B5128014C01480121C7D9B18>108 -D<381F3C3CEBFEFE13FF3807CFCEEB8F8E380F0F0EA2EA0E0EA4381C1C1CA638FE3E3E38 -FF7F7F38FE3E3E1814809318>I<381F8F80383FBFE0381FFFF03803F07013E0EA07C013 -801300A4000E13E0A638FF87F8EBCFFCEB87F816147F9318>I<EBFE603807FFE05AEA1F -01121C003813C0EA3C00001F1300EA0FF8EA07FE3800FF801307383001C01270A2387803 -80EA7C07B51200EAEFFEEA63F813147D9318>115 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fg cmbx12 13.14 55 -/Fg 55 122 df<903907FC0FE090393FFF3FF89039FC03FC783A03F007F0FC3807E00F15 -E0D80FC0147802071300A7B71280A23A0FC007E000B3A239FFFC7FFFA226267FA524>11 -D<EB07FCEB3FFF9038FE0780D803F013C03807E00FA2EA0FC0A3EC030091C7FCA3EC7FE0 -B6FCA2380FC007B3A239FFFC7FFEA21F267FA522>I<EAFFFEA50F057F8E14>45 -D<123C127E12FFA4127E123C08087C8711>I<EB7F803803FFF03807E1F8380F807C4848 -7E48133F003E7F007E1480A400FE14C0AD007E1480A46CEB3F00A26C133E6C6C5A3807E1 -F86CB45A38007F801A237EA21F>48 D<131C133C13FC12FFA21200B3AA387FFFFCA21623 -7CA21F>I<48B4FC000713C0381E07F0383803F8386001FC387C00FE12FE14FF147FA212 -7C003813FFC7FC14FEA2EB01FC14F8EB03F0EB07E01480EB0F00131E5B1370EBE003EA01 -C038038007380700061206380FFFFE5A5A4813FCB5FCA218237DA21F>I<48B4FC000713 -E0381E03F0383801F8003C13FC387E00FEA3123EEA1C01000013FCA2EB03F8EB07F0EB0F -C03801FF00A2380007E0EB01F014F8EB00FC14FE14FFA21210127C12FEA214FEA2387C01 -FC007013F8383E07F0380FFFC00001130018237DA21F>I<14381478A214F81301130313 -071306130C131C13381330136013E0EA01C01380EA03005A120E5A12185A12705AB612C0 -A2390001F800A790387FFFC0A21A237EA21F>I<0018130C001F137CEBFFF814F014E014 -C01480EBFC000018C7FCA513FF001B13E0381F03F0381C00F8000813FCC7127EA3147FA2 -127812FCA3147E5A006013FC1270383801F8381E07E03807FFC03801FE0018237DA21F> -I<EB1FC0EB7FF03801F0383803E00C3807803E000F137EEA1F005AA2007E133C1400A338 -FE3FC0EB7FF0EB80F800FF13FCEB007C147E5A147FA4127EA4003E137E123F6C137C380F -80F83807C1F03803FFC038007F0018237DA21F>I<1230123C003FB512C0A21580481400 -5C5C38600018A200E05B485B5CC6485AA249C7FC1306130EA25BA2133CA25BA213F8A412 -01A66C5A13601A257DA41F>I<EBFF80000313E0380F01F8381C007C48133C141E1278A2 -127C127E387F803C13E0383FF878381FFDF0EBFFC07E000313E014F8000F13FCEA1E1F38 -3C07FEEA7803EB00FF48133F141F140FA3140E1278141C6C1338381F80F03807FFE00001 -130018237DA21F>I<13FF000313C0380F83E0381F00F04813F8007E137CA2147E12FEA3 -147FA4127E14FF123EEA3F01001F137FEA0FFEEA03FCC7FC147EA2123C007E13FCA214F8 -14F0EA7C01383003E0381C0F80380FFF00EA03F818237DA21F>I<141CA2143EA3147FA2 -4A7EA39038019FC0A29038031FE0140F01077FEB0607A2010C7F1403011C7FEB1801A249 -6C7EA2017FB5FCA29039E0007F8049133FA2484880151F00038190C7120FA2486E7ED8FF -F090B51280A229257EA42E>65 D<B612E015FC3903F0007FED3F80ED1FC0ED0FE0A216F0 -A21507150FA216E0151F16C0ED7F80913801FE0090B512F815FF9039F0003FC0ED0FE0ED -07F016F8150316FCA616F81507ED0FF0ED1FE0ED7FC0B7120015F826257EA42C>I<9138 -FF8008010FEBF01890393FC03C789039FE0006F8D801F813034848130148481300484814 -78121F48481438A2007F151890C8FCA2481500A97E16187F123FA26C6C1430120F6C6C14 -606C6C14C06C6CEB0180D800FEEB070090383FC01E90380FFFF8010013C025257DA42C> -I<B612E015FC3903F800FFED1FC0ED07E06F7E6F7E82150082A2167FA31780AA1700A316 -FEA24B5A5E4B5A4B5AED1FC0EDFF80B648C7FC15E029257EA42F>I<B7FCA23903F8007F -ED0F8015071503A21501A3ED00C01406A21600A2140E141EEBFFFEA2EBF81E140E1406A2 -1660A291C7FC16C0A415011503A2ED0F80153FB7FCA223257EA428>I<B612FEA23803F8 -00151F8181A281A3ED01801403A292C7FCA25C5C90B5FCA2EBF80F8080A491C8FCAAB512 -F0A221257EA427>I<9138FF8010010FEBE03090393FC078F09038FE000DD801F81307D8 -07F0130348481301491300001F1570485AA2007F153090C8FCA2481500A70203B5FCA26C -90380007F0A27F123FA26C7E120F7F6C7EEA01F8D800FE130F90383FC03990390FFFF070 -0100EB803028257DA430>I<B500E0B512E0A23B03F80003F800AF90B6FCA29038F80003 -B0B500E0B512E0A22B257EA430>I<B512E0A23803F800B3AFB512E0A213257EA417>I<B5 -12F0A2D803F8C7FCB3A31503A31506A3150EA2151E153E157CEC03FCB6FCA220257EA425 ->76 D<D8FFF8EDFFF86D5C0003EEFE00017EEC037EA36D1406A26D6C130CA26D6C1318A2 -6D6C1330A36D6C1360A26D6C13C0A2903900FC0180A291387E0300A3EC3F06A2EC1F8CA2 -EC0FD8A2EC07F0A36E5AEA07803CFFFC01C01FFFF8A235257EA43A>I<D8FFF8903807FF -E07FD803FE9038003C006D14187F6D7E6D7E806D7E6D7E13036D7E6D7E80EC7F80EC3FC0 -141FEC0FE015F0EC07F8EC03FC1401EC00FE157F1698ED3FD8ED1FF8150F15071503A215 -0115001678486C1438D8FFFC1418A22B257EA430>I<903803FF80011F13F090387F01FC -3901FC007FD803F0EB1F804848EB0FC0000F15E04848EB07F0491303003F15F8A2007F15 -FC90C71201A24815FEA96C15FCA26D1303003F15F8A26C6CEB07F0A26C6CEB0FE06C6CEB -1FC06C6CEB3F806C6CEB7F0039007F01FC90381FFFF00103138027257DA42E>I<B612E0 -15FC3903F800FFED3F80ED1FC016E0150F16F0A616E0151F16C0ED3F80EDFF0090B512FC -15E001F8C8FCAFB512E0A224257EA42A>I<B67E15F83903F801FEEC007F6F7E6F7EA282 -A55EA24B5A4BC7FCEC01FE90B512F815C09038F803F06E7E6E7E157EA2157FA482A31760 -ED3FC017C0ED1FE1B539E00FFF80923801FE002B257EA42E>82 D<01FF1380000713E338 -0F80F7381E001F48130F481307140312F81401A27E91C7FCB4FCEA7FE013FE383FFFE014 -F86C13FE00077F6C1480C67E010313C0EB003FEC0FE01407A200C01303A315C07E6C1307 -6C14806CEB0F0038FFC03E38E3FFF838803FE01B257DA422>I<007FB612F8A2397E00FE -010078EC00780070153800601518A200E0151C160C5AA4C71400B3A390B512FEA226247E -A32B>I<B539E00FFFC0A2D803F8C7EA78001630B3A700015D7F00005D137C6D495A6D01 -07C7FC90380FE03E903803FFF89038007FC02A257EA42F>I<B5398001FFE0A2D807F8C7 -EA1C0000031518A26D1438000115306D1470000015607F6D5C80013F495AA2ECC003011F -91C7FC6E5A010F130614F001075BA26D6C5AA2ECFC3801011330ECFE700100136014FF6E -5AA26E5AA36EC8FCA2140EA22B257FA42E>I<3A7FFFC07FFEA23A03FC00078093C7FC6C -6C130E6C6C130C5D90387F80386D6C5A90381FE0605DEB0FF1903807FB8092C8FCEB03FE -13011300806E7E81A2ECDFE0903801CFF0EB038FEC07F890380603FC90380E01FE131C90 -381800FF496D7E1370496D7E496D7E4848130F486C80D8FFFC90B51280A229257EA42E> -88 D<EA07FF001F13E0383E03F0383F00F880147E121EC7FCA3EB1FFE3803FE7EEA0FC0 -EA1F00123E127E5AA314BEEA7E01383F073E391FFE1FE03807F00F1B187E971E>97 -D<EAFFC0A2120FACEBC1FCEBCFFF9038FC0FC09038F007E09038C003F0A2EC01F8A215FC -A815F8A2EC03F013E09038F007E090381C1F80390E0FFF00380C03F81E267FA522>I<EB -7FE03803FFF83807C07C381F80FC13005A007E1378140012FEA8127E127F6C130CEA1F80 -EBC0183807E0703803FFE038007F0016187E971B>I<ECFFC0A2140FAC137F3803FFCF38 -0FE0FF381F803F383F000FA2127EA212FEA8127EA27E141F381F803F380FC0EF3903FFCF -FC3800FE0F1E267EA522>I<137F3803FFC03807C1F0380F80F8EA1F0048137C127E147E -12FEA2B512FEA248C7FCA3127EA214067E6C130C380F80183807E0703803FFE038007F80 -17187E971C>I<3901FF07C00007EBDFE0380F83F1EA1F01393E00F800007E7FA6003E5B -6C485A380F83E0EBFFC0001190C7FC0030C8FCA21238123C383FFFE06C13FC806C7F4814 -80383C003F48EB0FC000F81307A4007CEB0F806CEB1F00381F807E3807FFF8C613C01B24 -7E971F>103 D<EAFFC0A2120FAC14FE9038C3FF809038CE0FC013D89038D007E013E0A2 -13C0AF39FFFC7FFEA21F267EA522>I<120FEA1F80EA3FC0A4EA1F80EA0F00C7FCA7EA7F -C0A2120FB3A2EAFFF8A20D277EA611>I<EAFFC0A2120FACEC1FF0A2EC0780EC0E005C14 -305CEBC1C0EBC38013C713DFEBFFC0EBE7E0EBC3F0138180EB80FC147E80A2EC1F80EC0F -C039FFF83FF8A21D267FA520>107 D<EAFFC0A2120FB3B0EAFFFCA20E267EA511>I<26FF -80FE137F903A83FF81FFC03B0F8E0FC707E0019813CC903A9007E803F001A013F0A201C0 -13E0AF3BFFFC7FFE3FFFA230187E9733>I<38FF80FE903883FF80390F8E0FC013989038 -9007E013A0A213C0AF39FFFC7FFEA21F187E9722>I<EB7F803803FFF03807C0F8381F80 -7E48487EA2007EEB1F80A200FE14C0A8007E1480A26CEB3F00A2381F807E6C6C5A3803FF -F038007F801A187E971F>I<38FFC1FCEBCFFF390FFC1FC09038F007E001C013F0140315 -F8140115FCA8EC03F8A215F0EBE0079038F00FE09038DC1F809038CFFF00EBC3F801C0C7 -FCA9EAFFFCA21E237F9722>I<38FF83E0EB8FF8380F8C7CEB90FC13B013A01478EBE000 -5BAEEAFFFEA216187F9719>114 D<3807F8C0EA1FFFEA3C07EA7001EAF000A300FC1300 -B47EEA7FFC7F383FFF80000F13C0120338001FE01303EAC001A212E014C0EAF00338FC07 -8038EFFF00EAC3FC13187E9718>I<13C0A41201A312031207120F121FB512C0A2380FC0 -00AC1460A63807E0C013E13801FF8038007E0013237FA218>I<39FFC07FE0A2000F1307 -B0140FA200071317EBE0673903FFC7FE38007F071F187E9722>I<3BFFF9FFE0FF80A23B -1FC03F001C00000F6D13181580D807E05CA29039F03FC07000030137136015E02601F863 -5BA29038FCE3F1000001C15B15F990267F80FBC7FCA215FF90383F007EA2011E133CA301 -0C131829187F972C>119 D<39FFF83FF0A2390FC00F003807E00E6C6C5A6D5A6C6C5A00 -001360EB7EC06D5AA2131F6D7E497E80EB33F81361EBE0FC3801C07E3803807F3907003F -8048131F39FFC07FF8A21D187F9720>I<39FFF80FF8A2390FC001C015803907E00300A2 -6D5A00031306EBF80E0001130C13FC00005B13FEEB7E30A26D5AA214E06D5AA26D5AA26D -C7FCA21306A25B1230EA781CEAFC185B1370EA68E0EA7FC0001FC8FC1D237F9720>I -E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh cmti10 10.95 75 -/Fh 75 123 df<91383F03E09138C38470903901878CF0010313989138033860D9070013 -00A35D130EA390B6FC90380E00E05BA44A5A1338A549485AA54948C7FCA4EBC00E120114 -0CEA318638798F1838F31E1038620C60383C07C02429829F1C>11 -D<EC3FE0ECE010903801803801031378A290380700301500A3130EA390B512E0EB0E0090 -381C01C0A4EC03801338A3EC0700A2137801701310EC0E20A313609038E00640EC038091 -C7FC5BA21201EA3180127948C8FC1262123C1D29829F1A>I<EC3FCEECE0EE90380181FC -1303EC00DC49131C1538A3130E1570A290B512F090380E00704913E0A4EC01C01338A3EC -0380A213701588EC0710A313E0EC0320EC01C091C7FC5B1201A2EA3180127948C8FC1262 -123C1F29829F1B>I<13E0EA01F0A2EA03E0A313C0A3138012071300A31206A35AA31208 -A3C7FCA5127012F8A25A5A0C217BA00E>33 D<EC0804EC0C06EC180CA2EC3018A2EC6030 -A2ECC060A290380180C0A39038030180A2003FB6FCA23900180C00A3495AA3495AA2B612 -F8A2390180C00038030180A2D80603C7FCA2EA0C06A3485AA2485AA2485AA220297B9F25 ->35 D<01701304D80188130CD803041338D806071370390E02E3E0000CEB1C60001CEB00 -C0EC0180393804030014065C13085C495A5C381820C0EA08C03807018039000303C09038 -06062090380C0C10EB18181430EB3070EB6060EBC0E0EA0180EA0300903801C020120612 -0C0018144012300100138048EBC10048136248133C1E2579A125>37 -D<130113021304130813101320136013C0EA0180A2EA03005A1206120E120C121C121812 -38A212301270A21260A212E0A25AAD12401260A212207EA27E102E79A113>40 -D<13107F7F130613021303A37F1480A71303A31400A35BA21306A2130E130CA2131C1318 -133813301370136013E05B485A90C7FC5A12065A5A5A5A1280112E80A113>I<1330A313 -20A2381861C0381C678038064E00EA0378EA01E0A2EA07B0EA1C98EA798EEAE1860001C7 -FCA25AA3121478A117>I<121C123CA41204A21208A212101220A212401280060E7D840E> -44 D<EA7FF0EAFFE0127F0C037D8A10>I<127012F8A212F012E005057B840E>I<154015 -C0EC0180A2EC0300A21406A25C5CA25CA25C5CA2495AA249C7FCA213065BA25BA25BA25B -5BA2485AA248C8FCA212065AA25AA25AA25A5AA25A1A2D7FA117>I<EB0F80EB30E0EBE0 -70EA01C0380380301438EA0700481378A2120E121E14704813F0A4387801E0A314C0EA70 -0312F01480130714001270130E5BEA30386C5AEA0FC0151F7C9D17>I<1302A21306130E -133C13DCEA031C12001338A41370A413E0A4EA01C0A4EA0380A41207EAFFF80F1E7B9D17 ->I<131FEB61C0EB80E0EA010000021370134012041320380840F0A3EB80E0EA09010006 -13C038000380EB0700130C5B13605B0003C7FC12044813405A1480EA2001EA7E033847FF -00EA41FEEA80FC1378141F7C9D17>I<EB1F80EB60E0EB80703801003000021338EA0440 -A21320EB407013C038038060C712E0EB01C0EB030013FE131C130613071480A312301278 -A238F00F001280EA401E131C5BEA30E0EA0F80151F7C9D17>I<146014E0A3EB01C0A3EB -0380A214005BA21306130E130C5BA25BA213635B1387EA01071203EA060E12041208EA3F -8EEA607C38801FC038001C00A25BA45BA2136013277E9D17>I<EB80603801FFC01480EB -FE0090C7FC1202A45AA213F8EA050CEA0A06EA0C07120800001380A4EB0F00127012F013 -0EEAE01EEA801C5B1330EA4060EA61C0001FC7FC131F7B9D17>I<EB07C0EB18201330EB -E0E0EA01C11381380380C048C7FC5A120E121E1378EA1D84EA3E061307123C007C138012 -78A338700F00A212F0130E131EEA701C1260EA7038EA3070EA10C0EA0F80131F7B9D17> -I<3804E010EA0BF0000F1320001F1340381E19C038380E80EA3001386003001240EA8006 -EA000E130C131C131813385BA213F05B1201A2485AA3485AA3120F90C7FCA21206141F79 -9D17>I<EB0F80EB30C0EB4060EB80301201EA0300A3481360EB8040EBC0C03803E180EB -F600EA01FC1200487EEA033F38041F80EA180FEA10031230EA6001A338C00300A2EA6006 -1304EA2018EA1830EA0FC0141F7C9D17>I<1207120F121FA2120E1200AA127012F8A212 -F012E008147B930E>58 D<14021406A2140E141EA2143F142F144F14CF148FEB010FA213 -02A213041308A20110138014071320EB3FFFEB40071380A2EA0100A2120212061204001E -14C039FF807FF81D207E9F22>65 D<48B512C039001E00F015781538153C5BA4491378A2 -15F0EC01E09038F007809038FFFE009038F00F80EC03C03801E00115E0A3EA03C0A315C0 -38078003EC0780EC0F00141E380F007CB512E01E1F7D9E20>I<ECFE0290380781869038 -1C004C49133C136049131C00011418485A48C7FC5A001E1410A2481400A25AA45AA41580 -1270A2EC01007E140200185B6C13186C1320380381C0D800FEC7FC1F217A9F21>I<90B5 -128090381E00E015701538151C5B150EA35BA449131EA44848133CA3157848481370A215 -E0EC01C0380780031580EC0E005C380F0070B512C01F1F7D9E22>I<48B512FE39001E00 -1C150C1504A25BA490387804081500A2140C495AEBFFF8EBF018A23801E010A3EC001048 -481320A21540A248481380140115001407380F001FB512FE1F1F7D9E1F>I<48B512FC39 -001E003815181508A25BA4491310EC0800A3495A1430EBFFF0EBF0303801E020A44848C7 -FCA4485AA4120FEAFFF81E1F7D9E1E>I<ECFC04903807030C90381C00980130137813E0 -4848133848481330A248C7FC120E001E1420A2481400A25AA45AECFFF0EC0780A2EC0F00 -1270A3141E7E0018133E001C132E6C13CC38038304D800FCC7FC1E217A9F23>I<9039FF -F1FFE090391F003E00011E133CA3495BA4495BA449485A90B5FCEBF001A24848485AA448 -48485AA4484848C7FCA4000F5B39FFF1FFE0231F7D9E22>I<3801FFF038001F00131EA3 -5BA45BA45BA4485AA4485AA4485AA4120FEAFFF0141F7D9E12>I<9039FFF01FE090391F -000F80011EEB0E0015085D495B5D4AC7FC1402495A5C5C1430EBF0F0EBF1F8EBF27813F4 -48487E13F013E080EA03C0A280A2EA07806E7EA3000F8039FFF03FF8231F7D9E23>75 -D<3801FFF8D8001FC7FC131EA35BA45BA45BA4485AA315803903C00100A25C1402380780 -06A25C141C380F0078B512F8191F7D9E1D>I<D801FEEC7FC0D8001EECFC005E0117EB01 -78A20127EB02F01504A215080147EB09E015111521A20187495AEB83801583A23A010381 -07801482A2148400024AC7FC14881490A2390401E01EA214C0000C1380001C143E3AFF81 -03FFC02A1F7D9E29>I<01FFEB3FE0011FEB0F001504EB1780A201275BEB23C0A3903841 -E010A214F0134001805B1478A348486C5AA3141E00025CA2140FA24891C7FC80A2120C00 -1C1302EAFF80231F7D9E22>I<EB01FCEB070790381C01C090383000E001E01360484813 -70485A0007143890C7FC120E121E121C123CA2481478A44814F0A215E0140115C0140300 -701480EC070000785B0038131E5C6C13706C5B38078380D801FCC7FC1D217A9F23>I<48 -B5128039001E00E015701538153C5BA4491378A215F015E09038F003C0EC0F00EBFFFC01 -F0C7FC485AA4485AA4485AA4120FEAFFF01E1F7D9E1F>I<90B5FC90381E03C0EC00E015 -7015785BA44913F0A2EC01E015C09038F00700141EEBFFF0EBF01C48487E140F80158039 -03C00F00A43807801E1508A21510000F130ED8FFF01320C7EA03C01D207D9E21>82 -D<903807E04090381C18C09038300580EB600313C000011301018013001203A391C7FC7F -A213F86CB47E14E06C6C7E131FEB01F8EB0078A21438A21220A2143000601370146014E0 -00705B38E80380D8C606C7FCEA81F81A217D9F1A>I<000FB512FC391E03C03800181418 -001014081220EB078012601240A239800F001000001400A3131EA45BA45BA45BA4120138 -7FFF801E1F799E21>I<393FFC0FF83907C003C09038800100A3380F0002A4001E5BA448 -5BA4485BA4485BA35CA200705B49C7FCEA3002EA3804EA0C18EA07E01D20779E22>I<39 -FFF003FC001FC712E06C14C01580EC0100A21402A25C5C138000075B143014205CA25C13 -8191C7FC13C2120313C413CC13C813D0A213E05BA25B120190C8FC1E20779E22>I<3BFF -E1FFC07F803B1F003E001C00001E013C13181610143E021E5B121F6C013E5BA2025E5B14 -9E4BC7FC9038011E02A201025BA201045BA201085BA201105B13205D01405BA2D9801FC8 -FC80EB000E7E0006130CA2000413082920779E2D>I<9039FFF07FE090391F801F009038 -0F000C6E5A010713105D6E5A01035B02C1C7FC14E2EB01E614EC14F86D5AA280A2EB017C -EB023C1306EB043EEB081E1310EB201F497E1380D801007F4813071206001F497E39FFC0 -3FF8231F7E9E22>I<39FFF003FC001FC712E06C14C06D1380EC0100000713026D5AA200 -035B6D5A5C00011360EBF0405CD800F1C7FC13FA13FE137C1378A2137013F0A35B1201A4 -485AEA3FFC1E1F779E22>I<90387FFFF89038FC00F09038E001E09038C003C090388007 -8012019038000F00141E5C00025BC712F85C495A495A495A49C7FCA2131E5B495A13F000 -01130213E03803C00638078004380F000C001E1308003E1318003C1338387801F0B5FC1D -1F7D9E1C>I<EB1FE0A2EB1800A25BA45BA45BA4485AA448C7FCA41206A45AA45AA45AA4 -5AA3EA7F8048C7FC132D7FA10E>I<EB1FE0A2EB0060A214C0A4EB0180A4EB0300A41306 -A45BA45BA45BA45BA45BA4485AA3127F48C7FC132D82A10E>93 D<EBF180380389C03807 -0780EA0E03121C123C383807001278A3EAF00EA31420EB1C40A2EA703C135C38308C8038 -0F070013147C9317>97 D<EA0780123FEA0700A4120EA45AA213F0EA1D0CEA3A0E123CEA -380FA21270A4EAE01EA3131C133C1338EA607013E0EA31C0EA1F0010207B9F15>I<137E -EA01C138030080EA0E07121E001C1300003CC7FC5AA35AA45B12701302EA300CEA1830EA -07C011147C9315>I<1478EB03F8EB0070A414E0A4EB01C0A213F1EA038938070780EA0E -03121C123C383807001278A3EAF00EA31420EB1C40A2EA703C135C38308C80380F070015 -207C9F17>I<137CEA01C2EA0701120E121C123CEA3802EA780CEA7FF0EA78005AA4EA70 -01A21302EA380CEA1830EA07C010147C9315>I<1478EB019CEB033CA2EB07181400A213 -0EA5EBFFE0EB1C00A45BA55BA55BA5485AA35B1231007BC7FC12F31266123C1629829F0E ->I<EB3C60EBE2703801C1E0EA0380EA07005A380E01C0121EA3383C0380A4EB0700A2EA -1C0F1317EA0C2EEA03CEEA000EA25BA21230EA7838485AEA60E0EA3F80141D7E9315>I< -EA01E0120FEA01C0A4485AA448C7FCA2131E1363380E8180380F01C0120EA2381C0380A4 -38380700A3EB0E1000701320A2131CEB0C4000E013803860070014207D9F17>I<13C0EA -01E0A213C0C7FCA7120E12131223EA4380EA4700A21287120EA35AA3EA38401380A21270 -EA31001232121C0B1F7C9E0E>I<EB0180EB03C0A2148090C7FCA7133C13461387A2EA01 -07A2EA020E1200A35BA45BA45BA45BA21230EA79C0EAF1800063C7FC123C1228829E0E> -I<EA01E0120FEA01C0A4485AA448C7FCA2EB03C0EB0420380E08E013111321EB40C0381C -8000001DC7FC121EEA1FC0EA38E01370A2EB384038707080A3EB310012E0EA601E13207D -9F15>I<EA03C0121FEA0380A4EA0700A4120EA45AA45AA45AA3127112E2A4126412380A -207C9F0C>I<391C0F80F0392630C318394740640C903880680EEB0070A2008E495A120E -A34848485AA3ED70803A3803807100A215E115623970070064D83003133821147C9325> -I<381C0F80382630C0384740601380EB0070A2008E13E0120EA3381C01C0A3EB03840038 -1388A2EB0708EB031000701330383001C016147C931A>I<137CEA01C338030180000E13 -C0121E001C13E0123C1278A338F003C0A3EB07801400EA700F130EEA3018EA1870EA07C0 -13147C9317>I<3801C1E0380262183804741C1378EB701EA2EA08E01200A33801C03CA3 -143838038078147014E0EBC1C038072380EB1E0090C7FCA2120EA45AA2B47E171D809317 ->I<EBF040380388C038070580EA0E03121C123C383807001278A3EAF00EA45BA2EA703C -135CEA30B8EA0F381200A25BA45BA2EA0FFE121D7C9315>I<EA1C1EEA266138278380EA -47871307EB0300008EC7FC120EA35AA45AA45A123011147C9313>I<13FCEA0302EA0601 -EA0C03130713061300EA0F8013F0EA07F8EA03FCEA003E130E1270EAF00CA2EAE008EA40 -10EA2060EA1F8010147D9313>I<EA018013C0EA0380A4EA0700A2EAFFF0EA0700120EA4 -5AA45AA31320EA7040A21380A2EA3100121E0C1C7C9B0F>I<000E13C0001313E0382301 -C0EA4381EA4701A238870380120EA3381C0700A31410EB0E201218A2381C1E40EA0C2638 -07C38014147C9318>I<380E0380EA1307002313C0EA4383EA4701130000871380120EA3 -381C0100A31302A25BA25BEA0E30EA03C012147C9315>I<000EEBC1C0001313E3392301 -C3E0384381C1384701C015603987038040120EA3391C070080A3EC0100A21306EB0F0200 -0C5B380E13083803E1F01B147C931E>I<38038380380CC440381068E013711220EB70C0 -3840E0001200A3485AA314403863808012F3EB810012E5EA84C6EA787813147D9315>I< -000E13C0001313E0382301C0EA4381EA4701A238870380120EA3381C0700A4130E1218A2 -EA1C1EEA0C3CEA07DCEA001CA25B12F05BEAE060485AEA4380003EC7FC131D7C9316>I< -3801C0403803E080EA07F1380C1F00EA0802C65A5B5B5B5B5B48C7FC1202485AEA080212 -10EA3E0CEA63FCEA41F8EA80E012147D9313>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fi cmb10 10.95 43 -/Fi 43 122 df<EAFFF0A40C04808B0F>45 D<1238127C12FEA3127C123807077D860D> -I<1307A3497EA2497EA3497E1337A2EB63F0A3EBC1F8A3380180FCA33803007EEBFFFE48 -7F3806003FA2000EEB1F80120CA2001CEB0FC039FF80FFF8A21D1F7E9E22>65 -D<B512F014FC380F807E80A21580A2141F143FA31500147E14FEEBFFF814FEEB803FEC1F -80EC0FC0A215E0A515C0141F1580143FB5EAFE0014F81B1F7E9E20>I<90380FF0109038 -7FFC703901FC0EF03803E003380FC001381F8000A248C71270A2007E1430A212FE1500A8 -007E1430A27E15706C6C136015E06C6C13C03903E003803901FC0F0038007FFCEB0FF01C -1F7E9E21>I<B512F014FE380FC07FEC1F80EC07C015E0EC03F0A2EC01F8A315FCA915F8 -A3EC03F0A215E01407EC0FC0EC3F00B512FE14F01E1F7E9E23>I<B6FCA2380FC01F8080 -8015801401A2EBC181A2EC8000A213C313FFA213C313C1A215C0A2EBC000EC0180A31403 -A21407EC3F00B6FCA21A1F7E9E1E>I<B512FEA2380FC03E140EA2140614071403A2EBC1 -83A21480A213C313FFA213C313C1A4EBC000A8EAFFFEA2181F7E9E1D>I<90381FE02090 -387FF8E03801F81D3807E007380FC003381F800190C7FC5A5A007E1460A212FE1500A590 -3801FFFCA290380007E0127EA2127F7E7E1380EA0FC03807E00F3801FC1F38007FF89038 -1FE0601E1F7D9E24>I<39FFFC7FFEA2390FC007E0AC90B5FCA2EBC007AD39FFFC7FFEA2 -1F1F7E9E24>I<EAFFFCA2EA0FC0B3A9EAFFFCA20E1F7E9E12>I<3803FFF0A238001F80B3 -A21210127C12FEA338FC3F00EA783EEA3FFCEA0FE0141F809E18>I<EAFFFEA2EA0FC0B1 -140CA4141CA2141814381478EBC1F8B5FCA2161F7E9E1B>76 D<39FFC007FEA2390FE000 -607FEA0DF8A2EA0CFC137EA27FEB1F80EB0FC0A2EB07E0EB03F014F81301EB00FC147EA2 -143FEC1FE0140FA214071403A214011400D8FFC01360A21F1F7E9E24>78 -D<EB3FE0EBFFF83803F07E3807C01F390F800F80001F14C0393F0007E0A24814F0007E13 -03A200FE14F8A9007E14F0A2007F13076C14E0A2391F800FC0390FC01F803907E03F0038 -03F07E3800FFF8EB3FE01D1F7E9E22>I<B512E014FC380FC07E80EC1F80A215C0A51580 -A2EC3F00147EEBFFFC14E001C0C7FCACEAFFFCA21A1F7E9E1F>I<B512E014FC380FC07E -80EC1F8015C0A61580EC3F00147EEBFFFC14E0EBC0F080147CA2147EA3147FA31503EC3F -83EC1F8639FFFC0FFCEC03F8201F7E9E23>82 D<3803F040380FFDC0EA1C0FEA3803EA70 -01A2EAF000A36C13007EB47EEA7FF8EA3FFEEBFF806C13C01207C613E0130FEB03F01301 -130012C0A36C13E0130100F813C038FE038038EFFF00EA81FC141F7E9E19>I<007FB512 -C0A2387C1F830070138100601380A200E014E000C01460A400001400B13807FFFEA21B1E -7E9D20>I<39FFFC0FFCA2390FC000C0B3A40007EB018013E00003EB03006C6C5A3800F8 -1EEB3FF8EB0FE01E1F7E9E23>I<39FFF803FEA2390FC000701560A26C6C13C0A2EBF001 -00031480A23901F80300A26D5A00001306A2EB7E0CA36D5AA214B8EB1FB0A2EB0FE0A36D -5AA36D5AA21F1F7F9E22>I<397FFC3FF8A23907E00700EBF0060003130E3801F80CEBFC -1C000013186D5AEB7E70EB3F605C131FA2130F6D7E80130F801319EB38FCEB30FEEB607E -EBE07F497E3901801F80000314C0EB000F4814E039FFE07FFEA21F1F7F9E22>88 -D<39FFF803FEA2390FC000706D1360000714C07F3903F801800001130301FC130000005B -EBFE06EB7F0E140CEB3F9CEB1F9814F0130F5C1307ABEB7FFEA21F1F7F9E22>I<EA0FF0 -EA3FFCEA7E1E131FEB0F80123E1218120013FF120FEA1F0F127CA212F8A31317EA7C3738 -3FE3F0EA0F8114147F9316>97 D<B4FCA2121FAA133FEBFFC0EBC3E0EB01F0EB00F8A214 -FCA714F8A3EB01F0EBC3E0381CFFC038183F0016207F9F19>I<EA03F8EA0FFEEA1F3F12 -3E127EEA7C3E130C00FCC7FCA6127CA2387E0180EA3E03381F8700EA0FFEEA03F811147F -9314>I<EB1FE0A21303AAEA03F3EA0FFFEA1F0FEA3E03127CA312FCA7127CA2EA3E07EA -1F0F380FFBFCEA03F316207F9F19>I<EA03F8EA0FFEEA1F0F383E0780123C007C13C0A2 -12FCB5FCA200FCC7FCA3127CA26C13C0A2381F03803807FF00EA01FC12147F9315>I<13 -7F3801FF803807C7C0EA0F8F130F121FEB078090C7FCA5EAFFF0A2001FC7FCB0EAFFF0A2 -12207F9F0E>I<3803F0E0380FFDF0EA1E1EEA3C0F007C1380A5003C1300EA1E1EEA1FFC -EA33F00030C7FCA21238EA3FFEEBFF806C13C04813E0387803F0EA700012F0A4387801E0 -383E07C0381FFF803803FC00141E7F9317>I<B4FCA2121FAA131FEB3FC01363EB83E0A2 -1303AD38FFE7FCA216207E9F19>I<121C123E127FA3123E121CC7FCA6B4FCA2121FB0EA -FFE0A20B217FA00C>I<B4FCA2121FB3AAEAFFE0A20B207F9F0C>108 -D<39FE0F80F890383FC3FC391E63E63E9038C1FC1FEB81F8381F01F0AD3AFFE7FE7FE0A2 -23147E9326>I<EAFE1FEB3FC0EA1E63EB83E0A2EA1F03AD38FFE7FCA216147E9319>I<EA -01F8EA0FFF381F0F80383E07C0387C03E0A300FC13F0A7007C13E0A2383E07C0381F0F80 -380FFF00EA03FC14147F9317>I<EAFF3FEBFFC0381FC3E0EB01F014F8A2EB00FCA714F8 -1301A214F0EBC7E0EBFFC0EB3F0090C7FCA7EAFFE0A2161D7F9319>I<EAFE3C137F381E -DF80139F121FEB1F00130690C7FCABEAFFF0A21114809313>114 -D<EA0FD8EA3FF8EA7038EAE018A3EAF800EAFF80EA7FF0EA3FF8EA1FFCEA03FEEA003EEA -C00EA212E0130CEAF81CEAFFF8EAC7E00F147F9312>I<1203A45AA25AA2123FEAFFF8A2 -EA1F00AA130CA5EA0F98EA07F0EA03E00E1D7F9C12>I<38FF1FE0A2EA1F03AE1307EA0F -0F3807FBFCEA03F316147E9319>I<39FFCFF1FCA2391F03C0701560EB07E0D80F8713C0 -A2EB8CF03907CCF180A2EBD8793903F87B00A2147F497E0001133EA2EBE01E0000131CEB -C00C1E147F9321>119 D<38FFC3F8A2381F00C0A2380F8180A33807C300A213E7EA03E6 -A2EA01FCA36C5AA31370A21360A2EA78E0EAFCC0A2EAC18012E3007FC7FC123C151D7F93 -18>121 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fj cmsy10 10.95 1 -/Fj 1 14 df<14FE903807FFC090381F01F0903878003C01E0130ED80180130348C7EA01 -800006EC00C0481560A2481530481518A248150CA4481506A90060150CA46C1518A26C15 -306C1560A26C15C06CEC01806C6CEB0300D800E0130E0178133C90381F01F0903807FFC0 -D900FEC7FC272B7DA02E>13 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fk cmbx12 17.28 41 -/Fk 41 122 df<121E123FEA7F80EAFFC0A213E0A2127FEA3F60121E1200A313C0A3EA01 -80A2EA03001206A25A123812300B187A8916>44 D<B512F8A715077F921B>I<EB01C013 -03130F137FEA1FFFB5FC13BFEAE03F1200B3B1007FB512F0A31C2E7AAD28>49 -D<EB3FE03801FFFE0007EBFF80D80F8013C0391E003FE00038EB1FF0007CEB0FF8007EEB -07FCB4FC018013FEA21403A2EA7F00003E1307C7FC15FCA2EC0FF8A215F0EC1FE015C0EC -3F80EC7F00147E14F8495A495A495A49C7FC011E130E5B133849131E49131C485A48C712 -3C48B512FC5A5A5A4814F8B6FCA31F2E7CAD28>I<EB1FF890B5FC000314C03907E01FF0 -390F0007F8D81F807FEA3FC06E7EA4EA1F80380F0007C75BA25D4A5A4A5AEC3F8002FFC7 -FCEB3FF8ECFF809038001FE06E7E6E7E6E7E816E7EA21680A3121C123E127FEAFF801600 -A24A5AEA7F00007E495A003C5C391FC01FF06CB512C0000391C7FC38003FF8212E7DAD28 ->I<157015F0140114031407140FA2141F143F147714F714E7EB01C7EB0387EB0707130F -130E131C1338137013F013E0EA01C0EA0380EA07005A120E5A5A5A5AB712E0A3C7380FF0 -00A9010FB512E0A3232E7EAD28>I<000C1430390FC007F090B512E015C0158015005C14 -F85C1480000EC8FCA8EB1FF0EBFFFE390FE03F809038000FC0000EEB07E0000C14F0C713 -F8140315FCA215FEA21218123E127F5AA215FCA25A0078EB07F815F06CEB0FE06CEB1FC0 -390FC07F806CB51200000113FC38003FE01F2E7CAD28>I<14FF010713E0011F7F90387F -80F89038FE003CD801F8137C484813FE00071301EA0FE0A2EA1FC0003F6D5A157892C7FC -485AA338FF83FC90388FFF8090389C0FC09038B003F06E7E01E07F01C07F140081A24914 -80A4127FA4003F15007F121F5D000F495AEA07E06C6C485A3901FC0FE06CB55A013F90C7 -FCEB0FFC212E7DAD28>I<1578A215FCA34A7EA24A7EA24A7FA34A7FEC0E7F021E7FEC1C -3FA202387F151F02787FEC700FA202E07F1507010180ECC003A249486C7EA201078191C7 -FC498191B6FCA24981011CC7123F013C810138141FA24981160F01F081491407A2484881 -486C1403B549B512FCA336317DB03D>65 D<913A03FF800180023FEBF00349B5EAFC0701 -079038003F0FD91FF8EB079FD93FC0EB01FFD9FF807F4848C8127F4848153F0007161F49 -150F485A001F1607A2485A1703127FA24992C7FCA212FFA9127FA27FEF0380123FA26C7E -1707000F17006C7E6D150E0003161E6C6C151C6C6C6C1478D93FC05CD91FF8EB03E0D907 -FFEB3F800101D9FFFEC7FCD9003F13F80203138031317CB03A>67 -D<B812E0A3C6903880007FEE0FF016031601A21600A21770A31738A21507A21700A35D5D -5D91B5FCA3EC803F818181A592C8FCACB612C0A32D317EB033>70 -D<DA03FF1303027FEBF00749B5EAFC0F01079038007E1FD91FF0EB0FBFD97FC0EB03FF49 -487F4848C87E485A0007824848815B001F82A2484881A2127FA24992C7FC12FFAA0307B5 -12F8127F7FDB00011300123FA26C7EA2120F7F6C7E12036C7E6C6C7E6D6C5BD91FF8497E -D907FFEB3E3F01019038FFFC1F6D6CEBF00F0203EB800335317CB03F>I<B6D8807FB512 -C0A3C60180C7387FC000B391B7FCA30280C7127FB3A3B6D8807FB512C0A33A317EB03F> -I<B61280A3C6EB8000B3B3A7B61280A319317EB01E>I<B67EA3000190C9FCB3A9EE0380 -A416071700A25EA35E5E5E5E4B5A150FB7FCA329317DB030>76 D<EC0FFF91B512F09039 -07FC03FE903A1FE0007F80D93F80EB1FC049C76C7ED801FEEC07F848486E7E48486E7EA2 -48486E7E001F178049157F003F17C0A34848ED3FE0A300FF17F0AB007F17E06D157FA300 -3F17C0A26C6CEDFF80A26C6C4A130000075E6D140300035E6C6C4A5A6C6C4A5AD93FC0EB -3FC06D6C495A902707FC03FEC7FC0100B512F0020F90C8FC34317CB03D>79 -D<B77E16F816FEC690398003FF809238007FE0EE1FF0707EA283160783A65F160F5F4C5A -4C5A4C5ADB03FFC8FC91B512F816E091388007F8ED01FC6F7E167F83707EA283A583A4F0 -038017F8161F1900706C5AB6398003FE0E933801FFFC9338001FF039317EB03C>82 -D<90391FF8018090B51203000314C73907F007EF390F8000FF48C7127F003E141F150F5A -150712FCA215037EA26C91C7FC13C0EA7FF0EBFF806C13F8ECFF806C14F06C806C806C14 -FFC6FC013F1480010114C0D9001F13E01401EC003FED1FF0150F1507126000E01403A316 -E07EA26CEC07C07EB4EC0F8001C0EB1F00D8FBFC13FE00F1B512F8D8E03F5BD8C0031380 -24317CB02D>I<007FB8FCA39039C00FF801D87E00EC003F007C82007882A200708200F0 -1780A3481603A5C792C7FCB3AA017FB6FCA331307DAF38>I<B6D88003B51280A3C60180 -C73807C000715AB3AE137F4DC7FC80013F150EA26D6C5C6D6C5C6D6C5C6D6C495A903A00 -FF801FC0023FB55A020F49C8FC020013E039317EB03E>I<007FB590387FFFF8A3C601E0 -903801F000017F5D6D6C5C6D6C13036E495A010F4AC7FC6D6C130E6E131E6D5C6D6D5A6D -EBC070EDE0F091387FE1E091383FF3C0EDFB80EC1FFF6E90C8FC6E5A81806E7F82804A7F -4A7F913807BFF8151F4A6C7E021E7FEC3C0791383803FFDA78017F02F08049487E4A6D7E -0103814948133F91C76C7E010E6E7E011E8149140701386E7E01FC1680B500E0017F13FF -A338317EB03D>88 D<EBFFF0000313FF390F803F809038C00FE0486C6C7EA26E7ED80FC0 -7FEA0780C7FCA414FF131FEBFFE33803FC03EA0FF0EA1FC0123FEA7F80A2EAFF00A31407 -A2387F800D393FC01DFE3A1FE078FFF03907FFE07FC6EB803F24207E9F27>97 -D<EA01F812FFA3120F1207ADEC3FE0ECFFFC9038FBE07F9039FF001F8049EB0FC04914E0 -49EB07F016F8A2ED03FCA316FEA816FCA3ED07F8A216F06DEB0FE06D14C001E7EB3F8090 -39C3C0FE00903880FFF89038003FC027327EB12D>I<EB0FFF017F13C03901FC01F03803 -F0033907E007F8120FEA1FC0003FEB03F0EC01E04848C7FCA312FFA8127FA36C6C131CA2 -001F14386C7E000714703903F001E03901FC07C039007FFF00EB0FF81E207D9F24>I<ED -0FC0EC07FFA3EC007F153FADEB07F8EB3FFF9038FE07BF3903F801FF3907E0007F120F48 -48133F123FA2485AA312FFA8127FA36C7EA2121F6C6C137F000714FF2603F00313E03A01 -FC0F3FFE38007FFEEB0FF027327DB12D>I<EB0FFC90387FFF803901FC0FC03903F003E0 -3907E001F0000F14F8391FC000FC003F14FEA24848137E157FA212FFA290B6FCA20180C7 -FCA4127FA36C6C1307121F150E6C7E6C6C131C6C6C13783900FE03E090383FFFC0903807 -FE0020207E9F25>I<EB01FE90380FFF8090381FC3C090387F07E09038FE0FF0120113FC -1203EC07E0EC018091C7FCA8B512FCA3D803FCC7FCB3A8387FFFF0A31C327EB119>I<90 -391FF007C09039FFFE3FE03A01F83F79F03907E00FC3000F14E19039C007E0E0001FECF0 -00A2003F80A5001F5CA2000F5CEBE00F00075C2603F83FC7FC3806FFFE380E1FF090C9FC -121EA2121F7F90B57E6C14F015FC6C806C801680000F15C0003FC7127F007EEC1FE0007C -140F00FC1407A4007EEC0FC0003E1580003F141FD80FC0EB7E003907F803FC0001B512F0 -D8001F90C7FC242F7E9F28>I<EA01F812FFA3120F1207ADEC07F8EC3FFEEC783F02C013 -809039F9801FC0EBFB0001FE14E05BA35BB3B500C3B5FCA328327DB12D>I<EA03C0487E -487E487EA46C5A6C5A6C5AC8FCA9EA01F8127FA31207B3A7B51280A311337DB217>I<EA -01F812FFA3120F1207B3B3A6B512C0A312327DB117>108 D<2703F007F8EB1FE000FFD9 -3FFEEBFFF8913A783F01E0FC02C090388300FE280FF1801FC6137F2607F30013CC01F602 -F8148001FC5CA3495CB3B500C3B5380FFFFCA33E207D9F43>I<3903F007F800FFEB3FFE -EC783F02C013803A0FF1801FC03807F30001F614E013FCA35BB3B500C3B5FCA328207D9F -2D>I<EB07FC90387FFFC03901FC07F03903F001F848486C7E4848137E001F147F003F15 -8049133F007F15C0A300FF15E0A8007F15C0A36C6CEB7F80A2001F15006C6C13FE00075C -3903F803F83901FE0FF039007FFFC0D907FCC7FC23207E9F28>I<3901F83FE000FFEBFF -FC9038FBE07F9039FF003F80D80FFEEB1FC06C48EB0FE04914F0ED07F8A216FC1503A216 -FEA816FC1507A216F8A2ED0FF06D14E06DEB1FC06DEB3F809039FBC0FE009038F8FFF8EC -3FC091C8FCABB512C0A3272E7E9F2D>I<3803F03F00FFEB7FC09038F1C3E01487390FF3 -0FF0EA07F6A29038FC07E0EC03C091C7FCA25BB2B512E0A31C207E9F21>114 -D<3801FF86000713FEEA1F00003C133E48131E140E12F8A36C90C7FCB47E13FC387FFFC0 -6C13F0806C7F00077F00017FEA003F01001380143F0060131F00E0130FA27E15007E6C13 -1E6C131C38FF807838F3FFF038C07F8019207D9F20>I<131CA5133CA3137CA213FC1201 -12031207381FFFFEB5FCA2D803FCC7FCB0EC0380A71201EC0700EA00FEEB7F0EEB3FFCEB -07F0192E7FAD1F>I<D801F8EB07E000FFEB03FFA3000FEB003F0007141FB3153FA20003 -147FA26C6CEBDFF03A00FE039FFF90387FFF1FEB0FFC28207D9F2D>I<3A7FFF807FFCA3 -3A03FC000F006C6C131E6C6C5BEC803890387FC078013F5B90381FE1E090380FF3C0ECFF -806D90C7FC6D5A13016D7E81815B903803DFE09038078FF08190380F07FC90381E03FEEB -3C01496C7E4914804848EB7FC00003EC3FE026FFFC01B5FCA328207F9F2B>120 -D<B5EB1FFCA3D80FF8EB03C0000715806D1307000315007F0001140E7F6C5CA2EC803C01 -7F1338ECC078013F1370ECE0F0011F5B14F1010F5B14F9903807FB80A214FF6D90C7FCA2 -6D5AA26D5AA21478A21470A214F05C1301007C5BEAFE035C49C8FC5BEAFC1EEA787CEA3F -F0EA0FC0262E7E9F2B>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fl cmbx12 14.4 63 -/Fl 63 122 df<123C127FEAFF80A213C0A3127F123E1200A2EA0180A3EA0300A2120612 -0E5A5A12100A157B8813>44 D<B51280A611067F9016>I<121C127FA2EAFF80A3EA7F00 -A2121C09097B8813>I<1403EC0780A2140F1500A25C141E143E143CA2147C1478A214F8 -5C13015CA213035CA213075C130F91C7FCA25B131E133E133CA2137C1378A213F85B1201 -5BA212035BA212075B120F90C8FCA25A121EA2123E123C127C1278A212F85AA21260193C -7CAC22>I<EB3F803801FFF03807E0FC380FC07E48487E497E481480003E130F007E14C0 -A400FE14E0AF007E14C0A46CEB1F80A26C14006D5A380FC07E6C6C5A3801FFF038003F80 -1B277DA622>I<130E131E137EEA07FE12FFA212F81200B3ABB512FEA317277BA622>I<EB -FF80000713F04813FC381E03FE393800FF80007C133F00FE14C06C131F15E0140FA2127E -003C131FC7FC15C0A2EC3F801500147E5C5C495A495AEB078049C7FC131E4913E013705B -3901C001C0EA0380EA0600000FB5FC5A5A5AB61280A31B277DA622>I<EB7F803803FFF0 -4813FC380F81FE381F007FEA3F80EC3F80A3121F1300C7EA7F00A2147E5C495AEB07F0EB -FFC0A2EB01F8EB007E801580EC1FC0A215E0A2123C127EB4FCA215C0143F481480007CEB -7F00383F01FE6CB45A000713F0C613801B277DA622>I<140FA25C5C5C5C5BA2EB03BFEB -073F130E131C133C1338137013E0EA01C0EA038012071300120E5A5A5A12F0B612F8A3C7 -EA7F00A890381FFFF8A31D277EA622>I<00181303381F801FEBFFFE5C5C5C14C091C7FC -001CC8FCA7EB7FC0381DFFF8381F80FC381E003F1208C7EA1F8015C0A215E0A21218127C -12FEA315C05A0078EB3F80A26CEB7F00381F01FE6CB45A000313F0C613801B277DA622> -I<EB07F8EB3FFE90B5FC3901FC07803903F00FC03807C01FEA0F80121F130048EB0F8091 -C7FC127EA3EAFE02EB1FF0EB3FFCEB603EEB801F00FF14809038000FC0A24814E0A4127E -A4123E003F14C07EEC1F80D80F8013003807E07E6CB45A6C5B38003FC01B277DA622>I< -1238123E003FB512F0A34814E015C0158015003870000EA25C485B5C5CC6485AA2495A13 -0791C7FC5B5B131E133EA2137E137CA213FCA41201A76C5A13701C297CA822>I<EB3FC0 -3801FFF04813FC3807C07E48C67E001E7FEC0F80123EA2123F138001C01300EBF01F381F -FC1E6D5A380FFFF86C13E06C7F6C13FC8000077FD80F0F1380D81E0713C0EA3E01397C00 -7FE0141F48130F14071403A315C0127C007EEB07806CEB0F00381FC03F380FFFFC00035B -38007FC01B277DA622>I<EB7F803801FFF000077F380FC0FC381F803E48487E007E1480 -A2140F00FE14C0A315E0A5007E131FA26C133F6C132F380F80CF3807FF8F0001130FEA00 -08010013C0A3EC1F80123E127FEC3F00143E147E007E5B383E03F8381FFFE06C1380D801 -FEC7FC1B277DA622>I<121C127FA2EAFF80A3EA7F00A2121CC7FCA9121C127FA2EAFF80 -A3EA7F00A2121C091B7B9A13>I<EC0780A24A7EA34A7EA24A7EA3EC77F8A2ECF7FC14E3 -A2903801C1FEA201037F1480A249486C7EA24980010E133FA2496D7EA2013FB57EA39039 -700007F8A201F080491303000181491301A2000381D8FFFE013F13FCA32E297EA833>65 -D<B612F815FF16C03A03F8001FE0ED0FF0ED07F8150316FCA21501A3150316F8A2ED07F0 -150FED1FC0EDFF8090B5EAFE00EDFFC09039F8000FF0ED03F8ED01FC16FE1500A216FFA6 -16FE1501ED03FC1507ED1FF8B712E016C0EDFE0028297DA830>I<91387FE003903907FF -FC07011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F4848147F4848143F4848141F48 -5A160F485A1607127FA290C9FC5AA97E7F1607123FA26C7E160E6C7E6C6C141C6C6C143C -6C6C14786CB4EB01F090397FF007C0011FB512800107EBFE009038007FF028297CA831> -I<B612FCEDFF8016E03A03FC001FF8ED03FCED00FE167FEE3F80EE1FC0A2EE0FE0A2EE07 -F0A417F8AA17F0A3EE0FE0A217C0161FEE3F80EE7F005EED03FCED1FF8B75A168003FCC7 -FC2D297EA834>I<B712E0A33903FC001FED07F01501A215001670A3913801C0781638A3 -02031300A2140F90B5FCA3EBFC0F1403A20201130EA3161C91C7FCA3163C1638167816F8 -15011503151FB712F0A327297EA82C>I<B712C0A33903FC003FED0FE015031501A21500 -A316F0913801C070A316001403A2140F90B5FCA3EBFC0F1403A21401A491C8FCA9B512FC -A324297EA82A>I<91387FE003903907FFFC07011FEBFF0F90397FF00F9F9039FF0001FF -D801FC7F484880484880484880485A82485A82127FA290CAFC5AA892B512F87E7F030013 -00123FA26C7EA26C7E6C7E6C7E6C7E6CB45B90387FF007011FB5129F0107EBFE0F903900 -7FF0032D297CA835>I<B5D8F00FB5FCA3D803FCC7EA3FC0AF90B7FCA301FCC7123FB1B5 -D8F00FB5FCA330297EA835>I<B512F0A33803FC00B3B1B512F0A314297EA819>I<B500F0 -EBFFFEA3D803FCC7EA0F00161E5E5E16E0ED03C04B5A4BC7FC151E5D15F04A5A4A5A1407 -140F4A7EEC7FF04A7EEBFDE79038FFC3FCEC83FE9038FE01FF497E6F7E826F7E151F6F7E -8215076F7E6F7E8281EE7F80B539F00FFFFEA32F297EA835>75 D<B512FCA3D803FCC8FC -B3A3ED01C0A415031680A21507A2150FA2151F157F913801FF00B7FCA322297EA828>I< -D8FFFE92383FFF80A26D5D0003EFE000A2D9BF8014EFA2D99FC0EB01CFA2D98FE0EB038F -A3D987F0EB070FA2D983F8130EA2D981FC131CA3D980FE1338A2027F1370A291383F80E0 -A391381FC1C0A291380FE380A2913807F700A3EC03FEA26E5AA26E5AD8FFFE0203B51280 -A2157039297DA840>I<D8FFFCEC7FFF7F7F00036DEB01C080EBBFE0139F80EB8FF8EB87 -FCEB83FEEB81FF01801380147F15C0EC3FE0EC1FF0EC0FF8EC07FC140315FEEC01FF6E13 -81ED7FC1ED3FE1ED1FF1150F16F9ED07FDED03FF8181167FA2163F161F160F1607D8FFFE -14031601A230297EA835>I<ECFFC0010F13FC90383F807F9039FE001FC0D801F8EB07E0 -48486D7E48486D7E000F8148486D7EA24848147FA2007F168090C8123FA34816C0AA6C16 -806D147FA2003F1600A26C6C14FEA26C6C495A6C6C495A6C6C495A6C6C495A6C6C495A90 -263FC0FFC7FC90380FFFFC010013C02A297CA833>I<B612F815FF16C03A03FC003FE0ED -07F0ED03F816FC150116FEA716FC150316F8ED07F0ED3FE090B61280EDFE0001FCC8FCB0 -B512F0A327297EA82E>I<ECFFC0010F13FC90383FC0FF9039FE001FC048486D7ED803F0 -EB03F000078148486D7E48486D7EA24848147FA2007F1680A290C8123FA24816C0AA6C16 -806D147FA2003F1600A26C6C14FE143E3A0FE07F81FC00079038C1C1F83A03F18063F0D8 -01F9EB67E0D800FFEB3FC090263FC07FC7FC90380FFFFC01004913C0EC003C811601ED1F -8316FF6F1380A21700816F5A6F5A6F5A2A357CA833>I<B612E015FE6F7E3A03FC003FE0 -ED0FF06F7E6F7E150182A65E4B5A1507ED0FE0ED3FC090B500FEC7FCA29039FC00FF80ED -3FC06F7E6F7E6F7EA9170EA21503923801FC1CB538F000FEEE7FF8EE0FE02F297EA832> -I<9038FF80600003EBF0E0000F13F8381F80FD383F001F003E1307481303A200FC1301A2 -14007EA26C140013C0EA7FFCEBFFE06C13F86C13FE80000714806C14C0C6FC010F13E0EB -007FEC1FF0140F140700E01303A46C14E0A26C13076C14C0B4EB0F80EBE03F39E3FFFE00 -00E15B38C01FF01C297CA825>I<007FB71280A39039807F807FD87C00140F00781507A2 -0070150300F016C0A2481501A5C791C7FCB3A490B612C0A32A287EA72F>I<B500F0EBFF -FEA3D803FCC7EA0380B3AA0001ED07007F0000150E137F6D143CD91FC05B90390FF003F0 -6DB55A01001480DA1FFCC7FC2F297EA834>I<B500F0EB7FFFA3D803FEC7EA01C00001ED -0380A26D14076C16006E5B017F140E80013F5CA26E133C011F14386E1378010F14708001 -075CA26D6C485AA2ECFE0301015CECFF076D91C7FC1587EC7F8EA215DEEC3FDC15FC6E5A -A26E5AA36E5AA26E5AA230297FA833>I<B53CE07FFFE01FFFC0A32803FC0003FCC7EA70 -00A26D6D7E000160A26D6E13016C604B138002801503017F5F4B13C0D93FC0013F49C7FC -A2913AE00E1FE00F011F160E17F09126F01C0F131E010F161C033C13F8902707F838075B -A2037813FC902703FC70035BA2913AFEE001FEF001015E02FF14FF4B7E6D5EA26E486D5A -A36EC76CC8FCA2023E80021E141EA242297FA845>I<3B7FFFF01FFFE0A3000190C7EAF0 -006C6D485A02C05B017F13036D6C485AD91FF090C7FC5D90380FF81E6D6C5A1538903803 -FE786D6C5A5D6D5B147F6E7EA26E7E81143F81EC7BFEECF3FFEB01E102C07F01036D7EEB -078049486C7E010E6D7E131E496D7E01386D7E498001F0130348486D7EB5013F13FCA32E -297EA833>I<003FB6FCA39038F001FE90388003FCEB0007003E5C003C495A48131F5D14 -3F00705C4A5A14FF92C7FCC6485A13035C495A130F5C131F5C495A017FEB03801480EBFF -005A5B4848130712075B000FEC0F005B48485B003F5C4913FF387F8003B7FCA321297CA8 -29>90 D<3803FF80000F13F0381F01FC383F80FE147F801580EA1F00C7FCA4EB3FFF3801 -FC3FEA0FE0EA1F80EA3F00127E5AA4145F007E13DF393F839FFC381FFE0F3803FC031E1B -7E9A21>97 D<EAFFE0A3120FACEBE1FE9038EFFF809038FE07E09038F803F09038F001F8 -9038E000FCA2157EA2157FA8157EA315FCA29038F001F89038F803F090389C0FE090380F -FF80390E01FC00202A7EA925>I<EB3FF03801FFFC3803F03E380FC07FEA1F80EA3F00A2 -48133E007E90C7FCA212FEA7127EA2127F6CEB03801380001FEB0700380FE00E3803F83C -3801FFF838003FC0191B7E9A1E>I<EC7FF0A31407ACEB3F873801FFF73807F03F380FC0 -0F381F8007EA3F00A2127EA312FEA8127EA27EA2381F800F380FC01F3907E07FFF3801FF -E738007F87202A7EA925>I<EB3FC03801FFF03803E07C380F803E001F7F130048EB0F80 -127E15C0A200FE1307A2B6FCA248C8FCA3127EA2127F6CEB01C07E390F8003803907C007 -003803F01E3800FFFCEB3FE01A1B7E9A1F>I<EB07F8EB3FFCEB7E3E3801FC7FEA03F813 -F01207143E1400A7B512C0A33807F000B3A3387FFF80A3182A7EA915>I<9038FF80F000 -03EBE3F8390FC1FE1C391F007C7C48137E003EEB3E10007EEB3F00A6003E133E003F137E -6C137C380FC1F8380BFFE00018138090C8FC1238A2123C383FFFF814FF6C14C06C14E06C -14F0121F383C0007007CEB01F8481300A4007CEB01F0A2003FEB07E0390FC01F806CB512 -0038007FF01E287E9A22>I<EAFFE0A3120FAC147E9038E1FF809038E30FC001E413E0EB -E80701F813F013F0A213E0B039FFFE3FFFA3202A7DA925>I<1207EA0F80EA1FC0EA3FE0 -A3EA1FC0EA0F80EA0700C7FCA7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12>I<1307EB0F -80EB1FC0EB3FE0A3EB1FC0EB0F80EB070090C7FCA7EBFFE0A3130FB3AA127C12FE14C0EB -1F801400EA7C3EEA3FFCEA0FF0133784AA15>I<EAFFE0A3120FACEC1FFCA3EC0780EC0F -00141E5C5C14E0EBE3C013E7EBEFE0EBFFF08013F3EBE1FCEBC0FE147FA2EC3F80EC1FC0 -EC0FE0A2EC07F039FFFC1FFFA3202A7FA923>I<EAFFE0A3120FB3B2EAFFFEA30F2A7EA9 -12>I<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0C1F8D80FC49038F101FC9039C803 -F20001D801FE7F01D05BA201E05BB03CFFFE3FFF8FFFE0A3331B7D9A38>I<38FFC07E90 -38C1FF809038C30FC0D80FC413E0EBC80701D813F013D0A213E0B039FFFE3FFFA3201B7D -9A25>I<EB3FE03801FFFC3803F07E390FC01F80391F800FC0393F0007E0A2007EEB03F0 -A300FE14F8A8007E14F0A26CEB07E0A2391F800FC0390FC01F803907F07F003801FFFC38 -003FE01D1B7E9A22>I<38FFE1FE9038EFFF809038FE0FE0390FF803F09038F001F801E0 -13FC140015FEA2157FA8157E15FEA215FC140101F013F89038F807F09038FC0FE09038EF -FF809038E1FC0001E0C7FCA9EAFFFEA320277E9A25>I<38FFC1F0EBC7FCEBC63E380FCC -7F13D813D0A2EBF03EEBE000B0B5FCA3181B7F9A1B>114 D<3803FE30380FFFF0EA3E03 -EA7800127000F01370A27E00FE1300EAFFE06CB4FC14C06C13E06C13F0000713F8C6FCEB -07FC130000E0137C143C7E14387E6C137038FF01E038E7FFC000C11300161B7E9A1B>I< -13E0A41201A31203A21207120F381FFFE0B5FCA2380FE000AD1470A73807F0E0000313C0 -3801FF8038007F0014267FA51A>I<39FFE07FF0A3000F1307B2140FA2000713173903F0 -67FF3801FFC738007F87201B7D9A25>I<39FFFC03FFA3390FF000F0000714E07F0003EB -01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA2149EEB3F9C14FC6D5AA26D5AA3 -6D5AA26D5AA2201B7F9A23>I<3BFFFC7FFC1FFCA33B0FE00FE001C02607F007EB0380A2 -01F8EBF00700031600EC0FF801FC5C0001150EEC1FFC2600FE1C5B15FE9039FF387E3C01 -7F1438EC787F6D486C5A16F0ECE01F011F5CA26D486C5AA2EC800701075CA22E1B7F9A31 ->I<39FFFC1FFEA33907F003803803F8079038FC0F003801FE1E00005BEB7F3814F86D5A -6D5A130F806D7E130F497EEB3CFEEB38FFEB787F9038F03F803901E01FC0D803C013E0EB -800F39FFF03FFFA3201B7F9A23>I<39FFFC03FFA3390FF000F0000714E07F0003EB01C0 -A2EBFC0300011480EBFE070000140013FFEB7F0EA2149EEB3F9C14FC6D5AA26D5AA36D5A -A26D5AA25CA21307003890C7FCEA7C0FEAFE0E131E131C5BEA74F0EA3FE0EA0F8020277F -9A23>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fm cmtt10 10.95 89 -/Fm 89 126 df<127012F8B012701200A5127012F8A31270051C779B18>33 -D<EA4010EAE038EAF078EAE038AAEA60300D0E7B9C18>I<EA0306EA078FA6387FFFC0B5 -12E0A26C13C0380F1E00A6387FFFC0B512E0A26C13C0381E3C00A6EA0C18131C7E9B18> -I<EA3803387C0780A2EAEE0F1400A25B131EA2133EEA7C3CA2EA387CEA0078A213F85B12 -015BA212035BA21207EB8380EB87C0120FEB0EE0A2121F121EA2123E383C07C0A2381803 -8013247E9F18>37 D<1238127CA2127E123E120EA3121CA2123812F812F012C0070E789B -18>39 D<137013F0EA01E0EA03C0EA0780EA0F00121E121C5AA25AA45AA81270A47EA27E -121E7EEA0780EA03C0EA01F0120013700C24799F18>I<126012F012787E7E7EEA078012 -03EA01C0A2EA00E0A41370A813E0A4EA01C0A2EA03801207EA0F00121E5A5A5A12600C24 -7C9F18>I<EA01C0A4EA41C138F1C780EAFDDF387FFF00EA1FFCEA07F0A2EA1FFCEA7FFF -38FDDF80EAF1C73841C100EA01C0A411147D9718>I<136013F0A7387FFFC0B512E0A26C -13C03800F000A7136013147E9718>I<121C123E127E127F123F121F1207120E121E127C -12F81260080C788518>I<387FFFC0B512E0A26C13C013047E8F18>I<1230127812FCA212 -7812300606778518>I<1303EB0780A2130F14005B131EA2133E133C137C1378A213F85B -12015B12035BA212075B120F90C7FCA25A121E123E123CA2127C127812F85AA212601124 -7D9F18>I<EA01F0EA07FC487EEA1F1FEA1C0738380380007813C0EA7001A238E000E0A9 -EAF001007013C0A2EA780300381380381C0700EA1F1FEA0FFE6C5AEA01F0131C7E9B18> -I<EA01801203A21207120F123F12FF12FB12431203B0EA7FFCEAFFFEEA7FFC0F1C7B9B18 ->I<EA03F0EA0FFEEA3FFF387C0F80387003C0EAE00138F000E0A21260C7FCA2EB01C0A2 -1303EB0780EB0F00131E5B5B5B485AEA07C0485A381E00E05AEA7FFFB5FC7E131C7E9B18 ->I<EA07F8EA1FFE487E38780780EB03C0130112301200EB0380A2EB0F00EA03FF5B7F38 -000780EB03C01301EB00E0A312F0A2EB01C01303387C0780383FFF006C5AEA03F8131C7E -9B18>I<131F5B1377A213E7120113C7EA038712071307120E121E123C1238127812F0B5 -12F8A338000700A6EB7FF0A3151C7F9B18>I<383FFF80A30038C7FCA8EA3BF8EA3FFE7F -383C0780383003C0EA0001EB00E0A2126012F0A238E001C0EA7003387C0F80383FFF00EA -1FFCEA03F0131C7E9B18>I<137E48B4FC00071380380F83C0EA1E03121C3838018090C7 -FC5AA2EAE1F8EAE7FEB5FC38FE078038F803C0EAF001EB00E05AA21270A3383801C0EA3C -03381E0780380FFF006C5AEA01F8131C7E9B18>I<12E0B512E0A214C038E00380EB0700 -C65A131E131C5BA25B13F05BA2485AA3485AA448C7FCA7131D7E9C18>I<EA03F8EA0FFE -487E383E0F80EA3803387001C0A438380380EA3C07381FFF00EA07FC487EEA1F1F383C07 -80387001C000F013E0EAE000A4387001C0EA7803383E0F80381FFF006C5AEA03F8131C7E -9B18>I<EA03F0EA0FFC487EEA3C0F38780780EA700338E001C0A3EB00E0A2EA7001EA78 -03EA3C0FEA1FFFEA0FFEEA03F0C7FCEB01C0A338300380EA7807EB0F00133EEA3FFCEA1F -F0EA07C0131C7E9B18>I<1230127812FCA2127812301200A81230127812FCA212781230 -0614779318>I<1218123C127EA2123C12181200A81218123C127EA2123E121E120E121C -123C127812F01260071A789318>I<14C0EB03E01307EB1FC0EB3F80EBFE00485AEA07F0 -485AEA3F8048C7FC12FCA2127F6C7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E01303 -EB00C013187E9918>I<387FFFC0B512E0A26C13C0C8FCA4387FFFC0B512E0A26C13C013 -0C7E9318>I<126012F87E127F6C7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E0A2EB -1FC0EB3F80EBFE00485AEA07F0485AEA3F8048C7FC12FC5A126013187E9918>I<137CEA -01FEEA07FF380F8780381E03C0EA3C1DEA387F3870FFE0EA71E313C112E1EAE380A638E1 -C1C0127113E33870FF8038387F00EA3C1C381E00E0EA0F833807FFC00001138038007E00 -131C7E9B18>64 D<137013F8A213D8A2EA01DCA3138CEA038EA4EA0707A5380FFF80A3EA -0E03381C01C0A3387F07F000FF13F8007F13F0151C7F9B18>I<EA7FFCB5FC6C1380381C -03C01301EB00E0A4130114C01307381FFF80140014C0EA1C03EB00E014F01470A414F014 -E01303387FFFC0B51280387FFE00141C7F9B18>I<EBF8E0EA03FEEA07FFEA0F07EA1E03 -EA3C01EA38005AA214005AA8127014E0A27E123C381E01C0EA0F073807FF803803FE00EA -00F8131C7E9B18>I<EA7FF8EAFFFE6C7E381C0F80EB03C0A2EB01E01300A214F01470A8 -14F014E0A2130114C01303EB0F80387FFF00485AEA7FF8141C7F9B18>I<B512F0A3381C -0070A41400A2130EA3EA1FFEA3EA1C0EA390C7FCA21438A5B512F8A3151C7F9B18>I<B5 -12F0A3381C0070A41400A2130EA3EA1FFEA3EA1C0EA390C7FCA7EAFFC0A3141C7E9B18> -I<3801F1C0EA03FDEA0FFFEA1F0FEA1C03123813011270A290C7FC5AA5EB0FF0131F130F -387001C0A213031238A2EA1C07EA1F0FEA0FFFEA03FDEA01F1141C7E9B18>I<387F07F0 -38FF8FF8387F07F0381C01C0A9EA1FFFA3EA1C01AA387F07F038FF8FF8387F07F0151C7F -9B18>I<EA7FFFB512806C1300EA01C0B3A4EA7FFFB512806C1300111C7D9B18>I<3801FF -C0A338000E00B312F0A2133CEA7FFCEA3FF0EA0FC0121C7D9B18>I<387F07F038FF87F8 -387F07F0381C03C0EB07801400130E131E5B13385B13F0121DA2EA1FB8A2131C121EEA1C -0EA27FA2EB0380A2EB01C0387F03F038FF87F8387F03F0151C7F9B18>I<EAFFC0A3001C -C7FCB114E0A5B5FCA3131C7E9B18>I<38FC01F8EAFE03A2383B06E0A4138EA2EA398CA2 -13DCA3EA38D8A213F81370A21300A638FE03F8A3151C7F9B18>I<387E07F038FF0FF838 -7F07F0381D81C0A313C1121CA213E1A313611371A213311339A31319A2131D130DA3EA7F -07EAFF87EA7F03151C7F9B18>I<EA0FFE383FFF804813C0EA7803EA700100F013E0EAE0 -00B0EAF001007013C0EA7C07EA7FFF6C1380380FFE00131C7E9B18>I<EAFFFEEBFF8014 -C0EA1C03EB01E013001470A514E01301EB03C0EA1FFF1480EBFE00001CC7FCA8B47EA314 -1C7F9B18>I<EA0FFE383FFF804813C0EA7803EA700100F013E0EAE000AE1370A2EAF079 -387039C0EA783FEA7FFF6C1380380FFE00EA000FEB0780A2EB03C01301A213227E9B18> -I<EA7FF8EAFFFE6C7E381C0F80130314C01301A313031480130F381FFF005BA2EA1C0F7F -EB0380A5149CA3387F01F8EAFF81387F00F0161C7F9B18>I<3803F1C0EA1FFF5AEA7C0F -EA7003EAE001A390C7FC12701278123FEA1FF0EA07FEC67EEB0F80EB03C01301EB00E0A2 -126012E0130100F013C038F80780B5FCEBFE00EAE7F8131C7E9B18>I<387FFFF8B5FCA2 -38E07038A400001300B2EA07FFA3151C7F9B18>I<38FF83FEA3381C0070B36C13E0EA0F -01380783C03803FF806C1300EA007C171C809B18>I<38FE03F8EAFF07EAFE03383C01E0 -001C13C0A3EA1E03000E1380A438070700A4EA038EA4EA018C13DCA3EA00D813F8A21370 -151C7F9B18>I<38FE03F8A338700070A36C13E0A513F8EA39FC13DCA2001913C0A3138C -A2EA1D8DA31305000D1380EA0F07A2EA0E03151C7F9B18>I<387F0FE0139F130F380E07 -00120FEA070E138EEA039C13DCEA01F8A212005B137013F07F487E13DCEA039E138EEA07 -0F7F000E13801303001E13C0387F07F000FF13F8007F13F0151C7F9B18>I<38FE03F8EA -FF07EAFE03381C01C0EA1E03000E1380EA0F0700071300A2EA038EA2EA01DCA3EA00F8A2 -1370A9EA01FC487E6C5A151C7F9B18>I<383FFFE05AA2387001C01303EB07801400C65A -131E131C133C5B137013F0485A5B1203485A90C7FC5A001E13E0121C123C5A1270B5FCA3 -131C7E9B18>I<EAFFF8A3EAE000B3ACEAFFF8A30D24779F18>I<126012F0A27E1278127C -123CA2123E121E121F7EA27F12077F1203A27F12017F12007F1378A2137C133C133E131E -A2131F7F14801307A2EB030011247D9F18>I<EAFFF8A3EA0038B3ACEAFFF8A30D247F9F -18>I<387FFFC0B512E0A26C13C013047E7F18>95 D<1206121E123E12381270A212E0A3 -12F812FC127CA21238070E789E18>I<EA0FF0EA1FFC487EEA3C0FEA180738000380A213 -FF1207121FEA7F03127812E0A3EAF007EA780F383FFFF8EA1FFDEA07F015147E9318>I< -127E12FE127E120EA5133EEBFF80000F13C0EBC1E01380EB0070120E1438A6000F1370A2 -EB80E013C1EBFFC0000E138038063E00151C809B18>I<EA01FEEA07FF001F1380EA3E07 -3838030048C7FCA25AA61270EB01C01238EA3E03381FFF8000071300EA01FC12147D9318 ->I<EB1F80133F131F1303A5EA03E3EA0FFBEA1FFFEA3C1FEA380FEA7007130312E0A6EA -7007A2EA380FEA3C1F381FFFF0380FFBF83803E3F0151C7E9B18>I<EA01F0EA07FCEA1F -FEEA3E0F38380780EA7003A238E001C0A2B5FCA300E0C7FC1270EB01C01238EA3E07381F -FF8000071300EA01F812147D9318>I<EB1F80EB7FC0EBFFE013E13801C0C01400A3387F -FFC0B5FCA23801C000AEEA7FFFA3131C7F9B18>I<3801E1F03807FFF85A381E1E30381C -0E00487EA5EA1C0EEA1E1EEA1FFC5BEA39E00038C7FC7EEA1FFEEBFFC04813E0387801F0 -38700070481338A4007813F0EA7E03381FFFC06C13803801FC00151F7F9318>I<127E12 -FE127E120EA5133EEBFF80000F13C013C1EB80E01300120EAB387FC7FC38FFE7FE387FC7 -FC171C809B18>I<EA0380EA07C0A3EA0380C7FCA4EA7FC012FF127F1201AEB5FCA3101D -7C9C18>I<1338137CA313381300A4EA0FFCA3EA001CB3A4EA6038EAF078EAFFF0EA7FE0 -EA3F800E277E9C18>I<127E12FE127E120EA5EB3FF0A3EB0780EB0F00131E5B5B5BEA0F -F87F139C130EEA0E0F7FEB038014C0387FC7F812FF127F151C7F9B18>I<EAFFC0A31201 -B3A4B51280A3111C7D9B18>I<38F9C1C038FFF7F013FF383E3E38EA3C3CA2EA3838AB38 -FE3E3EEB7E7EEB3E3E1714809318>I<EA7E3E38FEFF80007F13C0EA0FC1EB80E0130012 -0EAB387FC7FC38FFE7FE387FC7FC1714809318>I<EA01F0EA0FFE487E383E0F80EA3803 -387001C0A238E000E0A5EAF001007013C0EA7803383C0780EA3E0F381FFF006C5AEA01F0 -13147E9318>I<EA7E3E38FEFF80007F13C0380FC1E01380EB0070120E1438A6000F1370 -A2EB80E013C1EBFFC0000E1380EB3E0090C7FCA7EA7FC0487E6C5A151E809318>I<3801 -F380EA07FBEA1FFFEA3E1FEA380FEA7007A2EAE003A6EA7007A2EA380FEA3C1FEA1FFFEA -0FFBEA03E3EA0003A7EB1FF0EB3FF8EB1FF0151E7E9318>I<38FF0FC0EB3FE0EB7FF0EA -07F0EBE060EBC0005BA290C7FCA9EAFFFC7F5B14147E9318>I<EA07F7EA3FFF5AEA780F -EAE007A3007CC7FCEA7FE0EA1FFCEA03FEEA001F38600780EAE003A212F038F80F00B5FC -13FCEAE7F011147D9318>I<487E1203A4387FFFC0B5FCA238038000A9144014E0A33801 -C1C013FF6C1380EB3E0013197F9818>I<387E07E0EAFE0FEA7E07EA0E00AC1301EA0F03 -3807FFFC6C13FE3801FCFC1714809318>I<387F8FF000FF13F8007F13F0381C01C0380E -0380A338070700A3138FEA038EA3EA01DCA3EA00F8A2137015147F9318>I<38FF07F813 -8F1307383800E0A4381C01C0137113F9A213D9EA1DDD000D1380A3138DEA0F8FA2380707 -0015147F9318>I<387F8FF0139F138F380F0700EA078EEA039EEA01DC13F81200137013 -F07FEA01DCEA039E138EEA0707000E1380387F8FF000FF13F8007F13F015147F9318>I< -387F8FF000FF13F8007F13F0380E01C0EB0380A21207EB0700A2EA0387A2138EEA01CEA2 -13CC120013DC1378A31370A313F05B1279EA7BC0EA7F806CC7FC121E151E7F9318>I<38 -3FFFF05AA2387001E0EB03C0EB078038000F00131E5B13F8485AEA03C0485A380F007012 -1E5A5AB512F0A314147F9318>I<EB07E0131F137FEB780013E0AB1201EA7FC0485AA26C -7EEA01E01200AB1378EB7FE0131F130713247E9F18>I<126012F0B3B012600424769F18> -I<127CB4FC13C01203C67EAB7FEB7FC0EB3FE0A2EB7FC0EBF0005BABEA03C012FF90C7FC -127C13247E9F18>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fn cmbx12 20.736 3 -/Fn 3 100 df<B8FC17F017FC17FF28007FF0000F13C0040113E09338007FF0EF3FF8EF -1FFCA218FE170FA218FFA718FEA2171F18FC18F8173FEF7FF0933801FFE0040F138091B7 -120017F817C002F0C9FCB3A5B612F8A4383B7CBA42>80 D<13FE12FFA412071203B04AB4 -FC021F13F0027F13FC9138FC03FE9039FFF000FF02C0EB3F8091C7EA1FC04915E0EE0FF0 -17F8A2EE07FCA317FEA917FCA3160F17F817F0161F6D15E06EEB3FC06EEB7F80D9F9E0EB -FF009039F0FC07FE91387FFFF8D9E01F13E09026C003FEC7FC2F3C7DBB36>98 -D<903801FFF0010F13FE013FEBFF809039FF801FC03901FE003F4848EB7FE0485A485A12 -1F4848EB3FC0ED1F80007FEC0F004990C7FCA212FFAA127F7FA2123F6D14F0121F6C6CEB -01E012076C6CEB03C06CB4EB0F806C9038C03F0090383FFFFE010F13F8010113C024267D -A52B>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fo cmr10 10.95 80 -/Fo 80 123 df<90381F83E09038F06E303901C07878380380F8903800F03048EB7000A7 -B612803907007000B2383FE3FF1D20809F1B>11 D<133FEBE0C0EA01C0380381E0EA0701 -A290C7FCA6B512E0EA0700B2383FC3FC1620809F19>I<EB3FE013E0EA01C1EA0381EA07 -00A8B5FCEA0700B2383FE7FC1620809F19>I<90381F81F89038F04F043901C07C063903 -80F80FEB00F05A0270C7FCA6B7FC3907007007B23A3FE3FE3FE02320809F26>I<127012 -F8A71270AA1220A51200A5127012F8A3127005217CA00D>33 D<D807801318EA1840486C -5B011813E03960170360903808FCC000E0EB0180A24AC7FC1406A25C00605B131000305B -495AEA1840380780C03900018078EC8184903803030281EB0607EB0C0691380E00801318 -1330A2136013C0A23A01800601003803000714030006140248EB01840004EB007821257E -A126>37 D<127012F812FCA212741204A31208A21210A212201240060E7C9F0D>39 -D<13401380EA01005A12061204120C5AA212381230A212701260A412E0AC1260A4127012 -30A212381218A27E120412067E7EEA008013400A2E7BA112>I<7E12407E12307E120812 -0C7EA212077EA213801201A413C0AC1380A412031300A25A1206A25A120812185A12205A -5A0A2E7EA112>I<EA0180A5EAE187EA718EEA399CEA0FF0EA03C0A2EA0FF0EA399CEA71 -8EEAE187EA0180A510147DA117>I<127012F012F8A212781208A31210A31220A2124005 -0E7C840D>44 D<EAFFF0A20C02808A0F>I<127012F8A3127005057C840D>I<144014C0EB -0180A3EB0300A31306A25BA35BA35BA25BA35BA3485AA348C7FCA21206A35AA35AA25AA3 -5AA35AA2122D7EA117>I<EA03F0EA0E1C487EEA1806EA380738700380A400F013C0AD00 -701380A3EA780700381300EA1806EA1C0E6C5AEA03F0121F7E9D17>I<13801203120F12 -F31203B3A6EA07C0EA7FFE0F1E7C9D17>I<EA03F0EA0C1CEA100E487E00401380128000 -F013C0EAF803A3EA200712001480A2EB0F00130E5B5B5B13605B485A48C7FC000613405A -5A00101380EA3FFF5AB5FC121E7E9D17>I<EA03F0EA0C1CEA100EEA200F007813801307 -A2EA380F12001400A2131E131C1370EA07F0EA003C130E130FEB0780A214C0122012F8A3 -00F013801240EB0F00EA200EEA183CEA07F0121F7E9D17>I<1306A2130EA2131E132EA2 -134E138EA2EA010E1202A212041208A212101220A2124012C0B512F038000E00A7EBFFE0 -141E7F9D17>I<EA1803EA1FFE5B5B13E00010C7FCA6EA11F0EA161CEA180EEA10071480 -EA0003A214C0A3127012F0A200E013801240EB0700EA20066C5AEA0838EA07E0121F7E9D -17>I<137CEA0182EA0701380E0380EA0C0712183838030090C7FC12781270A2EAF1F0EA -F21CEAF406EAF807EB0380A200F013C0A51270A214801238EB07001218EA0C0E6C5AEA01 -F0121F7E9D17>I<1240387FFFE014C0A23840008038800100A21302485AA25B5BA25BA2 -1360A213E05B1201A41203A76C5A131F7E9D17>I<EA03F0EA0C0CEA1006EA3003382001 -801260A3127038780300123EEA3F06EA1FC8EA0FF0EA03F8487EEA0C7EEA103F38300F80 -EA6007EB01C012C01300A31480EA600100201300EA1002EA0C0CEA03F0121F7E9D17>I< -EA03F0EA0E18487E487E13071270EB038012F0A214C0A5EA7007A21238EA180BEA0E13EA -03E338000380A3EB07001230EA7806130EEA700CEA2018EA1070EA0FC0121F7E9D17>I< -127012F8A312701200AA127012F8A3127005147C930D>I<127012F8A312701200AA1270 -12F012F8A212781208A31210A31220A21240051D7C930D>I<B612FCA2C9FCA8B612FCA2 -1E0C7E9023>61 D<5B497EA3497EA3EB09E0A3EB10F0A3EB2078A3497EA2EBC03EEB801E -A248B5FCEB000FA20002EB0780A348EB03C0A2120C001E14E039FF801FFE1F207F9F22> -65 D<B512E0380F0078141EA2801580A515005C141E147CEBFFF0EB007C141FEC0F80EC -07C0140315E0A515C014071580EC0F00143EB512F01B1F7E9E20>I<90380FE010903838 -1C309038E002703803C00139078000F048C71270121E15305A1510127C127800F81400A9 -1278007C1410123CA26C1420A27E6C6C13406C6C13803900E00300EB380CEB0FF01C217E -9F21>I<B512F83807801EEC0780EC03C0EC01E0EC00F015701578A2153CA3153EA8153C -A2157C1578A215F0EC01E0EC03C0EC0780EC1E00B512F81F1F7F9E23>I<B61280380F00 -0F14031401140015C01540A314401500A214C0130113FF130113001440A3EC0020A31540 -A315C01401EC0380140FB6FC1B1F7E9E1F>I<B61280380780071401A2140015C01540A4 -EC2000A3146014E013FF138014601420A391C7FCA87FEAFFFE1A1F7F9E1E>I<90380FE0 -2090387818609038E004E03803800238070001481300001E1460A25A1520127C127800F8 -1400A7EC7FFCEC03E000781301127C123CA27EA27E7E380380023900E004609038781820 -90380FE0001E217D9F24>I<39FFF07FF8390F000780AD90B5FCEB0007AF39FFF07FF81D -1F7E9E22>I<EAFFF0EA0F00B3ABEAFFF00C1F7E9E10>I<3807FFC038003E00131EB3A312 -2012F8A3EAF01CEA403CEA6038EA1070EA0FC012207F9E17>I<EAFFF8EA0F8090C7FCB2 -1402A414061404A2140C141C147CB512FC171F7E9E1C>76 D<B46CEB07FE000715C0A2D8 -05C0130BA2D804E01313A301701323A26D1343A36D1383A290380E0103A3EB0702A3EB03 -84A2EB01C8A3EB00F0A21460121FD8FFE0EB7FFE271F7F9E2A>I<B4EB0FF8390F8003E0 -EC0080EA0BC0EA09E0A2EA08F01378A27F7FA27FEB0780A2EB03C0EB01E0A2EB00F01478 -A2143C141EA2140F1407A214031401123E38FF80001D1F7E9E22>I<EB1FE0EB70383801 -C00E48487E39070003804814C0001EEB01E048EB00F0A2007C14F8A20078147800F8147C -A900781478007C14F8A2003C14F0003E1301001E14E06CEB03C06C148039038007003801 -E01E38007038EB1FE01E217E9F23>I<B512E0380F007C141E80EC0780A215C0A41580A2 -EC0F00141E147CEBFFE090C8FCAEEAFFF01A1F7E9E1F>I<EB1FE0EB70383801C00E4848 -7E39070003804814C0001EEB01E0003E14F0003C1300007C14F8A20078147800F8147CA9 -00781478007C14F8A2003C14F0383E0781391E0841E0390F1023C0000714803903901700 -3801D01E3900783804EB1FF8EB001CEC0C0CEC0E1CEC0FF8A2140715F0EC01E01E297E9F -23>I<B512E0380F80780007131E80EC0780A215C0A41580A2EC0F00141E1478EBFFE0EB -80601438143C141C141EA3141FA315011581140F390FC0078239FFFC03C4C812F820207F -9E22>I<3803F040380C0CC0EA1803EA3001EA6000A212E01440A36C13007E127CEA7F80 -EA3FF86CB4FC00071380C613C0EB1FE013031301EB00F014707EA46C136014E06C13C038 -F8018038C60300EA81FC14217E9F19>I<007FB512E038780F010060EB006000401420A2 -00C0143000801410A400001400B3497E3803FFFC1C1F7E9E21>I<39FFF00FF8390F0003 -E0EC0080B3A46CEB01001380120314026C6C5A6C6C5AEB3830EB0FC01D207E9E22>I<39 -FFF003FE391F8000F86CC7126015206C6C1340A36C6C1380A2EBE00100011400A23800F0 -02A213F8EB7804A26D5AA36D5AA2131F6D5AA2EB07C0A36D5AA36DC7FC1F207F9E22>I< -3BFFF07FF81FF03B1F000FC007C06C903907800180170015C001805C00071502EC09E013 -C000035DEC19F01410D801E05CA2EC2078D800F05CA2EC403C01785CA2EC801E017C1460 -013C144090383D000F133F6D5CA2011E1307010E91C7FCA2010C7F010413022C207F9E2F ->I<397FF81FF8390FE007C03907C0030000031302EBE0063801F00400005BEBF818EB78 -106D5AEB3E60EB1E406D5AA213076D7E497E1305EB08F0EB18F8EB1078EB207CEB603EEB -401EEB801F3901000F801407000214C000061303001FEB07E039FFC01FFE1F1F7F9E22> -I<39FFF001FF391F800078000F146012076D1340000314807F3901F001001200EBF802EB -7C06EB3C04EB3E08131EEB1F10EB0FB0EB07A014E06D5AACEB3FFC201F7F9E22>I<12FF -A212C0B3B3A512FFA2082D7CA10D>91 D<12FFA21203B3B3A512FFA2082D80A10D>93 -D<120812101220A21240A21280A312B812FCA2127C1238060E7D9F0D>96 -D<EA1FE0EA3030EA7818131CEA300E1200A313FEEA0F8EEA1E0E1238127800F01310A313 -1E127838386720380F83C014147E9317>I<121C12FC121CAA137CEA1D87381E0180EB00 -C0001C13E01470A21478A6147014F014E0001E13C0381A018038198700EA107C15207E9F -19>I<EA01FCEA0706EA1C0F123813060078C7FC127012F0A61270127800381380A2381C -0100EA0706EA01F811147F9314>I<EB01C0130F1301AAEA01F1EA070DEA0C03EA180112 -381278127012F0A61270A21238EA1803120CEA070D3801F1F815207F9F19>I<EA03F0EA -0E1C487E487EA238700380A212F0B5FC00F0C7FCA41270A26C1380A2381C0100EA0706EA -01F811147F9314>I<137CEA01C6EA030F1207EA0E061300A7EAFFF0EA0E00B2EA7FE010 -20809F0E>I<14E03803E330EA0E3CEA1C1C38380E00EA780FA5EA380E6C5AEA1E38EA33 -E00020C7FCA21230A2EA3FFE381FFF8014C0383001E038600070481330A4006013606C13 -C0381C03803803FC00141F7F9417>I<121C12FC121CAA137C1386EA1D03001E1380A212 -1CAE38FF8FF014207E9F19>I<1238127CA31238C7FCA6121C12FC121CB1EAFF80091F7F -9E0C>I<13E0EA01F0A3EA00E01300A61370EA07F012001370B3A31260EAF06013C0EA61 -80EA3F000C28829E0E>I<121C12FC121CAAEB1FE0EB0780EB060013045B5B5B136013E0 -EA1DF0EA1E70EA1C38133C131C7F130F7F148014C038FF9FF014207E9F18>I<121C12FC -121CB3ABEAFF8009207F9F0C>I<391C3E03E039FCC30C30391D019018001EEBE01CA200 -1C13C0AE3AFF8FF8FF8021147E9326>I<EA1C7CEAFC86EA1D03001E1380A2121CAE38FF -8FF014147E9319>I<EA01F8EA070E381C0380383801C0A2387000E0A200F013F0A60070 -13E0A2383801C0A2381C038038070E00EA01F814147F9317>I<EA1C7CEAFD87381E0180 -14C0381C00E014F014701478A6147014F014E0381E01C0EB0380381D8700EA1C7C90C7FC -A8B47E151D7E9319>I<3801F04038070CC0EA0E02EA1C03EA38011278127012F0A61270 -12781238EA1C03EA0C05EA0709EA01F1EA0001A8EB0FF8151D7F9318>I<EA1CF0EAFD18 -EA1E3CA21318EA1C00AEEAFFC00E147E9312>I<EA0FC8EA3038EA6018EAC008A3EAE000 -127CEA3FE0EA1FF0EA07F8EA003CEA800E130612C0A21304EAE00CEAD818EA87E00F147F -9312>I<1202A31206A2120EA2123EEAFFF8EA0E00AB1304A5EA07081203EA01F00E1C7F -9B12>I<381C0380EAFC1FEA1C03AE1307120CEA061B3803E3F014147E9319>I<38FF83F8 -383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8A21370A3 -132015147F9318>I<39FF9FE1FC393C078070391C030060EC8020000E1440A214C0D807 -04138014E0A239038861001471A23801D032143A143E3800E01CA2EB6018EB40081E147F -9321>I<38FF87F8381E03C0380E0180EB0300EA0702EA0384EA01C813D8EA00F0137013 -7813F8139CEA010E1202EA060738040380000C13C0003C13E038FE07FC16147F9318>I< -38FF83F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8 -A21370A31320A25BA3EAF080A200F1C7FC1262123C151D7F9318>I<EA7FFFEA700E1260 -EA401C133813781370EA00E0120113C0EA038012071301120E121EEA1C03EA3802EA7006 -130EEAFFFE10147F9314>I E -%EndDVIPSBitmapFont -end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 300dpi -TeXDict begin -%%PaperSize: A4 - -%%EndSetup -%%Page: 1 1 -1 0 bop 1852 -58 a Fo(1)75 659 y Fn(Pcb)p 75 692 1800 -17 v 1603 739 a Fo(an)16 b(in)o(teractiv)o(e)1460 793 -y(prin)o(ted)g(circuit)h(b)q(oard)1445 847 y(la)o(y)o(out)e(system)g -(for)f Fm(X11)75 2545 y Fl(Thomas)21 b(Nau)p 75 2570 -1800 9 v eop -%%Page: 1 2 -1 1 bop 75 -58 a Fo(Cop)o(ying)1613 b(1)75 149 y Fk(Cop)n(ying)137 -267 y Fo(Cop)o(yrigh)o(t)363 266 y(c)351 267 y Fj(\015)14 -b Fo(1994,1995,1996)o(,19)o(97)e(Thomas)j(Nau)137 334 -y(This)g(program)e(is)h(free)g(soft)o(w)o(are;)f(y)o(ou)g(ma)o(y)h -(redistribute)h(it)f(and/or)g(mo)q(dify)g(it)h(under)f(the)h(terms)75 -389 y(of)i(the)g(GNU)g(General)g(Public)i(License)g(as)e(published)i(b) -o(y)e(the)h(F)l(ree)f(Soft)o(w)o(are)e(F)l(oundation;)j(either)75 -443 y(v)o(ersion)d(2)g(of)g(the)g(License,)i(or)e(\(at)f(y)o(our)h -(option\))g(an)o(y)f(later)i(v)o(ersion.)137 511 y(This)21 -b(program)d(is)i(distributed)i(in)e(the)g(hop)q(e)g(that)f(it)h(will)i -(b)q(e)e(useful,)i(but)e(WITHOUT)g(ANY)75 565 y(W)-5 -b(ARRANTY;)12 b(without)j(ev)o(en)f(the)g(implied)j(w)o(arran)o(t)o(y) -12 b(of)i(MER)o(CHANT-ABILITY)g(or)g(FITNESS)75 620 y(F)o(OR)g(A)g(P)l -(AR)l(TICULAR)g(PURPOSE.)g(See)h(the)g Fi(GNU)e(General)j(Public)h -(License)f Fo(for)d(more)h(details.)p eop -%%Page: 2 3 -2 2 bop 75 -58 a Fo(History)1630 b(2)75 149 y Fk(History)137 -250 y Fm(Pcb)13 b Fo(is)g(a)g(handy)g(to)q(ol)g(for)f(la)o(ying)i(out)e -(prin)o(ted)i(circuit)g(b)q(oards.)19 b(It)13 b(w)o(as)f(\014rst)g -(written)h(for)g(an)f(A)o(tari)75 305 y(ST)h(in)h(1990)e(and)h(p)q -(orted)g(to)g Fm(UNIX)f Fo(and)i Fm(X11)e Fo(in)i(1994.)k(I)c(nev)o(er) -f(had)g(the)g(in)o(ten)o(tion)h(to)f(create)f(another)75 -359 y(professional)j(la)o(y)o(out)e(system,)g(but)h(to)g(write)g(a)f -(to)q(ol)h(whic)o(h)h(supp)q(orts)f(p)q(eople)h(lik)o(e)g(y)o(ou)f(who) -f(do)h(some)75 414 y(home-dev)o(eloping)22 b(of)d(hardw)o(are.)33 -b(F)l(or)19 b(this)h(reason)f(it)h(has)g(no)g(auto-router)e(nor)i -(auto-placemen)o(t)75 469 y(co)q(de.)137 533 y(The)e(second)g(release)f -(1.2)g(included)j(men)o(us)d(for)g(the)g(\014rst)g(time.)26 -b(This)18 b(made)f Fm(PCB)g Fo(easier)h(to)f(use)75 588 -y(and)e(th)o(us)g(a)g(more)g(imp)q(ortan)o(t)g(to)q(ol.)137 -652 y(Release)g(1.3)e(in)o(tro)q(duced)j(undo)e(for)g -(highly-destructiv)o(e)i(commands,)e(more)g(straigh)o(tforw)o(ard)e -(ac-)75 707 y(tion)18 b(handling)h(and)f(scalable)h(fon)o(ts.)26 -b(La)o(y)o(er-groups)17 b(w)o(ere)g(in)o(tro)q(duced)i(to)e(group)g -(signal-la)o(y)o(ers)h(to-)75 761 y(gether.)137 825 y(Release)f(1.4)e -(pro)o(vided)h(supp)q(ort)g(for)g(add-on)g(device)h(driv)o(ers.)23 -b(Tw)o(o)15 b(la)o(y)o(ers)h(\(the)f(solder)i(and)f(the)75 -880 y(comp)q(onen)o(t)g(side\))g(w)o(ere)f(added)h(to)f(supp)q(ort)h -(SMD)f(elemen)o(ts.)22 b(The)16 b(handling)h(of)e(libraries)i(w)o(as)e -(also)75 935 y(impro)o(v)o(ed)j(in)g(1.4.1.)25 b(Supp)q(ort)18 -b(for)e(additional)j(devices)g(lik)o(e)g(GERBER)d(plotters)h(started)g -(in)h(1.4.4.)75 990 y(The)d(undo)h(feature)f(w)o(as)f(expanded)j(and)e -(the)g(redo-feature)g(added)h(in)g(1.4.5.)137 1054 y(Release)e(1.5)e -(pro)o(vides)i(supp)q(ort)f(for)f(rats-nest)h(generation)g(from)g -(simple)h(net)g(lists.)19 b(It)14 b(also)f(allo)o(ws)75 -1108 y(for)f(automatic)g(clearances)h(around)g(pins)g(that)f(pierce)h -(a)g(p)q(olygon.)19 b(A)13 b(v)m(ariet)o(y)f(of)g(other)g(enhancmen)o -(ts)75 1163 y(including)k(a)e(Gerb)q(er)g(RS274X)e(driv)o(er)i(and)g -(NC)g(drill)h(\014le)g(generation)f(ha)o(v)o(e)f(also)h(b)q(een)g -(added.)20 b(harry)75 1218 y(eaton)12 b(\(haceaton)p -Fm(@)p Fo(aplcomm.jh)o(uapl.edu\))h(w)o(as)e(resp)q(onsible)k(for)d -(most)g(of)g(the)h(c)o(hanges)f(found)h(in)h(this)75 -1273 y(release.)137 1337 y(Release)e(1.6)e(pro)o(vides)i(automatic)e -(screen)i(up)q(dates)g(of)e(c)o(hanged)i(regions.)19 -b(This)11 b(should)i(elliminate)75 1391 y(most)i(of)g(the)g(need)h(for) -f(the)g(redra)o(w)g(\(r\))g(k)o(ey)l(.)20 b(Also)c(some)f(c)o(hanges)g -(to)g(what)g(order)g(items)h(under)g(the)75 1446 y(cursor)c(are)h -(selected)h(w)o(ere)e(made)h(for)f(b)q(etter)h(consistancy)g(-)g(it)g -(is)g(no)g(longer)g(p)q(ossible)h(to)e(acciden)o(tally)75 -1501 y(mo)o(v)o(e)18 b(a)g(line)i(or)e(line)i(p)q(oin)o(t)f(that)f(is)h -(completely)h(obscured)f(b)o(y)g(a)f(p)q(olygon)h(la)o(ying)g(o)o(v)o -(er)f(top)g(of)g(it.)75 1556 y(Larger)e(ob)s(jects)f(on)h(the)g(upp)q -(er)h(most)e(la)o(y)o(ers)h(can)g(b)q(e)g(selected)i(ahead)e(of)f -(smaller)i(ob)s(jects)e(on)h(lo)o(w)o(er)75 1611 y(la)o(y)o(ers.)29 -b(These)19 b(c)o(hanges)f(mak)o(e)g(op)q(erations)g(more)g(in)o(tuitiv) -o(e.)31 b(A)18 b(new)h(mo)q(de)f(of)g(line)i(creation)f(w)o(as)75 -1665 y(added)13 b(that)f(creates)g(t)o(w)o(o)g(line)i(on)e(45)g(degree) -h(angles)g(with)g(a)f(single)i(clic)o(k.)20 b(The)13 -b(actual)g(outline)h(of)e(the)75 1720 y(prosp)q(ectiv)o(e)18 -b(line\(s\))g(are)e(no)o(w)h(sho)o(wn)f(during)i(line)g(creation.)26 -b(An)17 b(arc)f(creation)h(mo)q(de)h(w)o(as)e(added.)75 -1775 y(Dra)o(wn)g(arcs)h(are)f(quarter)h(circles)h(and)f(can)h(b)q(e)f -(useful)h(for)f(high)h(frequency)f(con)o(trolled)h(imp)q(edance)75 -1830 y(lines.)j(\(Y)l(ou)13 b(can)g(ha)o(v)o(e)f(eigh)o(th)i(circle)g -(arc)f(if)h(the)f(source)g(is)g(compiled)i(with)e(-D)o(AR)o(C45,)e(but) -j(b)q(e)f(a)o(w)o(are)75 1885 y(that)18 b(the)g(ends)h(of)f(suc)o(h)g -(arcs)g(can)h(nev)o(er)f(in)o(tersect)h(a)f(grid)h(p)q(oin)o(t\).)29 -b(Tw)o(o)17 b(new)i(\015ags)f(for)f(pins)j(and)75 1939 -y(vias)14 b(w)o(ere)g(created)f(-)h(one)g(indicates)i(that)d(the)h(pin) -g(or)g(via)g(is)g(purely)h(a)f(drill)h(hole)g(and)f(has)g(no)f(copp)q -(er)75 1994 y(ann)o(ulus.)21 b(Y)l(ou)14 b(can)h(only)f(toggle)g(this)h -(\015ag)f(for)g(vias)g(-)h(for)f(elemen)o(ts,)g(it)h(m)o(ust)f(b)q(e)h -(an)f(in)o(tegral)h(part)e(of)75 2049 y(the)h(elemen)o(t)h -(de\014nition.)21 b(The)15 b(other)f(\015ag)f(con)o(trols)h(whether)h -(the)f(pad)g(will)i(b)q(e)f(round)f(or)g(o)q(ctagonal.)75 -2104 y(There)k(is)h(also)f(no)o(w)f(a)h(feature)f(for)h(con)o(v)o -(erting)f(the)i(con)o(ten)o(ts)e(of)g(a)h(bu\013er)g(in)o(to)g(an)g -(elemen)o(t.)29 b(Vias)75 2159 y(b)q(ecome)16 b(the)g(pins)h(\(or)e -(moun)o(ting)h(holes\),)g(lines)h(and)f(arcs)g(on)f(the)h(solder)h(la)o -(y)o(er)e(b)q(ecome)i(silkscreen,)75 2213 y(and)c(lines)i(on)d(the)h -(comp)q(onen)o(t)g(la)o(y)o(er)g(b)q(ecome)h(the)f(pads.)19 -b(Action)13 b(commands)g(en)o(tered)g(via)g(the)g(colon)75 -2268 y(command)g(en)o(try)f(are)h(no)g(longer)g(pro)q(ceeded)h(with)f -Fm(")p Fo(a)g Fm(")p Fo(,)g(just)f(t)o(yp)q(e)h(the)g(command)g -(directly)l(.)20 b(Sev)o(eral)75 2323 y(bugs)13 b(ha)o(v)o(e)f(also)h -(b)q(een)h(\014xed.)20 b(New)13 b(ones)g(w)o(ere)f(probably)i(in)o(tro) -q(duced)g(since)g(extensiv)o(e)f(c)o(hanges)g(w)o(ere)75 -2378 y(made.)20 b(harry)15 b(eaton)f(w)o(as)h(resp)q(onsible)i(for)e -(these)g(c)o(hanges.)137 2442 y(Release)20 b(1.6.1)e(adds)i(the)g -(abilit)o(y)g(to)f(mak)o(e)g(groups)h(of)f(action)g(commands)h(b)q -(ound)g(to)f(a)h(single)75 2496 y(X11)15 b(ev)o(en)o(t)f(to)h(b)q(e)g -(undone)h(b)o(y)f(a)g(single)h(undo.)k(Also)c(a)e(simple)j(design)f -(rule)g(c)o(hec)o(k)o(er)f(w)o(as)f(added)i(-)f(it)75 -2551 y(c)o(hec)o(ks)j(for)e(minim)o(um)j(spacing)f(and)f(o)o(v)o(erlap) -g(rules.)27 b(Plus)18 b(man)o(y)f(\014xes)h(for)f(bugs)g(in)o(tro)q -(duced)i(with)75 2606 y(the)c(man)o(y)g(c)o(hanges)g(of)g(1.6)f(harry)h -(is)h(resp)q(onsible)h(for)d(these)i(c)o(hanges)f(to)q(o.)137 -2670 y(Sp)q(ecial)j(thanks)d(go)q(es)g(to:)p eop -%%Page: 3 4 -3 3 bop 75 -58 a Fo(History)1630 b(3)195 149 y(Bernhard)16 -b(Daeubler)g(\(Bernhard.Daeubler)p Fm(@)p Fo(ph)o(ysik.uni-ulm.de\))195 -201 y(Harald)f(Daeubler)h(\(Harald.Daeubler)p Fm(@)p -Fo(ph)o(ysik.uni-ulm.de\))195 253 y(Roland)f(Merk)g(\(merk)p -Fm(@)p Fo(fa)o(w.uni-ulm.de\))195 305 y(Erland)h(Unruh)g -(\(Erland.Unruh)p Fm(@)p Fo(malmo.trab.se\))195 357 y(Alb)q(ert)g(John) -g(FitzP)o(atric)o(k)f(I)q(I)q(I)h(\(a)s(jf)p 831 357 -14 2 v 16 w(n)o(ylorac)p Fm(@)p Fo(acm.org\))195 409 -y(Bo)q(erge)f(Strand)g(\(b)q(orges)p Fm(@)p Fo(i\014.uio.no\))195 -461 y(harry)g(eaton)f(\(haceaton)p Fm(@)p Fo(aplcomm.jh)o(uapl.edu\)) -195 513 y(Andre)i(M.)e(Hedric)o(k)i(\(hedric)o(k)p Fm(@)p -Fo(Astro.Dy)o(er.V)l(anderbilt.Edu\))75 635 y(who)f(did)h(most)f(of)f -(the)i(alpha)f(and)h(b)q(eta)f(testing,)g(help)q(ed)i(to)e(p)q(ort)g -Fm(PCB)f Fo(to)75 689 y(sev)o(eral)20 b(op)q(erating)f(systems)g(and)h -(platforms)f(and)h(corrected)f(sev)o(eral)h(t)o(yp)q(os)f(in)h(the)g -(man)o(uals.)32 b(In)75 744 y(addition)23 b(to)f(these,)h(man)o(y)f -(others)f(donated)i(time)f(for)f(bug-\014xing)j(and)e(other)g(imp)q -(ortan)o(t)f(w)o(ork.)75 799 y(Some)15 b(of)g(them)g(can)g(b)q(e)h -(iden)o(ti\014ed)i(in)e(the)f(source)g(co)q(de)h(\014les.)21 -b(Thanks)15 b(to)f(all)j(of)d(them.)p eop -%%Page: 4 5 -4 4 bop 75 -58 a Fo(Chapter)15 b(1:)k(In)o(tro)q(duction)1297 -b(4)75 149 y Fk(1)41 b(In)n(tro)r(duction)137 267 y Fo(Eac)o(h)22 -b(la)o(y)o(out)f(consists)h(of)f(sev)o(eral,)i(mostly)f(indep)q(enden)o -(t,)j(ob)s(jects.)39 b(This)23 b(c)o(hapter)e(giv)o(es)h(an)75 -322 y(o)o(v)o(erview)12 b(of)f(the)h(ob)s(ject)g(t)o(yp)q(es)g(and)g -(their)g(relationship)i(to)d(eac)o(h)h(other.)19 b(F)l(or)11 -b(a)h(complete)g(description)75 377 y(of)h(ho)o(w)g(to)f(use)i -Fm(Pcb)p Fo(,)f(refer)g(to)f(Chapter)h(2)g([Getting)g(Started],)g(page) -g(9.)19 b(The)13 b(la)o(y)o(out)g(is)h(generated)f(on-)75 -432 y(screen)i(on)g(a)f(grid)h(that)f(has)h(its)g(origin)g(in)h(the)e -(upp)q(er)i(left)f(corner)g(of)f(the)h(screen.)20 b(The)15 -b(x)g(co)q(ordinate)75 487 y(increases)j(to)e(the)h(righ)o(t,)f(y)h -(increases)h(do)o(wn)f(to)f(the)h(b)q(ottom.)24 b(All)18 -b(distances)f(and)g(sizes)h(in)g Fm(Pcb)e Fo(are)75 541 -y(measured)h(in)h(mils)g(\(0.001)d(inc)o(h\).)26 b(One)18 -b(unit)g(on)f(the)g(displa)o(y)h(grid)f(is)h(one)f(mil)h(in)g(distance) -g(on)f(the)75 596 y(b)q(oard.)29 b(The)18 b(sections)h(in)g(this)f(c)o -(hapter)g(are)g(sorted)g(b)o(y)g(the)g(order)g(of)g(app)q(earance)h(of) -e(the)i(ob)s(jects)75 651 y(within)d(a)f(la)o(y)o(out)g(\014le.)75 -781 y Fl(1.1)33 b(Sym)n(b)r(ols)137 877 y Fo(The)13 b(top)g(ob)s(ject)f -(is)h(the)g(la)o(y)o(out)f(itself.)20 b(It)13 b(uses)g(a)f(set)h(of)f -(sym)o(b)q(ols)h(that)f(resides)h(at)g(the)f(\014rst)h(logical)75 -932 y(lev)o(el.)20 b(Eac)o(h)12 b(sym)o(b)q(ol)h(is)g(uniquely)h(iden)o -(ti\014ed)h(b)o(y)d(a)g(sev)o(en)g(bit)h Fm(ASCII)f Fo(co)q(de.)19 -b(All)14 b(la)o(y)o(out)d(ob)s(jects)h(share)75 987 y(the)i(same)f(set) -h(of)f(sym)o(b)q(ols.)20 b(These)14 b(sym)o(b)q(ols)g(are)f(used)h(to)g -(form)f(text)g(ob)s(jects)g(on)h(the)f(silkscreen)j(and)75 -1042 y(copp)q(er)g(la)o(y)o(ers.)j(Unde\014ned)e(sym)o(b)q(ols)f(are)f -(dra)o(wn)f(as)h(\014lled)i(rectangles.)137 1109 y(Ev)o(ery)d(fon)o(t)f -(\014le)i(is)g(prepro)q(cessed)g(b)o(y)f(a)f(user-de\014ned)j(command)e -(when)h(it)f(is)g(loaded.)21 b(F)l(or)13 b(details)75 -1164 y(see)i(`)p Fm(fontCommand)p Fo(',)e(Section)j(5.1)e([Resources],) -g(page)h(30.)75 1293 y Fl(1.2)33 b(Vias)137 1390 y Fo(Vias)13 -b(are)e(iden)o(tical)j(to)e(the)g(pins)h(used)g(b)o(y)f(elemen)o(ts)g -(except)h(that)e(they)h(can)h(b)q(e)f(added)h(or)e(remo)o(v)o(ed)75 -1445 y(individuall)q(y)l(.)24 b(The)16 b(purp)q(ose)g(of)f(vias)h(is)g -(to)f(pro)o(vide)h(connections)h(b)q(et)o(w)o(een)f(di\013eren)o(t)f -(la)o(y)o(ers.)21 b(Don't)75 1500 y(use)d(vias)g(for)g(adding)g(elemen) -o(ts)h(to)e(the)h(la)o(y)o(out,)g(ev)o(en)g(if)h(that)e(seems)h(easier) -g(than)g(creating)g(a)g(new)75 1554 y(elemen)o(t.)j(Vias)15 -b(are)g(useful)h(for)f(de\014ning)h(arbitrary)f(drill)i(p)q(oin)o(ts)e -(suc)o(h)h(as)f(those)g(used)g(for)g(moun)o(ting)75 1609 -y(a)j(b)q(oard.)29 b(Y)l(ou)18 b(can)g(assign)h(a)f(name)g(to)f(a)h -(via)h(ev)o(en)f(though)g(y)o(ou)g(probably)h(w)o(on't)e(ev)o(er)h(w)o -(an)o(t)f(to.)75 1664 y(Vias)f(reside)h(at)e(the)h(\014rst)f(logical)i -(lev)o(el;)g(therefore,)e(eac)o(h)h(via)g(exists)g(on)g(all)h(la)o(y)o -(ers.)k(\()p Fh(i.e.)g Fo(blind)d(vias)75 1719 y(are)d(not)g(supp)q -(orted\))75 1848 y Fl(1.3)33 b(Elemen)n(ts)137 1945 y -Fo(Elemen)o(ts)15 b(represen)o(t)g(the)g(comp)q(onen)o(ts)g(on)f(a)h(b) -q(oard.)k(Elemen)o(ts)c(are)g(loaded)g(from)f Fm(ASCII)g -Fo(co)q(ded)75 2000 y(\014les)k(in)h(a)e(similar)i(manner)e(to)g(the)h -(la)o(y)o(out)f(\014le)h(itself.)28 b(They)18 b(are)f(comp)q(osed)h(of) -f(lines)i(and)f(arcs)f(on)75 2054 y(the)c(silk-screen)j(la)o(y)o(er)d -(\(used)g(to)g(de\014ne)h(the)g(pac)o(k)m(age)f(outline\))h(,)g(pins)g -(\(or)f(pads)g(for)g(SMD\))f(and)i(three)75 2109 y(lab)q(els)21 -b(that)d(de\014ne)j(the)e(description,)j(the)d(elemen)o(t's)g(la)o(y)o -(out-name)g(\(whic)o(h)h(also)f(app)q(ears)h(on)f(the)75 -2164 y(silk-)d(screen)e(la)o(y)o(er\))g(and)g(its)h(v)m(alue.)21 -b(Elemen)o(t)14 b(pins)i(are)e(con)o(tained)g(on)h(the)f(\014rst)g -(logical)h(lev)o(el)h(and)e(so)75 2219 y(reside)g(on)f(all)h(la)o(y)o -(ers.)19 b(A)13 b(mark)g(is)g(used)h(to)f(p)q(osition)h(the)f(elemen)o -(t)h(with)f(resp)q(ect)h(to)e(the)h(cursor)g(cross-)75 -2274 y(hair)i(during)g(pasting.)20 b(SMD)14 b(elemen)o(ts)h(use)g(pads) -f(instead)i(of)e(pins.)20 b(P)o(ads)14 b(are)g(handled)i(similarly)h -(to)75 2328 y(lines)h(on)e(a)g(la)o(y)o(er)g(but)h(they)f(m)o(ust)g(b)q -(e)h(orien)o(ted)f(either)h(v)o(ertically)h(or)e(horizon)o(tally)l(.)24 -b(P)o(ads)16 b(can)g(ha)o(v)o(e)75 2383 y(either)i(rounded)h(or)e -(square)h(ends.)28 b(All)19 b(parts)e(of)h(an)f(elemen)o(t)i(are)e -(treated)h(as)f(one)h(unit.)28 b(It)18 b(is)g(not)75 -2438 y(p)q(ossible)e(to)d(delete)i(a)f(single)i(pin)f(or)e(break)h(an)g -(elemen)o(t)h(in)o(to)f(pieces)h(on)f(the)h(la)o(y)o(out.)k(Y)l(ou)14 -b(can)g(resize)75 2493 y(separate)h(pieces)h(of)f(an)g(elemen)o(t,)h -(but)f(doing)h(so)f(is)g(usually)i(a)e(bad)g(idea.)137 -2560 y(Elemen)o(ts)22 b(are)g(supp)q(orted)g(b)o(y)g(sev)o(eral)g(sp)q -(ecial)i(la)o(y)o(ers:)33 b Fh(silk)p Fo(,)22 b Fh(pins/p)n(ads)j -Fo(and)d Fh(far-side)p Fo(.)40 b(The)75 2615 y Fh(silk)22 -b Fo(la)o(y)o(er)c(sho)o(ws)g(the)g(pac)o(k)m(age)h(outline)g(and)g -(also)f(holds)h(legend)g(text)f(and)h(elemen)o(t)g(names.)29 -b(The)75 2670 y Fh(pins/p)n(ads)20 b Fo(la)o(y)o(er)d(is)h(used)f(to)g -(toggle)f(whether)h(the)h(elemen)o(t's)f(pins)h(and)f(pads)g(are)g -(displa)o(y)o(ed.)27 b(The)p eop -%%Page: 5 6 -5 5 bop 75 -58 a Fo(Chapter)15 b(1:)k(In)o(tro)q(duction)1297 -b(5)75 149 y Fh(far-side)17 b Fo(la)o(y)o(er)c(con)o(trols)g(visibilit) -o(y)j(of)d(ob)s(jects)f(\(silkscreen)j(and)f(pads\))f(that)f(are)h(on)g -(the)h(far)e(\()p Fh(i.e.)19 b Fo(not)75 204 y(curren)o(tly)d(view)o -(ed\))f(side)i(of)d(the)i(b)q(oard.)137 273 y(Ev)o(ery)e(elemen)o(t)i -(\014le)f(is)g(prepro)q(cessed)h(b)o(y)e(a)g(user-de\014ned)i(command)f -(when)g(the)f(\014le)i(is)f(read.)20 b(F)l(or)75 328 -y(details)h(see)f(`)p Fm(elementCommand)p Fo(',)e(Section)j(5.1)e -([Resources],)g(page)h(30.)33 b Fm(m4)p Fo(,)21 b(the)f(default)g(v)m -(alue)h(of)75 383 y(`)p Fm(elementCommand)p Fo(',)12 -b(allo)o(ws)k(y)o(ou)f(to)g(create)g(libraries)i(for)d(pac)o(k)m(age)i -(de\014nitions)h(that)d(are)i(shared)f(b)o(y)75 438 y(all)j(elemen)o -(ts.)26 b(The)18 b(elemen)o(t)f(libraries)i(distributed)g(with)e -Fm(Pcb)g Fo(exp)q(ect)h Fm(m4)e Fo(or)h(an)g(equiv)m(alen)o(t)i(to)d(b) -q(e)75 492 y(the)f Fh(elementCommand)p Fo(.)137 561 y -Fm(Pcb)g Fo(can)h(create)f(a)g(list)h(of)f(all)i(connections)f(from)f -(one)g(\(or)g(all\))h(elemen)o(ts)g(to)f(the)g(others)g(or)g(a)g(list) -75 616 y(of)j(unconnected)i(pins.)30 b(It)19 b(can)f(also)h(v)o(erify)f -(the)h(la)o(y)o(out)e(connections)j(against)e(a)g(netlist)h(\014le.)31 -b(The)75 671 y(elemen)o(t's)17 b(`)p Fm(layout-name)p -Fo(')d(is)j(the)f(name)g(used)h(to)f(iden)o(tify)i(an)e(elemen)o(t)h -(in)g(a)f(netlist)i(\014le.)24 b(The)17 b(pin)75 726 -y(n)o(um)o(b)q(ering)f(for)f(an)g(elemen)o(t)h(is)g(de\014ned)h(b)o(y)e -(unique)i(strings)f(assigned)g(to)e(eac)o(h)i(pin.)21 -b(In)16 b(addition)h(to)75 781 y(the)g Fm(")p Fo(pin)h(n)o(um)o(b)q(er) -p Fm(")g Fo(string,)f(eac)o(h)g(pin)h(has)f(a)g Fm(")p -Fo(name)p Fm(")g Fo(whic)o(h)h(describ)q(es)g(its)g(function.)26 -b(Previously)75 835 y(elemen)o(t)20 b(pin)f(n)o(um)o(b)q(er)h(w)o(as)e -(established)i(b)o(y)f(the)g(order)f(of)h(app)q(earance)g(of)g(the)g -(pin)h(de\014nitions)g(in)75 890 y(the)f(la)o(y)o(out)f(or)g(elemen)o -(t)h(\014le.)32 b(Since)20 b(the)e Fm(")p Fo(n)o(um)o(b)q(er)p -Fm(")h Fo(strings)g(for)f(eac)o(h)g(pin)i(are)e(a)h(new)g(feature,)f -(if)75 945 y(they)e(are)f(absen)o(t)g(then)h(the)f(n)o(um)o(b)q(ering)i -(is)f(again)f(established)i(b)o(y)f(the)f(order)g(of)h(pin)g(app)q -(earance)g(in)75 1000 y(the)i(\014le.)29 b(In)19 b(other)e(w)o(ords,)h -(the)g(\014rst)f(pin)i(app)q(earing)g(in)g(the)f(\014le)h(is)f(pin)h -(one,)f(the)g(next)g(pin)h(is)g(pin)75 1055 y(t)o(w)o(o)f(and)h(so)g -(on.)32 b(Usually)20 b(the)g(names)f(assigned)h(to)e(pins)i(are)f -(simply)i(n)o(um)o(b)q(ers,)f(but)f(they)g(don't)75 1109 -y(ha)o(v)o(e)d(to)g(b)q(e.)24 b(It)17 b(is)g(only)g(necessary)g(that)e -(the)i Fm(")p Fo(n)o(um)o(b)q(er)p Fm(")f Fo(string)h(for)f(the)g(pin)i -(matc)o(hes)e(exactly)h(the)75 1164 y Fm(")p Fo(n)o(um)o(b)q(er)p -Fm(")h Fo(string)f(in)i(the)e(netlist)i(\014le.)28 b -Fi(Be)18 b(a)o(w)o(are)g(that)f(a)h(few)f(of)g(the)h(library)i(parts)e -(ma)o(y)f(still)i(b)q(e)75 1219 y(incorrectly)c(implemen)o(ted)f -(regarding)h(pin-n)o(um)o(b)q(ering.)22 b Fo(All)14 b(of)e(the)g(DIL)h -(\(Dual-)g(Inline-Pins\))j(parts)75 1274 y(are)e(correct)h(and)g(most)f -(of)g(the)h(others)f(are)h(to)q(o,)e(but)i(y)o(ou)g(should)h(v)o(erify) -f(the)f(pin)i(n)o(um)o(b)q(ering)g(of)e(an)o(y)75 1329 -y(non-DIL)h(part)f(\(use)g(the)g Fh(R)n(ep)n(ort)i(Menu)h -Fo(to)c(see)i(what)f Fm(Pcb)f Fo(thinks)i(a)f(pin's)h(n)o(um)o(b)q(er)f -(is\))h(b)q(efore)f(using)75 1383 y(the)i(rats)f(nest)h(feature)f(with) -i(a)e(library)i(part.)k(Hop)q(efully)d(sometime)e(so)q(on)g(someone)f -(will)j(v)o(olun)o(teer)75 1438 y(to)g(cross-c)o(hec)o(k)g(all)i(of)e -(the)g(elemen)o(t)h(libraries)h(and)f(mak)o(e)f(\014xes)h(a)o(v)m -(ailable)h(as)e(necessary)l(.)30 b Fm(Pcb)18 b Fo(can)75 -1493 y(also)d(c)o(hec)o(k)h(a)f(la)o(y)o(out)f(to)h(see)g(that)g(it)g -(meets)g(minim)o(um)h(spacing)g(and)g(o)o(v)o(erlap)f(rules.)137 -1562 y(Y)l(ou)20 b(can)g(mak)o(e)f(y)o(our)g(o)o(wn)g(quic)o -(k-and-dirt)o(y)i(elemen)o(t)f(de\014nitions)i(graphically)f(no)o(w.)32 -b(Simply)75 1617 y(dra)o(w)16 b(vias)i(for)e(the)h(pins)h(and)f(lines)i -(and)e(arcs)g(on)g(a)f(solder)i(la)o(y)o(er)f(for)f(the)h(silkscreen)i -(outline.)27 b(Y)l(ou)75 1672 y(should)15 b(name)e(eac)o(h)h(via)g -(with)g(the)g(pin)h(n)o(um)o(b)q(er.)20 b(If)14 b(y)o(ou)f(w)o(an)o(t)g -(to)g(create)g(a)h(SMD)f(device,)i(dra)o(w)e(lines)75 -1726 y(for)e(the)h(pads)g(on)g(a)f(comp)q(onen)o(t)h(side)h(la)o(y)o -(er)f(\(Y)l(ou)g(m)o(ust)f(dra)o(w)g(these)h(in)h(pin)g(n)o(um)o(b)q -(er)f(order)f(since)i(lines)75 1781 y(can't)h(b)q(e)i(named\).)k(They) -15 b(m)o(ust)g(b)q(e)g(either)h(horizon)o(tal)f(or)g(v)o(ertical)g(or)g -(they)g(will)i(not)d(b)q(e)i(recognized)75 1836 y(as)g(pads.)24 -b(Once)18 b(y)o(ou)e(are)g(happ)o(y)h(with)g(the)f(geometry)l(,)g -(select)i(ev)o(erything)f(that)e(is)i(to)f(b)q(ecome)i(part)75 -1891 y(of)e(the)h(elemen)o(t,)g(then)f(c)o(ho)q(ose)h -Fm(")p Fo(cut)f(to)g(bu\013er)p Fm(")g Fo(from)g(the)h(men)o(u.)24 -b(No)o(w)15 b(select)j Fm(")p Fo(con)o(v)o(ert)d(bu\013er)i(to)75 -1946 y(elemen)o(t)p Fm(")e Fo(from)f(the)g(men)o(u.)20 -b(Viola')5 b(!)20 b(Afterw)o(ards)14 b(y)o(ou)g(can)h(mak)o(e)f(pin)h -(one)g(square)f(\(or)g(pads\))g(if)h(y)o(ou)75 2000 y(lik)o(e,)k(and)f -(giv)o(e)f(the)h(elemen)o(t)g(its)g(v)m(arious)g(names.)27 -b(Note)17 b(that)g(the)h(elemen)o(t)g(mark)f(corresp)q(onds)h(to)75 -2055 y(the)e(cut)h(p)q(osition)g(when)g(ev)o(erything)f(w)o(as)g(put)g -(in)o(to)g(the)g(bu\013er.)23 b(If)17 b(the)f(vias)h(are)e(not)h -(named,)h(then)75 2110 y(the)e(pin)i(n)o(um)o(b)q(ering)f(will)h -(corresp)q(ond)e(to)g(the)g(order)g(in)h(whic)o(h)g(the)f(vias)h(w)o -(ere)f(placed.)75 2243 y Fl(1.4)33 b(La)n(y)n(ers)137 -2341 y Fo(Ev)o(ery)18 b(la)o(y)o(out)f(consists)i(of)e(sev)o(eral)i(la) -o(y)o(ers)e(that)h(can)g(b)q(e)h(used)f(indep)q(enden)o(tly)j(or)d -(treated)g(as)f(a)75 2396 y(group.)37 b(La)o(y)o(er)21 -b(groups)g(can)g(b)q(e)h(used)g(to)e(logically)j(separate)e(\(and)f -(color-co)q(de\))i(di\013eren)o(t)f(traces)75 2451 y(\()p -Fh(e.g.)34 b Fo(p)q(o)o(w)o(er)20 b(and)g(signal\);)j(ho)o(w)o(ev)o -(er,)d(all)h(la)o(y)o(ers)f(within)h(a)f(group)g(reside)h(on)f(the)g -(same)g(ph)o(ysical)75 2506 y(copp)q(er)i(la)o(y)o(er)g(of)f(a)h(b)q -(oard,)h(so)e(using)i(di\013eren)o(t)f(la)o(y)o(ers)f(within)i(the)f -(same)f(group)h(w)o(on't)e(pro)o(vide)75 2560 y(electrical)13 -b(separation)e(where)g(they)g(touc)o(h)f(or)h(o)o(v)o(erlap.)18 -b(F)l(or)10 b(details,)j(see)e(`)p Fm(layerGroups)p Fo(',)e(Section)j -(5.1)75 2615 y([Resources],)i(page)h(30.)20 b(Eac)o(h)15 -b(la)o(y)o(er)h(is)f(dra)o(wn)g(in)i(a)e(color)g(de\014ned)i(in)f(the)g -(resource)f(\014le)i(\(for)d(details)75 2670 y(see)i(`)p -Fm(layerColor)p Fo(',)d(Section)k(5.1)e([Resources],)f(page)i(30\))f -(and)h(iden)o(ti\014ed)h(b)o(y)f(a)g(name)f(that)g(y)o(ou)h(can)p -eop -%%Page: 6 7 -6 6 bop 75 -58 a Fo(Chapter)15 b(1:)k(In)o(tro)q(duction)1297 -b(6)75 149 y(c)o(hange.)19 b(La)o(y)o(ers)11 b(are)h(really)g(just)g -(con)o(tainers)g(for)f(line,)j(p)q(olygon,)e(and)g(text)g(ob)s(jects.) -18 b(The)12 b(comp)q(onen)o(t)75 204 y(and)17 b(solder)g(la)o(y)o(ers)f -(con)o(tain)h(SMD)f(elemen)o(ts)i(as)e(w)o(ell,)i(but)e(the)h(\014le)h -(structure)e(do)q(esn't)h(re\015ect)g(that)75 259 y(fact)10 -b(directly)l(.)20 b(Eac)o(h)10 b(la)o(y)o(er)h(group)f(represen)o(ts)h -(a)f(ph)o(ysical)i(la)o(y)o(er)e(on)h(the)g(prin)o(ted)g(circuit)h(b)q -(oard.)18 b(If)11 b(y)o(ou)75 314 y(w)o(an)o(t)g(to)g(mak)o(e)g(a)h -(four)f(la)o(y)o(er)g(b)q(oard,)i(y)o(ou'll)f(need)g(to)g(ha)o(v)o(e)f -(four)g(la)o(y)o(er)h(groups.)18 b(Connections)13 b(b)q(et)o(w)o(een)75 -369 y(la)o(y)o(er)i(groups)g(are)f(established)j(only)f(through)e -(elemen)o(t)i(pins)g(and)g(vias.)k(The)15 b(relationship)i(b)q(et)o(w)o -(een)75 423 y(a)c(sp)q(eci\014c)i(la)o(y)o(er)e(and)g(the)g(b)q(oard)g -(itself)h(is)g(con\014gureable)g(from)e(the)h(`)p Fm(Edit)i(layer)f -(groups)p Fo(')e(option)h(in)75 478 y(the)i(`)p Fm(Objects)p -Fo(')d(men)o(u.)20 b(The)15 b(la)o(y)o(er)f(groups)g(corresp)q(onding)i -(to)d(the)i(ph)o(ysical)h(la)o(y)o(ers)e Fh(c)n(omp)n(onent-side)75 -533 y Fo(and)g Fh(solder-side)j Fo(are)d(alw)o(a)o(ys)g(de\014ned,)h -(and)f(y)o(ou)g(m)o(ust)g(map)g(at)f(least)h(one)g(logical)i(la)o(y)o -(er)e(to)f(eac)o(h.)20 b(Of)75 588 y(course,)15 b(y)o(ou)f(are)h(not)f -(obligated)i(to)e(put)h(trac)o(ks)f(on)h(either)g(of)g(them.)20 -b(SMD-elemen)o(ts)15 b(alw)o(a)o(ys)f(reside)75 643 y(on)k(either)h -(the)f(comp)q(onen)o(t-side)h(or)f(the)g(solder-side)i(la)o(y)o(er)d -(group.)29 b(Y)l(ou)18 b(can)g(sw)o(ap)f(whic)o(h)i(side)g(of)75 -697 y(the)14 b(b)q(oard)f(y)o(ou)h(are)f(viewing)i(b)o(y)e(pressing)i -Fm(<)p Fh(Key)p Fm(>)p Fh(T)m(ab)p Fo(.)j(Y)l(ou)c(can)f(decide)j(whic) -o(h)e(la)o(y)o(er)g(group)f(will)i(b)q(e)75 752 y(the)h(solder)g(side)g -(and)g(whic)o(h)g(will)i(b)q(e)e(the)f(comp)q(onen)o(t)h(side.)22 -b(The)16 b(la)o(y)o(ers)f(groups)g(just)h(ha)o(v)o(e)f(a)g(name)75 -807 y(or)j(n)o(um)o(b)q(er)h(asso)q(ciated)g(with)g(them)g(-)g(where)g -(they)f(are)h(sandwic)o(hed)h(in)f(the)g(b)q(oard)g(is)g(left)g(to)f -(the)75 862 y(man)o(ufacturing)d(pro)q(cesses.)75 986 -y Fl(1.5)33 b(Lines)137 1081 y Fo(Lines)20 b(are)e(used)g(to)g(dra)o(w) -f(trac)o(ks)h(on)g(the)g(p)q(c)h(b)q(oard.)29 b(When)18 -b(in)h(the)f(line)i(mo)q(de,)f(eac)o(h)f Fm(<)p Fh(Btn1)p -Fm(>)75 1136 y Fo(press)d(establishes)i(one)e(end)h(of)f(a)g(line.)22 -b(Once)16 b(the)g(second)g(p)q(oin)o(t)g(is)f(de\014ned,)i(the)e(line)i -(is)f(dra)o(wn)f(and)75 1191 y(a)i(new)g(line)i(started)d(where)h(the)g -(\014rst)g(one)g(ended.)26 b(Y)l(ou)17 b(can)h(ab)q(ondon)f(the)g(new)g -(starting)g(p)q(oin)o(t)g(in)75 1245 y(fa)o(v)o(or)e(of)i(another)f(b)o -(y)h(pressing)h Fh(Ctrl)p Fm(<)p Fh(Btn1)p Fm(>)p Fo(.)23 -b(The)17 b(undo)h(function)f(\()p Fm(<)p Fh(Key)p Fm(>)p -Fh(u)s Fo(\))g(will)h(tak)o(e)f(y)o(ou)f(bac)o(k)75 1300 -y(p)q(oin)o(t)e(b)o(y)g(p)q(oin)o(t)h(if)f(y)o(ou)f(use)i(it)f(while)h -(in)g(the)f(line)h(mo)q(de.)20 b(New)14 b(lines)h(can)f(b)q(e)h -(restricted)f(to)f(45)h(degree)75 1355 y(angles)h(if)h(desired.)21 -b(Y)l(ou)15 b(can)g(toggle)g(this)g(restriction)h(on)f(and)g(o\013)f -(while)j(creating)e(lines)h(b)o(y)f(pressing)75 1410 -y Fm(<)p Fh(Key)p Fm(>)p Fh(.)20 b Fo(\(that)14 b(is)i(the)f -Fh(p)n(erio)n(d)20 b Fo(k)o(ey\).)g(If)15 b(the)h(45)f(degree)g -(restriction)h(is)g(turned)f(on,)g(then)h(the)f Fm(<)p -Fh(Key)p Fm(>)p Fh(/)75 1465 y Fo(can)j(b)q(e)g(used)g(to)f(cylce)i -(through)e(three)h(di\013eren)o(t)f(mo)q(des)h(of)f(45)g(degree)h(line) -h(creation.)27 b(One)19 b(mo)q(de)75 1519 y(just)g(creates)g(a)g -(single)i(line)g(forced)e(to)g(the)g(nearest)g(45)g(degree)h(v)o -(ector.)32 b(The)19 b(next)h(mo)q(de)f(creates)75 1574 -y(t)o(w)o(o)14 b(lines)j(from)e(the)g(start)f(to)h(end)h(p)q(oin)o(ts)g -(suc)o(h)g(that)e(the)i(\014rst)f(line)i(lea)o(v)o(es)e(the)h(start)e -(p)q(oin)o(t)i(at)e(a)i(90)75 1629 y(degree)j(v)o(ector,)f(and)g(the)g -(second)h(line)h(en)o(ters)e(the)h(end)g(p)q(oin)o(t)f(on)h(a)f(45)f -(degree)i(v)o(ector.)28 b(The)19 b(next)75 1684 y(mo)q(de)d(creates)g -(t)o(w)o(o)f(lines)j(suc)o(h)e(that)g(the)g(\014rst)g(line)i(lea)o(v)o -(es)e(the)g(start)f(p)q(oin)o(t)i(on)f(a)g(45)f(degree)i(v)o(ector)75 -1738 y(and)j(arriv)o(es)f(at)g(the)g(end)h(p)q(oin)o(t)g(on)f(a)g(90)g -(degree)h(v)o(ector.)32 b(Y)l(ou)19 b(can)h(temp)q(orarily)g(sw)o(ap)f -(b)q(et)o(w)o(een)75 1793 y(the)f(last)g(t)o(w)o(o)e(mo)q(des)i(b)o(y)g -(holding)h(the)f(shift)g(k)o(ey)g(do)o(wn.)27 b(It)18 -b(is)h(simple)g(to)e(edit)i(a)e(line)j(t)o(yp)q(e)e(ob)s(ject)75 -1848 y(b)o(y)i(breaking)g(it)g(in)o(to)g(pieces)h(\(insert)f(p)q(oin)o -(t)g(mo)q(de\),)h(mo)o(ving)f(an)f(end)i(p)q(oin)o(t)f(\(or)f(the)h -(whole)h(line\))75 1903 y(\()p Fm(<)p Fh(Btn2Down)p Fm(><)p -Fh(dr)n(ag)p Fm(><)p Fh(Btn2Up)p Fm(>)p Fo(\),)g(or)f(c)o(hanging)i -(the)f(la)o(y)o(er)g(it)g(resides)h(on)f(\()p Fm(<)p -Fh(Key)p Fm(>)p Fh(m)j Fo(mo)o(v)o(es)c(the)75 1958 y(line)h(under)f -(the)f(p)q(oin)o(ter)h(to)f(the)g(activ)o(e)g(la)o(y)o(er\).)32 -b(In)20 b(the)f(case)g(when)h(t)o(w)o(o)e(line)j(segmen)o(ts)d(meet)i -(at)75 2012 y(exactly)f(the)f(same)g(p)q(oin)o(t)g(y)o(ou)g(can)g -(delete)i(the)e(in)o(termediate)h(p)q(oin)o(t,)g(otherwise)f(the)g -(delete)i(mo)q(de)75 2067 y(remo)o(v)o(es)c(an)h(en)o(tire)g(line.)27 -b(F)l(eel)17 b(free)g(to)g(exp)q(erimen)o(t)h(since)g -Fm(Pcb)e Fo(will)j(allo)o(w)e(y)o(ou)f(to)g(undo)i(an)o(ything)75 -2122 y(that)c(materially)h(a\013ects)f(y)o(our)g(w)o(ork.)k(If)d(y)o -(ou)f(switc)o(h)h(activ)o(e)f(la)o(y)o(ers)h(in)g(the)g(midst)f(of)g -(placing)i(lines)g(a)75 2177 y(via)f(will)i(automatically)f(b)q(e)g -(placed,)g(when)g(necessary)l(,)f(in)h(order)f(to)f(con)o(tin)o(ue)i -(the)f(connection.)75 2301 y Fl(1.6)33 b(Arcs)137 2396 -y Fo(With)14 b(v)o(ersion)g(1.6)e(it)i(is)g(p)q(ossible)i(to)c(dra)o(w) -h(copp)q(er)h(arcs.)19 b(The)14 b(arcs)f(are)h(restricted)f(to)g(b)q(e) -i(quarter)75 2451 y(circles.)20 b(This)13 b(means)f(they)g(alw)o(a)o -(ys)f(b)q(end)i(a)f(righ)o(t)g(angle.)19 b(They)13 b(are)e(v)o(ery)h -(similar)h(to)f(lines)h(otherwise.)75 2506 y(They)h(are)f(created)h(on) -f(the)h(curren)o(t)f(la)o(y)o(er)h(and)f(ha)o(v)o(e)g(the)h(same)f -(thic)o(kness)i(that)e(new)g(lines)j(will)f(ha)o(v)o(e.)75 -2560 y(The)g(v)m(arious)g(clic)o(ks)h(for)f(creating)g(lines)h(w)o(ork) -e(prett)o(y)g(m)o(uc)o(h)h(the)g(same)f(w)o(a)o(y)g(for)g(creating)h -(arcs.)20 b(The)75 2615 y(start)13 b(p)q(oin)o(t)i(for)f(the)g(arc)g -(is)h(at)f(the)g(\014rst)g Fm(<)p Fh(Btn1)p Fm(>)g Fo(p)q(osition.)20 -b(In)15 b(order)f(to)g(mak)o(e)g(the)g(arc)g(curv)o(e)h(in)g(the)75 -2670 y(direction)h(desired,)f(drag)f(the)g(mouse)g(along)h(the)f -(tangen)o(t)g(line)i(from)d(the)i(starting)e(p)q(osition)j(to)o(w)o -(ards)p eop -%%Page: 7 8 -7 7 bop 75 -58 a Fo(Chapter)15 b(1:)k(In)o(tro)q(duction)1297 -b(7)75 149 y(the)18 b(end)h(p)q(osition.)29 b(If)18 b(the)g(grid)g(is)h -(to)q(o)e(coarse,)h(it)g(ma)o(y)f(not)h(b)q(e)h(p)q(ossible)g(to)f -(distinguish)i(whether)75 204 y(y)o(ou'v)o(e)d(mo)o(v)o(ed)f(o)o(v)o -(er)h(then)g(up,)h(or)f(up)h(then)g(o)o(v)o(er,)e(so)h(if)h(y)o(ou)f -(can't)g(seem)g(to)g(mak)o(e)g(the)g(arc)g(go)g(the)75 -259 y(direction)i(y)o(ou)e(w)o(an)o(t,)g(y)o(ou)g(should)i(decrease)f -(the)g(grid)g(spacing.)28 b(Alternativ)o(ely)18 b(y)o(ou)g(could)g(dra) -o(wn)75 314 y(the)g(wrong)g(arc,)h(then)f(rotate)g(and)g(mo)o(v)o(e)g -(it)g(where)h(y)o(ou)f(w)o(an)o(t.)29 b(Lik)o(e)19 b(the)f(line)i(to)q -(ol,)f(after)f(an)g(arc)75 369 y(is)h(dra)o(wn)e(a)h(new)h(starting)e -(p)q(oin)o(t)i(is)f(established)i(at)e(the)g(end)h(p)q(oin)o(t.)29 -b(Whenev)o(er)18 b(a)g(start)f(p)q(oin)o(t)h(is)75 423 -y(established)f(b)o(y)f(either)g(the)g(line)h(or)e(arc)g(to)q(ols)g(it) -h(will)h(b)q(e)g(retained)f(if)g(y)o(ou)f(switc)o(h)h(directly)h(b)q -(et)o(w)o(een)75 478 y(the)e(to)q(ols)f(\(e.g.)19 b Fm(<)p -Fh(Key)p Fm(>)p Fh(F2)h Fo(for)14 b(Lines,)i Fm(<)p Fh(Key)p -Fm(>)p Fh(F8)k Fo(for)14 b(Arcs.)20 b(Of)15 b(course)g(connection)g -(searc)o(hes,)g(undo)75 533 y(and)g(all)i(the)e(other)g(features)f(y)o -(ou'd)h(exp)q(ect)h(w)o(ork)e(with)i(arcs)f(no)o(w.)75 -671 y Fl(1.7)33 b(P)n(olygons)137 771 y Fo(Sometimes)19 -b(it's)f(useful)h(to)e(\014ll)j(large)e(areas)g(with)g(solid)h(copp)q -(er.)29 b(The)19 b(w)o(a)o(y)e(to)g(do)h(this)h(is)g(with)75 -826 y(p)q(olygons.)g(P)o(olygons)11 b(can)h(b)q(e)h(created)e(in)i -(either)f(the)g(p)q(olygon)g(mo)q(de)g(or)g(the)f(rectangle)i(mo)q(de.) -19 b(In)12 b(the)75 881 y(p)q(olygon)h(mo)q(de,)g(y)o(ou'll)g(ha)o(v)o -(e)f(to)g(de\014ne)h(eac)o(h)g(corner)f(of)g(the)g(p)q(olygon)h(with)g -(a)f(mouse)h(clic)o(k)g(\()p Fm(<)p Fh(Btn1)p Fm(>)p -Fo(\).)75 936 y(When)j(the)f(last)g(p)q(oin)o(t)g(is)h(clic)o(k)o(ed)h -(exactly)e(on)g(top)g(of)g(the)g(starting)g(p)q(oin)o(t,)g(the)g(p)q -(olygon)h(is)g(\014nished.)75 991 y(Since)g(this)g(can)f(b)q(e)g(hard)g -(to)f(do,)g(the)h Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(p)j -Fo(will)e(en)o(ter)f(the)g(\014nal)g(p)q(oin)o(t)h(for)e(y)o(ou,)g -(closing)i(the)75 1045 y(p)q(olygon.)28 b(If)18 b(the)g(45)f(degree)h -(angle)g(restriction)g(is)g(turned)g(on)g(and)g(y)o(ou)f(try)g(to)g -(close)i(the)e(p)q(olygon)75 1100 y(when)k(it)f(is)g(not)g(p)q -(ossible,)j(y)o(ou'll)d(get)g(a)g(w)o(arning)g(instead.)35 -b(If)20 b(y)o(ou)g(ha)o(v)o(en't)f(\014nished)j(en)o(tering)e(a)75 -1155 y(p)q(olygon,)h(but)e(w)o(an)o(t)f(to)h(undo)h(one)f(\(or)g -(more\))f(of)h(the)h(p)q(oin)o(ts)f(that)g(y)o(ou'v)o(e)g(already)g -(de\014ned,)j(use)75 1210 y(the)17 b(undo)h(command)e(\()p -Fm(<)p Fh(Key)p Fm(>)p Fh(u)s Fo(\).)25 b(With)18 b(the)f(rectangle)g -(to)q(ol,)g(de\014ning)i(the)e(t)o(w)o(o)e(opp)q(osite)j(corners)75 -1265 y(is)h(su\016cien)o(t,)g(but)f(of)f(course)i(the)f(resulting)h(p)q -(olygon)f(is)h(a)f(rectangle.)29 b(Lik)o(e)19 b(lines,)h(a)d(p)q -(olygon)i(can)75 1319 y(b)o(y)h(edited)g(b)o(y)g(deleting,)i(inserting) -f(and)f(mo)o(ving)f(the)h(p)q(oin)o(ts)g(that)f(de\014ne)i(it.)33 -b Fm(Pcb)20 b Fo(is)g(capable)g(of)75 1374 y(handling)f(complex)f(p)q -(olygons,)g(but)g(using)g(a)f(n)o(um)o(b)q(er)h(of)f(simpler)h(ones)g -(impro)o(v)o(es)f(p)q(erformance)g(of)75 1429 y(the)e(connection)i -(tracing)e(co)q(de.)137 1500 y(A)g(new)h(feature)e(in)i(v)o(ersion)f -(1.5)f(of)h Fm(Pcb)g Fo(automatically)g(creates)g(clearance)h(regions)f -(around)g(pins)75 1555 y(and)i(vias)g(that)f(pierce)j(a)d(p)q(olygon.) -26 b(This)17 b(means)g(that)f(they)h(aren't)f(electrically)k(connected) -e(to)e(the)75 1610 y(p)q(olygon)11 b(unless)g(y)o(ou)f(add)g -Fm(")p Fo(thermals)p Fm(")g Fo(to)g(cross)g(the)g(clearance)h(region.) -18 b(Thermals)11 b(can)f(b)q(e)h(added)g(and)75 1664 -y(remo)o(v)o(ed)k(b)o(y)h(selecting)h(the)f(thermal)g(mo)q(de)g(and)g -(clic)o(king)i Fm(<)p Fh(Btn1)p Fm(>)d Fo(on)h(the)g(pin)h(or)e(via.)22 -b(Remem)o(b)q(er)75 1719 y(that)15 b(this)g(only)h(creates)f -(connections)h(to)f(the)g(p)q(olygon)h(on)f(the)g(activ)o(e)h(la)o(y)o -(er.)k(The)15 b(great)g(adv)m(an)o(tage)75 1774 y(to)e(this)h(new)g(p)q -(olygon)g(b)q(eha)o(vior)h(is)f(that)f(simple)i(or)e(complex)i(ground)e -(and/or)h(p)q(o)o(w)o(er)f(planes)h(can)g(b)q(e)75 1829 -y(easily)19 b(made)f(with)g(p)q(olygons)g(and)g(seen)h(on)e(the)h -(screen.)29 b(If)18 b(y)o(ou)f(don't)h(w)o(an)o(t)e(this)j -(auto-clearance)75 1884 y(b)q(eha)o(vior,)14 b(or)g(y)o(ou)f(load)h(a)g -(la)o(y)o(out)f(created)h(b)o(y)g(an)g(earlier)g(v)o(ersion)h(of)e -Fm(Pcb)p Fo(,)g(the)h(old)h(b)q(eha)o(vior)f(\(shorts)75 -1938 y(to)19 b(all)h(piercing)h(pins)f(and)f(vias\))g(is)h(a)o(v)m -(ailable.)33 b(A)20 b(`)p Fm(ChangeSize)p Fo(')d(op)q(eration)i(\()p -Fm(<)p Fh(Key)p Fm(>)p Fh(s)t Fo(\))f(toggles)g(a)75 -1993 y(p)q(olygon)e(b)q(et)o(w)o(een)f(the)h(new)f(and)g(old)h(p)q -(olygon/pin)h(b)q(eha)o(vior.)75 2131 y Fl(1.8)33 b(T)-6 -b(ext)137 2232 y Fo(T)l(ext)18 b(ob)s(jects)g(should)h(b)q(e)g(used)f -(to)g(lab)q(el)h(a)f(la)o(y)o(out)g(or)f(to)h(put)g(additional)i -(information)e(on)g(the)75 2286 y(b)q(oard,)d(but)g(not)f(to)g(iden)o -(tify)j(elemen)o(ts)e(b)q(ecause)h(elemen)o(ts)g(ha)o(v)o(e)e(their)i -(o)o(wn)e(lab)q(els.)21 b(T)l(ext)15 b(is)h(alw)o(a)o(ys)75 -2341 y(horizon)o(tal)j(when)g(\014rst)g(created,)g(but)g(the)g(rotate)e -(mo)q(de)i(can)g(align)h(it)f(along)f(0,)h(90,)g(180)f(and)h(270)75 -2396 y(degree)13 b(angles.)19 b(T)l(ext)12 b(can)h(b)q(e)g(mo)o(v)o(ed) -f(from)g(an)o(y)g(la)o(y)o(er)g(to)g(the)g(silk-screen)j(la)o(y)o(er)d -(with)h(a)f(command)g(in)75 2451 y(the)h(`)p Fm(selection)h(menu)p -Fo('.)k(T)l(ext)13 b(that)g(is)g(mo)o(v)o(ed)g(to)f(the)i(silk-screen)h -(la)o(y)o(er)e(will)i(app)q(ear)e(on)g(the)g(solder-)75 -2506 y(side)g(silk-screen)i(if)e(it)g(originating)g(on)f(a)g -(solder-side)i(la)o(y)o(er.)19 b(Otherwise)14 b(mo)o(ving)e(it)h(to)f -(the)g(silk-screen)75 2560 y(la)o(y)o(er)18 b(will)i(put)e(it)h(on)f -(the)h(comp)q(onen)o(t-side)g(silk-screen.)31 b(T)l(o)18 -b(mo)o(v)o(e)g(text)f(bac)o(k)i(to)e(a)h(copp)q(er)h(la)o(y)o(er)75 -2615 y(from)c(the)i(silk-screen,)g(use)g(the)f(`)p Fm -(MoveToCurrentLayer)p Fo(')d(\()p Fm(<)p Fh(Key)p Fm(>)p -Fh(m)s Fo(\))j(command.)22 b(T)l(ext)16 b(on)g(the)h(far)75 -2670 y(side)f(of)f(the)g(b)q(oard)g(will)i(automatically)f(app)q(ear)f -(mirror-imaged.)p eop -%%Page: 8 9 -8 8 bop 75 -58 a Fo(Chapter)15 b(1:)k(In)o(tro)q(duction)1297 -b(8)137 149 y Fi(TEXT)19 b(OBJECTS)h(ON)f(A)h(COPPER)g(LA)l(YER)g(CREA) -l(TE)f(COPPER)g(LINES)h(BUT)g(THEY)75 204 y(ARE)d(NOT)f(SCANNED)g(F)o -(OR)g(CONNECTIONS)f(OR)h(TESTED)g(F)o(OR)g(CREA)l(TING)f(SHOR)l(TS)75 -259 y(VS.)k(THE)f(NETLIST.)f(NEITHER)g(ARE)i(TEXT)f(OBJECTS)g(TESTED)g -(A)o(GAINST)g(ANY)h(DE-)75 314 y(SIGN)c(R)o(ULES)p Fo(.)p -eop -%%Page: 9 10 -9 9 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1231 -b(9)75 149 y Fk(2)41 b(Getting)27 b(Started)137 273 y -Fo(The)16 b(goal)g(of)f(this)h(c)o(hapter)g(is)g(to)f(giv)o(e)h(y)o(ou) -f(enough)h(information)g(to)f(learn)i(ho)o(w)e Fm(Pcb)g -Fo(w)o(orks)g(and)75 328 y(ho)o(w)g(to)h(dev)o(elop)h(y)o(our)e(la)o(y) -o(outs)g(to)h(mak)o(e)f(the)h(b)q(est)g(use)h(of)e Fm(Pcb)p -Fo('s)g(features.)22 b(All)17 b(ev)o(en)o(t)f(translations)75 -383 y(\()p Fh(i.e.)23 b Fo(the)16 b(buttons)g(and)h(k)o(eys)f(y)o(ou)g -(press\))g(refer)g(to)g(the)g(default)h(application)h(resource)f -(\014le)g(shipp)q(ed)75 438 y(with)j Fm(Pcb)p Fo(.)31 -b(There)19 b(is)h(probably)g(no)f(need)h(to)e(c)o(hange)i(them)f -(unless)h(y)o(our)f(windo)o(w)g(manager)g(uses)75 493 -y(some)12 b(of)h(the)g(button)f(ev)o(en)o(ts)h(itself;)h(ho)o(w)o(ev)o -(er,)e(if)h(y)o(ou)f Fh(want)17 b Fo(to)c(customize)g(the)g(b)q(eha)o -(vior)g(of)f Fm(Pcb)h Fo(then)75 547 y(c)o(hanging)j(the)f(resource)g -(\014le)h(is)g(usually)h(the)e(b)q(est)g(w)o(a)o(y)g(to)f(do)h(it.)137 -617 y(Get)21 b(y)o(ourself)h(a)f(prin)o(tout)g(of)g(this)h(c)o(hapter)g -(and)f Fh(User)h(Commands)p Fo(,)g(if)g(y)o(ou)f(ha)o(v)o(en't)g -(already)75 672 y(done)16 b(so,)f(and)h(follo)o(w)g(the)g(examples.)22 -b(An)16 b(example)h(la)o(y)o(out)e(ma)o(y)g(b)q(e)h(found)g(in)h(`)p -Fm(example/68HC11)p Fo('.)75 726 y(An)f(example)g(illustrating)g(some)f -(v)o(ersion)h(1.5)e(features)h(is)g(found)h(in)g(`)p -Fm(example/LED)p Fo(')d(along)i(with)h(its)75 781 y(corresp)q(onding)g -(netlist)g(\014le)h(`)p Fm(example/LED.NET)p Fo('.)137 -851 y(Start)h Fm(Pcb)g Fo(\(the)h(actual)f(command)h(will)h(use)f(all)h -(lo)o(w)o(er-case)e(letters\))h(without)f(an)o(y)h(additional)75 -906 y(options.)h(If)15 b(y)o(ou)g(get)g(the)g(error)g(message:)256 -972 y(can't)f(\014nd)i(default)g(fon)o(t-sym)o(b)q(ol-\014le)g -('default)p 1088 972 14 2 v 17 w(fon)o(t')75 1096 y(then)g(the)f(fon)o -(t)f(searc)o(hpath)h(or)g(\014lename)h(in)g(the)f(application)i -(resource)75 1151 y(\014le)g(is)g(wrong.)k(Be)16 b(sure)h(that)e(y)o -(our)g Fm(m4)h Fo(program)f(supp)q(orts)h(searc)o(hpaths.)22 -b(If)16 b(not,)f(get)h Fm(GNU)f(m4)p Fo(.)22 b(F)l(or)75 -1206 y(other)d(messages,)f(see)i(Section)f(A.2)g([problems],)g(page)g -(53.)30 b(Another)19 b(quic)o(k-start)g(is)g(pro)o(vided)h(b)o(y)75 -1261 y Fm(pcbtest.sh)14 b Fo(in)i(the)f(`)p Fm(src)p -Fo(')f(directory)l(.)75 1395 y Fl(2.1)33 b(The)22 b(Application)i -(Windo)n(w)137 1494 y Fo(The)18 b(main)f(windo)o(w)g(consists)h(of)e -(\014v)o(e)h(areas:)23 b(the)17 b(men)o(u)h(at)e(the)h(top,)g(the)g -(con)o(trol)g(panel)h(in)g(the)75 1549 y(upp)q(er)g(left)g(corner,)f -(the)g(mo)q(de)h(buttons)f(lo)q(cated)g(b)q(elo)o(w)h(the)f(con)o(trol) -g(panel,)i(the)e(dra)o(wing)g(area)g(to)75 1603 y(the)e(righ)o(t)g(of)g -(these,)g(and)g(the)h(status)e(line)j(at)d(the)i(b)q(ottom)e(of)h(the)g -(windo)o(w.)75 1720 y Fg(2.1.1)30 b(The)20 b(Status-line)h(and)g -(Input-\014eld)137 1819 y Fo(The)i(status-line)g(is)f(lo)q(cated)h(at)e -(the)i(b)q(ottom)e(edge)h(of)g(the)g(main)h(windo)o(w.)41 -b(During)22 b(normal)75 1873 y(op)q(eration)15 b(the)g(status)f -(information)h(is)g(visible)i(there.)j(When)15 b(a)g(selected)h(men)o -(u)f(op)q(eration)g(requires)75 1928 y(an)h(additional)i(button)f(clic) -o(k,)h(the)e(status-line)i(is)f(replaced)h(b)o(y)e(a)g(message)h -(telling)h(y)o(ou)e(to)g(p)q(osition)75 1983 y(the)21 -b(cursor)g(and)g(clic)o(k.)39 b(When)22 b(a)f(text)f(input)i(is)g -(required,)h(the)f(status-line)g(is)f(replaced)i(b)o(y)e(the)75 -2038 y(Input-\014eld)c(whic)o(h)g(has)e(a)f(prompt)h(for)g(the)g(t)o -(yp)q(ed)h(input.)137 2107 y(The)21 b(status-line)g(sho)o(ws,)f(from)f -(left)i(to)e(righ)o(t,)i(the)f(side)h(of)f(the)g(b)q(oard)g(that)f(y)o -(ou)h(are)g(viewing)75 2162 y(\()p Fm(<)p Fh(Key)p Fm(>)p -Fh(T)m(ab)d Fo(c)o(hanges)e(this\),)g(if)h(an)g(absolute)f(\(abs\))g -(or)g(relativ)o(e)h(\(rel\))f(grid)h(is)g(used,)g(if)g(new)f(lines)i -(are)75 2217 y(restricted)g(to)f(45)g(degrees,)g(whic)o(h)i(t)o(yp)q(e) -e(of)h(45)e(degree)i(line)i(mo)q(de)d(is)h(activ)o(e,)g(whether)g(rubb) -q(erband)75 2272 y(mo)o(v)o(e)h(and)h(rotate)e(mo)q(de)i(is)g(on)g -(\(R\),)e(the)i(curren)o(t)f(grid)h(v)m(alues,)h(and)f(the)g(zo)q(om)f -(factor.)30 b(This)19 b(in-)75 2326 y(formation)e(is)h(follo)o(w)o(ed)g -(b)o(y)g(the)f(line-width,)k(via-size)e(and)f(drilling)i(hole)e(in)h -(mil,)g(text)e(scaling,)i(the)75 2381 y(activ)o(e)f(bu\013er)g(n)o(um)o -(b)q(er)g(and)g(the)g(name)g(of)g(the)g(la)o(y)o(out.)27 -b(An)19 b(asterisk)e(app)q(earing)i(at)e(the)h(left)h(edge)75 -2436 y(indicates)c(the)e(la)o(y)o(out)g(has)g(b)q(een)h(mo)q(di\014ed)g -(since)h(the)e(last)g(sa)o(v)o(e.)19 b(Note)13 b(that)f(the)h(name)g -(of)g(the)h(la)o(y)o(out)75 2491 y(is)i(not)f(the)g(same)g(thing)g(as)g -(the)g(\014lename)i(of)e(the)g(la)o(y)o(out.)137 2560 -y(The)d(input-\014eld)j(p)q(ops)d(up)g(\(temp)q(orarily)g(replacing)h -(the)f(status-line\))h(whenev)o(er)f(user)g(input)h(is)f(re-)75 -2615 y(quired.)20 b(Tw)o(o)11 b(k)o(eys)g(are)h(b)q(ound)h(to)e(the)h -(input)h(\014eld:)19 b Fm(<)p Fh(Key)p Fm(>)p Fh(Esc)n(ap)n(e)14 -b Fo(ab)q(orts)d(the)h(input,)h Fm(<)p Fh(Key)p Fm(>)p -Fh(R)n(eturn)75 2670 y Fo(\014nishes)k(it.)p eop -%%Page: 10 11 -10 10 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(10)137 149 y(The)17 b(presen)o(t)f(cursor)g(p)q(osition)i(is)e -(displa)o(y)o(ed)i(in)f(the)g(upp)q(er)g(righ)o(t)f(corner)g(of)g(the)h -(windo)o(w.)23 b(Nor-)75 204 y(mally)18 b(this)g(p)q(osition)g(is)g(an) -g(absolute)f(co)q(ordinate,)h(but)g(with)g(v)o(ersion)f(1.5)g(of)g -Fm(Pcb)g Fo(y)o(ou)g(can)g(anc)o(hor)75 259 y(a)e(mark)o(er)f(at)h(the) -g(curren)o(t)g(cursor)g(lo)q(cation)h(b)o(y)f(pressing)h -Fh(Ctrl)p Fm(<)p Fh(Key)p Fm(>)p Fh(m)i Fo(then)e(the)f(displa)o(y)h -(will)h(read)75 314 y(b)q(oth)c(the)f(absolute)h(cursor)f(p)q(osition)h -(as)f(w)o(ell)i(as)e(the)g(di\013erence)i(b)q(et)o(w)o(een)e(it)h(and)g -(the)f(mark)o(er.)18 b(Press-)75 369 y(ing)e Fh(Ctrl)p -Fm(<)p Fh(Key)p Fm(>)p Fh(m)i Fo(again)d(turns)g(the)g(mark)o(er)f -(o\013.)75 478 y Fg(2.1.2)30 b(The)20 b(Con)n(trol)h(P)n(anel)137 -573 y Fo(The)16 b(con)o(trol)f(panel,)h(lo)q(cated)g(at)e(the)i(left)f -(side)i(of)e(the)g(windo)o(w,)g(is)h(used)g(to)e(turn)i(on)f(and)g -(o\013)g(the)75 628 y(displa)o(y)g(of)e(la)o(y)o(er)h(groups)f(and)h -(to)f(select)i(the)e(activ)o(e)h(dra)o(wing)g(la)o(y)o(er.)19 -b(If)14 b(a)g(la)o(y)o(er)f(hasn't)g(b)q(een)i(named,)75 -683 y(the)g(lab)q(el)i Fm(")p Fh(\(unknown\))r Fm(")c -Fo(is)j(used)g(as)f(the)g(defualt.)137 749 y(The)g(upp)q(er)h(con)o -(trol)e(b)q(o)o(x)h(is)g(used)g(to)f(switc)o(h)h(la)o(y)o(ers)g(on)f -(and)h(o\013.)k(Clic)o(k)d Fm(<)p Fh(Btn1Down)p Fm(>)e -Fo(on)h(one)f(or)75 804 y(more)h(of)h(them.)22 b(Eac)o(h)15 -b(clic)o(k)i(toggles)f(the)g(setting.)22 b(The)16 b(curren)o(tly)g -(activ)o(e)g(la)o(y)o(er)g(can't)f(b)q(e)h(switc)o(hed)75 -859 y(o\013.)34 b(The)21 b(la)o(y)o(out)e(is)i(refreshed)g(when)f(the)h -(p)q(oin)o(ter)g(reen)o(ters)f(the)g(dra)o(wing)g(area.)34 -b(This)21 b(prev)o(en)o(ts)75 914 y(excessiv)o(e)e(redra)o(wing)g(when) -f(the)h(visibilit)o(y)i(of)d(sev)o(eral)g(la)o(y)o(ers)g(is)h(c)o -(hanged.)30 b(When)19 b(the)f(la)o(y)o(ers)g(are)75 969 -y(group)q(ed,)i(clic)o(king)g(on)f(these)g(\014elds)h(will)g(toggle)e -(the)h(visibili)q(t)o(y)i(of)d(all)h(la)o(y)o(ers)g(in)g(the)g(same)g -(group.)75 1023 y(This)f(is)f(a)g(go)q(o)q(d)f(idea)i(b)q(ecause)g(la)o -(y)o(ers)f(in)h(the)f(same)f(group)h(reside)h(on)f(the)g(same)f(ph)o -(ysical)j(la)o(y)o(er)d(of)75 1078 y(the)d(actual)g(b)q(oard.)19 -b(Use)13 b(the)g(`)p Fm(Edit)h(layer)h(groups)p Fo(')d(option)h(in)g -(the)g(`)p Fm(Objects)p Fo(')e(men)o(u)j(to)e(c)o(hange)h(the)75 -1133 y(la)o(y)o(er)h(groupings.)20 b(Grouping)14 b(la)o(y)o(ers)g(is)g -(only)h(useful)g(for)e(helping)j(y)o(ou)e(to)f(color-co)q(de)i(signals) -g(in)f(y)o(our)75 1188 y(la)o(y)o(out.)24 b(Note)16 b(that)g(grouping)h -(la)o(y)o(ers)g(actually)g(reduces)h(the)f(n)o(um)o(b)q(er)g(of)f -(di\013eren)o(t)h(ph)o(ysical)h(la)o(y)o(ers)75 1242 -y(a)o(v)m(ailable)f(for)d(y)o(our)h(b)q(oard,)g(th)o(us)g(to)f(mak)o(e) -h(an)g(eigh)o(t)h(la)o(y)o(er)f(b)q(oard,)f(y)o(ou)h(cannot)g(group)g -(an)o(y)g(la)o(y)o(ers.)137 1309 y Fh(far)g(side)h Fo(turns)d(on)h(and) -f(o\013)f(the)i(visibilit)o(y)i(of)c(elemen)o(ts)i(\(including)i(SMD)d -(pads\))g(on)g(the)g(opp)q(osite)75 1364 y(b)q(oard)j(side,)h(as)e(w)o -(ell)i(as)f(silk)h(screening)g(on)f(that)f(side.)23 b(It)16 -b(do)q(es)g(not)g(automatically)g(hide)i(the)e(x-ra)o(y)75 -1418 y(view)g(of)f(the)g(other)g(copp)q(er)h(la)o(y)o(ers,)e(these)i(m) -o(ust)f(b)q(e)h(turned)f(o\013)g(separately)g(if)h(desired.)21 -b(Use)15 b(the)h Fh(tab)75 1473 y Fo(k)o(ey)d(to)g(view)i(the)e(en)o -(tire)h(b)q(oard)g(from)f(the)h(other)f(side.)20 b(T)l(o)13 -b(see)h(a)g(view)g(of)f(what)g(the)h(bac)o(k)f(side)i(of)e(the)75 -1528 y(b)q(oard)i(will)h(actually)g(lo)q(ok)f(lik)o(e,)g(mak)o(e)g(the) -f(solder)i(la)o(y)o(er)e(the)h(activ)o(e)g(la)o(y)o(er)f(then)h(press)g -Fh(tab)j Fo(un)o(til)e(the)75 1583 y(status)f(line)j(sa)o(ys)e -Fm(")p Fo(solder)p Fm(")g Fo(on)h(the)f(righ)o(t,)g(then)h(turn)f -(o\013)f(the)i(visibilit)o(y)i(of)c(all)j(other)d(la)o(y)o(ers)h -(except)75 1638 y(pins/pads,)g(vias,)f(and)g(silk.)137 -1704 y(The)23 b(lo)o(w)o(er)g(con)o(trol)f(men)o(u,)j(named)e -Fh(active)p Fo(,)h(is)g(used)f(to)f(c)o(hange)h(the)g(activ)o(e)g(dra)o -(wing)g(la)o(y)o(er.)75 1759 y Fm(<)p Fh(Btn1Down)p Fm(>)16 -b Fo(p)q(ops)g(up)h(a)e(men)o(u)i(to)e(select)i(a)f(one.)22 -b(Eac)o(h)16 b(en)o(try)g(is)g(lab)q(eled)i(with)e(the)h(la)o(y)o(er's) -e(name)75 1814 y(and)f(dra)o(wn)g(in)h(its)f(color.)19 -b(The)c(new)f(dra)o(wing)g(la)o(y)o(er)g(is)g(automatically)h(made)f -(visible.)22 b(T)l(ry)13 b(c)o(hanging)75 1868 y(the)19 -b(activ)o(e)g(la)o(y)o(er's)f(name)h(to)f Fh(ABC)25 b -Fo(b)o(y)19 b(selecting)h(`)p Fm(set)14 b(name)h(of)g(layer)p -Fo(')j(from)g(the)h(`)p Fm(File)p Fo(')e(men)o(u.)75 -1923 y(Changing)f(the)f(activ)o(e)g(la)o(y)o(er)g(also)g(is)h(a)o(v)m -(ailable)h(with)e Fm(<)p Fh(Key)p Fm(>)p Fh(1..8)p Fo(.)75 -2033 y Fg(2.1.3)30 b(The)20 b(Mo)r(de)g(Selectors)137 -2128 y Fo(The)d(mo)q(de)g(selector)g(buttons)f(reside)i(b)q(elo)o(w)f -(the)g(con)o(trol)f(panel.)25 b(They)17 b(are)f(used)i(to)d(select)j -(the)75 2183 y(op)q(eration)f(mo)q(de)h(of)e Fm(Pcb)p -Fo(.)25 b(A)17 b(mo)q(de)g(can)h(b)q(e)f(though)o(t)g(of)f(as)h(a)f(to) -q(ol)h(that)g(gets)f(used)i(when)f Fm(<)p Fh(Btn1)p Fm(>)75 -2238 y Fo(is)f(pressed.)k(Eac)o(h)15 b(mo)q(de)g(causes)h(the)f(cursor) -g(to)f(tak)o(e)h(on)g(a)g(unique)h(shap)q(e)g(that)e(iden)o(ti\014es)j -(the)e(to)q(ol.)75 2292 y(The)k(buttons)g(themselv)o(es)g(are)g(icons)g -(that)g(illustrate)h(their)f(function.)32 b(The)19 b(dra)o(wing)g(mo)q -(des)g(can)75 2347 y(also)c(b)q(e)h(selected)g(from)f(the)g(k)o(eyb)q -(oard:)290 2411 y Fm(<)p Fh(Key)p Fm(>)p Fh(Esc)n(ap)n(e)74 -b Fm(reset)23 b(mode)290 2462 y(<)p Fh(Key)p Fm(>)p Fh(F1)173 -b Fm(via-mode)290 2514 y(<)p Fh(Key)p Fm(>)p Fh(F2)g -Fm(line-mode)290 2566 y(<)p Fh(Key)p Fm(>)p Fh(F3)g Fm -(pastebuffer-mode)290 2618 y(<)p Fh(Key)p Fm(>)p Fh(F4)g -Fm(rectangle-mode)290 2670 y(<)p Fh(Key)p Fm(>)p Fh(F5)g -Fm(text-mode)p eop -%%Page: 11 12 -11 11 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(11)290 149 y Fm(<)p Fh(Key)p Fm(>)p Fh(F6)173 b Fm(polygon-mode)290 -201 y(<)p Fh(Key)p Fm(>)p Fh(Insert)75 b Fm(insert-point-mode)290 -253 y(<)p Fh(Key)p Fm(>)p Fh(F7)173 b Fm(thermal-mode)290 -305 y(<)p Fh(Key)p Fm(>)p Fh(F8)g Fm(arc-mode)137 376 -y Fo(The)16 b Fm(<)p Fh(Key)p Fm(>)p Fh(Sp)n(ac)n(e)h -Fo(cycles)f(through)f(all)h(of)f(the)g(mo)q(des)h(in)g(the)f(mo)q(de)h -(button)f(palette.)137 446 y(Reset-mo)q(de)21 b(is)h(really)f(no)g(mo)q -(de,)i(and)e Fm(<)p Fh(Btn1)p Fm(>)f Fo(has)h(no)g(e\013ect)g(with)g -(this)g(setting.)37 b(Some)21 b(of)75 501 y(the)g(mo)q(des)h(are)e(v)o -(ery)h(simple,)j(suc)o(h)d(as)g(the)g(via-mo)q(de.)39 -b(Clic)o(king)23 b Fm(<)p Fh(Btn1)p Fm(>)d Fo(while)j(in)f(this)g(mo)q -(de)75 556 y(creates)16 b(a)g(via)g(at)g(the)g(cross-hair)g(p)q -(osition.)24 b(The)17 b(pastebu\013er-mo)q(de)f(is)h(similar.)24 -b(With)16 b(this)h(mo)q(de,)75 611 y Fm(<)p Fh(Btn1)p -Fm(>)i Fo(copies)i(the)f(con)o(ten)o(ts)g(of)f(the)h(activ)o(e)g -(bu\013er)g(to)f(the)h(la)o(y)o(out,)g(but)g(only)h(those)e(parts)h -(that)75 666 y(reside)15 b(on)g(visible)h(la)o(y)o(ers)f(are)f(copied.) -21 b(The)14 b(rotate-mo)q(de)g(allo)o(ws)h(y)o(ou)f(to)f(rotate)h -(elemen)o(ts)h(and)f(text)75 720 y(ob)s(jects)i(90)g(degrees)h(coun)o -(ter-clo)q(c)o(kwise)h(with)f(eac)o(h)g(clic)o(k.)26 -b(The)17 b(line-mo)q(de)h(is)g(explained)g(in)g(detail)75 -775 y(in)g(Section)g(1.5)e([Line)i(Ob)s(jects],)e(page)h(6.)25 -b(The)17 b(arc-mo)q(de)g(is)g(explained)i(in)f(detainl)g(in)g(Section)g -(1.6)75 830 y([Arc)e(Ob)s(jects],)f(page)h(6.)21 b(Rectangle-mo)q(de,) -16 b(p)q(olygon-mo)q(de)h(and)f(thermal-mo)q(de)h(are)e(explained)j(in) -75 885 y(detail)d(in)f(Section)g(1.7)f([P)o(olygon)f(Ob)s(jects],)h -(page)h(7.)19 b(Remem)o(b)q(er)13 b(that)g(the)g(thermal-mo)q(de)h -(will)h(only)75 940 y(create)g(and)g(destro)o(y)g(thermals)g(to)g(p)q -(olygons)g(on)g(the)h(activ)o(e)f(la)o(y)o(er.)137 1010 -y(The)22 b(insert-p)q(oin)o(t-mo)q(de)h(is)f(an)f(editing)i(to)q(ol)e -(that)g(allo)o(ws)h(y)o(ou)f(to)g(add)g(p)q(oin)o(ts)h(in)o(to)f(lines) -i(or)75 1065 y(p)q(olygons.)i(With)17 b(v)o(ersion)f(1.5)g(of)g -Fm(Pcb)p Fo(,)h(the)f(insert-p)q(oin)o(t-mo)q(de)j(enforces)d(the)h(45) -f(degree)h(line)h(rule.)75 1120 y(Y)l(ou)h(can)f(force)g(only)h(the)g -(shorter)e(line)j(segmen)o(t)e(to)g(45)g(degrees)h(b)o(y)f(holding)i -(the)e(shift)h(k)o(ey)f(do)o(wn)75 1175 y(while)g(inserting)g(the)e(p)q -(oin)o(t.)25 b(The)17 b(delete-mo)q(de)h(deletes)f(the)g(smallest)g(ob) -s(ject)f(b)q(eneath)i(the)e(cursor)75 1229 y(with)g(eac)o(h)g -Fm(<)p Fh(Btn1)p Fm(>)f Fo(clic)o(k.)22 b(If)16 b(y)o(ou)f(use)h(clic)o -(k)h(at)e(an)g(end-p)q(oin)o(t)i(that)e(t)o(w)o(o)f(lines)j(ha)o(v)o(e) -e(in)i(common,)e(it)75 1284 y(will)h(replace)f(the)f(t)o(w)o(o)e(lines) -k(with)e(a)g(single)h(line)h(spanning)f(the)f(t)o(w)o(o)f(remaining)i -(p)q(oin)o(ts.)20 b(This)14 b(can)g(b)q(e)75 1339 y(used)i(to)e(delete) -j(an)e Fm(")p Fo(inserted)p Fm(")h Fo(p)q(oin)o(t)f(in)h(a)f(line,)i -(restoring)e(the)g(previous)h(line.)75 1458 y Fg(2.1.4)30 -b(Dra)n(wing)21 b(Area)137 1558 y Fo(The)14 b(dra)o(wing)f(area)g(is)h -(made)f(from)g(a)g(viewp)q(ort)h(widget)f(that)g(also)g(includes)j(t)o -(w)o(o)c(scrollbars.)20 b(The)75 1612 y(cursor)15 b(c)o(hanges)g(shap)q -(e)g(dep)q(ending)i(on)e(the)g(curren)o(t)g(op)q(eration)g(mo)q(de)g -(when)h(the)f(p)q(oin)o(ter)g(is)g(mo)o(v)o(ed)75 1667 -y(in)o(to)f(the)h(dra)o(wing)f(area.)19 b(A)c(crosshair)f(follo)o(ws)g -(the)h(X11)f(p)q(oin)o(ter)h(with)f(resp)q(ect)h(to)f(the)h(grid)f -(setting.)75 1722 y(Mo)o(v)o(e)k(around)h(and)g(w)o(atc)o(h)f(the)i -(cursor)e(p)q(osition)i(displa)o(y)o(ed)h(in)e(the)h(upp)q(er)g(righ)o -(t)e(of)h(the)g(windo)o(w.)75 1777 y(No)o(w)14 b(select)i(a)e(new)h -(grid)g(from)f(the)h Fh(Display)k Fo(men)o(u.)h(The)15 -b(new)g(v)m(alue)h(is)f(up)q(dated)h(in)g(the)e(statusline.)75 -1832 y(No)o(w)d(mo)o(v)o(e)h(again)g(and)g(w)o(atc)o(h)g(the)g -(di\013erence.)20 b(A)12 b(di\013eren)o(t)g(w)o(a)o(y)g(to)f(c)o(hange) -h(the)h(grid)f(is)h Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p -Fh(g)75 1886 y Fo(to)k(decrease)g(or)g Fm(<)p Fh(Key)p -Fm(>)p Fh(g)k Fo(to)c(increase)h(it.)26 b(The)18 b(grid)g(setting)f(is) -h(sa)o(v)o(ed)e(along)i(with)f(the)h(data)e(when)75 1941 -y(y)o(ou)i(sa)o(v)o(e)g(a)g(p)q(cb)h(la)o(y)o(out.)28 -b(F)l(or)18 b(homemade)g(la)o(y)o(outs)g(a)g(v)m(alue)i(around)e(50)g -(is)g(a)g(go)q(o)q(d)g(setting.)30 b(The)75 1996 y(cursor)13 -b(also)h(ma)o(y)f(b)q(e)h(mo)o(v)o(ed)f(with)h(the)g(cursor)f(k)o(eys)g -(or,)g(for)g(larger)h(distances,)g(b)o(y)f(pressing)i(the)e -Fh(shift)75 2051 y Fo(mo)q(di\014er)j(together)f(with)g(a)g(cursor)g(k) -o(ey)l(.)75 2170 y Fg(2.1.5)30 b(Men)n(u)137 2269 y Fo(The)22 -b(men)o(us)g(are)g(lo)q(cated)g(at)g(the)g(top)f(of)g(the)h(dra)o(wing) -g(area.)39 b(Most,)22 b(but)g(not)g(all,)i(of)d(their)75 -2324 y(functions)c(are)f(also)g(a)o(v)m(ailable)i(from)d(the)i(k)o(eyb) -q(oard.)23 b(Some)16 b(of)g(the)g(en)o(tries)g(suc)o(h)h(as)f -Fh(c)n(enter)k Fo(require)75 2379 y(a)c(certain)g(cursor)g(p)q -(osition.)24 b(In)17 b(this)f(case)h(a)e(statusline)j(will)f(p)q(opup)g -(at)f(the)g(b)q(ottom)g(with)g(w)o(ording)75 2434 y(similar)g(to)f(the) -g(follo)o(wing:)256 2501 y(mo)o(v)o(e)f(p)q(oin)o(ter)i(to)e(the)i -(appropriate)f(screen)h(p)q(osition)g(and)f(press)g(a)g(button)137 -2572 y(An)o(y)i(mouse)h(button)f(will)h(do)g(the)f(job,)g(whereas)g(an) -o(y)g(k)o(ey)g(except)h(the)f(cursor)g(k)o(eys)g(will)i(cancel)75 -2627 y(the)c(op)q(eration.)20 b(F)l(or)15 b(details)h(see)g(Section)g -(5.2)e([Actions],)g(page)i(35.)p eop -%%Page: 12 13 -12 12 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(12)75 149 y(`)p Fm(About)p Fo(')94 b(There)16 b(is)h(no)f(men)o(u)h -(hiding)h(b)q(ehind)g(this)f(button,)f(but)g(a)g(small)h(information)f -(b)q(o)o(x)g(will)315 204 y(p)q(op)g(up.)75 289 y(`)p -Fm(File)p Fo(')118 b(This)11 b(men)o(u)g(o\013ers)f(a)h(c)o(hoice)h(of) -e(loading,)i(sa)o(ving)f(and)g(prin)o(ting)h(data,)e(sa)o(ving)h -(connection)315 344 y(information)22 b(to)f(a)g(\014le)i(or)e(quitting) -i(the)e(application.)42 b(Y)l(ou)21 b(also)h(ma)o(y)f(c)o(hange)h(the) -315 399 y(la)o(y)o(out's)c(or)h(the)g(activ)o(e)h(la)o(y)o(er's)e -(name.)32 b(Selecting)21 b Fh(print)f(layout)k Fo(p)q(ops)c(up)g(a)f -(prin)o(ter)315 453 y(con)o(trol)d(dialog)h(whic)o(h)h(is,)f(hop)q -(efully)l(,)i(self)e(explaining.)26 b(This)17 b(b)q(o)o(x)g(con)o -(tains)f(a)h(panner)315 508 y(widget)23 b(\(only)f Fm(X11R5)g -Fo(and)h(later\))f(whic)o(h)h(simpli\014es)i(adjusting)e(the)f -(o\013sets.)41 b(With)315 563 y(earlier)20 b(releases)g(the)g(prin)o -(tout)f(will)i(alw)o(a)o(ys)d(app)q(ear)i(in)g(the)f(upp)q(er)i(left)e -(corner)h(with)315 618 y(resp)q(ect)c(to)e(the)i(media)f(margins.)315 -687 y(A)k(selection)h(of)e(sev)o(eral)g(device)i(driv)o(ers)f(is)g(a)o -(v)m(ailable)i(from)c(the)i(prin)o(ter)g(con)o(trol)f(dia-)315 -742 y(log.)h(Presen)o(tly)11 b Fh(PostScript)p Fo(,)h -Fh(enc)n(apsulate)n(d)g(PostScript)p Fo(,)f(and)h Fh(Gerb)n(erX)18 -b Fo(are)11 b(supp)q(orted.)315 797 y Fh(Gerb)n(erD)21 -b Fo(supp)q(ort)16 b(ma)o(y)f(b)q(e)i(forthcoming.)22 -b(It)17 b(requires)g(a)e(rastering)h(engine)i(that)d(p)q(cb)315 -852 y(presen)o(tly)h(lac)o(ks.)75 936 y(`)p Fm(Display)p -Fo(')46 b(The)13 b(displa)o(y)h(men)o(u)g(supp)q(orts)f(the)g(most)f -(needed)i(functions)g(related)g(to)e(screen)i(output.)315 -991 y(The)e(en)o(tries)g(are)g(used)g(to)f(c)o(hange)h(the)g(grid)g(to) -f(some)g(p)q(opular)i(v)m(alues,)g(the)f(zo)q(om)f(factor,)315 -1046 y(the)16 b(displa)o(y)o(ed)i(elemen)o(t)f(name)g(and)f(also)h(are) -f(used)h(to)e(cen)o(ter)i(or)f(refresh)g(the)h(output.)315 -1101 y(Y)l(ou)e(also)g(ma)o(y)g(switc)o(h)g(grid-displa)o(ying)j(on)d -(or)f(o\013)g(and)i(select)g(b)q(et)o(w)o(een)f(absolute)h(grid)315 -1156 y(\(origin)f(at)f(\(0,0\)\))e(or)i(relativ)o(e)h(grid)g(\(origin)g -(at)f(the)h(p)q(osition)g(where)g(the)g(grid)f(has)h(b)q(een)315 -1210 y(c)o(hanged\).)30 b(The)18 b(relativ)o(e)h(grid)g(p)q(osition)h -(is)f(no)o(w)e(established)k(at)c(the)i(actual)f(p)q(oin)o(ter)315 -1265 y(p)q(osition,)f(NOT)f(necessarily)i(the)e(same)g(as)g(the)g -(crosshair)g(p)q(osition.)24 b(This)17 b(allo)o(ws)f(y)o(ou)315 -1320 y(to)k(shift)h(the)g(grid)g(without)f(c)o(hanging)h(the)g(grid)g -(spacing.)37 b(I)20 b(recommend)h(that)f(y)o(ou)315 1375 -y(zo)q(om)e(in)h(as)f(close)h(as)f(p)q(ossible)j(b)q(efore)d(setting)h -(a)f(relativ)o(e)h(grid)f(so)g(that)g(y)o(ou're)g(sure)315 -1430 y(the)c(grid)g(lines)h(fall)g(where)f(y)o(ou)g(w)o(an)o(t.)k(The)c -(clipping)i(to)e(45-degree)f(lines)j(is)e(selected)h(in)315 -1484 y(this)h(men)o(u,)f(as)g(w)o(ell)h(as)f(enabling)h(rubb)q(erband)h -(mo)q(de)e(\(see)g(description)i(of)e Fh(Mo)n(de)s Fo(\).)75 -1569 y(`)p Fm(Sizes)p Fo(')94 b(This)16 b(men)o(u)h(allo)o(ws)f(y)o(ou) -f(to)g(select)i(a)e(group)h(of)f(line)j(thic)o(kness,)e(via)g(diameter) -h(and)f(via)315 1624 y(drill)21 b(size)f(\(collectiv)o(ely)h(called)g -(a)e Fm(")p Fo(routing)g(st)o(yle)p Fm(")p Fo(\))g(to)f(b)q(e)i -(coppied)g(to)f(the)g Fm(")p Fo(activ)o(e)p Fm(")315 -1679 y Fo(sizes.)34 b(Y)l(ou)20 b(can)g(also)g(c)o(hange)g(the)f(names) -h(giv)o(en)g(to)f(these)h(st)o(yles)g(and)g(adjust)f(their)315 -1733 y(v)m(alues)e(from)f(this)h(men)o(u.)23 b(Y)l(ou)17 -b(can)f(also)h(edit)g(the)f Fm(")p Fo(activ)o(e)p Fm(")g -Fo(sizes)i(\(the)e(initial)i(size)f(of)315 1788 y(new)c(vias,)g -(drilling)j(holes,)d(lines,)i(text-ob)s(jects)d(and)h(the)g(curren)o(t) -g(maxim)o(um)g(size)g(of)g(the)315 1843 y(la)o(y)o(out\))h(from)h(this) -g(men)o(u.)75 1928 y(`)p Fm(Objects)p Fo(')46 b(Displa)o(ying)20 -b(the)f(pinout)g(of)f(an)h(elemen)o(t)g(and)g(c)o(hanging)g(its)g -(names,)g(the)g(one)g(that)e(is)315 1983 y(curren)o(tly)12 -b(selected)h(b)o(y)e(the)h Fh(Display)j Fo(men)o(u,)d(as)g(w)o(ell)g -(as)f(editing)i(a)e(text)g(ob)s(ject)g(is)h(o\013ered)315 -2037 y(b)o(y)18 b(this)h(men)o(u.)30 b(The)18 b(latter)g(t)o(w)o(o)f -(selections)j(require)f(an)g(additional)g(p)q(oin)o(ter)g(button)315 -2092 y(clic)o(k)e(at)d(the)i(ob)s(ject's)e(p)q(osition.)22 -b(A)15 b(dialog)h(for)f(c)o(hanging)h(the)f(la)o(y)o(er)g(groupings)h -(is)g(also)315 2147 y(reac)o(hed)g(from)e(this)i(men)o(u.)75 -2232 y(`)p Fm(Selection)p Fo(')315 2286 y(This)g(men)o(u)f(co)o(v)o -(ers)g(most)f(of)h(the)h(op)q(erations)f(that)g(w)o(ork)f(with)i -(selected)g(ob)s(jects.)k(Y)l(ou)315 2341 y(ma)o(y)13 -b(either)i(\(un\)select)f(all)h(visible)h(ob)s(jects)e(of)f(a)h(la)o(y) -o(out)f(or)g(only)i(the)f(ones)g(whic)o(h)g(ha)o(v)o(e)315 -2396 y(b)q(een)h(found)g(b)o(y)f(the)h(last)f(connection)h(scan.)20 -b(The)14 b(mouse)h(can)f(also)g(b)q(e)h(used)g(to)f(c)o(hange)315 -2451 y(whic)o(h)20 b(things)f(are)f(and)h(are)g(not)f(selected:)28 -b(toggle)19 b(the)g(selection)h(of)e(a)g(single)j(ob)s(ject)315 -2506 y(b)o(y)e(pressing)h Fm(<)p Fh(Btn3Down)p Fm(>)f -Fo(and)h(releasing)g(without)g(mo)o(ving)f(the)g(mouse.)33 -b(Pressing)315 2560 y Fh(Mo)n(d1)p Fm(<)p Fh(Btn3Down)p -Fm(>)p Fo(,)17 b(mo)o(ving)h(and)f(releasing)h(the)g(button)f(selects)h -(all)g(visible)i(ob)s(jects)315 2615 y(inside)f(the)e(rectangle.)25 -b(Pressing)17 b(the)g(mo)q(di\014er)h(k)o(ey)f Fh(Shift)j -Fo(to)q(o,)d(unselects)h(all)g(ob)s(jects)315 2670 y(in)e(the)g(area.)k -(Y)l(ou)15 b(can)h(delete)g(all)h(selected)f(ob)s(jects)f(from)g(this)g -(men)o(u,)h(and)f(also)h(mo)o(v)o(e)p eop -%%Page: 13 14 -13 13 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(13)315 149 y(selected)15 b(text)e(ob)s(jects)h(to)f(the)h -(silk-screen)h(la)o(y)o(er.)20 b(The)14 b(other)f(en)o(tries)h(c)o -(hange)g(the)g(sizes)315 204 y(of)h(visible)i(and)f(selected)g(ob)s -(jects.)75 285 y(`)p Fm(Buffer)p Fo(')70 b(This)17 b(men)o(u)f(handles) -h(pastebu\013er)f(related)g(actions.)23 b(Y)l(ou)16 b(ma)o(y)g(select)g -(one)h(out)e(of)h(\014v)o(e)315 340 y(\(p)q(er)j(viewing)i(side\))f -(bu\013ers)f(to)g(use,)h(rotate)e(or)h(clear)h(its)g(con)o(ten)o(ts)e -(and)i(paste)f(it)h(to)315 395 y(the)14 b(la)o(y)o(out.)19 -b(Y)l(ou)c(can)g(also)f(gather)g(ob)s(jects)f(in)j(the)e(bu\013er)g(in) -o(to)h(an)f(elemen)o(t)h(de\014nition)315 450 y(from)f(this)i(men)o(u.) -k(Note:)g(only)c(visible)h(ob)s(jects)d(are)h(pasted)h(to)e(the)h(la)o -(y)o(out.)75 531 y(`)p Fm(Connections)p Fo(')315 586 -y(The)k(en)o(tries)f(a)o(v)m(ailable)i(through)e(the)h(connections)g -(men)o(u)g(button)f(allo)o(w)h(the)f(user)h(to)315 641 -y(\014nd)h(connections)g(from)e(pins)j(or)d(vias)h(and)h(to)e -(manipulate)j(these.)32 b(The)19 b(connection)315 695 -y(lists)g(ma)o(y)e(b)q(e)i(sa)o(v)o(ed)e(b)o(y)h(selecting)h(en)o -(tries)g(from)e(the)h Fh(File)i Fo(men)o(u.)29 b(In)18 -b(man)o(y)g(cases)g(it)315 750 y(is)e(desireable)h(to)d(use)i(the)f -(ratsnest)f(function)i(to)f(c)o(hec)o(k)g(connections)h(against)f(a)g -(netlist)315 805 y(\014le)h(instead)g(of)f(using)h(the)f(connections)h -(men)o(u)g(to)e(generate)h(text)g(connection)h(lists.)75 -886 y(`)p Fm(Undo)p Fo(')118 b(This)19 b(men)o(u)f(is)g(a)g(fron)o -(tend)g(for)f(managing)h(the)g(rev)o(ersing)g(of)g(op)q(erations)g(suc) -o(h)g(as)g(re-)315 941 y(mo)o(v)o(e,)e(cop)o(y)l(,)h(mo)o(v)o(e,)g -(name)g(c)o(hanges,)g(etc.)25 b(The)17 b(n)o(um)o(b)q(er)g(of)g(op)q -(erations)g(is)h(unlimited)315 996 y(\(dep)q(ending)g(on)e(memory\).)21 -b(The)16 b(list)g(is)h(cleared)g(if)f(new)g(la)o(y)o(out)f(data)h(is)g -(loaded)h(or)e(b)o(y)315 1050 y(selecting)h(the)e(appropriate)h(en)o -(try)f(from)g(this)g(men)o(u.)20 b(The)15 b(in)o(v)o(erse)g(op)q -(eration,)f(redo,)g(is)315 1105 y(also)h(a)o(v)m(ailable.)75 -1186 y(`)p Fm(Report)p Fo(')70 b(This)16 b(men)o(u)f(allo)o(ws)h(y)o -(ou)f(to)f(generate)h(a)g(dialog)h(that)f(summerizes)h(information)f -(ab)q(out)315 1241 y(an)g(ob)s(ject)g(suc)o(h)g(as)g(sizes)h(and)g(co)q -(ordinates.)k(Y)l(ou)15 b(can)h(also)f(get)f(a)h(rep)q(ort)g(ab)q(out)g -(all)h(of)315 1296 y(the)f(drills)i(that)e(are)g(used)g(on)h(the)f(b)q -(oard.)75 1455 y Fl(2.2)33 b(Log)22 b(Windo)n(w)137 1552 -y Fo(This)16 b(optional)g(windo)o(w)g(is)g(used)f(to)g(displa)o(y)i -(all)f(kind)g(of)f(messages)g(including)j(the)e(ones)f(written)75 -1607 y(to)i Fh(stderr)23 b Fo(b)o(y)18 b(external)g(commands.)27 -b(The)18 b(main)g(adv)m(an)o(tage)g(is)g(that)f(its)h(con)o(ten)o(ts)f -(are)g(sa)o(v)o(ed)h(in)g(a)75 1662 y(scrolling)e(list)f(un)o(til)h -(the)f(program)e(exits.)20 b(Disabling)c(this)f(feature)f(b)o(y)h -(setting)g(the)f(resource)h Fh(useL)n(o)n(g-)75 1717 -y(Window)21 b Fo(to)15 b Fh(false)j Fo(will)f(generate)e(p)q(opup)h -(windo)o(ws)g(to)e(displa)o(y)j(messages.)j(The)15 b -Fh(stderr)21 b Fo(of)15 b(external)75 1772 y(commands)k(will)i(app)q -(ear)e(on)g Fm(Pcb)p Fo(s)g Fh(stderr)24 b Fo(whic)o(h)c(normally)g(is) -g(the)f(paren)o(t)g(shell.)33 b(I)20 b(suggest)e(y)o(ou)75 -1826 y(iconify)d(the)f(windo)o(w)g(after)f(startup)g(for)g(example)i(b) -o(y)e(setting)h Fh(*lo)n(g.ic)n(onic)h Fo(to)e Fh(true)p -Fo(.)20 b(If)14 b Fh(r)n(aiseL)n(o)n(gWin-)75 1881 y(dow)20 -b Fo(is)15 b(set)f Fh(true)p Fo(,)h(the)g(windo)o(w)f(will)j(deiconify) -f(and)e(raise)h(itself)h(whenev)o(er)f(new)f(messages)g(are)g(to)g(b)q -(e)75 1936 y(displa)o(y)o(ed.)75 2068 y Fl(2.3)33 b(Library)25 -b(Windo)n(w)137 2166 y Fo(First)12 b(app)q(earing)h(in)g(1.4.1)e(the)i -(library)g(windo)o(w)f(is)h(one)f(of)g(the)h(b)q(est)f(new)h(features)f -(in)h(m)o(y)f(opinion.)75 2221 y(It)g(simpli\014es)j(loading)e -(circuits)h(quiet)f(a)f(lot)g(just)g(b)o(y)h(selecting)g(the)g -(appropriate)f(t)o(yp)q(e)h(from)e(the)i(men)o(u)75 2276 -y(at)h(the)g(top.)20 b(A)14 b(circuit)i(is)f(then)f(selected)i(b)o(y)f -(simply)g(double-clic)o(ki)q(ng)i(on)d(the)h(text)f(line.)21 -b(F)l(or)14 b(details)75 2330 y(on)h(libraries)h(c)o(hec)o(k-out)f -(Section)g(6.6)f([Library)h(File],)g(page)g(50)f(and)h(Section)g(6.5)f -([Library)h(Con)o(ten)o(ts)75 2385 y(File],)h(page)f(50.)75 -2517 y Fl(2.4)33 b(Dra)n(wing)22 b(and)h(Remo)n(ving)g(Basic)f(Ob)t -(jects)137 2615 y Fo(There)17 b(are)f(sev)o(eral)g(w)o(a)o(ys)f(of)h -(creating)g(new)h(ob)s(jects:)k(y)o(ou)16 b(ma)o(y)f(dra)o(w)h(them)g -(y)o(ourself,)g(y)o(ou)g(ma)o(y)75 2670 y(cop)o(y)i(an)g(existing)h(ob) -s(ject)f(or)g(y)o(ou)g(ma)o(y)f(load)i(an)f(elemen)o(t)h(from)e(a)h -(\014le)h(or)f(library)l(.)30 b(Creating)18 b(new)p eop -%%Page: 14 15 -14 14 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(14)75 149 y(ob)s(jects)15 b(is)i(normally)g(related)f(to)g(a)g(sp)q -(ecial)i(mo)q(de)e(dep)q(ending)i(on)e(the)h(ob)s(ject)e(t)o(yp)q(e.)23 -b(The)16 b(notation)75 204 y(of)f(k)o(ey)g(and)g(button)g(ev)o(en)o(ts) -g(is)h(the)f(same)g(as)g(describ)q(ed)i(in)f(the)f(X11)g(In)o(trinsics) -i(man)o(ual.)137 277 y(The)i(op)q(eration)g(mo)q(de)g(ma)o(y)f(b)q(e)h -(selected)h(b)o(y)e(one)h(of)f(the)h(mo)q(de)g(selectors)g(in)g(the)g -(b)q(ottom)f(left)75 332 y(corner,)13 b(b)o(y)f(one)h(of)f(the)h -(function)g(k)o(eys)g(listed)g(earlier)h(in)f(this)g(c)o(hapter,)g(or)f -(b)o(y)g(pressing)i(the)e(space)h(bar)75 387 y(to)j(cycle)h(through)g -(the)f(mo)q(des.)24 b Fm(<)p Fh(Btn1Down)p Fm(>)16 b -Fo(sends)h(a)g(notify)f(request)h(to)e(the)i(application)h(whic)o(h)75 -442 y(resp)q(onds)f(b)o(y)g(creating)g(or)f(c)o(hanging)h(the)g -(appropriate)g(ob)s(ject)f(or)h(at)f(least)h(tak)o(es)f(the)g(\014rst)h -(step)g(to)75 496 y(do)d(so.)k(Switc)o(hing)d(to)e(a)g(mo)q(de)h -(causes)g(the)g(cursor)f(to)g(tak)o(e)g(on)g(a)h(unique)h(shap)q(e)f -(and)g(also)f(causes)h(the)75 551 y(co)q(oresp)q(onding)k(mo)q(de)f -(selector)f(button)h(to)f(b)q(e)h(dra)o(wn)f(with)h(thic)o(k)g(lines.) -26 b(Y)l(ou)16 b(can)h(use)g(either)g(cue)75 606 y(to)e(see)g(whic)o(h) -h(mo)q(de)g(is)f(curren)o(tly)h(selected.)137 679 y(Remo)o(ving)c(ob)s -(jects)f(is)h(p)q(ossible)i(using)e Fm(<)p Fh(Key)p Fm(>)p -Fh(BackSp)n(ac)n(e)j Fo(\(or)c Fm(<)p Fh(Key)p Fm(>)p -Fh(Delete)j Fo(on)e(some)g(mac)o(hines\))75 734 y(whic)o(h)18 -b(deletes)g(the)f(ob)s(ject)g(at)f(the)i(cursor)f(lo)q(cation.)26 -b(If)17 b(more)g(than)g(one)g(ob)s(ject)g(is)h(lo)q(cated)f(at)g(the)75 -789 y(same)k(p)q(osition,)j(the)d(smallest)h(matc)o(hing)f(t)o(yp)q(e)h -(will)h(b)q(e)f(c)o(hosen.)38 b(If)22 b(t)o(w)o(o)e(or)h(more)g(of)g -(the)g(same)75 844 y(t)o(yp)q(e)d(are)f(the)h(smallest)g(at)f(the)h(p)q -(osition,)h(then)f(the)g(new)o(est)g(one)f(will)j(b)q(e)e(deleted.)29 -b(Y)l(ou)18 b(also)g(ma)o(y)75 898 y(c)o(hange)e(to)g -Fh(r)n(emove-mo)n(de)k Fo(and)c(clic)o(k)i Fm(<)p Fh(Btn1Down)p -Fm(>)e Fo(at)g(the)g(lo)q(cation)h(of)f(the)g(ob)s(jects)g(whic)o(h)h -(are)f(to)75 953 y(b)q(e)k(remo)o(v)o(ed.)33 b(If)20 -b(y)o(ou)f Fm(")p Fo(remo)o(v)o(e)p Fm(")g Fo(the)h(end-p)q(oin)o(t)h -(where)e(t)o(w)o(o)g(lines)i(connect,)g(it)f(will)h(remo)o(v)o(e)e(the) -75 1008 y(p)q(oin)o(t)d(of)e(connection)j(lea)o(ving)f(a)f(single)h -(line)h(that)e(spans)g(the)g(far)g(end)g(p)q(oin)o(ts.)137 -1081 y(Rotating)i(w)o(orks)h(in)h(a)f(similar)h(fashion.)30 -b(Change)18 b(the)h(mo)q(de)f(and)h(press)f Fm(<)p Fh(Btn1Down)p -Fm(>)g Fo(at)g(the)75 1136 y(ob)s(ject's)k(lo)q(cation.)42 -b(Remem)o(b)q(er)23 b(only)g(text,)g(elemen)o(ts)h(and)e(arcs)h(can)f -(b)q(e)i(rotated.)41 b(\(An)o(ything)75 1191 y(including)23 -b(groups)c(of)g(ob)s(jects)g(ma)o(y)g(b)q(e)i(rotated)d(inside)k(a)d -(bu\013er)h(using)h(the)e(rotate)g(bu\013er)h(men)o(u)75 -1245 y(option.\))137 1318 y(Insert)h(mo)q(de)f(pro)o(vides)g(the)g -(capabilit)o(y)i(of)d(inserting)i(new)g(p)q(oin)o(ts)f(in)o(to)g -(existing)h(p)q(olygons)f(or)75 1373 y(lines.)25 b(The)17 -b(45)f(degree)g(line)j(clipping)g(is)d(no)o(w)g(enforced)h(when)g -(selected.)25 b(Press)16 b(and)h(hold)g(the)g(shift)75 -1428 y(k)o(ey)f(while)i(p)q(ositioning)g(the)f(new)f(p)q(oin)o(t)h(to)f -(only)h(clip)h(the)e(line)i(segmen)o(t)e(to)g(the)h(nearer)f(of)g(the)g -(t)o(w)o(o)75 1483 y(existing)g(p)q(oin)o(ts)f(to)f(45)g(degrees.)20 -b(Y)l(ou)15 b(can)g(also)g(toggle)f(the)h(45-degree)g(clipping)i(in)f -(the)e(middle)j(of)d(a)75 1538 y(p)q(oin)o(t)j(insertion)h(b)o(y)e -(pressing)h(the)g Fm(<)p Fh(Key)p Fm(>)p Fh(.)24 b Fo(If)17 -b(the)f(shift)h(k)o(ey)g(is)g(not)f(depressed)h(and)g(the)g(45)f -(degree)75 1592 y(line)21 b(clipping)i(mo)q(de)d(is)g(on,)g(b)q(oth)g -(new)g(line)i(segmen)o(ts)d(m)o(ust)g(b)q(e)h(on)g(45)f(degree)h -(angles)g(-)g(greatly)75 1647 y(restricting)13 b(where)h(the)f(new)g(p) -q(oin)o(t)g(ma)o(y)g(b)q(e)g(placed.)20 b(In)14 b(some)f(cases)g(this)g -(can)g(cause)g(confusion)h(as)f(to)75 1702 y(whether)i(an)h(insertion)g -(has)f(b)q(een)i(started)d(since)j(the)e(t)o(w)o(o)f(new)h(lines)i(ma)o -(y)e(b)q(e)h(forced)f(to)g(lie)h(parallel)75 1757 y(on)f(top)g(of)g -(the)g(original)h(line)h(un)o(til)f(the)g(p)q(oin)o(ter)f(is)h(mo)o(v)o -(ed)f(far)f(from)h(the)g(end)h(p)q(oin)o(ts.)137 1830 -y(Remo)o(ving)g(ob)s(jects,)g(c)o(hanging)h(their)h(size)f(or)f(mo)o -(ving)h(them)f(only)h(applies)h(to)e(ob)s(jects)g(that)g(are)75 -1885 y(visible)h(when)f(the)f(command)g(is)h(executed.)137 -1958 y(There)f(are)f(sev)o(eral)h(k)o(eystrok)o(es)e(and)h(button)g(ev) -o(en)o(ts)h(refering)f(to)g(an)g Fh(obje)n(ct)19 b Fo(without)14 -b(iden)o(tifying)75 2012 y(its)h(t)o(yp)q(e.)20 b(Here's)15 -b(a)g(list)h(of)f(them:)137 2086 y Fm(<)p Fh(Btn1Down)p -Fm(>)g Fo(creates)g(\(or)g(deletes\))h(an)f(ob)s(ject)f(dep)q(ending)k -(on)d(the)g(curren)o(t)g(mo)q(de.)137 2159 y Fm(<)p Fh(Key)p -Fm(>)p Fh(BackSp)n(ac)n(e)e Fo(or)e Fm(<)p Fh(Key)p Fm(>)p -Fh(Delete)i Fo(remo)o(v)o(es)d(the)h(visible)i(ob)s(ject)e(at)f(the)h -(cursor)f(lo)q(cation.)20 b(When)75 2213 y(more)14 b(than)g(one)g(ob)s -(ject)f(exists)i(at)e(the)h(lo)q(cation,)h(the)f(order)g(of)f(remo)o(v) -m(al)h(is:)20 b(via,)14 b(line,)i(text,)d(p)q(olygon)75 -2268 y(and)h(elemen)o(t.)20 b(The)14 b(dra)o(wn)g(la)o(y)o(er)f(order)h -(also)g(a\013ects)f(the)h(searc)o(h)g(-)g(whatev)o(er)f(is)h(top)g(-)g -(most)f(\(except)75 2323 y(elemen)o(ts\))18 b(is)g(a\013ected)f(b)q -(efore)h(lo)o(w)o(er)f(items.)26 b(Basically)19 b(all)g(this)f(means)f -(that)g(what)g(is)h(remo)o(v)o(ed)e(is)75 2378 y(probably)h(just)g -(what)f(y)o(ou)h(exp)q(ect.)25 b(If)17 b(for)f(some)h(reason)f(it)h -(isn't,)g(undo)g(and)g(try)f(again.)25 b(Only)18 b(one)75 -2433 y(ob)s(ject)f(is)g(remo)o(v)o(ed)g(for)g(eac)o(h)g(k)o(eystrok)o -(e.)25 b(If)17 b(t)o(w)o(o)f(or)h(more)g(of)g(the)g(same)g(t)o(yp)q(e)g -(matc)o(h,)g(the)g(new)o(est)75 2487 y(one)e(is)h(remo)o(v)o(ed.)137 -2560 y(Use)e Fm(<)p Fh(Key)p Fm(>)p Fh(s)j Fo(and)c Fh(Shift)p -Fm(<)p Fh(Key)p Fm(>)p Fh(s)k Fo(to)c(c)o(hange)g(the)h(size)g -(\(width\))g(of)f(lines,)i(arcs,)e(text)g(ob)s(jects,)g(pins,)75 -2615 y(pads)h(and)h(vias,)f(or)f(to)h(toggle)f(the)i(st)o(yle)f(of)g(p) -q(olygons)g(\(whether)g(pins)h(and)f(vias)h(automatically)f(ha)o(v)o(e) -75 2670 y(clearances\).)p eop -%%Page: 15 16 -15 15 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(15)137 149 y Fm(<)p Fh(Key)p Fm(>)p Fh(n)15 b Fo(c)o(hanges)e(the)g -(name)f(of)g(pins,)i(pads,)f(vias,)g(the)g(string)f(of)g(a)h(text)f(ob) -s(ject,)g(or)g(the)g(curren)o(tly)75 204 y(displa)o(y)o(ed)k(lab)q(el)h -(of)e(an)g(elemen)o(t.)137 276 y Fm(<)p Fh(Key)p Fm(>)p -Fh(m)24 b Fo(mo)o(v)o(es)c(the)h(line,)i(arc,)e(or)f(p)q(olygon)h -(under)h(the)e(crosshair)h(to)f(the)h(activ)o(e)f(la)o(y)o(er)h(if)g -(it)75 331 y(w)o(asn't)14 b(on)h(that)g(la)o(y)o(er)g(already)l(.)137 -403 y Fm(<)p Fh(Key)p Fm(>)p Fh(u)22 b Fo(\(undo\))c(reco)o(v)o(ers)f -(from)g(an)h(unlimited)i(n)o(um)o(b)q(er)f(of)e(op)q(erations)h(suc)o -(h)h(as)e(creating,)i(re-)75 458 y(mo)o(ving,)h(mo)o(ving,)h(cop)o -(ying,)f(selecting)h(etc.)34 b(It)19 b(w)o(orks)g(lik)o(e)i(y)o(ou'd)e -(exp)q(ect)h(ev)o(en)g(if)g(y)o(ou're)f(in)i(the)75 513 -y(midst)16 b(of)e(creating)i(something.)137 584 y Fh(Shift)p -Fm(<)p Fh(Key)p Fm(>)p Fh(r)25 b Fo(restores)19 b(the)h(last)g(undone)h -(op)q(eration)f(pro)o(vided)h(no)f(other)f(c)o(hanges)h(ha)o(v)o(e)g(b) -q(een)75 639 y(made)15 b(since)i(the)e(undo)g(w)o(as)g(p)q(erformed.) -137 711 y Fm(<)p Fh(Key)p Fm(>)p Fh(tab)j Fo(c)o(hanges)d(the)h(b)q -(oard)f(side)h(y)o(ou)f(are)g(viewing.)137 783 y(F)l(or)10 -b(a)h(complete)g(list)g(of)g(k)o(eystrok)o(es)e(and)i(button)f(ev)o(en) -o(ts)h(see)g(Section)g(5.3)f([T)l(ranslations],)g(page)h(43.)75 -905 y Fg(2.4.1)30 b(Lines)137 1006 y Fo(T)l(o)14 b(dra)o(w)f(new)h -(lines)i(y)o(ou)d(ha)o(v)o(e)h(to)f(b)q(e)i(in)f Fh(line-mo)n(de)p -Fo(.)19 b(Get)14 b(there)g(either)g(b)o(y)g(selecting)i(it)e(from)f -(the)75 1060 y Fh(T)m(o)n(ol)i(p)n(alette)k Fo(or)c(b)o(y)h(pressing)g -Fm(<)p Fh(Key)p Fm(>)p Fh(F2)p Fo(.)k(Eac)o(h)c(successiv)o(e)g -Fh(notify)k Fo(ev)o(en)o(t)15 b(creates)g(a)g(new)h(line.)23 -b(The)75 1115 y(adjustmen)o(t)14 b(to)f(45)h(degree)h(lines)g(is)g -(done)g(automatically)f(if)h(it)g(is)f(selected)i(from)d(the)i -Fh(Display)j Fo(men)o(u.)75 1170 y(Y)l(ou)13 b(can)g(toggle)g(the)g(45) -g(degree)g(mo)q(de)g(setting)h(b)o(y)f(pressing)g(the)g -Fm(<)p Fh(Key)p Fm(>)p Fh(.)20 b Fo(\(That)12 b(is)h(the)g(p)q(erio)q -(d)i(k)o(ey\).)75 1225 y(When)g(45)f(degree)g(enforcemen)o(t)h(is)g -(turned)g(on)f(there)h(are)f(three)g(distinct)i(mo)q(des)e(of)h(line)h -(creation:)j(a)75 1280 y(single)14 b(line)f(on)g(the)f(closest)h(45)e -(degree)i(v)o(ector)e(to)o(w)o(ards)g(the)h(crosshair)h(\(but)f(not)f -(necessarily)j(actually)75 1334 y(ending)20 b(at)e(the)g(crosshair\),)h -(t)o(w)o(o)e(lines)k(created)d(suc)o(h)h(that)f(the)h(\014rst)f(lea)o -(v)o(es)h(the)f(start)g(p)q(oin)o(t)h(on)f(a)75 1389 -y(90)d(degree)i(v)o(ector)e(and)h(the)h(second)f(arriv)o(es)g(at)f(the) -i(crosshair)f(on)g(a)f(45)h(degree)g(v)o(ector,)f(and)i(\014nally)75 -1444 y(t)o(w)o(o)g(lines)j(created)e(suc)o(h)g(that)g(the)g(\014rst)g -(lea)o(v)o(es)g(the)g(start)f(p)q(oin)o(t)i(on)f(a)g(45)g(degree)g(v)o -(ector)g(and)g(the)75 1499 y(second)d(arriv)o(es)e(at)h(the)g -(crosshair)g(on)g(a)g(90)f(degree)i(v)o(ector.)k(These)14 -b(last)g(t)o(w)o(o)f(mo)q(des)h(alw)o(a)o(ys)f(connect)75 -1554 y(all)j(the)g(w)o(a)o(y)e(from)h(the)g(start)f(and)i(end)g(p)q -(oin)o(ts,)f(and)h(all)g(lines)h(ha)o(v)o(e)e(angles)h(in)g(45)f -(degree)h(m)o(ultiples.)75 1608 y(The)f Fm(<)p Fh(Key)p -Fm(>)p Fh(/)22 b Fo(cycles)16 b(through)f(the)g(three)g(mo)q(des.)20 -b(The)15 b(status)f(line)i(sho)o(ws)f(a)f(text)h(icon)g(to)f(indicate) -75 1663 y(whic)o(h)j(of)e(the)h(mo)q(des)g(is)h(activ)o(e)f(and)g(the)g -(lines)h(follo)o(wing)g(the)f(crosshair)g(motion)f(sho)o(w)h(the)g -(outline)75 1718 y(of)f(the)g(line\(s\))h(that)f(will)i(actually)f(b)q -(e)f(created.)20 b(Press)15 b Fm(<)p Fh(Key)p Fm(>)p -Fh(Esc)n(ap)n(e)j Fo(to)c(lea)o(v)o(e)h(line-mo)q(de.)137 -1790 y Fm(<)p Fh(Key)p Fm(>)p Fh(l)p Fo(,)h Fh(Shift)p -Fm(<)p Fh(Key)p Fm(>)p Fh(l)21 b Fo(and)c(the)g(en)o(tries)g(in)g(the)g -Fh(Sizes)i Fo(men)o(u)e(c)o(hange)g(the)g(initial)i(width)e(of)g(new)75 -1845 y(lines.)k(This)16 b(width)g(is)g(also)f(displa)o(y)o(ed)h(in)g -(the)g(status)e(line.)75 1966 y Fg(2.4.2)30 b(Arcs)137 -2067 y Fo(An)15 b(Arc)f(is)h(dra)o(wn)f(with)h(the)g -Fh(ar)n(c-to)n(ol)p Fo(.)k(Get)14 b(there)h(either)g(b)o(y)f(selecting) -i(it)f(from)e(the)i Fh(T)m(o)n(ol)f(p)n(alette)75 2122 -y Fo(or)19 b(b)o(y)h(pressing)g Fm(<)p Fh(Key)p Fm(>)p -Fh(F8)p Fo(.)33 b(Press)20 b Fh(Btn1)26 b Fo(to)19 b(de\014ne)i(the)f -(starting)f(p)q(oin)o(t)h(for)f(the)h(arc.)33 b(Drag)19 -b(the)75 2177 y(mouse)13 b(to)o(w)o(ards)e(the)i(desired)h(end)f(p)q -(oin)o(t)g(along)g(the)g(path)g(y)o(ou)f(w)o(an)o(t)g(the)h(arc)f(to)g -(follo)o(w.)20 b(The)13 b(outline)75 2232 y(of)18 b(the)h(arc)f(that)g -(will)i(b)q(e)f(created)g(is)g(sho)o(wn)f(on)g(the)h(screen)g(as)f(y)o -(ou)h(mo)o(v)o(e)e(the)i(mouse.)30 b(Arcs)18 b(are)75 -2286 y(alw)o(a)o(ys)g(forced)h(to)f(b)q(e)h(90)f(degrees)h(and)g(ha)o -(v)o(e)g(symmetrical)g(length)g(and)g(width)h(\()e(i.e.)31 -b(they)19 b(are)f(a)75 2341 y(quarter)11 b(circle\).)20 -b(The)12 b(next)g Fh(Btn1)18 b Fo(clic)o(k)13 b(creates)e(the)h(arc.)19 -b(It)11 b(will)j(ha)o(v)o(e)d(the)h(same)g(width)g(as)f(new)h(lines)75 -2396 y(\(displa)o(y)o(ed)19 b(in)f(the)g(status)f(line\))i(and)f(app)q -(ear)g(on)g(the)f(activ)o(e)h(la)o(y)o(er.)28 b(The)17 -b(arc)h(lea)o(v)o(es)g(the)g(starting)75 2451 y(p)q(oin)o(t)j(to)o(w)o -(ards)f(the)h(crosshair)g(along)g(the)g(axis)g(whose)f(distance)i(from) -e(the)h(crosshair)g(is)h(largest.)75 2506 y(Normally)16 -b(this)g(means)f(that)f(if)i(y)o(ou)f(drag)g(along)g(the)h(path)f(y)o -(ou)g(w)o(an)o(t)f(the)i(arc)f(to)f(follo)o(w,)i(y)o(ou'll)f(get)75 -2560 y(what)j(y)o(ou)g(w)o(an)o(t.)28 b(If)19 b(the)f(grid)h(is)g(set)f -(to)f(the)i(arc)f(radius,)h(then)g(the)f(t)o(w)o(o)f(distances)i(will)h -(b)q(e)f(equal)75 2615 y(and)c(y)o(ou)f(w)o(on't)f(b)q(e)i(able)g(to)f -(get)g(all)h(of)f(the)h(p)q(ossible)h(directions.)21 -b(If)14 b(this)h(is)g(th)o(w)o(arting)f(y)o(our)f(desires,)75 -2670 y(reduce)j(the)f(grid)h(spacing)g(\()p Fh(!Shift)p -Fm(<)p Fh(Key)p Fm(>)p Fh(G)t Fo(\))e(and)h(try)g(again.)p -eop -%%Page: 16 17 -16 16 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(16)75 149 y Fg(2.4.3)30 b(P)n(olygons)20 b(and)h(Rectangles)137 -246 y Fo(A)12 b(p)q(olygon)g(is)g(dra)o(wn)f(b)o(y)h(de\014ning)h(all)f -(of)f(its)h(segmen)o(ts)f(as)g(a)h(series)g(of)f(consecutiv)o(e)i(line) -g(segmen)o(ts.)75 300 y(If)j(the)h(\014rst)f(p)q(oin)o(t)g(matc)o(hes)g -(a)g(new)g(one)h(and)f(if)h(the)f(n)o(um)o(b)q(er)g(of)g(p)q(oin)o(ts)h -(is)g(greater)e(than)h(t)o(w)o(o,)f(then)75 355 y(the)k(p)q(olygon)h -(is)f(closed.)33 b(Since)20 b(matc)o(hing)f(up)h(with)f(the)g(\014rst)g -(p)q(oin)o(t)h(ma)o(y)e(b)q(e)i(di\016cult,)h(y)o(ou)e(ma)o(y)75 -410 y(use)c Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(p)h -Fo(to)e(close)h(the)f(p)q(olygon.)20 b(The)14 b Fh(Shift)p -Fm(<)p Fh(Key)p Fm(>)p Fh(p)j Fo(w)o(on't)c(w)o(ork)g(if)i(clipping)h -(to)e(45)g(degree)75 465 y(lines)20 b(is)f(selected)g(and)g(the)f -(\014nal)h(segmen)o(t)f(cannot)g(matc)o(h)g(this)g(condition.)31 -b(I)19 b(suggest)e(y)o(ou)h(create)75 520 y(simple)23 -b(con)o(v)o(ex)e(p)q(olygons)g(in)h(order)f(to)g(a)o(v)o(oid)g(a)f -(strong)h(negativ)o(e)g(impact)g(on)h(the)f(p)q(erformance)75 -574 y(of)d(the)g(connection)h(scanning)h(routines.)29 -b(The)19 b Fh(r)n(e)n(ctangle-mo)n(de)h Fo(is)f(just)f(an)g(easy)g(w)o -(a)o(y)g(to)f(generate)75 629 y(rectangular)g(p)q(olygons.)27 -b Fh(Polygon-mo)n(de)21 b Fo(also)c(is)h(selected)h(b)o(y)e -Fm(<)p Fh(Key)p Fm(>)p Fh(F6)24 b Fo(whereas)17 b Fh(r)n(e)n -(ctangle-mo)n(de)75 684 y Fo(uses)d Fm(<)p Fh(Key)p Fm(>)p -Fh(F4)p Fo(.)19 b(Pressing)14 b(a)f Fm(<)p Fh(Btn1Down)p -Fm(>)g Fo(at)g(t)o(w)o(o)f(lo)q(cations)i(creates)g(a)f(rectangle)h(b)o -(y)f(de\014ning)i(t)o(w)o(o)75 739 y(of)h(its)h(corners.)23 -b Fm(<)p Fh(Key)p Fm(>)p Fh(Insert)c Fo(brings)e(y)o(ou)f(to)g -Fh(insert-p)n(oint-mo)n(de)k Fo(whic)o(h)d(lets)g(y)o(ou)f(add)h -(additional)75 793 y(p)q(oin)o(ts)11 b(to)f(an)h(already)g(existing)g -(p)q(olygon.)19 b(Single)13 b(p)q(oin)o(ts)e(ma)o(y)f(b)q(e)h(remo)o(v) -o(ed)f(b)o(y)h(mo)o(ving)f(the)h(crosshair)75 848 y(to)k(them)h(and)g -(selecting)h(one)f(of)f(the)h(delete)h(actions)f Fh(\(r)n(emove-mo)n -(de,)h(BackSp)n(ac)n(e,)f(or)h(Delete)p Fo(.)k(This)75 -903 y(only)16 b(w)o(orks)d(if)j(the)f(remaining)h(p)q(olygon)f(will)i -(still)f(ha)o(v)o(e)f(three)g(or)f(more)h(corners.)20 -b(Pressing)15 b Fm(<)p Fh(Key)p Fm(>)p Fh(u)75 958 y -Fo(or)e Fm(<)p Fh(Key)p Fm(>)p Fh(p)k Fo(while)e(en)o(tering)g(a)e(new) -h(p)q(olygon)h(brings)f(y)o(ou)g(bac)o(k)f(to)g(the)h(previous)h -(corner.)k(Remo)o(ving)75 1013 y(a)g(p)q(oin)o(t)h(do)q(es)g(not)g -(force)f(clipping)j(to)d(45)g(degree)h(angles)g(\(b)q(ecause)g(it's)g -(not)f(generally)i(p)q(ossible\).)75 1067 y(Newly)d(created)e(p)q -(olygons)i(will)g(not)f(connect)g(to)f(pins)i(or)f(vias)g(that)f -(pierce)i(it)f(unless)h(y)o(ou)f(create)f(a)75 1122 y(thermal)i -(\(using)g(the)g(thermal)f(mo)q(de\))h(to)f(mak)o(e)g(the)h -(connection.)28 b(If)18 b(the)g(edge)g(of)f(a)g(p)q(olygon)h(gets)75 -1177 y(to)q(o)c(close)i(to)e(a)h(pin)h(or)e(via)i(that)e(lies)i -(outside)g(of)e(it,)h(a)g(w)o(arning)g(will)i(b)q(e)e(issued)h(and)g -(the)f(pin)h(will)g(b)q(e)75 1232 y(giv)o(en)g(a)f(sp)q(ecial)i(color.) -i(Increasing)e(the)e(distance)h(b)q(et)o(w)o(een)g(them)f(will)i(remo)o -(v)o(e)d(the)h(w)o(arning)g(color.)75 1343 y Fg(2.4.4)30 -b(T)-5 b(ext)137 1439 y Fo(Pressing)12 b Fm(<)p Fh(Key)p -Fm(>)p Fh(F5)17 b Fo(or)11 b(clic)o(king)i(one)f(of)f(the)g(text)g -(selector)h(buttons)f(c)o(hanges)g(to)g Fh(text-mo)n(de)p -Fo(.)19 b(Eac)o(h)75 1494 y(successiv)o(e)c(notify)f(ev)o(en)o(t)g(\()p -Fm(<)p Fh(Btn1Down)p Fm(>)p Fo(\))f(p)q(ops)h(up)h(the)f(input)h(line)g -(at)e(the)h(b)q(ottom)g(and)g(queries)h(for)75 1549 y(a)i(string.)27 -b(En)o(ter)16 b(it)i(and)g(press)f Fm(<)p Fh(Key)p Fm(>)p -Fh(R)n(eturn)k Fo(to)16 b(con\014rm)i(or)f Fm(<)p Fh(Key)p -Fm(>)p Fh(Esc)n(ap)n(e)i Fo(to)e(ab)q(ort.)26 b(The)17 -b(text)75 1604 y(ob)s(ject)j(is)i(created)f(with)g(its)g(upp)q(er)h -(left)g(corner)f(at)f(the)h(curren)o(t)g(p)q(oin)o(ter)h(lo)q(cation.) -38 b(The)21 b(initial)75 1659 y(scaling)16 b(is)g(c)o(hanged)f(b)o(y)h -Fm(<)p Fh(Key)p Fm(>)p Fh(t)j Fo(and)c Fh(Shift)p Fm(<)p -Fh(Key)p Fm(>)p Fh(t)k Fo(or)c(from)f(the)i Fh(Sizes)h -Fo(men)o(u.)137 1726 y(No)o(w)h(switc)o(h)h(to)f Fh(r)n(otate-mo)n(de) -24 b Fo(and)18 b(press)h Fm(<)p Fh(Btn1Down)p Fm(>)g -Fo(at)f(the)h(text-ob)s(jects)f(lo)q(cation.)31 b(T)l(ext)75 -1780 y(ob)s(jects)13 b(on)h(the)h(solder)f(side)h(of)f(the)g(la)o(y)o -(out)f(are)h(automatically)g(mirrored)h(and)f(\015ipp)q(ed)i(so)e(that) -f(they)75 1835 y(are)i(seen)h(correctly)f(when)h(viewing)g(the)f -(solder-side.)137 1902 y(Use)h Fm(<)p Fh(Key)p Fm(>)p -Fh(n)h Fo(to)e(edit)h(the)f(string.)137 1969 y Fi(TEXT)10 -b(OBJECTS)h(ON)f(COPPER)h(LA)l(YERS)g(CREA)l(TE)f(COPPER)g(LINES)h(BUT) -g(THEY)f(ARE)75 2024 y(NOT)j(SCANNED)g(F)o(OR)f(CONNECTIONS)p -Fo(.)f(If)j(they)g(are)f(mo)o(v)o(ed)g(to)g(the)h(silkscreen)h(la)o(y)o -(er,)e(they)h(no)75 2079 y(longer)h(create)g(copp)q(er.)75 -2190 y Fg(2.4.5)30 b(Vias)137 2286 y Fo(The)15 b(initial)h(size)g(of)e -(new)h(vias)f(ma)o(y)g(b)q(e)h(c)o(hanged)g(b)o(y)f Fm(<)p -Fh(Key)p Fm(>)p Fh(v)19 b Fo(and)c Fh(Shift)p Fm(<)p -Fh(Key)p Fm(>)p Fh(v)j Fo(or)c(b)o(y)h(selecting)75 2341 -y(the)j(appropriate)h(en)o(try)f(from)f(the)i Fh(Sizes)h -Fo(men)o(u.)30 b Fh(Mo)n(d1)p Fm(<)p Fh(Key)p Fm(>)p -Fh(v)22 b Fo(and)d Fh(Mo)n(d1)g(Shift)p Fm(<)p Fh(Key)p -Fm(>)p Fh(v)k Fo(do)18 b(the)75 2396 y(same)11 b(for)f(the)i(drilling)h -(hole)f(of)f(the)g(via.)19 b(The)12 b(statusline)g(is)f(up)q(dated)h -(with)g(the)f(new)g(v)m(alues.)20 b(Creating)75 2451 -y(a)14 b(via)g(is)g(similar)h(to)f(the)g(other)f(ob)s(jects.)19 -b(Switc)o(h)c(to)e Fh(via-mo)n(de)18 b Fo(b)o(y)c(using)g(either)h(the) -f(selector)g(button)75 2506 y(or)i Fm(<)p Fh(Key)p Fm(>)p -Fh(F1)23 b Fo(then)17 b(press)g Fm(<)p Fh(Key)p Fm(>)p -Fh(])22 b Fo(or)16 b Fm(<)p Fh(Btn1Down)p Fm(>)h Fo(to)f(create)h(one.) -25 b Fm(<)p Fh(Key)p Fm(>)p Fh(n)20 b Fo(c)o(hanges)d(the)g(name)75 -2560 y(of)g(a)g(via.)27 b(If)18 b(y)o(ou)f(w)o(an)o(t)f(to)h(create)g -(a)g(moun)o(ting)g(hole)i(for)d(y)o(our)h(b)q(oard,)h(then)g(y)o(ou)f -(can)g(place)i(a)e(via)75 2615 y(where)f(y)o(ou)f(w)o(an)o(t)f(the)h -(hole)h(to)f(b)q(e)h(then)g(con)o(v)o(ert)e(the)i(via)f(in)o(to)g(a)g -(hole.)21 b(The)16 b(con)o(v)o(ersion)f(is)h(done)g(b)o(y)75 -2670 y(pressing)i Fh(!Ctrl)p Fm(<)p Fh(Key)p Fm(>)p Fh(h)h -Fo(with)f(the)f(crosshair)g(o)o(v)o(er)f(the)h(via.)25 -b(Conceptually)19 b(it)e(is)g(still)i(a)d(via,)i(but)f(it)p -eop -%%Page: 17 18 -17 17 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(17)75 149 y(has)14 b(no)g(copp)q(er)h(ann)o(ulus.)21 -b(If)15 b(y)o(ou)e(create)i(suc)o(h)f(a)g(hole)h(in)g(the)g(middle)h -(of)e(t)o(w)o(o)f(p)q(olygons)h(on)h(di\013eren)o(t)75 -204 y(la)o(y)o(ers,)j(it)g(will)i(short)d(the)h(la)o(y)o(ers.)28 -b(Theoretically)20 b(y)o(ou)d(could)i(arrange)e(for)h(suc)o(h)g(a)g -(hole)g(not)g(to)f(b)q(e)75 259 y(plated,)g(but)g(a)f(metal)g(screw)h -(inserted)g(in)g(the)g(hole)g(w)o(ould)g(still)h(risk)e(shorting)h(the) -f(la)o(y)o(ers.)24 b(A)16 b(go)q(o)q(d)75 314 y(rule)e(is)f(to)f -(realize)i(that)e(holes)h(in)h(the)f(b)q(oard)g(really)g(are)g(vias)g -(b)q(et)o(w)o(een)g(the)g(la)o(y)o(ers)f(and)h(so)f(place)i(them)75 -369 y(where)k(they)g(w)o(on't)f(in)o(terfere)h(with)g(connectivit)o(y)l -(.)29 b(Y)l(ou)18 b(can)g(con)o(v)o(ert)f(a)g(hole)i(bac)o(k)f(in)o(to) -f(a)h(normal)75 423 y(via)d(with)h(the)f(same)g(k)o(eystrok)o(e)f(used) -i(to)f(con)o(v)o(ery)f(it)i(in)g(the)f(\014rst)g(place.)75 -530 y Fg(2.4.6)30 b(Elemen)n(ts)137 624 y Fo(Some)17 -b(of)g(the)g(functions)h(related)g(to)e(elemen)o(ts)i(only)g(w)o(ork)e -(if)h(b)q(oth)g(the)h(pac)o(k)m(age)f(la)o(y)o(er)g(and)g(the)75 -679 y(pin)f(la)o(y)o(er)f(are)g(switc)o(hed)h(on.)137 -744 y(No)o(w)h(that)f(y)o(ou're)h(familiar)h(with)f(man)o(y)g(of)g(the) -g(basic)h(commands,)f(it)g(is)h(time)f(to)g(put)g(the)g(\014rst)75 -799 y(elemen)o(t)g(on)f(the)g(la)o(y)o(out.)22 b(First)16 -b(of)g(all,)g(y)o(ou)g(ha)o(v)o(e)g(to)f(load)i(data)e(in)o(to)h(the)g -(paste)g(bu\013er.)23 b(There)16 b(are)75 854 y(four)f(w)o(a)o(ys)f(to) -g(do)i(this:)267 917 y Fm(1\))23 b(load)g(the)h(data)f(from)h(a)f -(library)267 968 y(2\))g(load)g(the)h(data)f(from)h(a)f(file)267 -1020 y(3\))g(copy)g(data)h(from)f(an)h(already)f(existing)f(element)267 -1072 y(4\))h(convert)g(objects)g(in)h(the)f(buffer)g(into)g(an)h -(element)137 1138 y Fo(W)l(e)c(don't)g(ha)o(v)o(e)g(an)o(y)g(elemen)o -(ts)g(on)g(the)h(screen)f(y)o(et)g(nor)g(an)o(ything)g(in)h(the)f -(bu\013er,)h(so)f(w)o(e)g(use)75 1192 y(n)o(um)o(b)q(er)c(one.)137 -1258 y(Select)i Fh(lsi)j Fo(from)16 b(the)h(men)o(u)g(in)h(the)f -(library)g(windo)o(w)g(press)g Fm(<)p Fh(Btn1Down)p Fm(>)g -Fo(t)o(wice)g(at)f(the)h(appro-)75 1313 y(priate)i(text-line)i(to)d -(get)h(the)g(MC68030)e(CPU.)h(The)i(data)e(is)h(loaded)h(and)f(the)g -(mo)q(de)h(is)f(switc)o(hed)75 1367 y(to)e Fh(p)n(astebu\013er-mo)n(de) -p Fo(.)29 b(Eac)o(h)18 b(notify)h(ev)o(en)o(t)e(no)o(w)h(creates)g(one) -g(of)g(these)g(b)q(easts.)28 b(Lea)o(v)o(e)18 b(the)h(mo)q(de)75 -1422 y(b)o(y)f(selecting)i(a)e(di\013eren)o(t)h(one)f(or)g(b)o(y)g -Fm(<)p Fh(Key)p Fm(>)p Fh(Esc)n(ap)n(e)j Fo(whic)o(h)e(resets)f(all)h -(mo)q(des..)30 b(The)18 b(crosshair)g(is)75 1477 y(lo)q(cated)h(at)f -(the)h Fh(mark)24 b Fo(p)q(osition)19 b(as)g(de\014ned)h(b)o(y)e(the)h -(data)f(\014le.)31 b(Rotating)17 b(the)i(bu\013er)g(con)o(ten)o(ts)e -(is)75 1532 y(done)h(b)o(y)g(selecting)h(the)f Fh(r)n(otate)k -Fo(en)o(try)17 b(of)g(the)h Fh(Bu\013er)23 b Fo(men)o(u)18 -b(or)g(b)o(y)f(pressing)i Fh(Shift)p Fm(<)p Fh(Key)p -Fm(>)p Fh(F3)p Fo(.)27 b(The)75 1587 y(con)o(ten)o(ts)11 -b(of)h(the)g(bu\013er)g(are)g(v)m(alid)i(un)o(til)f(new)f(data)g(is)g -(loaded)h(in)o(to)f(it)g(either)h(b)o(y)f(a)g(cut-to-bu\013er)g(op)q -(er-)75 1641 y(ation,)i(cop)o(y-to-bu\013er)h(op)q(eration)g(or)f(b)o -(y)h(loading)h(a)e(new)h(data)f(\014le.)21 b(There)15 -b(are)f(5)h(bu\013ers)g(a)o(v)m(ailable.)75 1696 y(Switc)o(hing)j(b)q -(et)o(w)o(een)f(them)g(is)g(done)g(b)o(y)g(selecting)h(a)f(men)o(u)g -(en)o(try)f(or)h(b)o(y)f Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p -Fh(1..5)p Fo(.)25 b(Eac)o(h)16 b(of)75 1751 y(the)f(t)o(w)o(o)f(b)q -(oard)h(sides)h(has)f(its)h(o)o(wn)f(bu\013ers.)137 1816 -y(The)g(release)f(includes)j(all)e(data)e(\014les)i(for)f(the)g -(circuits)h(that)f(are)g(used)g(b)o(y)g(the)h(demo)f(la)o(y)o(out.)19 -b(The)75 1871 y(elemen)o(ts)e(in)f(the)g(LED)g(example)h(are)e(not)h -(found)g(in)h(the)f(library)l(,)h(but)f(y)o(ou)f(can)h(lift)h(them)f -(from)f(the)75 1926 y(example)g(itself)g(if)g(y)o(ou)f(w)o(an)o(t.)k -(If)d(y)o(ou)f(ha)o(v)o(e)f(problems)i(with)g(the)f(color)g(of)g(the)h -(crosshair,)f(c)o(hange)g(the)75 1981 y(resource)h Fh(cr)n -(osshairColor)20 b Fo(setting)15 b(to)g(a)f(di\013eren)o(t)i(one.)137 -2046 y(No)o(w)i(load)i(a)e(second)h(circuit,)i(the)e(MC68882)e(FPU)h -(for)g(example.)32 b(Create)18 b(the)h(circuit)h(as)f(ex-)75 -2101 y(plained)g(ab)q(o)o(v)o(e.)25 b(Y)l(ou)17 b(no)o(w)g(ha)o(v)o(e)f -(t)o(w)o(o)g(di\013eren)o(t)h(unnamed)h(elemen)o(ts.)26 -b(Unnamed)18 b(means)f(that)f(the)75 2156 y(la)o(y)o(out-name)k(of)g -(the)h(elemen)o(t)g(hasn't)f(b)q(een)h(set)g(y)o(et.)35 -b(Selecting)22 b Fh(description)i Fo(from)19 b(the)i -Fh(Display)75 2210 y Fo(men)o(u)15 b(displa)o(ys)h(the)f(description)h -(string)f(of)f(the)h(t)o(w)o(o)f(circuits)i(whic)o(h)g(are)e(CPU)h(and) -g(FPU.)f(The)h(v)m(al-)75 2265 y(ues)f(of)e(the)i(circuits)g(are)f(set) -g(to)g(MC68030)e(and)j(MC68882.)j(Eac)o(h)c(of)g(the)g(names)h(of)e(an) -i(elemen)o(t)g(ma)o(y)75 2320 y(b)q(e)19 b(c)o(hanged)f(b)o(y)h -Fm(<)p Fh(Key)p Fm(>)p Fh(n)h Fo(at)e(the)g(elemen)o(ts)h(lo)q(cation)g -(and)g(editing)g(the)f(old)h(name)f(in)h(the)g(b)q(ottom)75 -2375 y(input)d(line.)21 b(Naming)15 b(pins)g(and)g(vias)g(is)g(similar) -g(to)f(elemen)o(ts.)21 b(Y)l(ou)14 b(can)h(hide)h(the)f(elemen)o(t)g -(name)f(so)75 2430 y(that)j(it)h(w)o(on't)e(app)q(ear)i(on)f(the)h(b)q -(oard)f(silkscreen)i(b)o(y)f(pressing)g Fm(<)p Fh(key)p -Fm(>)p Fh(h)j Fo(with)c(the)h(cursor)f(o)o(v)o(er)g(the)75 -2484 y(elemen)o(t.)k(Doing)15 b(so)g(again)g(un-hides)i(the)e(elemen)o -(t)h(name.)137 2550 y(En)o(tering)g Ff(:le)e Fo(and)i(selecting)g(an)f -(elemen)o(t)h(data)f(\014le)h(is)g(the)f(second)h(w)o(a)o(y)e(to)h -(load)g(circuits.)137 2615 y(The)23 b(third)f(w)o(a)o(y)f(to)h(create)g -(a)g(new)g(elemen)o(t)h(is)f(to)g(cop)o(y)g(an)g(existing)h(one.)41 -b(Please)23 b(refer)f(to)75 2670 y(Section)16 b(2.5)e([Mo)o(ving)h(and) -g(Cop)o(ying],)g(page)g(19.)p eop -%%Page: 18 19 -18 18 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(18)137 149 y(The)14 b(fourth)e(w)o(a)o(y)g(to)g(create)h(a)g(new)g -(elemen)o(t)h(is)f(to)g(con)o(v)o(ert)f(a)h(bu\013er's)f(con)o(ten)o -(ts)h(in)o(to)g(an)g(elemen)o(t.)75 204 y(Here's)19 b(ho)o(w)f(it's)h -(done:)27 b(Select)20 b(the)f(Via-to)q(ol)g(from)f(the)h -Fh(T)m(o)n(ol)g(p)n(al)r(lette)p Fo(.)30 b(Set)19 b(the)g(grid)g -(spacing)h(to)75 259 y(something)d(appropriate)g(for)f(the)h(elemen)o -(t)h(pin)g(spacing.)26 b(No)o(w)16 b(create)h(a)f(series)i(of)f(vias)g -(where)g(the)75 314 y(pins)j(go.)31 b(Create)19 b(them)g(in)g(pin)i(n)o -(um)o(b)q(er)e(order.)31 b(It)20 b(is)f(often)g(handy)g(to)g(place)h(a) -f(reference)g(p)q(oin)o(t)75 369 y(\()p Fh(!Ctrl)p Fm(<)p -Fh(Key)p Fm(>)p Fh(m)s Fo(\))d(in)i(the)g(cen)o(ter)f(of)g(the)g -(\014rst)g(pin)h(in)g(order)f(to)g(measure)g(the)g(lo)q(cation)h(of)f -(the)g(other)75 423 y(pins.)j(Next)12 b(mak)o(e)g(a)g(solder-side)i(la) -o(y)o(er)e(the)g(activ)o(e)h(la)o(y)o(er)f(from)f(the)i -Fh(active-layer)k Fo(p)q(opup)c(men)o(u.)20 b(No)o(w)75 -478 y(dra)o(w)15 b(the)i(outline)g(of)f(the)g(elemen)o(t)h(using)f -(lines)i(and)e(arcs.)23 b(When)16 b(y)o(ou're)f(done,)i(select)g(ev)o -(erything)75 533 y(that)12 b(mak)o(es)g(up)i(the)e(elemen)o(t)i(with)f -(a)g(b)q(o)o(x)f(selection)i(\()p Fm(<)p Fh(Btn3Down)p -Fm(>)g Fh(dr)n(ag,)h Fm(<)p Fh(Btn3Up)p Fm(>)p Fo(\).)j(No)o(w)12 -b(select)75 588 y Fm(")p Fo(cut)i(selection)h(to)e(bu\013er)p -Fm(")h Fo(from)f(the)h Fh(Bu\013er)19 b Fo(men)o(u.)g(P)o(osition)14 -b(the)g(cursor)f(o)o(v)o(er)g(the)h(cen)o(ter)g(of)f(pin)i(1)75 -643 y(and)h(press)f(the)g(left)h(button)f(to)g(load)h(the)f(data)g(in)o -(to)g(the)g(bu\013er.)21 b(Finally)c(select)f Fm(")p -Fo(con)o(v)o(ert)e(bu\013er)i(to)75 697 y(elemen)o(t)p -Fm(")e Fo(from)f(the)h Fh(Bu\013er)19 b Fo(men)o(u.)h(Y)l(ou'll)15 -b(only)f(w)o(an)o(t)f(to)g(create)g(elemen)o(ts)i(this)f(w)o(a)o(y)f -(if)h(they)g(aren't)75 752 y(already)j(in)g(the)g(library)l(.)25 -b(It's)16 b(also)g(probably)h(a)g(go)q(o)q(d)f(idea)h(to)f(do)h(this)g -(b)q(efore)g(starting)f(an)o(y)g(of)g(the)75 807 y(other)f(asp)q(ects)g -(of)g(a)g(la)o(y)o(out,)f(but)h(it)h(isn't)f(necessary)l(.)137 -876 y(T)l(o)e(displa)o(y)h(the)f(pinout)h(of)e(a)h(circuit)h(mo)o(v)o -(e)f(to)f(it)h(and)g(press)h Fh(Shift)p Fm(<)p Fh(Key)p -Fm(>)p Fh(d)j Fo(or)12 b(select)i Fh(show)h(pinout)75 -931 y Fo(from)i(the)h Fh(Obje)n(cts)i Fo(men)o(u.)27 -b(A)18 b(new)g(windo)o(w)g(p)q(ops)g(up)g(and)g(displa)o(ys)g(the)g -(complete)g(pinout)h(of)e(the)75 986 y(elemen)o(t.)j(This)15 -b(displa)o(y)g(can)f(b)q(e)h(di\016cult)g(to)f(read)g(if)g(the)g(comp)q -(onen)o(t)g(has)g(b)q(een)h(rotated)e(90)h(degrees)75 -1041 y(:-\()h(therefore,)f(the)i(new)f(windo)o(w)g(will)i(sho)o(w)e(an) -g(un-rotated)g(view)h(so)f(the)g(pin)h(names)g(are)f(readable.)75 -1096 y Fm(<)p Fh(Key)p Fm(>)p Fh(d)21 b Fo(displa)o(ys)c(the)f(name)g -(of)g(one)g(or)g(all)h(pins/pads)g(inside)h(the)e(dra)o(wing)g(area,)g -(this)g(is)h(only)g(for)75 1150 y(displa)o(y)f(on-screen,)g(it)f(has)g -(no)g(e\013ect)g(on)h(an)o(y)e(prin)o(ting)i(of)f(the)h(la)o(y)o(out.) -137 1220 y(Y)l(ou)d(also)g(ma)o(y)f(w)o(an)o(t)f(to)h(c)o(hange)h(a)f -(pin's)h(or)f(pad's)h(curren)o(t)f(size)i(b)o(y)e(pressing)i -Fm(<)p Fh(Key)p Fm(>)p Fh(s)h Fo(to)d(increase)75 1275 -y(or)j Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(s)j Fo(to)c(decrease)i(it.) -k(While)d(this)f(is)f(p)q(ossible,)i(it)f(is)f(not)g(recommended)h -(since)h(care)e(w)o(as)75 1330 y(probably)i(tak)o(en)f(to)f(de\014ne)i -(the)g(elemen)o(t)g(structure)f(in)h(the)f(\014rst)g(place.)24 -b(Y)l(ou)16 b(can)g(also)h(c)o(hange)f(the)75 1384 y(thic)o(kness)h(of) -g(the)f(elemen)o(t's)h(silkscreen)i(outline)f(with)e(the)h(same)g(k)o -(eys.)23 b(Y)l(ou)17 b(can)g(c)o(hange)g(whether)75 1439 -y(a)f(pin)i(or)e(SMD)h(pad)g(is)g(rounded)g(or)g(square)f(with)h(the)g -Fm(<)p Fh(Key)p Fm(>)p Fh(q)p Fo(.)24 b(SMD)17 b(pads)g(should)g -(usually)h(ha)o(v)o(e)75 1494 y(squared)d(ends.)20 b(Finally)l(,)c(y)o -(ou)e(can)h(c)o(hange)g(whether)g(the)f(non-square)h(pins)h(are)e -(round)h(or)f(o)q(ctagonal)75 1549 y(with)i(the)f Fh(!Ctrl)p -Fm(<)p Fh(Key)p Fm(>)p Fh(o)p Fo(.)137 1618 y(SMD)j(elemen)o(ts)h(and)g -(silkscreen)g(ob)s(jects)f(are)g(dra)o(wn)g(in)h(the)f -Fm(")p Fo(in)o(visible)j(ob)s(ject)p Fm(")d Fo(color)g(if)h(they)75 -1673 y(are)c(lo)q(cated)h(on)f(the)g(opp)q(osite)h(side)g(of)f(the)g(b) -q(oard.)137 1743 y(F)l(or)f(information)g(on)h(elemen)o(t)g -(connections)g(refer)f(to)g(Section)h(2.8)e([Connection)i(Lists],)f -(page)g(21.)75 1859 y Fg(2.4.7)30 b(P)n(astebu\013er)137 -1958 y Fo(The)11 b(linestac)o(k)g(and)f(elemen)o(t-bu\013er)h(of)f -(former)g(releases)h(ha)o(v)o(e)e(b)q(een)j(replaced)f(b)o(y)f(5)g(m)o -(ulti-purp)q(ose)75 2012 y(bu\013ers)j(that)g(are)g(selected)i(b)o(y)e -Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(1..5)p Fo(.)19 b(The)14 -b(status)e(line)j(sho)o(ws)e(whic)o(h)h(bu\013er)f(is)h(the)g(activ)o -(e)75 2067 y(one.)24 b(Y)l(ou)16 b(ma)o(y)g(load)h(data)e(from)h(a)g -(\014le)i(or)d(la)o(y)o(out)h(in)o(to)h(them.)23 b(Cut-and-paste)16 -b(w)o(orks)g(to)q(o.)23 b(If)16 b(y)o(ou)75 2122 y(follo)o(w)o(ed)f -(the)g(instructions)h(earlier)f(in)h(this)f(c)o(hapter)f(y)o(ou)h -(should)h(no)o(w)e(ha)o(v)o(e)g(sev)o(eral)h(ob)s(jects)f(on)h(the)75 -2177 y(screen.)k(Mo)o(v)o(e)11 b(the)h(crosshair)g(to)g(one)g(of)f -(them)h(and)g(press)g Fm(<)p Fh(Btn3Down)p Fm(>)g Fo(to)g(toggle)f(its) -h(selection)i(\015ag.)75 2232 y(\(If)g(y)o(ou)g(drag)g(the)h(mouse)f -(while)i(the)e(button)g(is)h(do)o(wn,)f(a)g(b)q(o)o(x)h(selection)g -(will)h(b)q(e)f(attempted)f(instead)75 2286 y(of)j(toggling)h(the)f -(selection.\))28 b(The)18 b(ob)s(ject)f(is)h(redra)o(wn)f(in)i(a)e -(di\013eren)o(t)h(color.)27 b(Y)l(ou)18 b(also)f(ma)o(y)g(w)o(an)o(t)75 -2341 y(to)d(try)g(mo)o(ving)g(the)h(p)q(oin)o(ter)g(while)h(holding)g -(the)e(third)h(button)f(do)o(wn)h(and)f(release)h(it)g(on)g(a)f -(di\013eren)o(t)75 2396 y(lo)q(cation.)24 b(This)17 b(selects)g(all)g -(ob)s(jects)f(inside)i(the)e(rectangle)h(and)f(unselects)i(ev)o -(erything)f(else.)24 b(If)16 b(y)o(ou)75 2451 y(w)o(an)o(t)f(to)g(add)h -(a)g(b)q(o)o(x)g(selection)h(to)e(an)h(existing)h(selection,)g(drag)f -(with)g Fh(Mo)n(d1)p Fm(<)p Fh(Btn3Down)p Fm(>)g Fo(instead.)75 -2506 y(Dragging)h Fh(Shift)i(Mo)n(d1)p Fm(<)p Fh(Btn3Down)p -Fm(>)e Fo(unselects)i(ob)s(jects)f(in)g(a)g(b)q(o)o(x.)28 -b(No)o(w)17 b(c)o(hange)h(to)f Fh(p)n(astebu\013er-)75 -2560 y(mo)n(de)k Fo(and)c(select)h(some)f(op)q(erations)g(from)g(the)g -Fh(Bu\013er)22 b Fo(men)o(u.)27 b(Cop)o(ying)17 b(ob)s(jects)f(to)h -(the)g(bu\013er)g(is)75 2615 y(a)o(v)m(ailable)e(as)f -Fh(Mo)n(d1)p Fm(<)p Fh(Key)p Fm(>)p Fh(c)i Fo(while)f(cutting)f(them)g -(uses)g Fh(Mo)n(d1)p Fm(<)p Fh(Key)p Fm(>)p Fh(x)19 b -Fo(as)13 b(shortcut.)19 b(Both)14 b(clear)g(the)75 2670 -y(bu\013er)f(b)q(efore)g(new)h(data)e(is)i(added.)20 -b(If)13 b(y)o(ou)g(use)g(the)g(men)o(u)h(en)o(tries,)f(y)o(ou)g(ha)o(v) -o(e)f(to)h(supply)h(a)f(crosshair)p eop -%%Page: 19 20 -19 19 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(19)75 149 y(p)q(osition)14 b(b)o(y)e(pressing)h(a)g(mouse)f(button.) -19 b(The)13 b(ob)s(jects)e(are)i(attac)o(hed)f(to)g(the)g -(pastebu\013er)h(relativ)o(e)g(to)75 204 y(that)i(crosshair)g(lo)q -(cation.)21 b(Elemen)o(t)16 b(data)f(or)f(PCB)i(data)e(ma)o(y)h(b)q(e)h -(merged)g(in)o(to)f(an)g(existing)i(la)o(y)o(out)75 259 -y(b)o(y)h(loading)g(the)g(data\014les)g(in)o(to)g(the)g(pastebu\013er.) -27 b(Both)18 b(op)q(erations)g(are)f(a)o(v)m(ailable)j(from)d(the)h -Fh(File)75 314 y Fo(men)o(u)d(or)g(as)g(user)g(commands.)75 -450 y Fl(2.5)33 b(Mo)n(ving)23 b(and)f(Cop)n(ying)137 -549 y Fo(All)14 b(ob)s(jects)e(can)h(b)q(e)g(mo)o(v)o(ed)f(including)j -(elemen)o(t-names,)e(b)o(y)g Fm(<)p Fh(Btn2Down)p Fm(>)p -Fo(,)f(draging)h(the)f(p)q(oin)o(ter)75 604 y(while)19 -b(holding)h(the)e(button)g(do)o(wn)f(and)h(releasing)h(it)g(at)e(the)h -(new)g(lo)q(cation)h(of)e(the)i(ob)s(ject.)27 b(If)18 -b(y)o(ou)75 658 y(use)g Fh(Mo)n(d1)p Fm(<)p Fh(Btn2Down)p -Fm(>)g Fo(instead,)h(the)f(ob)s(ject)g(is)g(copied.)30 -b(Cop)o(ying)18 b(do)q(es)g(not)g(w)o(ork)f(for)g(elemen)o(t-)75 -713 y(names)e(of)g(course.)21 b(Y)l(ou)16 b(can)g(mo)o(v)o(e)e(all)j -(selected)f(ob)s(jects)f(with)h Fh(Shift)g Fm(<)p Fh(Btn1Down)p -Fm(>)p Fo(.)21 b(This)16 b(uses)g(the)75 768 y(P)o(astebu\013er,)h(so)g -(it)h(will)h(remo)o(v)o(e)d(whatev)o(er)h(w)o(as)g(previously)i(in)f -(the)f(P)o(astebu\013er.)26 b(Please)18 b(refer)g(to)75 -823 y(Section)c(2.4.7)e([P)o(astebu\013er],)f(page)i(18.)19 -b(If)13 b(y)o(ou)g(w)o(an)o(t)f(to)h(giv)o(e)g(a)g(small)h(n)o(udge)g -(to)e(an)h(ob)s(ject,)g(but)g(y)o(ou)75 878 y(don't)k(think)i(that)e -(the)h(mouse)g(will)h(giv)o(e)f(y)o(ou)g(the)g(\014ne)g(lev)o(el)i(of)d -(con)o(trol)h(that)f(y)o(ou)g(w)o(an)o(t,)g(y)o(ou)h(can)75 -932 y(p)q(osition)f(the)g(cursor)e(o)o(v)o(er)h(the)g(ob)s(ject,)g -(press)g Fm(<)p Fh(Key)p Fm(>)p Fh([)p Fo(,)g(mo)o(v)o(e)f(it)i(with)f -(the)h(arro)o(w)d(k)o(eys,)i(then)h(press)75 987 y Fm(<)p -Fh(Key)p Fm(>)p Fh(])22 b Fo(when)d(it's)f(at)f(the)i(desired)g(p)q -(osition.)30 b(Remem)o(b)q(er)18 b(that)f(all)i(mo)o(v)o(emen)o(ts)e -(are)h(forced)g(on)o(to)75 1042 y(grid)e(co)q(ordinates,)f(so)g(y)o(ou) -f(ma)o(y)h(w)o(an)o(t)f(to)h(c)o(hange)g(the)g(grid)h(spacing)g -(\014rst.)75 1178 y Fl(2.6)33 b(Loading)23 b(and)g(Sa)n(ving)137 -1277 y Fo(After)14 b(y)o(our)g(\014rst)h(exp)q(erience)h(with)f -Fm(Pcb)f Fo(y)o(ou)g(will)j(probably)e(w)o(an)o(t)e(to)h(sa)o(v)o(e)g -(y)o(our)g(w)o(ork.)19 b Ff(:s)c(name)75 1332 y Fo(passes)i(the)h(data) -f(to)g(an)g(external)h(program)e(whic)o(h)j(is)f(resp)q(onsible)h(for)e -(sa)o(ving)g(it.)27 b(F)l(or)17 b(details)i(see)75 1387 -y Fh(saveCommand)j Fo(in)d(Section)g(5.1)e([Resources],)h(page)g(30.)28 -b(Sa)o(ving)18 b(also)g(is)h(a)o(v)m(ailable)g(from)f(the)g -Fh(File)75 1441 y Fo(men)o(u,)f(either)g(with)g(or)g(without)f -(supplying)j(a)d(\014lename.)26 b Fm(Pcb)16 b Fo(reuses)h(the)g(last)g -(\014lename)g(if)h(y)o(ou)e(do)75 1496 y(not)f(pass)g(a)g(new)g(one)g -(to)g(the)g(sa)o(v)o(e)g(routine.)137 1566 y(T)l(o)i(load)h(an)f -(existing)h(la)o(y)o(out)e(either)i(select)g Fh(lo)n(ad)g(layout)h -(data)i Fo(from)c(the)g Fh(File)j Fo(men)o(u)d(or)g(use)g -Ff(:l)75 1621 y(filename)p Fo(.)h(A)11 b(\014le)i(select)f(b)q(o)o(x)g -(p)q(ops)g(up)g(if)g(y)o(ou)f(don't)g(sp)q(ecify)i(a)f(\014lename.)19 -b(Merging)12 b(existing)h(la)o(y)o(outs)75 1676 y(in)o(to)i(the)g(new)h -(one)f(is)h(supp)q(orted)g(either)g(b)o(y)f(the)g Fh(File)j -Fo(men)o(u)d(or)g(b)o(y)g Ff(:m)g(filename)p Fo(.)137 -1746 y Fm(Pcb)h Fo(sa)o(v)o(es)f(a)h(bac)o(kup)h(of)f(the)g(curren)o(t) -g(la)o(y)o(out)g(dep)q(ending)i(on)e(the)g(resource)h -Fh(b)n(ackup)p Fo(.)23 b(The)16 b(\014le)h(is)75 1801 -y(named)d(`)p Fm(/tmp/PCB.\045i.backup)p Fo('.)i(During)e(critical)h -(sections)f(of)f(the)h(program)e(or)i(when)g(data)f(w)o(ould)75 -1856 y(b)q(e)j(lost)f(it)g(is)h(sa)o(v)o(ed)f(as)g(`)p -Fm(/tmp/PCB.\045i.save)p Fo('.)i Fh(\045i)i Fo(is)d(replaced)h(b)o(y)e -(the)g(pro)q(cess)g(ID.)75 1991 y Fl(2.7)33 b(Prin)n(ting)137 -2091 y Fm(Pcb)10 b Fo(no)o(w)h(has)f(supp)q(ort)h(for)f(device)i(driv)o -(ers,)f Fm(PostScript)p Fo(,)f Fh(enc)n(apsulate)n(d)h(PostScript)p -Fo(,)g(and)g Fh(Gerb)n(er)75 2145 y(X)21 b Fo(driv)o(ers)15 -b(are)f(a)o(v)m(ailable)i(so)e(far.)19 b(The)14 b Fh(Gerb)n(er)i(X)21 -b Fo(driv)o(er)14 b(generates)g(a)g(NC)h(drill)h(\014le)f(for)f -(automated)75 2200 y(drilling.)40 b(I)21 b(recommend)h(the)f(use)g(of)g -Fm(GhostScript)e Fo(if)j(y)o(ou)e(don't)h(ha)o(v)o(e)f(a)h -Fm(PostScript)f Fo(prin)o(ter)75 2255 y(for)e(handling)j(the)e(P)o -(ostScript)f(output.)31 b(Prin)o(ting)19 b(alw)o(a)o(ys)f(generates)h -(a)f(complete)i(set)e(of)h(\014les)h(for)75 2310 y(a)d(sp)q(eci\014ed)i -(driv)o(er.)26 b(See)18 b(the)f(page)g(ab)q(out)g(the)g -Fh(Print\(\))g Fo(action)h(for)e(addtional)i(information)f(ab)q(out)75 -2365 y(the)e(\014lenames.)21 b(The)15 b(con)o(trol)f(panel)i(o\013ers)e -(a)h(n)o(um)o(b)q(er)g(of)f(options.)20 b(Most)14 b(of)h(them)f(are)h -(not)f(a)o(vilable)75 2419 y(for)h(Gerb)q(er)g(output)g(b)q(ecause)h -(it)g(w)o(ouldn't)f(mak)o(e)g(sense,)g(for)g(example,)h(to)e(scale)i -(the)g(gerb)q(er)f(output)75 2474 y(\(y)o(ou'd)f(get)h(an)g -(incorrectly)i(made)e(b)q(oard!\))k(The)d(options)f(are:)75 -2587 y(`)p Fm(device)p Fo(')70 b(The)15 b(top)g(men)o(u)h(button)f -(selects)h(from)e(the)h(a)o(v)m(ailable)i(device)g(driv)o(ers.)75 -2670 y(`)p Fm(rotate)p Fo(')70 b(Rotate)14 b(la)o(y)o(out)g(90)h -(degrees)g(coun)o(ter-clo)q(c)o(kwise)i(b)q(efore)e(prin)o(ting)h -(\(default\).)p eop -%%Page: 20 21 -20 20 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(20)75 149 y(`)p Fm(mirror)p Fo(')70 b(Mirror)17 b(la)o(y)o(out)g(b)q -(efore)h(prin)o(ting.)29 b(Use)18 b(this)g(option)g(dep)q(ending)i(on)e -(y)o(our)f(pro)q(duction)315 204 y(line.)75 282 y(`)p -Fm(color)p Fo(')94 b(Created)17 b(colored)h(output.)26 -b(All)18 b(colors)f(will)i(b)q(e)f(con)o(v)o(erted)f(to)g(blac)o(k)h -(if)f(this)h(option)f(is)315 337 y(inactiv)o(e.)75 415 -y(`)p Fm(outline)p Fo(')46 b(Add)13 b(a)f(b)q(oard)h(outline)h(to)e -(the)h(output)f(\014le.)20 b(The)13 b(size)h(is)f(determined)h(b)o(y)e -(the)h(maxim)o(um)315 470 y(b)q(oardsize)i(c)o(hangeable)f(from)f(the)h -Fh(sizes)i Fo(men)o(u.)k(The)14 b(outline)h(app)q(ears)f(on)g(the)f -(top)h(and)315 524 y(b)q(ottom)j(sides)i(of)e(the)h(b)q(oard,)g(but)g -(not)f(on)h(the)g(in)o(ternal)h(la)o(y)o(ers.)27 b(An)18 -b(outline)h(can)f(b)q(e)315 579 y(useful)f(for)f(determining)i(where)e -(to)g(shear)g(the)g(b)q(oard)h(from)e(the)i(panel,)g(but)f(b)q(e)h(a)o -(w)o(are)315 634 y(that)c(it)i(creates)e(a)h(copp)q(er)h(line.)21 -b(Th)o(us)14 b(it)g(has)g(the)g(p)q(oten)o(tial)h(to)e(cause)i(short)e -(circuits)i(if)315 689 y(y)o(ou)f(don't)f(lea)o(v)o(e)h(enough)g(ro)q -(om)f(from)g(y)o(our)h(wiring)g(to)g(the)f(b)q(oard)h(edge.)20 -b(Use)14 b(a)g(view)o(er)315 744 y(to)f(see)g(what)g(the)g(output)g -(outline)i(lo)q(oks)f(lik)o(e)g(if)g(y)o(ou)f(w)o(an)o(t)f(to)h(kno)o -(w)f(what)h(it)h(lo)q(oks)f(lik)o(e.)75 821 y(`)p Fm(alignment)p -Fo(')315 876 y(Additional)j(alignemen)o(t)f(targets)e(are)h(added)h(to) -f(the)h(output.)k(The)c(distances)g(b)q(et)o(w)o(een)315 -931 y(the)h(b)q(oard)g(outline)h(is)g(set)e(b)o(y)h(the)g(resource)g -Fh(alignmentDistanc)n(e)p Fo(.)k(Alignmen)o(t)d(targets)315 -986 y(should)c(only)f(b)q(e)h(used)f(if)g(y)o(ou)g(kno)o(w)f(for)g -(certain)h(that)f(YOU)i(WILL)f(BE)g(USING)g(THEM)315 -1041 y(YOURSELF.)21 b(It)h(is)g(extremely)g(unlik)o(ely)h(that)e(y)o -(ou)g(will)i(w)o(an)o(t)d(to)h(ha)o(v)o(e)g(alignmen)o(t)315 -1095 y(targets)14 b(if)i(y)o(ou)e(send)i(gerb)q(er)g(\014les)g(to)e(a)h -(commercial)h(p)q(cb)g(man)o(ufacture)f(to)g(b)q(e)h(made.)75 -1173 y(`)p Fm(scaling)p Fo(')46 b(It's)22 b(quite)i(useful)f(to)f -(enlarge)h(y)o(our)g(prin)o(tout)f(for)g(c)o(hec)o(king)i(the)e(la)o(y) -o(out.)42 b(Use)23 b(the)315 1228 y(scrollbar)16 b(to)e(adjust)h(the)h -(scaling)g(factor)e(to)h(y)o(our)f(needs.)75 1306 y(`)p -Fm(media)p Fo(')94 b(Select)16 b(the)g(size)g(of)e(the)i(output)e -(media)i(from)f(this)g(men)o(u.)20 b(The)c(user)f(de\014ned)i(size)f -(ma)o(y)315 1361 y(b)q(e)h(set)f(b)o(y)g(the)g(resource)h -Fh(me)n(dia)j Fo(either)d(from)e(one)h(of)g(the)h(w)o(ell)g(kno)o(wn)f -(pap)q(er)g(sizes)h(or)315 1416 y(b)o(y)f(a)g Fm(X11)g -Fo(geometry)g(sp)q(eci\014cation.)25 b(This)17 b(en)o(try)f(is)g(only)h -(a)o(v)m(ailable)h(if)f(y)o(ou)f(use)h Fm(X11R5)315 1470 -y Fo(or)12 b(later.)19 b(F)l(or)12 b(earlier)h(releases)g(the)g(user)f -(de\014ned)i(size)g(or,)e(if)h(not)f(a)o(v)m(ailable,)i -Fh(A4)19 b Fo(is)13 b(used.)315 1525 y(W)l(ell)k(kno)o(wn)d(size)j -(are:)435 1589 y(A3)435 1640 y(A4)435 1692 y(A5)435 1744 -y(letter)435 1796 y(tabloid)435 1848 y(ledger)435 1900 -y(legal)435 1952 y(executiv)o(e)75 2030 y(`)p Fm(offset)p -Fo(')70 b(Adjust)17 b(the)g(o\013sets)f(of)g(the)h(prin)o(tout)g(b)o(y) -f(using)i(the)f(panner)g(at)f(the)h(righ)o(t)g(side)g(of)g(the)315 -2084 y(dialog)f(b)q(o)o(x.)j(This)d(en)o(try)e(is)i(only)f(a)o(v)m -(ailable)i(if)e(y)o(ou)g(use)g Fm(X11R5)f Fo(or)g(later.)20 -b(A)15 b(zero)g(o\013set)315 2139 y(is)h(used)f(for)g(earlier)h -(releases.)75 2217 y(`)p Fm(8.3)e(filenames)p Fo(')315 -2272 y(Select)19 b(this)f(button)g(to)f(generate)g(DOS)h(compatible)h -(\014lenames)g(for)e(the)h(output)f(\014les.)315 2327 -y(The)e Fh(c)n(ommand)20 b Fo(input)d(area)d(will)j(disapp)q(ear)f(if)g -(selected.)75 2405 y(`)p Fm(commandline)p Fo(')315 2459 -y(Use)d(this)g(line)h(to)e(en)o(ter)h(a)f(command)h(\(starts)e(with)i -Fm(|)p Fo(\))f(or)g(a)g(\014lename.)20 b(A)13 b(\045f)g(is)g(replaced) -315 2514 y(b)o(y)i(the)g(curren)o(t)g(\014lename.)21 -b(The)16 b(default)g(is)f(set)g(b)o(y)g(the)h(resource)f -Fh(printCommand)p Fo(.)137 2592 y(The)h(created)f(\014le)h(includes)i -(some)d(lab)q(els)h(whic)o(h)g(are)f(guaran)o(teed)g(to)g(sta)o(y)f -(unc)o(hanged)75 2670 y(`)p Fm(PCBMIN)p Fo(')70 b(iden)o(ti\014es)17 -b(the)e(lo)o(w)o(est)g(x)g(and)g(y)g(co)q(ordinates)h(in)g(mil.)p -eop -%%Page: 21 22 -21 21 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(21)75 149 y(`)p Fm(PCBMAX)p Fo(')70 b(iden)o(ti\014es)17 -b(the)e(highest)h(x)f(and)h(y)f(co)q(ordinates)g(in)h(mil.)75 -233 y(`)p Fm(PCBOFFSET)p Fo(')315 287 y(is)g(set)f(to)f(the)i(x)f(and)g -(y)g(o\013set)f(in)i(mil.)75 370 y(`)p Fm(PCBSCALE)p -Fo(')315 425 y(is)g(a)f(\015oating)g(p)q(oin)o(t)g(v)m(alue)i(whic)o(h) -f(iden)o(ti\014es)h(the)e(scaling)h(factor.)75 508 y(`)p -Fm(PCBSTARTDATA)p Fo(')75 563 y(`)p Fm(PCBENDDATA)p Fo(')315 -618 y(all)i(la)o(y)o(out)e(data)g(is)h(included)i(b)q(et)o(w)o(een)e -(these)g(t)o(w)o(o)e(marks.)24 b(Y)l(ou)17 b(ma)o(y)f(use)h(them)g -(with)315 673 y(an)d Fm(awk)f Fo(script)i(to)e(pro)q(duce)i(sev)o(eral) -f(prin)o(touts)g(on)g(one)g(piece)i(of)d(pap)q(er)i(b)o(y)f -(duplicating)315 728 y(the)k(co)q(de)h(and)f(putting)g(some)g -Fm(translate)e Fo(commands)i(in)h(fron)o(t.)27 b(Note,)18 -b(the)g(normal)315 782 y Fm(PostScript)c Fo(units)i(are)f(1/72)f(inc)o -(h.)75 948 y Fl(2.8)33 b(Connection)22 b(Lists)137 1047 -y Fo(After)17 b(completing)i(parts)e(of)g(y)o(our)f(la)o(y)o(out)h(y)o -(ou)g(ma)o(y)g(w)o(an)o(t)f(to)h(c)o(hec)o(k)h(if)g(all)g(dra)o(wn)f -(connections)75 1102 y(matc)o(h)c(the)h(ones)g(y)o(ou)g(ha)o(v)o(e)f -(in)i(mind.)20 b(This)15 b(is)f(probably)g(b)q(est)g(done)h(in)f -(conjunction)h(with)f(a)g(net-list)75 1157 y(\014le:)22 -b(see)17 b(Section)g(2.10)d([Rats)h(Nest],)g(page)h(22.)21 -b(The)c(follo)o(wing)f(examples)h(giv)o(e)f(more)g(rudimen)o(tary)75 -1212 y(w)o(a)o(ys)e(to)h(examine)h(the)f(connections.)290 -1280 y Fm(1\))24 b(create)f(at)h(least)f(two)g(elements)g(and)h(name)f -(them)290 1332 y(2\))h(create)f(some)g(connections)g(between)g(their)g -(pins)290 1383 y(3\))h(optionally)f(add)g(some)g(vias)h(and)f -(connections)f(to)i(them)137 1454 y Fo(No)o(w)16 b(select)h -Fh(lo)n(okup)g(c)n(onne)n(ction)h Fo(from)d(the)i Fh(Conne)n(ctions)g -Fo(men)o(u,)f(mo)o(v)o(e)g(the)g(cursor)g(to)f(a)h(pin)h(or)75 -1509 y(via)f(and)h(press)f(an)o(y)g(mouse)g(button.)22 -b Fm(Pcb)15 b Fo(will)j(lo)q(ok)f(for)e(all)i(other)f(pins)h(and/or)e -(vias)i(connected)g(to)75 1564 y(the)e(one)g(y)o(ou)g(ha)o(v)o(e)f -(selected)i(and)f(displa)o(y)h(the)g(ob)s(jects)e(in)i(a)e(di\013eren)o -(t)h(color.)20 b(No)o(w)14 b(try)h(some)f(of)h(the)75 -1618 y(reset)g(options)g(a)o(v)m(ailable)i(from)e(the)g(same)g(men)o -(u.)137 1689 y(There)g(also)g(is)g(a)f(w)o(a)o(y)g(to)g(scan)g(all)i -(connections)f(of)g(one)f(elemen)o(t.)21 b(Select)15 -b Fh(a)h(single)f(element)j Fo(from)75 1744 y(the)f(men)o(u)g(and)g -(press)g(an)o(y)f(button)h(at)f(the)h(elemen)o(t's)g(lo)q(cation.)26 -b(All)18 b(connections)g(of)e(this)h(elemen)o(t)75 1799 -y(will)i(b)q(e)g(sa)o(v)o(ed)e(to)g(the)g(sp)q(eci\014ed)j(\014le.)28 -b(Either)18 b(the)g(la)o(y)o(out)f(name)h(of)f(the)g(elemen)o(t)i(or)e -(its)h(canonical)75 1853 y(name)e(is)h(used)g(to)e(iden)o(tify)j(pins)f -(dep)q(ending)h(on)e(the)g(one)h(whic)o(h)g(is)f(displa)o(y)o(ed)i(on)e -(the)g(screen)h(\(ma)o(y)75 1908 y(b)q(e)f(c)o(hanged)f(b)o(y)h -Fh(Display)j Fo(men)o(u\).)137 1979 y(An)d(automatic)f(scan)h(of)f(all) -i(elemen)o(ts)f(is)h(initiated)g(b)o(y)e(c)o(ho)q(osing)i -Fh(al)r(l)f(elements)p Fo(.)k(It)c(b)q(eha)o(v)o(es)g(in)g(a)75 -2034 y(similar)h(fashion)g(to)e(scanning)i(a)f(single)h(elemen)o(t)g -(except)g(the)f(resource)g Fh(r)n(esetAfterElement)j -Fo(is)d(used)75 2088 y(to)f(determine)h(if)f(connections)i(should)f(b)q -(e)g(reset)e(b)q(efore)i(a)f(new)g(elemen)o(t)h(is)g(scanned.)k(Doing)c -(so)e(will)75 2143 y(pro)q(duce)h(v)o(ery)e(long)h(lists)h(b)q(ecause)g -(the)f(p)q(o)o(w)o(er)f(lines)i(are)f(rescanned)g(for)g(ev)o(ery)f -(elemen)o(t.)20 b(By)14 b(default)75 2198 y(the)h(resource)h(is)f(set)g -(to)g Fh(false)j Fo(for)c(this)i(reason.)137 2269 y(T)l(o)f(scan)g(for) -g(unconnected)i(pins)f(select)g Fh(unuse)n(d)g(pins)i -Fo(from)d(the)g(same)g(men)o(u.)75 2406 y Fl(2.9)33 b(Selection)137 -2506 y Fo(Some)13 b(commands)f(men)o(tioned)i(earlier)f(in)h(this)f(c)o -(hapter)g(also)f(are)h(able)g(to)f(op)q(erate)g(on)h(all)h(selected)75 -2560 y(and)h(visible)j(ob)s(jects.)h(No)o(w)c(go)g(bac)o(k)g(to)f(the)i -(la)o(y)o(out)e(and)i(toggle)f(the)g(selection)i(\015ag)d(of)h(a)g -(single)i(one)75 2615 y(b)o(y)g Fm(<)p Fh(Btn3Down)p -Fm(>)p Fo(.)24 b(T)l(ry)17 b Fm(<)p Fh(Btn3Down)p Fm(>)p -Fo(,)g(mo)o(v)o(e)f(the)h(p)q(oin)o(ter)g(while)h(holding)h(the)e -(button)f(do)o(wn)h(and)75 2670 y(release)f(it)g(on)f(a)g(di\013eren)o -(t)h(lo)q(cation.)22 b(This)16 b(selects)g(all)g(ob)s(jects)f(inside)j -(the)d(rectangle)h(and)g(unselects)p eop -%%Page: 22 23 -22 22 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(22)75 149 y(ev)o(erything)12 b(else.)19 b(Dragging)11 -b(with)h Fh(Mo)n(d1)p Fm(<)p Fh(Btn3Down)p Fm(>)f Fo(adds)h(ev)o -(erything)g(in)g(the)f(b)q(o)o(x)h(to)e(the)i(existing)75 -204 y(selection.)21 b(Dragging)15 b Fh(Shift)h Fm(<)p -Fh(Btn3Down)p Fm(>)f Fo(unselects)h(ob)s(jects)f(in)h(the)f(b)q(o)o(x.) -137 271 y(The)k(en)o(tries)g(of)f(the)h Fh(Sele)n(ction)h -Fo(men)o(u)f(are)f(hop)q(efully)j(self-explanatory)l(.)30 -b(Man)o(y)18 b(of)g(the)h Fh(A)n(ction)75 326 y(Commands)24 -b Fo(can)e(tak)o(e)e(v)m(arious)i(k)o(ey)f(w)o(ords)f(that)g(mak)o(e)h -(them)g(function)h(on)f(all)h(or)e(some)h(of)g(the)75 -381 y(selected)16 b(items.)75 509 y Fl(2.10)32 b(Rats)22 -b(Nest)137 606 y Fo(If)e(y)o(ou)e(ha)o(v)o(e)h(a)g(netlist)h(that)e -(corresp)q(onds)i(to)e(the)h(la)o(y)o(out)g(y)o(ou)g(are)f(w)o(orking)h -(on,)h(y)o(ou)e(can)i(use)75 660 y(the)15 b(rats-nest)f(feature)g(to)h -(add)g(rat-lines)g(to)f(the)h(la)o(y)o(out.)k(First)c(y)o(ou)f(will)j -(need)e(to)g(load)g(a)f(netlist)i(\014le)75 715 y(\(see)f -Fh(:rn)p Fo(,)f(Chapter)h(3)g([User)f(Commands],)g(page)h(25\).)k -Fm(<)p Fh(Key)p Fm(>)p Fh(w)h Fo(adds)15 b(rat-lines)h(on)f(the)g -(activ)o(e)g(la)o(y)o(er)75 770 y(using)e(the)f(curren)o(t)g(line)i -(thic)o(kness)f(sho)o(wn)f(in)h(the)f(status)g(line)i(\(usually)f(y)o -(ou'll)f(w)o(an)o(t)g(them)g(to)f(b)q(e)i(thin)75 825 -y(lines\).)21 b(Only)14 b(those)f(rat-lines)h(that)f(\014ll)i(in)f -(missing)g(connectivit)o(y)h(\(since)f(y)o(ou)f(ha)o(v)o(e)g(probably)h -(routed)75 880 y(some)k(connections)i(already\))f(are)g(added.)31 -b(If)19 b(the)g(la)o(y)o(out)f(is)h(already)g(completely)h(wired,)g -(nothing)75 934 y(will)d(b)q(e)f(added,)f(and)h(y)o(ou)e(will)j(get)e -(a)g(message)g(that)f(the)h(wiring)h(is)g(complete.)137 -1001 y(Rat-lines)h(are)e(lines)i(ha)o(ving)g(the)e(sp)q(ecial)j(prop)q -(ert)o(y)d(that)g(they)h(only)h(connect)f(to)f(pins)i(and)f(pads)75 -1056 y(at)j(their)h(end)h(p)q(oin)o(ts.)34 b(Rat-lines)20 -b(are)f(dra)o(wn)g(on)h(the)g(screen)g(with)g(a)g(stippled)h(pattern)e -(to)g(mak)o(e)75 1111 y(them)c(easier)h(to)f(iden)o(tify)h(since)h -(they)e(ha)o(v)o(e)g(sp)q(ecial)i(b)q(eha)o(vior)f(and)g(cannot)f -(remain)h(in)g(a)f(completed)75 1166 y(la)o(y)o(out.)j(Rat-lines)13 -b(are)f(added)h(in)g(the)g(minim)o(um)g(length)g(straigh)o(t-line)g -(tree)g(pattern)e(\(alw)o(a)o(ys)h(ending)75 1221 y(on)17 -b(pins)h(or)f(pads\))g(that)f(satis\014es)h(the)g(missing)h -(connectivit)o(y)h(in)e(the)h(circuit.)26 b(Used)18 b(in)g(connection) -75 1275 y(with)h(mo)o(v)o(es)f(and)i(rotates)d(of)i(the)g(elemen)o(ts,) -h(they)f(are)g(extremely)g(useful)h(for)e(deciding)j(where)f(to)75 -1330 y(place)g(elemen)o(ts)g(on)f(the)g(b)q(oard.)32 -b(The)19 b(rat-lines)h(will)h(alw)o(a)o(ys)d(automatically)i(rubb)q -(erband)g(to)f(the)75 1385 y(elemen)o(ts)e(whether)f(or)f(not)h(the)g -(rubb)q(erband)h(mo)q(de)g(is)f(on.)22 b(The)17 b(only)f(w)o(a)o(y)f -(for)h(y)o(ou)f(to)h(mo)o(v)o(e)f(them)75 1440 y(is)i(b)o(y)g(mo)o -(ving)g(the)g(parts)f(they)h(connect)g(to.)24 b(This)18 -b(is)f(b)q(ecause)h(it)f(is)h(nev)o(er)f(desireable)h(to)e(ha)o(v)o(e)h -(the)75 1495 y(rat-lines)h(disconnected)i(from)c(their)i(elemen)o(t)g -(pins.)28 b(Rat-lines)18 b(will)h(normally)f(criss-cross)f(all)i(o)o(v) -o(er)75 1549 y(whic)o(h)13 b(giv)o(es)g(rise)g(to)f(the)h(name)f -Fm(")p Fo(rats)g(nest)p Fm(")g Fo(describing)j(a)d(la)o(y)o(out)g -(connected)h(with)g(them.)19 b(If)13 b(a)f(SMD)75 1604 -y(pad)i(is)h(unreac)o(hable)h(on)e(the)g(activ)o(e)h(la)o(y)o(er,)e(a)h -(w)o(arning)h(will)h(b)q(e)e(issued)i(ab)q(out)e(it)h(and)f(the)g -(rat-line)i(to)75 1659 y(that)e(pad)i(will)h(not)e(b)q(e)g(generated.) -137 1726 y(A)i(common)g(w)o(a)o(y)f(to)h(use)g(rats)g(nests)g(is)g(to)g -(place)h(some)f(elemen)o(ts)h(on)f(the)g(b)q(oard,)g(add)g(the)h(rat-) -75 1781 y(lines,)f(and)f(then)g(use)g(a)g(series)g(of)f(mo)o(v)o -(es/rotates)f(of)h(the)h(elemen)o(ts)g(un)o(til)h(the)f(rats)f(nest)h -(app)q(ears)g(to)75 1836 y(ha)o(v)o(e)h(minim)o(um)h(tangling.)27 -b(Y)l(ou)18 b(ma)o(y)e(w)o(an)o(t)g(to)h(iterate)g(this)h(step)f(sev)o -(eral)h(times.)26 b(Don't)16 b(w)o(orry)g(if)75 1891 -y(the)j(la)o(y)o(out)g(lo)q(oks)g(messy)g(-)h(as)e(long)i(as)f(y)o(ou)g -(can)g(get)g(a)g(sense)g(for)g(whether)g(the)g(criss-crossing)h(is)75 -1945 y(b)q(etter)15 b(or)g(w)o(orse)g(as)g(y)o(ou)g(mo)o(v)o(e)f -(things,)i(y)o(ou're)e(\014ne.)21 b(After)15 b(mo)o(ving)g(some)h -(elemen)o(ts)g(arround,)e(y)o(ou)75 2000 y(ma)o(y)g(w)o(an)o(t)f(to)g -(optimize)j(the)e(rats)f(nest)i Fm(<)p Fh(Key)p Fm(>)p -Fh(o)i Fo(so)c(that)h(the)g(lines)i(are)e(dra)o(wn)g(b)q(et)o(w)o(een)g -(the)h(closest)75 2055 y(p)q(oin)o(ts)h(\(this)f(can)h(c)o(hange)f -(once)h(y)o(ou'v)o(e)f(mo)o(v)o(ed)g(comp)q(onen)o(ts\).)20 -b(Adding)d(rat-lines)f(only)g(to)f(selected)75 2110 y(pads/pins)g(\()p -Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(w)5 b Fo(\))12 b(is)i(often)g -(useful)h(to)e(la)o(y)o(out)g(a)g(circuit)j(a)d(little)i(bit)f(at)f(a)h -(time.)20 b(Sometimes)75 2164 y(y)o(ou'll)12 b(w)o(an)o(t)f(to)g -(delete)i(all)g(the)f(rat-lines)g(\()p Fm(<)p Fh(Key)p -Fm(>)p Fh(e)s Fo(\))g(or)f(selected)i(rat-lines)g(\()p -Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(e)s Fo(\))d(in)j(order)f(to)75 -2219 y(reduce)j(confusion.)20 b(With)14 b(a)g(little)h(practice)g(y)o -(ou'll)f(b)q(e)h(able)g(to)e(ac)o(hiev)o(e)i(a)e(near)h(optimal)h(comp) -q(onen)o(t)75 2274 y(placemen)o(t)h(with)f(the)h(use)f(of)g(a)g(rats)f -(nest.)137 2341 y(Rat-lines)h(are)f(not)g(only)h(used)f(for)g -(assisting)h(y)o(our)e(elemen)o(t)i(placemen)o(t,)g(they)f(can)h(also)f -(help)h(y)o(ou)75 2396 y(to)f(route)g(traces)f(on)i(the)f(b)q(oard.)20 -b(Use)14 b(the)g Fm(<)p Fh(Key)p Fm(>)p Fh(m)k Fo(to)c(con)o(v)o(ert)f -(a)h(rat-line)i(under)f(the)f(cursor)g(in)o(to)g(a)75 -2451 y(normal)g(line)i(on)e(the)g(activ)o(e)g(la)o(y)o(er.)19 -b(Inserting)c(a)f(p)q(oin)o(t)h(in)o(to)f(a)g(rat-line)h(will)g(also)f -(cause)h(the)f(t)o(w)o(o)f(new)75 2506 y(lines)j(to)f(b)q(e)g(normal)g -(lines)i(on)e(the)g(b)q(oard.)k(Another)c(w)o(a)o(y)f(that)g(y)o(ou)h -(can)g(use)g(rat-lines)h(is)f(to)g(use)g(the)75 2560 -y Fm(<)p Fh(Key)p Fm(>)p Fh(f)24 b Fo(with)15 b(the)f(cursor)h(o)o(v)o -(er)e(a)i(pad)f(or)g(pin.)21 b(All)16 b(of)e(the)h(pins)h(and)e(pads)h -(and)g(rat-lines)g(b)q(elonging)75 2615 y(to)h(that)g(net)h(will)h(b)q -(e)g(highligh)o(ted.)26 b(This)18 b(is)f(a)f(helpful)j(w)o(a)o(y)d(to)g -(distinguish)j(one)e(net)g(from)f(the)g(rest)75 2670 -y(of)h(the)g(rats)f(nest.)25 b(Y)l(ou)17 b(can)g(then)g(route)g(those)g -(trac)o(ks,)f(turn)g(o\013)h(the)g(highligh)o(ting)i(\()p -Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(f)8 b Fo(\))p eop -%%Page: 23 24 -23 23 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(23)75 149 y(and)14 b(rep)q(eat)h(the)f(pro)q(cess.)20 -b(This)15 b(will)h(w)o(ork)d(ev)o(en)i(if)f(the)h(la)o(y)o(er)f(that)f -(the)i(rat-lines)g(reside)g(on)f(is)h(made)75 204 y(in)o(visible)i(-)d -(so)g(only)h(the)f(pins)i(and)e(pads)g(are)g(highligh)o(ted.)22 -b(Be)14 b(sure)h(to)e(erase)h(the)h(rat-lines)g(\()p -Fm(<)p Fh(Key)p Fm(>)p Fh(e)75 259 y Fo(erases)f(them)g(all\))h(once)g -(y)o(ou'v)o(e)f(duplicated)i(their)f(connectivit)o(y)g(b)o(y)g(adding)g -(y)o(our)f(o)o(wn)f(lines.)22 b(When)75 314 y(in)16 b(doubt,)f(the)g -Fm(<)p Fh(Key)p Fm(>)p Fh(o)j Fo(will)f(delete)f(only)g(those)f -(rat-lines)h(that)f(are)g(no)g(longer)g(needed.)137 400 -y(If)22 b(connections)h(exist)f(on)f(the)h(b)q(oard)f(that)g(are)g(not) -h(listed)h(in)f(the)g(netlist)g(when)g Fm(<)p Fh(Key)p -Fm(>)p Fh(w)k Fo(is)75 455 y(pressed,)15 b(w)o(arning)f(messages)g(are) -g(issued)i(and)e(the)h(a\013ected)f(pins)h(and)g(pads)g(are)f(dra)o(wn) -g(in)h(a)f(sp)q(ecial)75 509 y Fh(warnColor)23 b Fo(un)o(til)d(the)e -(next)h Fh(Notify\(\))g Fo(ev)o(en)o(t.)30 b(If)19 b(the)f(en)o(tire)h -(la)o(y)o(out)f(agrees)g(completely)i(with)f(the)75 564 -y(netlist,)g(a)e(message)h(informs)g(y)o(ou)f(that)g(the)h(la)o(y)o -(out)f(is)i(complete)f(and)g(no)g(rat-lines)g(will)i(b)q(e)e(added)75 -619 y(\(since)k(none)f(are)g(needed\).)37 b(If)21 b(the)g(la)o(y)o(out) -g(is)g(complete,)i(but)e(still)h(has)f(rat-lines)h(then)f(y)o(ou)f -(will)75 674 y(b)q(e)e(w)o(arned)f(that)g(rat-lines)h(remain.)27 -b(If)18 b(y)o(ou)f(get)g(no)g(message)g(at)g(all)i(it's)e(probably)h(b) -q(ecause)g(some)75 728 y(elemen)o(ts)j(listed)g(in)g(the)f(net)g(list)h -(can't)f(b)q(e)h(found)f(and)g(where)h(rep)q(orted)f(in)h(an)f(earlier) -h(message.)75 783 y(There)15 b(shouldn't)h(b)q(e)g(an)o(y)f(rat-lines)h -(left)g(in)g(a)f(completed)h(la)o(y)o(out,)e(only)i(normal)f(lines.)137 -869 y(The)i Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(w)k -Fo(is)c(used)f(to)g(add)h(rat-lines)g(to)f(only)h(those)f(missing)h -(connections)g(among)f(the)75 924 y(selected)h(pins)g(and)f(pads.)22 -b(This)17 b(can)f(b)q(e)g(used)h(to)e(add)h(rat-lines)h(in)g(an)e -(incremen)o(tal)i(manner,)f(or)g(to)75 979 y(force)g(a)f(rat-line)i(to) -e(route)h(b)q(et)o(w)o(een)g(t)o(w)o(o)e(p)q(oin)o(ts)j(that)e(are)g -(not)h(the)g(closest)g(p)q(oin)o(ts)g(within)h(the)f(net.)75 -1034 y(Often)h(it)f(is)h(b)q(est)g(to)e(add)i(the)f(rats)f(nest)i(in)g -(an)f(incremen)o(tal)i(fashion,)e(la)o(ying)h(out)f(a)g(sub-section)h -(of)75 1088 y(the)i(b)q(oard)g(b)q(efore)g(going)h(further.)31 -b(This)19 b(is)h(easy)f(to)f(accomplish)j(since)f(new)f(rat-lines)h -(are)f(nev)o(er)75 1143 y(added)d(where)f(routed)g(connectivit)o(y)i -(already)e(mak)o(es)g(the)g(necessary)g(connections.)75 -1318 y Fl(2.11)32 b(Design)22 b(Rule)h(Chec)n(king)137 -1433 y Fo(After)14 b(y)o(ou'v)o(e)f(\014nished)j(la)o(ying)e(out)g(a)g -(b)q(oard,)f(y)o(ou)h(ma)o(y)f(w)o(an)o(t)g(to)h(c)o(hec)o(k)g(to)f(b)q -(e)i(certain)f(that)g(none)75 1488 y(of)20 b(y)o(our)g(in)o -(terconnections)i(are)e(to)q(o)g(closely)h(spaced)g(or)f(to)q(o)g(ten)o -(uously)h(touc)o(hing)g(to)f(b)q(e)h(reliably)75 1543 -y(fabricated.)h(The)16 b(design)h(rule)g(c)o(hec)o(king)g(\(DR)o(C\))d -(function)j(do)q(es)f(this)g(for)f(y)o(ou.)22 b(Use)16 -b(the)g(command)75 1598 y Fm(")p Fo(:DR)o(C\(\))p Fm(")g -Fo(\(without)j(the)g(quotes)f(of)h(course\))g(to)f(in)o(v)o(ok)o(e)h -(the)g(c)o(hec)o(k)o(er.)31 b(If)19 b(there)g(are)f(no)h(problem)75 -1653 y(areas,)g(y)o(ou'll)h(get)f(a)g(message)g(to)g(that)f(e\013ect.) -32 b(If)20 b(an)o(y)f(problem)h(is)g(encoun)o(tered,)g(y)o(ou)f(will)i -(get)e(a)75 1707 y(message)h(ab)q(out)g(it)h(and)f(the)g(a\013ected)g -(traces)g(will)i(b)q(e)f(highligh)o(ted.)37 b(One)21 -b(part)f(of)g(the)g(trac)o(ks)f(of)75 1762 y(concern)e(will)h(b)q(e)g -(selected,)f(while)i(the)d(other)g(parts)g(of)g(concern)i(will)g(ha)o -(v)o(e)e(the)h Fm(")p Fo(FindConnection)p Fm(")75 1817 -y Fo(highligh)o(ting.)23 b(The)16 b(screen)g(will)i(automatically)e(b)q -(e)g(cen)o(tered)g(in)h(the)e(middle)j(of)d(the)h(ob)s(ject)f(ha)o -(ving)75 1872 y(the)c Fm(")p Fo(FindConnection)p Fm(")h -Fo(\(Green\))e(highligh)o(ting.)21 b(The)11 b(middle)i(of)d(the)h(ob)s -(ject)f(is)i(also)f(the)g(co)q(ordinates)75 1927 y(rep)q(orted)18 -b(to)g(b)q(e)h Fm(")p Fo(near)p Fm(")f Fo(the)h(problem.)30 -b(The)18 b(actual)h(trouble)g(region)f(will)i(b)q(e)f(somewhere)g(on)f -(the)75 1981 y(b)q(oundary)g(of)e(this)i(ob)s(ject.)25 -b(If)17 b(the)g(t)o(w)o(o)f(parts)g(are)h(from)g(di\013eren)o(t)g(nets) -g(then)g(there)h(is)f(some)g(place)75 2036 y(where)h(they)f(approac)o -(h)h(eac)o(h)f(other)g(closer)h(than)g(the)f(minim)o(um)i(rule.)28 -b(If)17 b(the)h(parts)f(are)g(from)g(the)75 2091 y(same)g(net,)h(then)g -(there)g(is)g(place)g(where)g(they)g(are)f(only)h(barely)g(connected.) -28 b(Find)18 b(that)f(place)i(and)75 2146 y(connect)d(them)f(b)q -(etter.)137 2232 y(After)20 b(a)f(DR)o(C)f(error)i(is)g(found)g(and)g -(corrected)g(y)o(ou)f(m)o(ust)g(run)h(the)g(DR)o(C)e(again)i(b)q -(ecause)h(the)75 2286 y(searc)o(h)11 b(for)f(errors)g(is)i(halted)g(as) -e(so)q(on)h(as)g(the)g(\014rst)f(problem)i(is)f(found.)19 -b(Unless)12 b(y)o(ou'v)o(e)e(b)q(een)i(extremely)75 2341 -y(careless)18 b(there)g(should)h(b)q(e)f(no)g(more)f(than)h(a)f(few)h -(design)g(rule)h(errors)e(in)h(y)o(our)f(la)o(y)o(out.)27 -b(The)18 b(DR)o(C)75 2396 y(c)o(hec)o(k)o(er)c(do)q(es)h(not)e(c)o(hec) -o(k)i(for)e(minim)o(um)j(spacing)f(rules)g(to)e(copp)q(er)i(text,)e(so) -h(alw)o(a)o(ys)g(b)q(e)g(v)o(ery)g(careful)75 2451 y(when)f(adding)h -(copp)q(er)g(text)e(to)h(a)f(la)o(y)o(out.)19 b(The)13 -b(rules)h(for)e(the)h(DR)o(C)f(are)g(sp)q(eci\014ed)j(in)f(the)f -(application)75 2506 y(resource)f(\014le.)20 b(The)12 -b(minim)o(um)h(spacing)g(v)m(alue)g(\(in)g(mils\))g(is)f(giv)o(en)h(b)o -(y)f(the)g Fh(Settings.Blo)n(at)j Fo(v)m(alue.)20 b(The)75 -2560 y(default)d(is)g(7)f(mils.)25 b(The)17 b(minim)o(um)h(touc)o(hing) -e(o)o(v)o(erlap)h(\(in)g(mils\))g(is)g(giv)o(en)g(b)o(y)f(the)h -Fh(Settings.Shrink)75 2615 y Fo(v)m(alue.)j(This)11 b(v)m(alue)g -(defaults)g(to)f(5)g(mils.)19 b(Chec)o(k)11 b(with)g(y)o(our)f -(fabrication)h(pro)q(cess)f(p)q(eople)i(to)e(determine)75 -2670 y(the)15 b(v)m(alues)i(that)d(are)h(righ)o(t)g(for)g(y)o(ou.)p -eop -%%Page: 24 25 -24 24 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209 -b(24)137 149 y(If)11 b(y)o(ou)f(w)o(an)o(t)f(to)h(turn)h(o\013)e(the)i -(highligh)o(ting)h(pro)q(duced)g(b)o(y)e(the)h(DR)o(C,)e(p)q(erform)h -(an)g(undo)h(\(assuming)75 204 y(no)18 b(other)h(c)o(hanges)f(ha)o(v)o -(e)g(b)q(een)i(made\).)29 b(T)l(o)18 b(restore)g(the)h(highligh)o -(ting,)i(use)d(redo.)30 b(The)19 b(redo)f(will)75 259 -y(restore)c(the)i(highligh)o(ting)h(quic)o(kly)g(without)e(re-running)h -(the)g(DR)o(C)d(c)o(hec)o(k)o(er.)p eop -%%Page: 25 26 -25 25 bop 75 -58 a Fo(Chapter)15 b(3:)k(User)d(Commands)1194 -b(25)75 149 y Fk(3)41 b(User)26 b(Commands)137 267 y -Fo(The)13 b(en)o(tering)f(of)g(user-commands)g(is)g(initiated)i(b)o(y)e -(the)g(action)g(routine)h Fh(Command\(\))g Fo(\(the)f -Fm(\(":"\))75 321 y Fo(c)o(haracter\))20 b(and)i(\014nished)h(b)o(y)e -(either)h Fm(<)p Fh(Key)p Fm(>)p Fh(R)n(eturn)i Fo(or)d -Fm(<)p Fh(Key)p Fm(>)p Fh(Esc)n(ap)n(e)i Fo(to)d(con\014rm)i(or)e(to)h -(ab)q(ort.)75 376 y(These)g(t)o(w)o(o)e(k)o(eybindings)k(cannot)d(b)q -(e)h(c)o(hanged)g(from)f(the)g(resource)h(\014le.)37 -b(The)21 b(triggering)g(ev)o(en)o(t,)75 431 y(normally)14 -b(a)g(k)o(ey)f(press,)h(is)h(ignored.)k(The)c(input)f(area)f(will)j -(replace)f(the)f(b)q(ottom)e(statusline.)21 b(It)14 b(p)q(ops)75 -486 y(up)20 b(when)g Fh(Command\(\))g Fo(is)g(called.)34 -b(The)19 b(argumen)o(ts)g(of)g(the)g(user-commands)h(are)f(passed)g(to) -g(the)75 540 y(external)d(commands)f(without)g(mo)q(di\014cation.)21 -b(See)16 b(also,)e(the)i(resource)f Fh(saveInTMP)p Fo(.)137 -608 y(There)h(are)f(simple)i Fh(usage)h Fo(dialogs)e(for)f(eac)o(h)g -(command)g(and)h(one)f(for)g(the)g(complete)h(set)f(of)g(com-)75 -663 y(mands.)75 767 y(`)p Fm(l)g([filename])p Fo(')315 -822 y(Loads)d(a)g(new)h(data\014le)f(\(la)o(y)o(out\))f(and,)i(if)f -(con\014rmed,)h(o)o(v)o(erwrites)f(an)o(y)g(existing)h(unsa)o(v)o(ed) -315 877 y(data.)24 b(The)17 b(\014lename)h(and)f(the)f(searc)o(hpath)h -(\()p Fh(\014lePath)s Fo(\))f(are)g(passed)h(to)f(the)h(command)315 -932 y(de\014ned)e(b)o(y)f Fh(\014leCommand)p Fo(.)19 -b(If)14 b(no)g(\014lename)h(is)f(sp)q(eci\014ed)j(a)c(\014le)i(select)g -(b)q(o)o(x)f(will)h(p)q(opup.)75 1011 y(`)p Fm(le)g([filename])p -Fo(')315 1066 y(Loads)c(an)f(elemen)o(t)i(description)g(in)o(to)f(the)g -(paste)f(bu\013er.)18 b(The)11 b(\014lename)h(and)f(the)g(searc)o(h-) -315 1121 y(path)16 b(\()p Fh(elementPath)s Fo(\))f(are)h(passed)g(to)g -(the)g(command)g(de\014ned)h(b)o(y)f Fh(elementCommand)p -Fo(.)315 1176 y(If)f(no)h(\014lename)g(is)g(sp)q(eci\014ed)h(a)e -(\014le)h(select)g(b)q(o)o(x)f(will)i(p)q(opup.)75 1255 -y(`)p Fm(m)e([filename])p Fo(')315 1310 y(Loads)20 b(an)f(la)o(y)o(out) -h(\014le)g(in)o(to)g(the)g(paste)f(bu\013er.)34 b(The)20 -b(\014lename)h(and)e(the)h(searc)o(hpath)315 1365 y(\()p -Fh(\014lePath)s Fo(\))15 b(are)h(passed)g(to)f(the)h(command)g -(de\014ned)h(b)o(y)f Fh(\014leCommand)p Fo(.)21 b(If)16 -b(no)g(\014lename)315 1420 y(is)g(sp)q(eci\014ed)h(a)e(\014le)h(select) -g(b)q(o)o(x)f(will)i(p)q(opup.)75 1499 y(`)p Fm(q[!])p -Fo(')118 b(Quits)20 b(the)f(program)f(without)h(sa)o(ving)f(an)o(y)h -(data)f(\(after)g(con\014rmation\).)31 b(q!)g(do)q(esn't)315 -1554 y(ask)15 b(for)f(con\014rmation,)h(it)h(just)f(quits.)75 -1634 y(`)p Fm(s)g([filename])p Fo(')315 1689 y(Data)21 -b(and)h(the)g(\014lename)h(are)e(passed)h(to)f(the)h(command)g -(de\014ned)h(b)o(y)f(the)g(resource)315 1743 y Fh(saveCommand)p -Fo(.)39 b(It)22 b(m)o(ust)f(read)h(the)f(la)o(y)o(out)g(data)g(from)g -Fh(stdin)p Fo(.)39 b(If)22 b(no)g(\014lename)g(is)315 -1798 y(en)o(tered,)c(either)g(the)g(last)f(one)h(is)g(used)g(again)f -(or,)g(if)h(it)g(is)g(not)f(a)o(v)m(ailable,)i(a)f(\014le)g(select)315 -1853 y(b)q(o)o(x)d(will)i(p)q(op)f(up.)75 1933 y(`)p -Fm(rn)f([filename])p Fo(')315 1988 y(Reads)20 b(in)h(a)f(netlist)h -(\014le.)36 b(If)21 b(no)f(\014lename)h(is)g(giv)o(en)g(a)f(\014le)h -(select)g(b)q(o)o(x)f(will)i(p)q(op)f(up.)315 2042 y(The)c(\014le)h(is) -g(read)e(via)i(the)f(command)g(de\014ned)h(b)o(y)f(the)g -Fh(R)n(atCommand)22 b Fo(resource.)j(The)315 2097 y(command)19 -b(m)o(ust)g(send)i(its)e(output)h(to)f Fh(stdout)p Fo(.)33 -b(The)20 b(netlist)h(receiv)o(ed)f(b)o(y)g(p)q(cb)h(m)o(ust)315 -2152 y(ha)o(v)o(e)15 b(this)g(simple)i(text)e(form:)315 -2219 y(netname)g(NAME-PINNUM)h(NAME2-PINNUM2)f(NAME3-PINNUM3)f(...)19 -b([)p Fm(\\)p Fo(])315 2286 y(where)e Fm(")p Fo(netname)p -Fm(")h Fo(is)f(the)h(name)f(of)g(the)g(net)g(\(curren)o(tly)h(its)f(v)m -(alue)i(is)f(ignored)f(but)h(it)315 2341 y(m)o(ust)e(b)q(e)h(presen)o -(t)g(nonetheless\),)g(NAME)f(is)h(the)g(la)o(y)o(out-name)f(giv)o(en)h -(to)f(an)h(elemen)o(t,)315 2396 y(and)12 b(PINNUM)h(is)f(the)g -(\(usually)h(n)o(umeric\))g(pin)g(n)o(um)o(b)q(er)f(of)g(the)g(elemen)o -(t)h(that)e(is)i(part)e(of)315 2451 y(the)h(net)g(\(see)f(Section)i -(1.3)d([Elemen)o(t)i(Ob)s(jects],)g(page)f(4)h(for)f(details)h(on)g -(pin)h(n)o(um)o(b)q(ering\).)315 2506 y(Spaces)i(or)e(tabs)h(separate)f -(the)i(\014elds.)20 b(If)15 b(the)f(line)i(ends)e(with)h(a)e -Fm("\\")h Fo(the)g(net)g(con)o(tin)o(ues)315 2560 y(on)d(the)g(next)g -(line)i(and)e(the)h Fm("\\")e Fo(is)i(treated)e(exactly)i(as)e(if)i(it) -f(w)o(ere)g(a)g(space.)19 b(If)11 b(the)g(NAME)315 2615 -y(ends)k(with)f(a)g(lo)o(w)o(er-case)g(letter,)g(all)h(lo)o(w)o -(er-case)f(letters)g(are)g(stripp)q(ed)h(from)e(end)i(of)f(the)315 -2670 y(NAME)h(to)f(determine)j(the)e(matc)o(hing)g(name-on-b)q(oard)h -(name.)k(F)l(or)14 b(example:)p eop -%%Page: 26 27 -26 26 bop 75 -58 a Fo(Chapter)15 b(3:)k(User)d(Commands)1194 -b(26)315 149 y(Data)14 b(U1-3)h(U2ab)q(c-4)g(FLOP1a-7)g(Uab)q(c3-A9)315 -217 y(w)o(ould)f(sp)q(eci\014y)i(that)d(pin)h(3)g(of)f(U1)h(b)q(e)g -(connected)h(to)e(pin)i(4)e(of)h(U2,)f(to)g(pin)i(7)f(of)f(FLOP1)315 -271 y(and)e(to)g(pin)h(A9)e(of)h(Uab)q(c3.)19 b(Note)10 -b(that)g(if)i(pin)g(n)o(um)o(b)q(ers)f(con)o(tain)g(alphab)q(etic)i(c)o -(haracters,)315 326 y(they)19 b(m)o(ust)f(matc)o(h)g(the)g(case)h(con)o -(tained)g(in)g(the)g Fm(")p Fo(n)o(um)o(b)q(er)p Fm(")g -Fo(string)f(de\014ning)i(the)f(pin)315 381 y(n)o(um)o(b)q(er)14 -b(on)g(the)h(co)q(oresp)q(onding)g(elemen)o(t.)20 b(It)14 -b(is)h(up)g(to)e(y)o(ou)h(to)f(name)h(the)h(elemen)o(ts)f(so)315 -436 y(that)e(their)i(la)o(y)o(out-names)f(agrees)f(with)i(the)f -(netlist.)20 b(Netlists)14 b(are)f(used)g(for)g(generating)315 -491 y(rats)18 b(nest)i(\(see)f(Section)h(2.10)e([Rats)g(Nest],)h(page)g -(22\))f(and)i(for)f(v)o(erifying)h(the)f(b)q(oard)315 -545 y(la)o(y)o(out)c(\(whic)o(h)g(is)h(also)f(accomplished)i(b)o(y)e -(the)h Fh(R)n(atsnest)i Fo(command.)75 625 y(`)p Fm(w[q])c([filename])p -Fo(')315 680 y(These)g(commands)f(ha)o(v)o(e)g(b)q(een)h(added)g(for)f -(the)g(con)o(v)o(enience)i(of)e Fm(vi)g Fo(users)g(and)h(ha)o(v)o(e)f -(the)315 735 y(same)i(functionalit)o(y)h(as)f Fh(s)k -Fo(com)o(bined)d(with)f Fh(q)p Fo(.)75 814 y(`)p Fm(actionCommand)p -Fo(')315 869 y(Causes)f(the)g(actionCommand)g(to)g(b)q(e)g(executed.)21 -b(This)15 b(allo)o(ws)f(y)o(ou)g(to)f(initiate)j(actions)315 -924 y(for)22 b(whic)o(h)h(no)f(bindings)i(exist)f(in)g(the)f(resource)g -(\014le.)43 b(It)22 b(can)g(b)q(e)h(used)g(to)f(initiate)315 -979 y(an)o(y)c(action)g(with)g(whatev)o(er)g(argumen)o(ts)f(y)o(ou)g -(en)o(ter.)29 b(This)18 b(mak)o(es)g(it)g(p)q(ossible)i(to)d(do)315 -1034 y(things)22 b(that)f(otherwise)h(w)o(ould)h(b)q(e)f(extremely)g -(tedious.)41 b(F)l(or)21 b(example,)j(to)d(c)o(hange)315 -1088 y(the)c(drilling)i(hole)e(diameter)g(of)g(all)g(vias)g(in)h(the)e -(la)o(y)o(out)g(to)g(32)g(mils,)i(y)o(ou)e(could)i(select)315 -1143 y(ev)o(erything)13 b(using)g(the)f(selection)i(men)o(u,)f(then)g -(t)o(yp)q(e)f Fm(")p Fh(:ChangeDril)r(lSize\(Sele)n(cte)m(dVias,)315 -1198 y(32\))r Fm(")p Fo(.)27 b(\(This)17 b(will)j(only)e(w)o(ork)f(pro) -o(vided)h(the)g(via's)f(diameter)h(is)g(su\016cien)o(tly)h(large)f(to) -315 1253 y(accomo)q(date)d(a)g(32)f(mil)j(hole\).)j(Another)15 -b(example)h(migh)o(t)f(b)q(e)h(to)f(set)g(the)g(grid)g(to)g(1)g(mil)315 -1308 y(b)o(y)f(t)o(yping)h Fm(")p Fh(:SetV)m(alue\(Grid,)f(1\))r -Fm(")p Fo(.)19 b(Note)14 b(that)g(some)g(actions)h(use)g(the)f(curren)o -(t)g(cursor)315 1362 y(lo)q(cation,)22 b(so)e(b)q(e)h(sure)g(to)f -(place)h(the)g(cursor)f(where)h(y)o(ou)f(w)o(an)o(t)f(b)q(efore)i(en)o -(tering)g(the)315 1417 y(command.)e(This)c(is)f(one)g(of)f(m)o(y)g(fa)o -(v)o(orite)g(new)h(features)g(in)g(1.5)f(and)h(can)g(b)q(e)g(a)g(p)q(o) -o(w)o(erful)315 1472 y(to)q(ol.)25 b(Study)18 b(the)f(Section)h(5.2)e -([Actions],)g(page)h(35)g(section)g(to)f(see)i(what)e(actions)h(are)315 -1527 y(a)o(v)m(ailable.)p eop -%%Page: 27 28 -27 27 bop 75 -58 a Fo(Chapter)15 b(4:)k(Command-Line)e(Options)1045 -b(27)75 149 y Fk(4)41 b(Command-Line)27 b(Options)137 -266 y Fo(There)14 b(are)f(sev)o(eral)g(resources)h(whic)o(h)g(ma)o(y)f -(b)q(e)h(set)f(or)g(reset)g(in)h(addition)h(to)d(the)i(standard)f(to)q -(olkit)75 321 y(command-line)k(options.)j(F)l(or)15 b(a)f(complete)i -(list)g(refer)f(to)g(Section)h(5.1)e([Resources],)g(page)h(30.)137 -388 y(The)h(synopsis)f(is:)137 456 y Fm(pcb)g([-option)f(...])h -([-toolkit_option)e(...])h([layout-file])137 523 y Fo(or)137 -590 y Fm(pcb)h(-specialoption)75 719 y Fl(4.1)33 b(Options)75 -852 y Fo(`)p Fm(-alldirections/+alldire)o(ctions)p Fo(')315 -907 y(Disables)18 b(or)f(enables)h(line)h(clipping)h(to)c(45)h(degree)g -(angles.)26 b(Ov)o(erwrites)18 b(the)f(resource)315 962 -y Fh(al)r(lDir)n(e)n(ctionLines)p Fo(.)75 1041 y(`)p -Fm(-backup)d(value)p Fo(')315 1096 y(Time)d(b)q(et)o(w)o(een)g(t)o(w)o -(o)f(bac)o(kups)h(in)h(seconds.)19 b(P)o(assing)10 b(zero)h(disables)h -(the)f(bac)o(kup)h(feature.)315 1151 y(Ov)o(erwrites)j(the)h(resource)f -Fh(b)n(ackupInterval)p Fo(.)75 1231 y(`)p Fm(-c)g(value)p -Fo(')31 b(Num)o(b)q(er)15 b(of)e(c)o(haracters)h(p)q(er)g(output)g -(line.)21 b(The)14 b(resource)h Fh(char)n(actersPerLine)h -Fo(is)f(o)o(v)o(er-)315 1285 y(written.)75 1365 y(`)p -Fm(-fontfile)f(filename)p Fo(')315 1420 y(The)19 b(default)g(set)f(of)g -(sym)o(b)q(ols)h(\(fon)o(t\))e(for)h(a)h(new)f(la)o(y)o(out)g(is)h -(read)g(from)f(this)h(\014le.)31 b(All)315 1475 y(directories)20 -b(as)f(de\014ned)h(b)o(y)f(the)h(resource)f Fh(fontPath)k -Fo(are)18 b(scanned)i(for)f(the)g(\014le.)33 b(The)315 -1529 y(scan)17 b(is)g(only)g(p)q(erformed)g(if)h(the)e(\014lename)i(do) -q(esn't)f(con)o(tain)g(a)f(directory)h(comp)q(onen)o(t.)315 -1584 y(The)e Fh(fontFile)j Fo(resource)d(is)h(c)o(hanged.)75 -1664 y(`)p Fm(-lelement)e(command-line)p Fo(')315 1719 -y(Sets)21 b(the)f(command)h(to)e(b)q(e)j(executed)f(when)g(an)g(elemen) -o(t)g(is)g(loaded)g(from)f(a)g(\014le)i(to)315 1774 y(the)15 -b(paste)g(bu\013er.)20 b(The)c(command)f(ma)o(y)f(con)o(tain)i(\045f)f -(and)g(\045p)h(to)e(pass)h(the)g(requested)315 1828 y(\014lename)20 -b(and)g(the)g(searc)o(hpath)f(to)f(the)i(command.)32 -b(It)20 b(m)o(ust)e(write)i(the)f(data)g(to)g(its)315 -1883 y(standard)c(output.)k(The)d(related)g(resource)f(is)g -Fh(elementCommand)p Fo(.)75 1963 y(`)p Fm(-lfile)f(command-line)p -Fo(')315 2018 y(Sets)21 b(the)g(command)g(to)f(b)q(e)h(executed)h(when) -g(a)e(new)h(la)o(y)o(out)g(is)g(loaded)h(from)e(a)g(\014le.)315 -2072 y(The)15 b(command)g(ma)o(y)g(con)o(tain)g(\045f)g(and)h(\045p)f -(to)f(pass)h(the)h(requested)f(\014lename)i(and)e(the)315 -2127 y(searc)o(hpath)k(to)g(the)g(command.)32 b(It)19 -b(m)o(ust)g(write)h(the)f(data)g(to)f(its)i(standard)f(output.)315 -2182 y(The)c(related)h(resource)f(is)h Fh(\014leCommand)p -Fo(.)75 2262 y(`)p Fm(-lfont)e(command-line)p Fo(')315 -2316 y(Sets)i(the)f(command)h(to)f(b)q(e)h(executed)h(when)f(a)f(fon)o -(t)g(is)h(loaded)h(from)e(a)g(\014le.)22 b(The)16 b(com-)315 -2371 y(mand)11 b(ma)o(y)f(con)o(tain)h(\045f)g(and)g(\045p)g(to)g(pass) -f(the)i(requested)f(\014lename)h(and)f(the)g(searc)o(hpath)315 -2426 y(to)17 b(the)g(command.)26 b(It)18 b(m)o(ust)e(write)i(the)f -(data)g(to)f(its)i(standard)f(output.)26 b(The)18 b(related)315 -2481 y(resource)d(is)h Fh(fontCommand)p Fo(.)75 2560 -y(`)p Fm(-lg)e(layergroups)p Fo(')315 2615 y(This)k(option)g(o)o(v)o -(erwrites)e(the)i(resource)f Fh(layerGr)n(oups)p Fo(.)27 -b(See)18 b(its)g(description)h(for)d(more)315 2670 y(information.)k -(The)15 b(v)m(alue)i(is)f(used)f(for)g(new)g(la)o(y)o(outs)g(only)l(.)p -eop -%%Page: 28 29 -28 28 bop 75 -58 a Fo(Chapter)15 b(4:)k(Command-Line)e(Options)1045 -b(28)75 149 y(`)p Fm(-libname)14 b(filename)p Fo(')315 -204 y(The)h(default)h(\014lename)h(for)d(the)h(library)l(.)21 -b(Ov)o(erwrites)16 b(the)f(resource)g Fh(libr)n(aryFilename)p -Fo(.)75 277 y(`)p Fm(-libpath)f(path)p Fo(')315 332 y(The)e(default)g -(searc)o(h)f(path)h(for)f(the)h(the)f(library)l(.)20 -b(Ov)o(erwrites)12 b(the)g(resource)f Fh(libr)n(aryPath)p -Fo(.)75 405 y(`)p Fm(-llib)j(command-line)p Fo(')315 -460 y(Sets)i(the)f(command)h(to)f(b)q(e)h(executed)h(when)f(an)g -(elemen)o(t)g(is)g(loaded)h(from)e(the)g(library)l(.)315 -515 y(The)g(command)g(ma)o(y)g(con)o(tain)g(\045f)g(and)h(\045p)f(to)f -(pass)h(the)h(requested)f(\014lename)i(and)e(the)315 -570 y(searc)o(hpath)h(to)h(the)f(command.)25 b(\045a)16 -b(is)h(replaces)h(b)o(y)f(the)f(three)h(argumen)o(ts)f -Fh(template)p Fo(,)315 624 y Fh(value)j Fo(and)c Fh(p)n(ackage)p -Fo(.)20 b(The)c(command)f(m)o(ust)g(write)g(the)h(data)e(to)h(its)h -(standard)f(output.)315 679 y(The)g(related)h(resource)f(is)h -Fh(libr)n(aryCommand)p Fo(.)75 752 y(`)p Fm(-llibcont)e(command-line)p -Fo(')315 807 y(The)i(command)f(lists)h(the)g(con)o(ten)o(ts)f(of)g(the) -h(library)l(.)22 b(The)15 b(command)h(ma)o(y)f(con)o(tain)g(\045f)315 -862 y(and)g(\045p)f(to)g(pass)h(the)f(library)h(\014lename)h(and)f(the) -f(searc)o(hpath)h(to)e(the)i(command.)20 b(Also)315 917 -y(refer)e(to)f(Section)i(6.6)e([Library)h(File],)h(page)f(50)g(and)g -(Section)h(6.5)e([Library)h(Con)o(ten)o(ts)315 971 y(File],)e(page)f -(50.)k(The)c(related)h(resource)f(is)h Fh(libr)n(aryContentsCommand)p -Fo(.)75 1044 y(`)p Fm(-loggeometry)d(geometry)p Fo(')315 -1099 y(Determines)j(the)f(geometry)f(of)h(the)g(log)h(windo)o(w.)75 -1172 y(`)p Fm(-pnl)e(value)p Fo(')315 1227 y(Restricts)f(the)h(displa)o -(y)o(ed)g(length)h(of)e(the)g(name)h(of)f(a)g(pin)i(in)f(the)g(pinout)g -(windo)o(w)g(to)f(the)315 1282 y(passed)i(v)m(alue.)22 -b(See)15 b(also,)g(the)g(resource)h Fh(pinoutNameL)n(ength)p -Fo(.)75 1355 y(`)p Fm(-pz)e(value)p Fo(')315 1410 y(Sets)i(the)g(zo)q -(om)g(factor)f(for)g(the)h(pinout)h(windo)o(w)f(according)h(to)e(the)h -(form)o(ula:)21 b(scale)c(=)315 1465 y(1:\(2)d(p)q(o)o(w)o(er)h(v)m -(alue\).)20 b(The)c(related)f(resource)h(is)f Fh(pinoutZo)n(om)p -Fo(.)75 1538 y(`)p Fm(-reset/+reset)p Fo(')315 1592 y(If)f(enabled,)i -(all)f(connections)g(are)f(reset)f(after)h(eac)o(h)g(elemen)o(t)h(is)f -(scanned.)21 b(This)14 b(feature)315 1647 y(is)g(only)f(used)h(while)g -(scanning)g(connections)g(to)f(all)h(elemen)o(ts.)19 -b(See)14 b(also,)f Fh(r)n(esetAfterEle-)315 1702 y(ment)p -Fo(.)75 1775 y(`)p Fm(-ring/+ring)p Fo(')315 1830 y(Ov)o(errides)h(the) -f(resource)h Fh(ringBel)r(lWhenFinishe)n(d)p Fo(.)j(If)c(enabled,)i -(the)e(b)q(ell)i(sounds)e(when)315 1885 y(connection)j(searc)o(hing)g -(has)f(\014nished.)75 1958 y(`)p Fm(-rs)f(string)p Fo(')315 -2012 y(Ov)o(errides)30 b(the)f(resource)g Fh(r)n(outeStyle)p -Fo(.)61 b(The)30 b(string)f(de\014nes)h(a)f(colon)g(separated)315 -2067 y(list)35 b(of)f(route)g(st)o(yles.)78 b(The)34 -b(route)g(st)o(yles)h(consist)f(of)g(a)g(comma)g(separated)315 -2122 y(list)k(of)e(name,)42 b(line)c(thic)o(kness,)43 -b(via)37 b(diameter,)42 b(and)37 b(via)g(drill)i(size.)86 -b(e.g.)315 2177 y Fm(")p Fo(F)l(at,50,100,4)o(0:Skinn)o(y)l(,8,35)o -(,20:)o(75Ohm,1)o(10,1)o(10,)o(20)p Fm(")75 2250 y Fo(`)p -Fm(-s/+s)p Fo(')94 b(Enables/Disables)16 b(the)f(sa)o(ving)g(of)f(the)h -(previous)g(commandline.)22 b(Ov)o(errides)15 b(the)g -Fh(save-)315 2305 y(L)n(astCommand)k Fo(resource.)75 -2378 y(`)p Fm(-save/+save)p Fo(')315 2433 y(See)d(the)f(resource)g -(description)i(of)e Fh(saveInTMP)i Fo(for)e(details.)75 -2506 y(`)p Fm(-sfile)f(command-line)p Fo(')315 2560 y(Sets)i(the)g -(command)f(to)g(b)q(e)i(executed)g(when)f(an)g(la)o(y)o(out)f(\014le)i -(is)f(sa)o(v)o(ed.)21 b(The)16 b(command)315 2615 y(ma)o(y)d(con)o -(tain)g(\045f)g(whic)o(h)i(is)f(replaced)g(b)o(y)g(the)f(\014lename.)21 -b(The)13 b(command)h(m)o(ust)e(read)i(its)315 2670 y(data)h(from)f(the) -h(standard)g(input.)21 b(The)15 b(resource)h Fh(saveCommand)j -Fo(is)d(o)o(v)o(erwritten.)p eop -%%Page: 29 30 -29 29 bop 75 -58 a Fo(Chapter)15 b(4:)k(Command-Line)e(Options)1045 -b(29)75 149 y(`)p Fm(-size)14 b(<width>x<height>)p Fo(')315 -204 y(Ov)o(errides)i(the)f(resource)h Fh(size)h Fo(whic)o(h)f -(determines)g(the)g(maxim)o(um)f(size)h(of)f(a)g(la)o(y)o(out.)75 -284 y(`)p Fm(-v)g(value)p Fo(')31 b(Sets)14 b(the)g(v)o(olume)g(of)g -(the)g(X)g(sp)q(eak)o(er.)19 b(The)c(v)m(alue)g(is)f(passed)g(to)g -Fm(XBell\(\))f Fo(and)h(m)o(ust)f(b)q(e)315 339 y(in)j(the)f(range)g -(-100..100.)75 467 y Fl(4.2)33 b(Sp)r(ecial)23 b(Options)137 -564 y Fo(There)18 b(are)g(some)f(sp)q(ecial)j(options)e(a)o(v)m -(ailable)h(in)g(addition)f(to)f(normal)h(command)g(line)h(options.)75 -619 y(Eac)o(h)d(of)g(these)g(m)o(ust)g(b)q(e)h(the)f(only)h(option)f -(sp)q(eci\014ed)i(on)e(a)g(command)g(line.)25 b(The)16 -b(a)o(v)m(ailable)i(sp)q(ecial)75 673 y(options)d(are:)75 -778 y(`)p Fm(-copyright)p Fo(')315 833 y(Prin)o(ts)g(out)g(the)g(cop)o -(yrigh)o(t)g(notice)h(and)f(terminates.)75 912 y(`)p -Fm(-version)p Fo(')315 967 y(Prin)o(ts)g(out)g(the)g(v)o(ersion)h(ID)f -(and)g(terminates.)75 1047 y(`)p Fm(-help)p Fo(')94 b(Prin)o(ts)15 -b(out)g(the)g(usage)g(message)g(and)g(terminates.)p eop -%%Page: 30 31 -30 30 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(30)75 149 y Fk(5)41 b(X11)27 b(In)n(terface)137 287 -y Fo(This)16 b(c)o(hapter)e(giv)o(es)h(an)g(o)o(v)o(erview)f(ab)q(out)h -(the)g(additional)h Fm(X11)e Fo(resources)h(whic)o(h)g(are)g(de\014ned) -h(b)o(y)75 342 y Fm(Pcb)f Fo(as)g(w)o(ell)h(as)f(the)g(de\014ned)h -(action)g(routines.)75 488 y Fl(5.1)33 b(Non-Standard)23 -b(X11)f(Application)i(Resources)137 591 y Fo(In)16 b(addition)g(to)f -(the)g(to)q(olkit)h(resources,)f Fm(Pcb)f Fo(de\014nes)i(the)g(follo)o -(wing)g(resources:)75 717 y(`)p Fm(absoluteGrid)d(\(boolean\))p -Fo(')315 771 y(Selects)j(if)f(either)h(the)e(grid)i(is)f(relativ)o(e)g -(to)f(the)h(p)q(osition)h(where)f(it)g(has)g(c)o(hanged)g(last)f(or)315 -826 y(absolute,)h(the)g(default,)h(to)e(the)i(origin)g(\(0,0\).)75 -913 y(`)p Fm(alignmentDistance)c(\(dimension\))p Fo(')315 -968 y(Sp)q(eci\014es)17 b(the)f(distance)g(b)q(et)o(w)o(een)f(the)g(b)q -(oards)h(outline)g(to)f(the)g(alignmen)o(t)h(targets.)75 -1054 y(`)p Fm(allDirectionLines)c(\(boolean\))p Fo(')315 -1109 y(Enables)k(\(default\))f(or)g(disables)i(clipping)g(of)e(new)h -(lines)g(to)f(45)f(degree)i(angles.)75 1196 y(`)p Fm(backupInterval)d -(\(int\))p Fo(')315 1251 y Fm(Pcb)21 b Fo(has)g(an)h(automatic)e(bac)o -(kup)i(feature)f(whic)o(h)h(sa)o(v)o(es)f(the)g(curren)o(t)h(data)e(ev) -o(ery)i(n)315 1305 y(seconds.)e(The)c(default)g(is)g -Fh(300)22 b Fo(seconds.)e(A)15 b(v)m(alue)i(of)e(zero)g(disables)i(the) -e(feature.)20 b(The)315 1360 y(bac)o(kup)15 b(\014le)g(is)g(named)f(`)p -Fm(/tmp/PCB.\045i.backup)p Fo('.)j Fh(\045i)i Fo(is)c(replaced)g(b)o(y) -f(the)h(pro)q(cess)f(ID.)315 1415 y(See)i(also,)f(the)g(command-line)i -(option)e Fh(-b)n(ackup)p Fo(.)75 1502 y(`)p Fm(Bloat)f(\(dimension\))p -Fo(')315 1556 y(Sp)q(eci\014es)j(the)f(minim)o(um)g(spacing)g(design)g -(rule)g(in)g(mils.)75 1643 y(`)p Fm(charactersPerLine)c(\(int\))p -Fo(')315 1698 y Fm(Pcb)19 b Fo(uses)g(this)h(v)m(alue)g(to)f(determine) -h(the)f(page)g(width)h(when)g(creating)f(lists.)33 b(N,)19 -b(the)315 1753 y(n)o(um)o(b)q(er)k(of)f(c)o(haracters)g(p)q(er)i(line,) -i(defaults)d(to)f Fh(80)p Fo(.)43 b(See)23 b(also,)h(the)f -(command-line)315 1807 y(option)15 b Fh(-c)p Fo(.)75 -1894 y(`)p Fm(connectedColor)e(\(color\))p Fo(')315 1949 -y(All)g(pins,)g(vias,)f(lines)i(and)d(rectangles)i(whic)o(h)f(are)f -(selected)i(during)g(a)e(connection)i(searc)o(h)315 2004 -y(are)j(dra)o(wn)h(with)g(this)g(color.)24 b(The)17 b(default)g(v)m -(alue)h(is)g(determined)g(b)o(y)e Fh(XtDefaultF)m(or)n(e-)315 -2058 y(gr)n(ound)p Fo(.)75 2145 y(`)p Fm(crosshairColor)d(\(color\))p -Fo(')315 2200 y(This)j(color)f(is)h(used)f(to)g(dra)o(w)f(the)i -(crosshair)f(cursor.)k(The)d(color)f(is)g(a)g(result)h(of)f(a)f -Fh(X)o(OR)315 2255 y Fo(op)q(eration)k(with)h(the)f(con)o(ten)o(ts)f -(of)h(the)g(dra)o(wing)g(area.)28 b(The)19 b(result)f(also)g(dep)q -(ends)i(on)315 2309 y(the)14 b(default)g(colormap)g(of)g(the)g -Fm(X11)f Fo(serv)o(er)h(b)q(ecause)h(only)f(the)g(colormap)g(index)h -(is)f(used)315 2364 y(in)h(the)f(b)q(o)q(olean)h(op)q(eration)f(and)g -Fm(Pcb)f Fo(do)q(esn't)h(create)f(its)i(o)o(wn)e(colormap.)19 -b(The)14 b(default)315 2419 y(setting)h(is)h Fh(XtDefaultF)m(or)n(e)n -(gr)n(ound)p Fo(.)75 2506 y(`)p Fm(elementColor)d(\(color\))p -Fo(')75 2560 y(`)p Fm(elementSelectedColor)f(\(color\))p -Fo(')315 2615 y(The)20 b(elemen)o(ts)g(pac)o(k)m(age)f(part)g(is)h(dra) -o(wn)f(in)h(these)g(colors,)g(for)f(normal)g(and)h(selected)315 -2670 y(mo)q(de,)15 b(resp)q(ectiv)o(ely)l(,)i(whic)o(h)f(b)q(oth)f -(default)h(to)f Fh(XtDefaultF)m(or)n(e)n(gr)n(ound)p -Fo(.)p eop -%%Page: 31 32 -31 31 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(31)75 149 y(`)p Fm(elementCommand)13 b(\(string\))p -Fo(')315 204 y Fm(Pcb)j Fo(uses)g(a)g(user)g(de\014ned)h(command)f(to)f -(read)h(elemen)o(t)h(\014les.)23 b(This)17 b(resources)f(is)g(used)315 -259 y(to)g(set)h(the)g(command)f(whic)o(h)i(is)f(executed)h(b)o(y)f -(the)g(users)g(default)g(shell.)26 b(Tw)o(o)16 b(escap)q(e)315 -314 y(sequences)f(are)f(de\014ned)h(to)f(pass)g(the)g(selected)h -(\014lename)g(\(\045f)t(\))e(and)h(the)g(curren)o(t)g(searc)o(h)315 -369 y(path)g(\(\045p\).)19 b(The)14 b(command)g(m)o(ust)g(write)g(the)h -(elemen)o(t)f(data)g(to)f(its)i(standard)f(output.)315 -423 y(The)h(default)h(v)m(alue)h(is)530 488 y Fm(M4PATH="\045p";export) -22 b(M4PATH;echo)g('include\(\045f\)')g(|)i(m4)315 555 -y Fo(Using)16 b(the)g(GNU)g(v)o(ersion)f(of)h Fm(m4)f -Fo(is)h(highly)h(recommended.)22 b(See)17 b(also,)e(the)h(command-)315 -610 y(line)h(option)e Fh(-lelement)p Fo(.)75 690 y(`)p -Fm(elementPath)e(\(string\))p Fo(')315 745 y(A)h(colon)g(separated)f -(list)i(of)e(directories)h(or)g(commands)f(\(starts)f(with)i(')p -Fm(|)p Fo('\).)k(The)c(path)f(is)315 800 y(passed)g(to)f(the)g(program) -g(sp)q(eci\014ed)i(in)g Fh(elementCommand)i Fo(together)c(with)h(the)g -(selected)315 855 y(elemen)o(tname.)21 b(A)15 b(sp)q(eci\014ed)j -(command)d(will)i(b)q(e)f(executed)g(in)g(order)f(to)g(create)g(en)o -(tries)315 910 y(for)f(the)h(\014leselect)h(b)q(o)o(x.)k(It)15 -b(m)o(ust)f(write)h(its)g(results)g(to)f Fh(stdout)20 -b Fo(one)14 b(en)o(try)h(p)q(er)g(line.)21 b(See)315 -964 y(also,)15 b(the)g(user-command)g Fh(le[!])p Fo(.)75 -1044 y(`)p Fm(fileCommand)e(\(string\))p Fo(')315 1099 -y(The)j(command)g(is)h(executed)g(b)o(y)f(the)g(user's)g(default)h -(shell)h(whenev)o(er)e(existing)i(la)o(y)o(out)315 1154 -y(\014les)13 b(are)e(loaded.)19 b(Data)11 b(is)h(read)f(from)g(the)h -(command's)f(standard)g(output.)19 b(Tw)o(o)10 b(escap)q(e)315 -1209 y(sequences)17 b(ma)o(y)f(b)q(e)h(sp)q(eci\014ed)h(to)e(pass)g -(the)g(selected)i(\014lename)f(\(\045f)t(\))e(and)i(the)f(curren)o(t) -315 1264 y(searc)o(h)f(path)g(\(\045p\).)k(The)d(default)g(v)m(alue)g -(is:)530 1328 y Fm(cat)24 b(\045f)315 1396 y Fo(See)16 -b(also,)f(the)g(command-line)i(option)e Fh(-l\014le)p -Fo(.)75 1476 y(`)p Fm(filePath)f(\(string\))p Fo(')315 -1531 y(A)j(colon)h(separated)f(list)g(of)g(directories)h(or)f(commands) -g(\(starts)e(with)i(')p Fm(|)p Fo('\).)25 b(The)17 b(path)315 -1585 y(is)h(passed)f(to)g(the)g(program)f(sp)q(eci\014ed)j(in)f -Fh(\014leCommand)j Fo(together)c(with)g(the)h(selected)315 -1640 y(\014lename.)27 b(A)17 b(sp)q(eci\014ed)i(command)e(will)h(b)q(e) -g(executed)g(in)g(order)f(to)f(create)h(en)o(tries)h(for)315 -1695 y(the)h(\014leselect)h(b)q(o)o(x.)31 b(It)18 b(m)o(ust)h(write)f -(its)h(results)g(to)f Fh(stdout)24 b Fo(one)19 b(en)o(try)f(p)q(er)h -(line.)32 b(See)315 1750 y(also,)15 b(the)g(user-command)g -Fh(l[!])p Fo(.)75 1830 y(`)p Fm(fontCommand)e(\(string\))p -Fo(')315 1885 y(Loading)k(new)f(sym)o(b)q(ol)h(sets)e(also)h(is)h -(handled)h(b)o(y)e(an)g(external)g(command.)23 b(Y)l(ou)16 -b(again)315 1939 y(ma)o(y)f(pass)g(the)h(selected)g(\014lename)h(and)f -(the)f(curren)o(t)h(searc)o(h)f(path)g(b)o(y)h(passing)g(\045f)f(and) -315 1994 y(\045p)f(in)h(the)g(command)f(string.)20 b(Data)13 -b(is)h(read)h(from)e(the)i(commands)f(standard)g(output.)315 -2049 y(This)i(command)f(defaults)h(to)530 2114 y Fm(cat)24 -b(\045f)315 2181 y Fo(See)16 b(also,)f(the)g(command-line)i(option)e -Fh(-lfont)p Fo(.)75 2261 y(`)p Fm(fontFile)f(\(string\))p -Fo(')315 2316 y(The)i(default)h(fon)o(t)e(for)g(new)h(la)o(y)o(outs)f -(is)i(read)f(from)f(this)h(\014le)h(whic)o(h)g(is)f(searc)o(hed)g(in)h -(the)315 2371 y(directories)g(as)f(de\014ned)h(b)o(y)f(the)g(resource)g -Fh(fontPath)p Fo(.)22 b(Searc)o(hing)17 b(is)g(only)f(p)q(erformed)g -(if)315 2425 y(the)h(\014lename)h(do)q(es)f(not)f(con)o(tain)h(a)g -(directory)g(comp)q(onen)o(t.)25 b(The)17 b(default)h(\014lename)f(is) -315 2480 y(`)p Fm(default_font)p Fo('.)g(See)f(also,)f(the)g -(command-line)i(option)f Fh(-font\014le)p Fo(.)75 2560 -y(`)p Fm(fontPath)e(\(string\))p Fo(')315 2615 y(This)19 -b(resource,)f(a)g(colon)h(separated)e(list)i(of)f(directories,)h -(de\014nes)h(the)e(searc)o(hpath)g(for)315 2670 y(fon)o(t)c(\014les.)21 -b(See)16 b(also,)f(the)g(resource)g Fh(fontFile)p Fo(.)p -eop -%%Page: 32 33 -32 32 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(32)75 149 y(`)p Fm(grid)14 b(\(int\))p Fo(')315 204 -y(This)g(resources)f(de\014nes)i(the)e(initial)i(v)m(alue)g(of)e(one)g -(cursor)g(step.)19 b(It)14 b(defaults)f(to)g Fh(100)i(mil)315 -259 y Fo(and)g(an)o(y)g(c)o(hanges)g(are)g(sa)o(v)o(ed)g(together)f -(with)i(the)f(la)o(y)o(out)g(data.)75 335 y(`)p Fm(gridColor)f -(\(color\))p Fo(')315 390 y(This)e(color)g(is)g(used)g(to)f(dra)o(w)g -(the)h(grid.)19 b(The)12 b(color)g(is)g(a)f(result)h(of)g(a)f -Fh(INVER)m(T)16 b Fo(op)q(eration)315 445 y(with)g(the)h(con)o(ten)o -(ts)e(of)h(the)g(dra)o(wing)g(area.)22 b(The)16 b(result)h(also)f(dep)q -(ends)h(on)f(the)g(default)315 500 y(colormap)21 b(of)h(the)f -Fm(X11)g Fo(serv)o(er)h(b)q(ecause)g(only)g(the)g(colormap)f(index)i -(is)f(used)g(in)h(the)315 554 y(b)q(o)q(olean)13 b(op)q(eration)f(and)g -Fm(Pcb)g Fo(do)q(esn't)g(create)g(its)g(o)o(wn)f(colormap.)19 -b(The)12 b(default)h(setting)315 609 y(is)j Fh(XtDefaultF)m(or)n(e)n -(gr)n(ound)p Fo(.)75 685 y(`)p Fm(elementColor)d(\(color\))p -Fo(')315 740 y(Elemen)o(ts)20 b(lo)q(calted)h(on)e(the)g(opp)q(osite)i -(side)f(of)f(the)h(b)q(oard)f(are)g(dra)o(wn)g(in)h(this)g(color.)315 -795 y(The)15 b(default)h(is)g Fh(XtDefaultF)m(or)n(e)n(gr)n(ound)p -Fo(.)75 871 y(`)p Fm(layerColor1..8)d(\(color\))p Fo(')75 -926 y(`)p Fm(layerSelectedColor1..8)f(\(color\))p Fo(')315 -981 y(These)k(resources)f(de\014ne)i(the)f(dra)o(wing)f(colors)g(of)g -(the)h(di\013eren)o(t)g(la)o(y)o(ers)f(in)h(normal)g(and)315 -1036 y(selected)g(state.)j(All)e(v)m(alues)f(are)f(preset)g(to)g -Fh(XtDefaultF)m(or)n(e)n(gr)n(ound)p Fo(.)75 1112 y(`)p -Fm(layerGroups)e(\(string\))p Fo(')315 1167 y(The)20 -b(argumen)o(t)g(to)f(this)i(resource)f(is)h(a)f(colon)h(separated)f -(list)h(of)f(comma)f(separated)315 1221 y(la)o(y)o(ern)o(um)o(b)q(ers)d -(\(1..8\).)22 b(All)17 b(la)o(y)o(ers)f(within)i(one)e(group)g(are)g -(switc)o(hed)h(on/o\013)e(together.)315 1276 y(The)h(default)h(setting) -f(is)h Fh(1:2:3:...:8)22 b Fo(whic)o(h)17 b(means)f(all)h(la)o(y)o(ers) -f(are)g(handled)h(separatly)l(.)315 1331 y(Grouping)d(la)o(y)o(ers)g -(one)g(to)f(three)h(lo)q(oks)g(lik)o(e)h Fh(1,2,3:4:...:8)20 -b Fo(See)15 b(also,)e(the)h(command-line)315 1386 y(option)h -Fh(-lg)p Fo(.)75 1462 y(`)p Fm(layerName1..8)e(\(string\))p -Fo(')315 1517 y(The)20 b(default)h(name)f(of)f(the)h(la)o(y)o(ers)g(in) -h(a)e(new)i(la)o(y)o(out)e(are)h(determined)h(b)o(y)f(these)g(re-)315 -1572 y(sources.)g(The)15 b(defaults)h(are)f(empt)o(y)g(strings.)75 -1648 y(`)p Fm(libraryCommand)e(\(string\))p Fo(')315 -1703 y Fm(Pcb)g Fo(uses)h(a)f(command)h(to)f(read)h(elemen)o(t)g(data)f -(from)g(libraries.)21 b(The)14 b(resources)f(is)h(used)315 -1757 y(to)g(set)h(the)g(command)f(whic)o(h)i(is)f(executed)h(b)o(y)f -(the)g(users)f(default)i(shell.)21 b(Three)15 b(escap)q(e)315 -1812 y(sequences)e(are)e(de\014ned)i(to)d(pass)i(the)f(selected)i -(\014lename)f(\(\045f)t(\),)f(the)g(curren)o(t)h(searc)o(h)f(path)315 -1867 y(\(\045p\))k(as)h(w)o(ell)h(\(\045a\))e(as)g(the)h(three)h -(parameters)e Fh(template)p Fo(,)h Fh(value)j Fo(and)d -Fh(p)n(ackage)k Fo(to)15 b(the)315 1922 y(command.)20 -b(It)15 b(m)o(ust)g(write)g(the)h(elemen)o(t)g(data)e(to)h(its)g -(standard)g(output.)20 b(The)15 b(default)315 1977 y(v)m(alue)h(is)530 -2039 y Fm(/usr/X11R6/lib/X11/pcb/QueryL)o(ibrary.s)o(h)21 -b(\045p)j(\045f)f(\045a)75 2115 y Fo(`)p Fm(libraryContentsCommand)12 -b(\(string\))p Fo(')315 2170 y(Similar)19 b(to)e Fh(libr)n(aryCommand)p -Fo(,)h Fm(Pcb)f Fo(uses)h(the)f(command)h(sp)q(eci\014ed)h(b)o(y)f -(this)g(resource)315 2225 y(to)d(list)h(the)f(con)o(ten)o(ts)f(of)h(a)g -(library)l(.)435 2288 y Fm(/usr/X11R6/lib/X11/pcb/Lis)o(tLibrar)o -(yContent)o(s.sh)21 b(\045p)i(\045f)315 2353 y Fo(is)16 -b(the)f(default.)75 2429 y(`)p Fm(libraryFilename)e(\(string\))p -Fo(')315 2484 y(The)i(resource)h(sp)q(eci\014es)h(the)e(name)g(of)g -(the)g(library)l(.)21 b(The)16 b(default)f(v)m(alue)i(is)e -Fh(p)n(cblib)p Fo(.)75 2560 y(`)p Fm(libraryPath)e(\(string\))p -Fo(')315 2615 y(A)h(colon)h(separated)f(list)i(of)e(directories)h(that) -f(will)i(b)q(e)f(passed)g(to)e(the)i(commands)f(sp)q(ec-)315 -2670 y(i\014ed)i(b)o(y)g Fh(elementCommand)j Fo(and)c -Fh(elementContentsCommand)p Fo(.)p eop -%%Page: 33 34 -33 33 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(33)75 149 y(`)p Fm(lineThickness)13 b(\(dimension\))p -Fo(')315 204 y(The)i(v)m(alue,)h(in)o(t)f(the)g(range)g([1..250],)d -(de\014nes)k(the)f(initial)i(thic)o(kness)f(of)e(new)h(lines.)22 -b(The)315 259 y(v)m(alue)16 b(is)g(preset)f(to)g Fh(ten)h(mil)p -Fo(.)75 336 y(`)p Fm(media)e(\(<predefined>)f(|)i -(<width>x<height>+-<left_margin)o(>+-<top)o(_margin)o(>\))p -Fo(')315 391 y(The)h(default)g(\(user)g(de\014ned\))h(media)f(of)f(the) -h Fm(PostScript)f Fo(device.)23 b(Prede\014ned)17 b(v)m(alues)315 -445 y(are)e Fh(a3)p Fo(,)h Fh(a4)p Fo(,)g Fh(a5)p Fo(,)g -Fh(letter)p Fo(,)f Fh(tabloit)p Fo(,)g Fh(le)n(dger)p -Fo(,)g Fh(le)n(gal)p Fo(,)f(and)i Fh(exe)n(cutive)p Fo(.)21 -b(The)16 b(second)g(w)o(a)o(y)e(is)j(to)315 500 y(sp)q(ecify)g(the)f -(medias)g(width,)h(heigh)o(t)f(and)g(margins)g(in)g(mil.)23 -b(The)16 b(resource)g(defaults)h(to)315 555 y Fh(a4)22 -b Fo(size.)75 632 y(`)p Fm(offLimitColor)13 b(\(color\))p -Fo(')315 686 y(The)j(area)f(outside)h(the)f(curren)o(t)g(maxim)o(um)h -(settings)f(for)g(width)h(and)g(heigh)o(t)f(is)h(dra)o(wn)315 -741 y(with)g(this)f(color.)20 b(The)c(default)f(v)m(alue)i(is)e -(determined)i(b)o(y)e Fh(XtDefaultBackgr)n(ound)p Fo(.)75 -818 y(`)p Fm(pinColor)f(\(color\))p Fo(')75 873 y(`)p -Fm(pinSelectedColor\(color\))o Fo(')315 928 y(This)k(resource)g -(de\014nes)h(the)f(dra)o(wing)g(color)f(of)h(pins)h(and)f(pads)f(in)i -(b)q(oth)f(states.)27 b(The)315 982 y(v)m(alues)16 b(are)f(preset)g(to) -g Fh(XtDefaultF)m(or)n(e)n(gr)n(ound)p Fo(.)75 1059 y(`)p -Fm(pinoutFont)e(\(string\))p Fo(')315 1114 y(This)g(fon)o(ts)f(are)g -(used)h(to)e(displa)o(y)j(pin)f(names.)19 b(There)13 -b(is)g(one)f(fon)o(t)g(for)g(eac)o(h)g(zo)q(om)g(v)m(alue.)315 -1169 y(The)j(v)m(alues)i(are)e(preset)g(to)f Fh(XtdefaultF)m(ont)p -Fo(.)75 1245 y(`)p Fm(pinoutNameLength)f(\(int\))p Fo(')315 -1300 y(This)g(resource)f(limits)i(the)e(n)o(um)o(b)q(er)g(of)g(c)o -(haracters)g(whic)o(h)h(are)f(displa)o(y)o(ed)h(for)f(pin)h(names)315 -1355 y(in)g(the)f(pinout)h(windo)o(w.)19 b(By)12 b(default)h(the)f -(string)g(length)g(is)h(limited)h(to)d Fh(eight)17 b -Fo(c)o(haracters)315 1410 y(p)q(er)f(name.)k(See)15 b(also,)g(the)g -(command-line)i(option)f Fh(-pnl)p Fo(.)75 1486 y(`)p -Fm(pinoutOffsetX)d(\(int\))p Fo(')75 1541 y(`)p Fm(pinoutOffsetY)g -(\(int\))p Fo(')315 1596 y(These)18 b(resources)g(determine)h(the)f -(o\013set)f(in)i Fh(mil)j Fo(of)17 b(the)h(circuit)i(from)d(the)h(upp)q -(er)h(left)315 1651 y(corner)14 b(of)h(the)f(windo)o(w)h(when)g(displa) -o(ying)h(pinout)f(information.)20 b(Both)14 b(default)h(to)f -Fh(100)315 1706 y(mil)p Fo(.)75 1782 y(`)p Fm(pinoutTextOffsetX)e -(\(int\))p Fo(')75 1837 y(`)p Fm(pinoutTextOffsetY)g(\(int\))p -Fo(')315 1892 y(The)k(resources)h(determine)g(the)f(distance)h(in)g -(mil)h(b)q(et)o(w)o(een)e(the)g(drilling)j(hole)e(of)f(a)g(pin)315 -1947 y(to)d(the)h(lo)q(cation)g(where)g(its)f(name)h(is)g(displa)o(y)o -(ed)h(in)f(the)g(pinout)g(windo)o(w.)20 b(They)13 b(default)315 -2001 y(to)i Fh(X:50)21 b Fo(and)15 b Fh(Y:0)p Fo(.)75 -2078 y(`)p Fm(pinoutZoom)e(\(int\))p Fo(')315 2133 y(Sets)j(the)g(zo)q -(om)g(factor)f(for)g(the)h(pinout)h(windo)o(w)f(according)h(to)e(the)h -(form)o(ula:)21 b(scale)c(=)315 2188 y(1:\(2)12 b(p)q(o)o(w)o(er)g(v)m -(alue\).)20 b(Its)13 b(default)h(v)m(alue)g(is)g Fh(two)i -Fo(whic)o(h)e(results)g(in)g(a)e Fh(1:4)20 b Fo(scale.)g(See)13 -b(also,)315 2243 y(the)i(command-line)i(option)f Fh(-pz)p -Fo(.)75 2319 y(`)p Fm(printCommand)d(\(string\))p Fo(')315 -2374 y(Default)20 b(\014le)i(for)d(prin)o(touts.)35 b(If)21 -b(the)f(name)g(starts)f(with)i(a)f(')p Fm(|)p Fo(')f(the)h(output)g(is) -h(pip)q(ed)315 2429 y(through)16 b(the)h(command.)23 -b(A)17 b(\045f)f(is)h(replaced)h(b)o(y)e(the)h(curren)o(t)f -(\014lename.)25 b(There)17 b(is)g(no)315 2484 y(default)f(\014le)g(or)f -(command.)75 2560 y(`)p Fm(raiseLogWindow)e(\(boolean\))p -Fo(')315 2615 y(The)j(log)f(windo)o(w)h(will)i(b)q(e)e(raised)g(when)g -(new)g(messages)f(arriv)o(e)g(if)h(this)g(resource)g(is)g(set)315 -2670 y Fh(true)p Fo(,)f(the)h(default.)p eop -%%Page: 34 35 -34 34 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(34)75 149 y(`)p Fm(ratCommand)13 b(\(string\))p Fo(')315 -204 y(Default)f(command)h(for)f(reading)h(a)f(netlist.)20 -b(A)12 b(\045f)g(is)h(replaced)h(b)o(y)e(the)h(netlist)g(\014lename.) -315 259 y(Its)i(default)h(v)m(alue)g(is)g Fm(")p Fh(c)n(at)g(\045f)10 -b Fm(")p Fo(.)75 332 y(`)p Fm(ratPath)k(\(string\))p -Fo(')315 387 y(Default)h(path)g(to)g(lo)q(ok)g(for)g(netlist)h -(\014les.)21 b(It's)15 b(default)g(v)m(alue)i(is)f Fm(")p -Fo(.)p Fm(")75 460 y Fo(`)p Fm(resetAfterElement)c(\(boolean\))p -Fo(')315 515 y(If)f(set)g(to)f Fh(true)p Fo(,)i(all)g(found)f -(connections)h(will)h(b)q(e)f(reset)e(b)q(efore)i(a)e(new)h(elemen)o(t) -h(is)g(scanned.)315 570 y(This)f(will)h(pro)q(duce)f(long)f(lists)h -(when)g(scanning)g(the)f(whole)h(la)o(y)o(out)f(for)f(connections.)20 -b(The)315 625 y(resource)e(is)h(set)f(to)f Fh(false)k -Fo(b)o(y)d(default.)29 b(The)18 b(feature)g(is)h(only)f(used)h(while)h -(lo)q(oking)e(up)315 680 y(connections)e(of)f(all)h(elemen)o(ts.)21 -b(See)15 b(also,)g(the)h(command-line)g(option)g Fh(-r)n(eset,)g -Fm(+)p Fh(r)n(eset)p Fo(.)75 753 y(`)p Fm(ringBellWhenFinished)c -(\(boolean\))p Fo(')315 808 y(Whether)18 b(to)f(ring)h(the)f(b)q(ell)j -(\(the)d(default\))h(when)g(a)f(p)q(ossibly)i(length)o(y)f(op)q -(eration)g(has)315 862 y(\014nished)f(or)e(not.)k(See)d(also,)f(the)g -(command-line)i(option)e Fh(-ring,)h Fm(+)p Fh(ring)p -Fo(.)75 936 y(`)p Fm(routeStyle)d(\(string\))p Fo(')315 -991 y(Default)20 b(v)m(alues)h(for)e(the)h(men)o(u)g(of)f(routing)h(st) -o(yles)g(\(seen)g(in)h(the)e(sizes)i(men)o(u\).)34 b(The)315 -1045 y(string)16 b(is)g(a)f(comma)g(separated)h(list)g(of)f(name,)h -(line)h(thic)o(kness,)f(via)g(diameter,)g(and)g(via)315 -1100 y(drill)k(size.)28 b(e.g.)f Fm(")p Fo(F)l(at,50,100,40)o(:Skinn)o -(y)l(,8,35,)o(20:)o(75Ohm,11)o(0,1)o(10,2)o(0)p Fm(")15 -b Fo(See)j(also,)g(the)315 1155 y(command-line)f(option)e -Fh(-rs)k Fo(and)d Fh(Sizes)e(Menu)75 1228 y Fo(`)p Fm(rubberBandMode)f -(\(boolean\))p Fo(')315 1283 y(Whether)g(rubb)q(erband)h(mo)o(v)o(e)e -(and)h(rotate)e(\(attac)o(hed)h(lines)i(stretc)o(h)e(lik)o(e)i(rubb)q -(erbands\))315 1338 y(is)i(enabled)g(\(the)f(default\).)75 -1411 y(`)p Fm(saveCommand)e(\(string\))p Fo(')315 1466 -y(This)22 b(command)g(is)g(used)g(to)f(sa)o(v)o(e)g(data)g(to)g(a)g(la) -o(y)o(out)g(\014le.)41 b(The)22 b(\014lename)g(ma)o(y)f(b)q(e)315 -1521 y(indicated)d(b)o(y)e(placing)h Fm(\045f)f Fo(in)g(the)g(string.) -22 b(It)16 b(m)o(ust)g(read)g(the)g(data)f(from)g(its)h(standard)315 -1576 y(input.)21 b(The)15 b(default)h(command)f(is:)530 -1637 y Fm(cat)24 b(-)g(>)f(\045f)315 1701 y Fo(See)16 -b(also,)f(the)g(command-line)i(option)e Fh(-s\014le)p -Fo(.)75 1774 y(`)p Fm(saveInTMP)f(\(boolean\))p Fo(')315 -1829 y(Enabling)21 b(this)g(resource)f(will)i(sa)o(v)o(e)d(all)i(data)e -(whic)o(h)i(w)o(ould)g(otherwise)f(b)q(e)g(lost)g(in)h(a)315 -1884 y(temp)q(orary)c(\014le)i(`)p Fm(/tmp/PCB.\045i.save)p -Fo('.)25 b Fh(\045i)d Fo(is)d(replaced)g(b)o(y)f(the)g(pro)q(cess)g -(ID.)f(As)h(an)315 1938 y(example,)g(loading)g(a)e(new)h(la)o(y)o(out)g -(when)g(the)g(old)h(one)f(hasn't)f(b)q(een)i(sa)o(v)o(ed)e(w)o(ould)i -(use)315 1993 y(this)e(resource.)k(See)15 b(also,)g(the)g(command-line) -i(option)f Fh(-save,)g Fm(+)p Fh(save)p Fo(.)75 2067 -y(`)p Fm(saveLastCommand)d(\(boolean\))p Fo(')315 2121 -y(Enables)19 b(the)f(sa)o(ving)g(of)g(the)g(last)g(en)o(tered)h(user)f -(command.)28 b(The)19 b(option)f(is)h Fh(disable)n(d)315 -2176 y Fo(b)o(y)c(default.)21 b(See)15 b(also,)g(the)g(command-line)i -(option)f Fh(-s,)g Fm(+)p Fh(s)p Fo(.)75 2249 y(`)p Fm(Shrink)e -(\(dimension\))p Fo(')315 2304 y(Sp)q(eci\014es)j(the)f(minim)o(um)g(o) -o(v)o(erlap)f(\(touc)o(hing\))g(design)h(rule)g(in)g(mils.)75 -2378 y(`)p Fm(size)e(\(<width>x<height>\))p Fo(')315 -2432 y(De\014nes)i(the)f(width)h(and)f(heigh)o(t)h(of)f(a)f(new)i(la)o -(y)o(out.)j(The)d(default)f(is)h Fh(7000x5000)p Fo(.)75 -2506 y(`)p Fm(stipllePolygons)d(\(boolean\))p Fo(')315 -2560 y(Determines)i(whether)g(to)f(displa)o(y)i(p)q(olygons)g(on)e(the) -h(screen)h(with)f(a)f(stippled)j(pattern.)315 2615 y(Stippling)e(can)d -(create)g(some)g(amoun)o(t)g(of)f(transp)q(erency)i(so)f(that)g(y)o(ou) -g(can)g(still)i(\(to)d(some)315 2670 y(exten)o(t\))k(see)g(la)o(y)o -(ers)g(b)q(eneath)h(p)q(olygons.)k(It)c(defaults)f(to)g(F)l(alse.)p -eop -%%Page: 35 36 -35 35 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(35)75 149 y(`)p Fm(textScale)14 b(\(dimension\))p Fo(')315 -204 y(The)22 b(fon)o(t)f(scaling)i(in)f(p)q(ercen)o(t)h(is)f(de\014ned) -h(b)o(y)f(this)g(resource.)40 b(The)22 b(default)g(is)g -Fh(100)315 259 y Fo(p)q(ercen)o(t.)75 334 y(`)p Fm(useLogWindow)13 -b(\(boolean\))p Fo(')315 388 y(Sev)o(eral)i(subroutines)h(send)f -(messages)f(to)g(the)g(user)h(if)g(an)g(error)f(o)q(ccurs.)20 -b(This)15 b(resource)315 443 y(determines)e(if)f(they)g(app)q(ear)g -(inside)i(the)e(log)g(windo)o(w)g(or)g(as)f(a)h(separate)f(dialog)i(b)q -(o)o(x.)18 b(See)315 498 y(also,)d(the)f(resource)h Fh(r)n(aiseL)n(o)n -(gWindow)k Fo(and)c(the)g(command)g(line)h(option)g Fh(-lo)n(gge)n -(ometry)p Fo(.)315 553 y(The)f(default)h(v)m(alue)h(is)e -Fh(true)p Fo(.)75 627 y(`)p Fm(viaColor)f(\(color\))p -Fo(')75 692 y(`)p Fm(viaSelectedColor)f(\(color\))p Fo(')315 -747 y(This)18 b(resource)f(de\014nes)h(the)f(dra)o(wing)f(color)h(of)g -(vias)g(in)h(b)q(oth)f(states.)24 b(The)17 b(v)m(alues)h(are)315 -802 y(preset)d(to)g Fh(XtDefaultF)m(or)n(e)n(gr)n(ound)p -Fo(.)75 876 y(`)p Fm(viaThickness)e(\(dimension\))p Fo(')75 -931 y(`)p Fm(viaDrillingHole)g(\(dimension\))p Fo(')315 -986 y(The)k(initial)i(thic)o(kness)e(and)g(drilling)i(hole)f(of)e(new)h -(vias.)25 b(The)17 b(v)m(alues)h(m)o(ust)e(b)q(e)h(in)h(the)315 -1041 y(range)e([30..250])e(with)j(at)f(least)h(20)f(mil)i(of)e(copp)q -(er.)25 b(The)16 b(default)i(thic)o(kness)f(is)g Fh(40)h(mil)315 -1096 y Fo(and)d(the)h(default)f(drilling)j(hole)e(is)g -Fh(20)h(mil)p Fo(.)75 1170 y(`)p Fm(volume)d(\(int\))p -Fo(')315 1225 y(The)k(v)m(alue)h(is)f(passed)g(to)f Fm(XBell\(\))f -Fo(whic)o(h)j(sets)e(the)h(v)o(olume)g(of)f(the)h Fm(X)f -Fo(sp)q(eak)o(er.)28 b(The)315 1280 y(v)m(alue)15 b(lies)g(in)f(the)f -(range)g(-100..100)f(and)h(it)h(defaults)g(to)f(the)g(maxim)o(um)h(v)o -(olume)g(of)f Fh(100)p Fo(.)75 1354 y(`)p Fm(warnColor)h(\(color\))p -Fo(')315 1409 y(This)k(resources)f(de\014nes)h(the)f(color)g(to)f(b)q -(e)i(used)g(for)e(dra)o(wing)h(pins)h(and)g(pads)f(when)g(a)315 -1464 y(w)o(arning)e(has)g(b)q(een)h(issued)h(ab)q(out)e(them.)75 -1539 y(`)p Fm(zoom)f(\(int\))p Fo(')315 1594 y(The)19 -b(initial)h(v)m(alue)g(for)e(output)g(scaling)h(is)g(set)f(according)h -(to)f(the)h(follo)o(wing)g(form)o(ula:)315 1648 y(scale)d(=)g(1:\(2)e -(p)q(o)o(w)o(er)g(v)m(alue\).)22 b(It)15 b(defaults)h(to)f -Fh(thr)n(e)n(e)j Fo(whic)o(h)e(results)g(in)g(an)f(output)g(scale)315 -1703 y(of)g Fh(1:8)p Fo(.)137 1778 y(Refer)g(also)g(to)g(Chapter)g(4)f -([Command-Line)i(Options],)g(page)f(27.)75 1899 y Fl(5.2)33 -b(Actions)137 1993 y Fo(All)22 b(user)f(accessible)i(commands)e(ma)o(y) -f(b)q(e)h(b)q(ound)h(to)e(almost)g(an)o(y)h Fm(X)g Fo(ev)o(en)o(t.)36 -b(Almost)21 b(no)f(de-)75 2047 y(fault)e(binding)i(for)e(commands)g(is) -h(done)f(in)h(the)f(binaries,)i(so)e(it)h(is)f(vital)h(for)f(the)g -(application)i(that)75 2102 y(at)g(least)h(a)g(system-wide)g -(application)h(resource)f(\014le)h(exists.)37 b(This)21 -b(\014le)h(normally)g(resides)f(in)h(the)75 2157 y(`)p -Fm(X11/lib/app-defaults)p Fo(')13 b(directory)j(and)g(is)h(called)h(`)p -Fm(Pcb)p Fo('.)j(The)16 b(bindings)i(to)e(whic)o(h)h(the)f(man)o(ual)75 -2212 y(refers)c(to)f(are)h(the)g(ones)g(as)f(de\014ned)j(b)o(y)e(the)g -(shipp)q(ed)i(resource)e(\014le.)19 b(Besides)14 b(binding)g(an)e -(action)g(to)f(an)75 2267 y(X11)j(ev)o(en)o(t,)g(y)o(ou)g(can)h(also)f -(execute)i(an)o(y)e(action)g(command)h(using)g(a)f Fm(")p -Fo(:)p Fm(")g Fo(command)h(\(see)f(Chapter)g(3)75 2321 -y([User)h(Commands],)f(page)h(25\).)137 2386 y(T)l(ak)o(e)c(sp)q(ecial) -i(care)e(ab)q(out)h(translations)f(related)g(to)g(the)g(functions)i(k)o -(eys)e(and)g(the)g(p)q(oin)o(ter)h(buttons)75 2441 y(b)q(ecause)20 -b(most)f(of)g(the)g(windo)o(w)h(managers)e(use)i(them)f(to)q(o.)32 -b(Change)19 b(the)h(\014le)g(according)g(to)e(y)o(our)75 -2496 y(hardw)o(are/soft)o(w)o(are)8 b(en)o(vironmen)o(t.)19 -b(Y)l(ou)11 b(ma)o(y)f(ha)o(v)o(e)h(to)f(replace)i(all)g(o)q(ccurances) -g(of)e Fh(b)n(aseT)m(r)n(anslations)75 2550 y Fo(to)15 -b Fh(tr)n(anslations)i Fo(if)f(y)o(ou)f(use)g(a)g Fm(X11R4)f -Fo(serv)o(er.)137 2615 y(P)o(assing)21 b Fh(Obje)n(ct)k -Fo(as)c(an)g(argumen)o(t)g(to)f(an)i(action)f(routine)h(causes)f(the)h -(ob)s(ject)e(at)h(the)g(cursor)75 2670 y(lo)q(cation)f(to)e(b)q(e)i(c)o -(hanged,)f(remo)o(v)o(ed)g(or)f(whatev)o(er.)31 b(If)19 -b(more)f(than)h(one)g(ob)s(ject)g(is)g(lo)q(cated)h(at)e(the)p -eop -%%Page: 36 37 -36 36 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(36)75 149 y(crosshair)18 b(p)q(osition)h(the)f(smallest)h(t)o(yp)q(e) -f(is)g(used.)29 b(If)19 b(there)f(are)g(t)o(w)o(o)e(of)i(the)g(same)g -(t)o(yp)q(e)g(the)g(new)o(er)75 204 y(one)d(is)h(tak)o(en.)j -Fh(Sele)n(cte)n(dObje)n(cts)e Fo(will)g(handle)f(all)g(selected)h(and)e -(visible)i(ob)s(jects.)75 295 y(`)p Fm(AddRats\(AllRats|Selecte)o -(dRats\))p Fo(')315 350 y(Adds)e(rat-lines)g(to)e(the)h(la)o(y)o(out)g -(using)h(the)f(loaded)h(netlist)g(\014le)g(\(see)f(the)g -Fh(:rn)p Fo(,)f(Chapter)h(3)315 405 y([User)20 b(Commands],)h(page)f -(25.\).)35 b(Rat)19 b(lines)j(are)e(added)h(on)g(the)f(activ)o(e)h(la)o -(y)o(er)f(using)315 460 y(the)d(curren)o(t)f(line)j(thic)o(kness)e(sho) -o(wn)g(in)g(the)g(status)f(line.)26 b(Only)18 b(missing)g(connectivit)o -(y)315 514 y(is)g(added)g(b)o(y)g(the)f(AddRats)g(command)h(so)f(if,)h -(for)f(example,)i(the)e(la)o(y)o(out)g(is)h(complete)315 -569 y(nothing)12 b(will)h(b)q(e)f(added.)19 b(Rat)11 -b(lines)i(are)e(dra)o(wn)g(on)g(the)g(screen)h(with)g(a)f(stippled)i -(pattern)315 624 y(to)f(mak)o(e)g(them)h(easier)g(to)e(iden)o(tify)j -(since)g(they)f(cannot)f(app)q(ear)h(in)g(a)f(completed)i(la)o(y)o -(out.)315 679 y(The)d(rat-lines)h(are)e(added)i(in)f(the)g(minim)o(um)h -(length)f(straigh)o(t-line)h(tree)f(pattern)f(\(alw)o(a)o(ys)315 -734 y(ending)16 b(on)e(pins)i(or)e(pads\))g(that)g(satis\014es)g(the)h -(missing)g(connectivit)o(y)h(in)f(the)g(circuit.)21 b(If)315 -788 y(a)16 b(SMD)g(pad)h(is)f(unreac)o(hable)i(on)e(the)h(activ)o(e)f -(la)o(y)o(er,)g(a)g(w)o(arning)h(will)h(b)q(e)f(issued)g(ab)q(out)315 -843 y(it)h(and)h(the)f(rat-line)h(to)e(that)h(pad)g(will)i(not)e(b)q(e) -g(generated.)29 b(If)18 b(connections)i(exist)e(on)315 -898 y(the)i(b)q(oard)f(whic)o(h)i(are)e(not)h(listed)h(in)f(the)g -(netlist)g(while)i(AllRats)d(are)h(b)q(eing)h(added,)315 -953 y(w)o(arning)16 b(messages)g(will)i(b)q(e)g(issued)f(and)g(the)f -(a\013ected)g(pins)i(and)f(pads)f(will)i(b)q(e)f(dra)o(wn)315 -1008 y(in)d(a)g(sp)q(ecial)h Fh(warnColor)k Fo(un)o(til)14 -b(the)g(next)g Fh(Notify\(\))g Fo(ev)o(en)o(t.)20 b(If)13 -b(the)h(en)o(tire)g(la)o(y)o(out)f(agrees)315 1062 y(completely)j(with) -g(the)f(net-list)h(a)e(message)h(informs)g(y)o(ou)f(that)g(the)h(la)o -(y)o(out)g(is)g(complete)315 1117 y(and)j(no)g(rat-lines)h(are)f(added) -h(\(since)f(none)h(are)f(needed\).)29 b(If)18 b Fh(Sele)n(cte)n(dR)n -(ats)i Fo(is)f(passed)315 1172 y(as)13 b(the)g(argumen)o(t,)g(only)h -(those)f(missing)h(connections)g(that)f(migh)o(t)g(connect)g(among)g -(the)315 1227 y(selected)j(pins)h(and)e(pads)g(are)g(dra)o(wn.)20 -b(Default:)435 1288 y Fm(None<Key>w:)46 b(AddRats\(AllRats\))435 -1340 y(!Shift<Key>w:)g(AddRats\(SelectedRats\))435 1392 -y(None<Key>o:)g(DeleteRats\(AllRats\))21 b(AddRats\(AllRats\))435 -1443 y(!Shift<Key>o:)46 b(DeleteRats\(SelectedRats\))21 -b(AddRats\(SelectedRats\))75 1516 y Fo(`)p Fm(Atomic\(Save|Restore|Blo) -o(ck|Close)o(\))p Fo(')315 1571 y(Con)o(trols)f(the)i(undo)f(grouping)h -(of)f(sequences)h(of)f(actions.)38 b(Before)21 b(the)g(\014rst)g -(action)315 1626 y(in)f(a)e(group,)h(A)o(tomic\(Sa)o(v)o(e\))f(should)i -(b)q(e)g(issued.)32 b(After)18 b(eac)o(h)h(action)g(that)g(migh)o(t)f -(b)q(e)315 1681 y(undoable,)13 b(A)o(tomic\(Restore\))c(should)i(b)q(e) -h(issued.)19 b(A)o(tomic\(Blo)q(c)o(k\))11 b(concludes)i(and)e(sa)o(v)o -(e)315 1736 y(the)16 b(undo)h(grouping)f(if)g(there)g(w)o(as)g(an)o -(ything)g(in)h(the)f(group)f(to)h(undo.)22 b(A)o(tomic\(Close\))315 -1790 y(concludes)16 b(and)e(sa)o(v)o(e)g(the)g(undo)h(grouping)f(ev)o -(en)h(if)g(nothing)g(w)o(as)e(actually)i(done.)20 b(Th)o(us)315 -1845 y(it)c(migh)o(t)h(pro)q(duce)g(an)f Fm(")p Fo(empt)o(y)p -Fm(")f Fo(undo.)24 b(This)17 b(can)f(b)q(e)h(useful)g(when)g(y)o(ou)f -(w)o(an)o(t)f(to)h(use)315 1900 y(undo)g(in)g(a)f(group)f(of)h -(actions.)75 1973 y(`)p Fm(Bell\([-100..100]\))p Fo(')315 -2028 y(Rings)h(the)f(b)q(ell)j(of)d(y)o(our)g(displa)o(y)l(.)23 -b(If)16 b(no)f(v)m(alue)i(is)g(passed)e(the)h(setting)g(of)f(the)h -(resource)315 2082 y Fh(volume)j Fo(will)e(b)q(e)f(used.)75 -2155 y(`)p Fm(ChangeDrillSize\(Object,)c(value\))p Fo(')75 -2210 y(`)p Fm(ChangeDrillSize\(Selecte)o(dPins|Se)o(lectedV)o(ias,)g -(value\))p Fo(')315 2265 y(This)19 b(action)f(routine)g(c)o(hanges)g -(the)g(drilling)i(hole)f(of)e(pins)i(and)f(vias.)29 b(If)18 -b Fh(value)j Fo(starts)315 2320 y(with)d Fm(+)f Fo(or)f(-,)i(then)f(it) -h(adds)f(\(or)f(subtracts\))h Fh(value)j Fo(from)d(the)g(curren)o(t)g -(hole)h(diameter,)315 2375 y(otherwise)d(it)h(sets)f(the)g(diameter)h -(to)e(the)h(v)m(alue.)21 b(Default:)435 2436 y Fm(!Mod1<Key>s:)165 -b(Change2ndSize\(Object,)21 b(+5\))435 2487 y(!Mod1)i(Shift<Key>s:)f -(Change2ndSize\(Object,)f(-5\))75 2560 y Fo(`)p Fm -(ChangeHole\(Object|Selec)o(tedVias\))o Fo(')315 2615 -y(This)16 b(action)f(routine)h(con)o(v)o(erts)f(a)g(via)g(to)g(and)g -(from)g(a)g(hole.)21 b(A)15 b(hole)h(is)g(a)f(via)h(that)e(has)315 -2670 y(no)h(copp)q(er)h(ann)o(ulus.)21 b(The)15 b(drill)i(size)f(for)f -(the)g(via)h(determines)g(the)f(hole)h(diameter.)p eop -%%Page: 37 38 -37 37 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(37)435 149 y Fm(!Ctrl<Key>h:)46 b(ChangeHole\(Object\))75 -227 y Fo(`)p Fm(ChangeName\(Object\))p Fo(')75 282 y(`)p -Fm(ChangeName\(Layer|Layout)o(\))p Fo(')315 337 y(Changes)22 -b(the)g(name)g(of)g(the)g(visible)i(ob)s(ject)d(at)h(the)g(cursor)f(lo) -q(cation.)41 b(A)22 b(text)g(ob-)315 391 y(ject)e(do)q(esn't)f(ha)o(v)o -(e)g(a)h(name)g(therefore)f(the)h(text)f(string)h(itself)g(is)g(c)o -(hanged.)34 b(The)20 b(el-)315 446 y(emen)o(t)h(name)h(curren)o(tly)g -(used)g(for)f(displa)o(y)i(is)f(alw)o(a)o(ys)f(the)g(one)h(c)o(hanged)g -(with)g(this)315 501 y(command.)j(See)17 b Fh(Display\(Description)p -Fm(|)p Fh(NameOnPCB)p Fm(|)p Fh(V)m(alue\))f Fo(for)g(details.)26 -b(P)o(assing)315 556 y Fh(L)n(ayer)20 b Fo(c)o(hanges)15 -b(the)g(curren)o(t)g(la)o(y)o(ers)g(name.)20 b(Default:)435 -619 y Fm(None<Key>n:)i(ChangeName\(Object\))75 685 y -Fo(`)p Fm(ChangeOctagon\(Object|Se)o(lectElem)o(ents|Se)o(lectedP)o -(ins|Sele)o(ctedVia)o(s|Selec)o(ted\))p Fo(')315 740 -y(T)l(oggles)17 b(what)g(shap)q(e)h(the)f(a\013ected)g(pin\(s\))h(or)f -(via\(s\))f(will)j(b)q(e)f(dra)o(wn)f(when)h(they)f(are)315 -795 y(not)e(square.)20 b(The)15 b(shap)q(e)h(will)h(either)f(b)q(e)f -(round)h(or)f(o)q(ctagonal.)k(Default:)435 858 y Fm(!Ctrl<Key>o:)j -(ChangeOctagon\(Object\))75 936 y Fo(`)p Fm(ChangeSize\(Object,)12 -b(value\))p Fo(')75 990 y(`)p Fm(ChangeSize\(SelectedLine)o(s|Select)o -(edPins|)o(Selecte)o(dVias,)g(value\))p Fo(')75 1045 -y(`)p Fm(ChangeSize\(SelectedPads)o(|Selecte)o(dTexts|)o(Selecte)o -(dNames,)g(value\))p Fo(')75 1100 y(`)p Fm(ChangeSize\(SelectedElem)o -(ents,)g(value\))p Fo(')315 1155 y(T)l(o)f(c)o(hange)h(the)f(size)i(of) -e(an)g(ob)s(ject)g(y)o(ou)g(ha)o(v)o(e)g(to)g(bind)i(these)f(action)f -(to)g(some)g Fm(X)h Fo(ev)o(en)o(t)f(\(or)315 1209 y(use)j -(:ChangeSize\(...\)\).)k(If)c Fh(value)k Fo(b)q(egins)d(with)f(a)f -Fm(+)h Fo(or)f(-)h(then)g(the)g(v)m(alue)h(will)h(b)q(e)e(added)315 -1264 y(\(or)j(subtracted\))f(from)h(the)h(curren)o(t)f(size,)h -(otherwise)g(the)f(size)h(is)g(set)f(equal)i(to)d Fh(value)p -Fo(.)315 1319 y(Range)e(c)o(hec)o(king)h(is)h(done)f(to)e(insure)j -(that)e(none)h(of)f(the)h(maxim)o(um/minim)o(ums)g(of)f(an)o(y)315 -1374 y(size)e(are)g(violated.)19 b(If)12 b Fh(Obje)n(ct)j -Fo(is)d(passed)g(then)g(a)f(single)i(ob)s(ject)e(at)g(the)h(cursor)f -(lo)q(cation)h(is)315 1429 y(c)o(hanged.)19 b(If)10 b(an)o(y)g(of)g -(the)g Fh(Sele)n(cte)n(d)k Fo(argumen)o(ts)9 b(are)h(passed)h(then)f -(all)i(selected)f(and)g(visible)315 1483 y(ob)s(jects)h(of)h(that)f(t)o -(yp)q(e)h(are)g(c)o(hanged.)19 b(If)14 b(the)f(t)o(yp)q(e)g(b)q(eing)h -(mo)q(di\014ed)g(is)g(an)f(elemen)o(t,)h(then)315 1538 -y(the)h(thic)o(kness)h(of)f(the)g(silkscreen)i(lines)g(de\014ning)g -(the)e(elemen)o(t)h(is)g(c)o(hanged.)k(Default:)435 1601 -y Fm(None<Key>s:)70 b(ChangeSize\(Object,)21 b(+5\))435 -1653 y(!Shift<Key>s:)h(ChangeSize\(Object,)f(-5\))75 -1731 y Fo(`)p Fm(ChangeSquare\(Object|Sel)o(ectedEle)o(ments|S)o -(elected)o(Pins\))p Fo(')315 1786 y(T)l(oggles)e(the)h(setting)g(of)f -(the)g(square)g(\015ag.)33 b(The)20 b(\015ag)f(is)h(used)g(to)f(iden)o -(tify)h(a)g(certain)315 1840 y(pin,)c(normally)g(the)g(\014rst)f(one,)g -(of)g(circuits.)22 b(It)16 b(is)g(also)f(used)h(to)f(mak)o(e)g(SMD)g -(pads)g(ha)o(v)o(e)315 1895 y(square)g(ends.)435 1959 -y Fm(None<Key>q:)70 b(ChangeSquare\(Object\))75 2036 -y Fo(`)p Fm(Command\(\))p Fo(')315 2091 y(Calling)17 -b Fh(Command\(\))f Fo(p)q(ops)f(up)h(an)f(input)h(line)h(at)d(the)h(b)q -(ottom)g(of)g(the)g(windo)o(w)g(whic)o(h)315 2146 y(allo)o(ws)d(y)o(ou) -f(to)g(en)o(ter)h(commands.)19 b(Including)14 b(all)f(action)e -(commands!)19 b(The)12 b(dialog)g(ends)315 2200 y(when)18 -b Fh(None)p Fm(<)p Fh(Key)p Fm(>)p Fh(R)n(eturn)i Fo(to)c(con\014rm)i -(or)f Fh(None)p Fm(<)p Fh(Key)p Fm(>)p Fh(Esc)n(ap)n(e)i -Fo(to)d(ab)q(ort)h(is)h(en)o(tered.)315 2255 y(Default:)435 -2318 y Fm(<Key>colon:)k(Command\(\))75 2396 y Fo(`)p -Fm(Connection\(Find\))p Fo(')75 2451 y(`)p Fm(Connection\(ResetFoundLi) -o(nesAndRe)o(ctangle)o(s|Reset)o(PinsVias)o(AndPads)o(|Reset\))o -Fo(')315 2506 y(The)16 b Fh(Conne)n(ction\(\))g Fo(action)g(is)h(used)f -(to)g(mark)f(all)j(connections)f(from)e(one)h(pin,)i(line)f(or)315 -2560 y(via)k(to)f(others.)36 b(The)21 b Fh(R)n(esetF)m(oundLinesA)o(n)o -(dR)n(e)n(ctangl)o(es,)e(R)n(esetF)m(oundPinsA)o(ndVias)315 -2615 y Fo(and)14 b Fh(R)n(eset)i Fo(argumen)o(ts)d(ma)o(y)g(b)q(e)h -(used)g(to)e(reset)h(all)i(mark)o(ed)e(lines)i(and)e(rectangles,)h -(vias)315 2670 y(and)19 b(pins)h(or)e(all)i(of)f(them.)31 -b(The)19 b(searc)o(h)g(starts)e(with)i(the)g(pin)h(or)f(via)g(at)f(the) -h(cursor)p eop -%%Page: 38 39 -38 38 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(38)315 149 y(p)q(osition.)30 b(All)20 b(found)f(ob)s(jects)f(are)g -(dra)o(wn)g(with)g(the)h(color)f(de\014ned)i(b)o(y)e(the)h(resource)315 -204 y Fh(c)n(onne)n(cte)n(dColor)p Fo(.)f(See)e(also,)f -Fh(Display\(Description)p Fm(|)p Fh(NameOnPCB)p Fm(|)p -Fh(V)m(alue\))p Fo(.)h(Default:)435 274 y Fm(!Shift<Key>c:)22 -b(Connection\(Reset\))435 326 y(None<Key>f:)70 b(Connection\(Find\))435 -378 y(!Shift<Key>f:)22 b(Connection\(Reset\))75 468 y -Fo(`)p Fm(DeleteRats\(AllRats|Sele)o(ctedRats)o(\))p -Fo(')315 523 y(This)c(routine)f(deletes)h(either)g(all)f(rat-lines)h -(in)g(the)f(la)o(y)o(out,)g(or)f(only)i(the)f(selected)h(and)315 -578 y(visible)f(ones.)j(Non-rat-lines)d(and)e(other)g(la)o(y)o(out)g -(ob)s(jects)f(are)h(una\013ected.)20 b(Default:)435 648 -y Fm(None<Key>e:)70 b(DeleteRats\(AllRats\))435 699 y(!Shift<Key>e:)22 -b(DeleteRats\(SelectedRats\))75 790 y Fo(`)p Fm -(Display\(Description|Nam)o(eOnPCB|V)o(alue\))p Fo(')75 -845 y(`)p Fm(Display\(Toggle45Degree|)o(CycleCli)o(p\))p -Fo(')75 900 y(`)p Fm(Display\(Grid|ToggleGrid)o(\))p -Fo(')75 954 y(`)p Fm(Display\(ToggleRubberBan)o(dMode\))p -Fo(')75 1009 y(`)p Fm(Display\(Center|ClearAnd)o(Redraw|R)o(edraw\))p -Fo(')75 1064 y(`)p Fm(Display\(Pinout|PinOrPad)o(Name\))p -Fo(')315 1119 y(This)16 b(action)g(routines)g(handles)h(some)f(output)f -(related)h(settings.)22 b(It)15 b(is)i(used)f(to)f(cen)o(ter)315 -1174 y(the)d(displa)o(y)i(around)e(the)h(cursor)f(lo)q(cation)h(and)g -(to)f(redra)o(w)f(the)i(output)f(area)g(optionally)315 -1228 y(after)k(clearing)i(the)f(windo)o(w.)25 b(Cen)o(tering)17 -b(is)g(done)g(with)g(resp)q(ect)h(to)e(the)h Fh(grid)k -Fo(setting.)315 1283 y(Displa)o(ying)d(the)g(grid)f(itself)h(ma)o(y)f -(b)q(e)g(switc)o(hed)h(on)f(and)h(o\013)e(b)o(y)h Fh(Grid)22 -b Fo(but)c(only)f(if)h(the)315 1338 y(distance)c(b)q(et)o(w)o(een)f(t)o -(w)o(o)f(pixels)j(exceeds)f(1)p 1060 1338 14 2 v 16 w(DIST)l(ANCE)f -(pixels.)21 b Fm(Pcb)13 b Fo(is)g(able)h(to)f(handle)315 -1393 y(sev)o(eral)k(lab)q(els)h(of)e(an)h(elemen)o(t.)24 -b(One)18 b(of)e(them)g(is)i(a)e(description)i(of)e(the)h(functionalit)o -(y)315 1447 y(\(eg)c(resistor\),)f(the)i(second)g(should)g(b)q(e)g(a)f -(unique)i(iden)o(ti\014er)f(\(R1\))e(whereas)h(the)h(last)f(one)315 -1502 y(is)h(a)g(v)m(alue)h(\(100k\).)j(The)d Fh(Display\(\))f -Fo(action)g(selects)h(whic)o(h)g(of)f(the)g(names)g(is)g(displa)o(y)o -(ed.)315 1557 y(It)20 b(also)h(con)o(trols)e(whic)o(h)j(name)e(will)i -(b)q(e)f(a\013ected)f(b)o(y)g(the)g Fh(ChangeName)j Fo(command.)315 -1612 y(If)c Fh(T)m(o)n(ggleGrid)j Fo(is)c(passed,)i Fm(Pcb)e -Fo(c)o(hanges)g(b)q(et)o(w)o(een)h(relativ)o(e)g(\('rel')f(in)h(the)f -(statusline\))315 1667 y(and)e(absolute)g(grid)h(\(an)e('abs')g(in)i -(the)f(statusline\).)22 b(Relativ)o(e)16 b(grid)h(means)e(the)h(p)q -(oin)o(ter)315 1721 y(p)q(osition)i(when)g(the)f(command)f(is)i(issued) -g(is)g(used)f(as)g(the)g(grid)g(origin;)i(while)f(\(0,0\))d(is)315 -1776 y(used)c(in)h(the)f(absolute)g(grid)g(case.)18 b(P)o(assing)10 -b Fh(Pinout)15 b Fo(displa)o(ys)d(the)f(pinout)g(of)f(the)h(elemen)o(t) -315 1831 y(at)g(the)i(curren)o(t)f(cursor)f(lo)q(cation)i(whereas)f -Fh(PinOrPadName)k Fo(toggles)11 b(displa)o(ying)j(of)e(the)315 -1886 y(pins)k(or)e(pads)h(name)f(under)i(the)e(cursor.)20 -b(If)15 b(none)g(of)f(them)g(matc)o(hes)h(but)f(the)h(cursor)f(is)315 -1941 y(inside)i(of)d(an)h(elemen)o(t,)h(the)f(\015ags)g(is)g(toggled)g -(for)f(all)i(of)f(its)g(pins)h(and)f(pads.)20 b(F)l(or)13 -b(details)315 1995 y(ab)q(out)i(rubb)q(erbands)h(see)g(also)f(the)g -(details)i(ab)q(out)e Fh(Mo)n(de)p Fo(.)k(Default:)435 -2065 y Fm(None<Key>c:)46 b(Display\(Center\))435 2117 -y(None<Key>d:)g(Display\(PinOrPadName\))435 2169 y(!Shift<Key>d:)22 -b(Display\(Pinout\))435 2221 y(None<Key>r:)46 b -(Display\(ClearAndRedraw\))435 2273 y(None<Key>.:)g -(Display\(Toggle45Degree\))435 2325 y(None<Key>/:)g -(Display\(CycleClip\))75 2415 y Fo(`)p Fm(DRC\(\))p Fo(')94 -b(Initiates)19 b(design)f(rule)h(c)o(hec)o(king)g(of)e(the)h(en)o(tire) -g(la)o(y)o(out.)26 b(Must)18 b(b)q(e)g(rep)q(eated)g(un)o(til)h(no)315 -2470 y(errors)14 b(are)h(found.)75 2560 y(`)p Fm(EditLayerGroups\(\))p -Fo(')315 2615 y(P)o(ops)f(up)i(a)e(dialog)i(b)q(o)o(x)e(to)h(edit)g -(the)g(la)o(y)o(ergroup)f(setting.)20 b(The)15 b(function)h(is)f(also)g -(a)o(v)m(ail-)315 2670 y(able)h(from)e(the)i Fh(Obje)n(cts)h -Fo(men)o(u.)k(There)15 b(are)g(no)g(defaults.)p eop -%%Page: 39 40 -39 39 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(39)75 149 y(`)p Fm(Load\(ElementToBuffer|La)o(yout|Lay)o(outToBu)o -(ffer|Ne)o(list\))p Fo(')315 204 y(This)11 b(routine)g(p)q(ops)g(up)g -(a)f(\014leselect)j(b)q(o)o(x)d(to)g(load)h(la)o(y)o(out,)g(elemen)o(t) -g(data,)f(or)g(netlist.)20 b(The)315 259 y(passed)c(\014lename)h(for)f -(la)o(y)o(out)f(data)g(is)i(sa)o(v)o(ed)e(and)i(ma)o(y)e(b)q(e)h -(reused.)23 b Fh(ElementT)m(oBu\013er)315 314 y Fo(and)11 -b Fh(L)n(ayoutT)m(oBu\013er)k Fo(load)10 b(the)h(data)e(in)o(to)i(the)f -(curren)o(t)h(bu\013er.)18 b(There)10 b(are)h(no)f(defaults.)75 -401 y(`)p Fm(MarkCrosshair\(\))p Fo(')315 456 y(This)16 -b(routine)f(marks)f(the)h(curren)o(t)g(cursor)g(lo)q(cation)h(with)f -(an)g(X,)g(and)g(then)g(the)g(cursor)315 511 y(displa)o(y)20 -b(sho)o(ws)f(b)q(oth)g(absolute)g(p)q(osition)h(and)g(p)q(osition)g -(relativ)o(e)f(to)g(the)g(mark.)31 b(If)19 b(a)315 566 -y(mark)f(is)g(already)h(presen)o(t,)g(this)f(routine)h(remo)o(v)o(es)f -(it)g(and)h(stops)e(displa)o(ying)j(relativ)o(e)315 621 -y(cursor)15 b(co)q(ordinates.)20 b(Defaults:)435 689 -y Fm(!Ctrl<key>m:)46 b(MarkCrosshair\(\))75 776 y Fo(`)p -Fm(Mode\(Copy|InsertPoint|L)o(ine|Move)o(|None|P)o(asteBuf)o(fer|Poly)o -(gon|The)o(rmal\))p Fo(')75 831 y(`)p Fm(Mode\(Remove|Rectangle|R)o -(ubberban)o(dMove|T)o(ext|Via)o(\))p Fo(')75 886 y(`)p -Fm(Mode\(Cycle\))p Fo(')75 941 y(`)p Fm(Mode\(Notify\))p -Fo(')75 996 y(`)p Fm(Mode\(Save|Restore\))p Fo(')315 -1050 y(Switc)o(hes)16 b(to)f(a)f(new)i(mo)q(de)g(of)e(op)q(eration.)21 -b(The)15 b(activ)o(e)h(mo)q(de)f(is)h(displa)o(y)o(ed)g(b)o(y)g(a)f -(thic)o(k)315 1105 y(line)e(around)e(the)g(matc)o(hing)h(mo)q(de)f -(selector)h(button.)18 b(Most)10 b(of)h(the)g(functionalit)o(y)i(of)d -Fm(Pcb)315 1160 y Fo(is)16 b(implemen)o(ted)i(b)o(y)e(selecting)h(a)e -(mo)q(de)h(and)g(calling)i Fh(Mo)n(de\(Notify\))p Fo(.)j(The)16 -b(argumen)o(ts)315 1215 y Fh(Line)p Fo(,)22 b Fh(Polygon)p -Fo(,)h Fh(R)n(e)n(ctangle)p Fo(,)f Fh(T)m(ext)k Fo(and)c -Fh(Via)k Fo(are)c(used)g(to)g(create)g(the)g(appropriate)315 -1270 y(ob)s(ject)16 b(whenev)o(er)g Fh(Mo)n(de\(Notify\))h -Fo(is)g(called.)24 b(Some)16 b(of)g(them,)g(suc)o(h)g(as)g -Fh(Polygon)p Fo(,)f(need)315 1324 y(more)k(than)g(one)g(call)i(for)d -(one)i(ob)s(ject)e(to)h(b)q(e)h(created.)32 b Fh(InsertPoint)22 -b Fo(adds)d(p)q(oin)o(ts)h(to)315 1379 y(existing)e(p)q(olygons)f(or)f -(lines.)25 b Fh(Save)20 b Fo(and)c Fh(R)n(estor)n(e)k -Fo(are)c(used)h(to)f(temp)q(orarily)h(sa)o(v)o(e)f(the)315 -1434 y(mo)q(de,)24 b(switc)o(h)e(to)g(another)g(one,)i(call)f -Fh(Mo)n(de\(Notify\))g Fo(and)f(restore)g(the)g(sa)o(v)o(ed)g(one.)315 -1489 y(Ha)o(v)o(e)f(a)h(lo)q(ok)g(at)f(the)h(application)i(resource)e -(\014le)g(for)g(examples.)40 b Fh(Copy)26 b Fo(and)c -Fh(Move)315 1544 y Fo(mo)q(des)15 b(are)g(used)h(to)f(c)o(hange)g(an)g -(ob)s(ject's)g(lo)q(cation)h(and,)f(optionally)l(,)h(to)f(create)g(a)g -(new)315 1598 y(one.)23 b(The)16 b(\014rst)g(call)h(of)e -Fh(Mo)n(de\(Notify\))i Fo(attac)o(hes)e(the)i(ob)s(ject)e(at)g(the)i(p) -q(oin)o(ter)f(lo)q(cation)315 1653 y(to)e(the)g(crosshair)g(whereas)h -(the)f(second)h(one)g(drops)f(it)g(to)g(the)h(la)o(y)o(out.)k(The)14 -b Fh(rubb)n(erb)n(and)315 1708 y Fo(v)o(ersion)20 b(of)g(mo)o(v)o(e)g -(p)q(erforms)g(the)g(mo)o(v)o(e)g(while)h(o)o(v)o(erriding)g(the)g -(curren)o(t)f(rubb)q(erband)315 1763 y(mo)q(de.)f(P)o(assing)10 -b Fh(PasteBu\013er)16 b Fo(attac)o(hes)9 b(the)i(con)o(ten)o(ts)f(of)g -(the)h(curren)o(tly)g(selected)h(bu\013er)315 1818 y(to)j(the)h -(crosshair.)22 b(Eac)o(h)16 b(call)h(to)f Fh(Mo)n(de\(Notify\))g -Fo(pastes)g(this)g(con)o(ten)o(ts)g(to)f(the)h(la)o(y)o(out.)315 -1872 y Fh(Mo)n(de\(Cycle\))j Fo(cycles)i(through)e(the)g(mo)q(des)h(a)o -(v)m(ailable)h(in)f(the)f(mo)q(de-button)h(pallete.)315 -1927 y Fh(Mo)n(de\(None\))15 b Fo(switc)o(hes)h(all)g(mo)q(des)f -(o\013.)k(Default:)435 1995 y Fm(<Key>Escape:)309 b(Mode\(None\))435 -2047 y(<Key>space:)333 b(Mode\(Cycle\))435 2099 y(None<Key>BackSpace:) -141 b(Mode\(Save\))22 b(Mode\(Remove\))g(Mode\(Notify\))h -(Mode\(Restore\))435 2151 y(None<Key>Delete:)213 b(Mode\(Save\))22 -b(Mode\(Remove\))g(Mode\(Notify\))h(Mode\(Restore\))435 -2203 y(None<Key>F1:)309 b(Mode\(Via\))435 2255 y(None<Key>F2:)g -(Mode\(Line\))435 2307 y(None<Key>F3:)g(Mode\(PasteBuffer\))435 -2359 y(None<Key>F4:)g(Mode\(Rectangle\))435 2411 y(None<Key>F5:)g -(Mode\(Text\))435 2462 y(None<Key>F6:)g(Mode\(Polygon\))435 -2514 y(None<Key>F7:)g(Mode\(Thermal\))435 2566 y(None<Key>F8:)70 -b(Mode\(Arc\))435 2618 y(None<Key>Insert:)213 b(Mode\(InsertPoint\))435 -2670 y(None<Key>[:)333 b(Mode\(Save\))22 b(Mode\(Move\))h -(Mode\(Notify\))p eop -%%Page: 40 41 -40 40 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(40)435 149 y Fm(None<Key>]:)333 b(Mode\(Notify\))22 -b(Mode\(Restore\))435 201 y(None<Btn1Down>:)237 b(Mode\(Notify\))435 -253 y(!Shift)23 b(Ctrl<Btn1Down>:)70 b(Mode\(Save\))22 -b(Mode\(Remove\))g(Mode\(Notify\))h(Mode\(Restore\))435 -305 y(None<Btn2Down>:)237 b(Mode\(Save\))22 b(Mode\(Move\))h -(Mode\(Notify\))435 357 y(None<Btn2Up>:)285 b(Mode\(Notify\))22 -b(Mode\(Restore\))435 409 y(!Mod1<Btn2Down>:)165 b(Mode\(Save\))22 -b(Mode\(Copy\))h(Mode\(Notify\))435 461 y(!Mod1<Btn2Up>:)213 -b(Mode\(Notify\))22 b(Mode\(Restore\))435 513 y(Shift)h -(Mod1<Btn2Down>:)f(Mode\(Save\))g(Mode\(RubberbandMove\))g -(Mode\(Notify\))75 589 y Fo(`)p Fm(MovePointer\(delta_x,)12 -b(delta_y\))p Fo(')315 643 y(With)g(this)g(function)h(it)f(is)h(p)q -(ossible)g(to)e(mo)o(v)o(e)h(the)g(crosshair)f(cursor)h(b)o(y)g(using)g -(the)g(cursor)315 698 y(k)o(eys.)19 b(The)c Fm(X)e Fo(serv)o(er's)h(p)q -(oin)o(ter)g(follo)o(ws)g(b)q(ecause)h(the)f(necessary)h(ev)o(en)o(ts)e -(are)h(generated)315 753 y(b)o(y)19 b Fm(Pcb)p Fo(.)31 -b(All)20 b(mo)o(v)o(emen)o(ts)e(are)g(p)q(erformed)h(with)h(resp)q(ect) -f(to)f(the)h(curren)o(tly)h(set)f(grid)315 808 y(v)m(alue.)i(Default:) -435 870 y Fm(None<Key>Up:)142 b(MovePointer\(0,)21 b(-1\))435 -922 y(!Shift<Key>Up:)94 b(MovePointer\(0,)21 b(-10\))435 -974 y(None<Key>Down:)94 b(MovePointer\(0,)21 b(1\))435 -1026 y(!Shift<Key>Down:)46 b(MovePointer\(0,)21 b(10\))435 -1078 y(None<Key>Right:)70 b(MovePointer\(1,)21 b(0\))435 -1130 y(!Shift<Key>Right:)h(MovePointer\(10,)f(0\))435 -1181 y(None<Key>Left:)94 b(MovePointer\(-1,)21 b(0\))435 -1233 y(!Shift<Key>Left:)46 b(MovePointer\(-10,)21 b(0\))75 -1309 y Fo(`)p Fm(MoveToCurrentLayer\(Obje)o(ct|Selec)o(tedObje)o(cts\)) -p Fo(')315 1364 y(The)h(function)h(mo)o(v)o(es)e(a)h(single)h(ob)s -(ject)e(at)h(the)g(crosshair)g(lo)q(cation)g(or)g(all)h(selected)315 -1419 y(ob)s(jects)13 b(to)g(the)h(curren)o(t)f(la)o(y)o(er.)19 -b(Elemen)o(ts)c(are)e(not)g(mo)o(v)o(eable)h(b)o(y)f(this)i(function.) -20 b(They)315 1474 y(ha)o(v)o(e)c(to)g(b)q(e)i(deleted)g(and)f -(replaced)h(on)e(the)h(other)g(side.)25 b(If)17 b(a)g(line)h(segmen)o -(t)e(is)h(mo)o(v)o(ed)315 1528 y(and)i(the)h(mo)o(v)o(emen)o(t)e(w)o -(ould)i(result)f(in)h(a)f(loss)h(of)f(connectivit)o(y)h(to)f(another)f -(segmen)o(t)315 1583 y(then)e(via\(s\))e(are)h(automatically)h(added)g -(to)e(main)o(tain)i(the)f(connectivit)o(y)l(.)435 1646 -y Fm(None<Key>m:)166 b(MoveToCurrentLayer\(Obje)o(ct\))435 -1697 y(!Shift<Key>m:)118 b(MoveToCurrentLayer\(Sele)o(ctedObj)o(ects\)) -75 1773 y Fo(`)p Fm(New\(\))p Fo(')94 b(Clear)14 b(the)h(curren)o(t)f -(la)o(y)o(out)g(and)g(starts)f(a)h(new)h(one)f(after)g(en)o(tering)h -(its)f(name.)20 b(Refer)14 b(to)315 1828 y(the)h(resource)h -Fh(b)n(ackup)i Fo(for)c(more)h(information.)20 b(No)15 -b(defaults.)75 1904 y(`)p Fm(PasteBuffer\(AddSelected)o(|Clear|1)o -(..5\))p Fo(')75 1959 y(`)p Fm(PasteBuffer\(Rotate,)d(1..3\))p -Fo(')75 2014 y(`)p Fm(PasteBuffer\(Convert\))p Fo(')315 -2068 y(This)17 b(action)g(routine)g(con)o(trols)f(and)h(selects)g(the)g -(pastebu\013er)f(as)g(w)o(ell)i(as)e(all)h(cut-and-)315 -2123 y(paste)k(op)q(erations.)39 b(P)o(assing)22 b(a)f(bu\013er)g(n)o -(um)o(b)q(er)h(selects)h(one)e(in)i(of)e(the)g(range)h(1..5.)315 -2178 y(The)e(statusline)g(is)g(up)q(dated)g(with)g(the)f(new)h(n)o(um)o -(b)q(er.)32 b Fh(R)n(otate)24 b Fo(p)q(erforms)19 b(a)g(n)o(um)o(b)q -(er)315 2233 y(of)c(90)g(degree)g(coun)o(ter)h(clo)q(c)o(kwise)g -(rotations)f(of)g(the)g(bu\013er)g(con)o(ten)o(ts.)20 -b Fh(A)n(ddSele)n(cte)n(d)e Fo(as)315 2288 y(\014rst)g(argumen)o(t)g -(copies)i(all)f(selected)h(and)f(visible)i(ob)s(jects)d(in)o(to)g(the)h -(bu\013er.)30 b(P)o(assing)315 2342 y Fh(Cle)n(ar)23 -b Fo(remo)o(v)o(es)18 b(all)i(ob)s(jects)e(from)g(the)h(curren)o(tly)g -(selected)h(bu\013er.)31 b Fh(Convert)23 b Fo(causes)315 -2397 y(the)e(con)o(ten)o(ts)f(of)h(the)g(bu\013er)g(\(lines,)i(arc,)f -(vias\))f(to)f(b)q(e)i(con)o(v)o(erted)e(in)o(to)h(an)g(elemen)o(t)315 -2452 y(de\014nition.)h(Refer)14 b(to)h(Section)h(2.4.7)e([P)o -(astebu\013er],)f(page)i(18)g(for)f(examples.)21 b(Default:)435 -2514 y Fm(!Ctrl<Key>x:)165 b(PasteBuffer\(Clear\))22 -b(PasteBuffer\(AddSelected\))888 2566 y(Mode\(PasteBuffer\))435 -2618 y(!Shift)h(Ctrl<Key>x:)f(PasteBuffer\(Clear\))g -(PasteBuffer\(AddSelected\))888 2670 y(RemoveSelected\(\))g -(Mode\(PasteBuffer\))p eop -%%Page: 41 42 -41 41 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(41)435 149 y Fm(!Mod1<Key>c:)165 b(PasteBuffer\(Clear\))22 -b(PasteBuffer\(AddSelected\))435 201 y(!Mod1<key>x:)165 -b(PasteBuffer\(Clear\))22 b(PasteBuffer\(AddSelected\))507 -253 y(RemoveSelected\(\))435 305 y(!Shift<Key>1:)141 -b(PasteBuffer\(1\))435 357 y(!Shift<Key>2:)g(PasteBuffer\(2\))435 -409 y(!Shift<Key>3:)g(PasteBuffer\(3\))435 461 y(!Shift<Key>4:)g -(PasteBuffer\(4\))435 513 y(!Shift<Key>5:)g(PasteBuffer\(5\))435 -565 y(None<Key>F3:)165 b(Mode\(PasteBuffer\))75 646 y -Fo(`)p Fm(Polygon\(\(Close|Previous)o(Point\))p Fo(')315 -700 y(P)o(olygons)35 b(need)i(a)f(sp)q(ecial)h(action)f(routine)h(to)e -(mak)o(e)g(life)i(easier.)83 b(Calling)315 755 y Fh(Polygon\(Pr)n -(eviousPoint\))19 b Fo(resets)g(the)h(newly)h(en)o(tered)f(corner)f(to) -g(the)h(previous)g(one.)315 810 y(The)d(Undo)g(action)g(will)h(call)g -(P)o(olygon\(PreviousP)o(oin)o(t\))d(when)j(appropriate)e(to)g(do)h -(so.)315 865 y Fh(Close)h Fo(creates)e(the)g(\014nal)h(segmen)o(t)f(of) -g(the)g(p)q(olygon.)23 b(This)17 b(ma)o(y)e(fail)i(if)f(clipping)j(to)d -(45)315 920 y(degree)g(lines)g(is)g(switc)o(hed)g(on,)f(in)h(whic)o(h)g -(case)f(a)g(w)o(arning)g(is)h(issued.)21 b(Default:)435 -985 y Fm(None<Key>p:)309 b(Polygon\(Close\))435 1036 -y(!Shift<Key>p:)261 b(Polygon\(Close\))75 1118 y Fo(`)p -Fm(Print\(\))p Fo(')46 b(P)o(ops)15 b(up)h(a)f(prin)o(t)g(con)o(trol)g -(b)q(o)o(x)g(that)g(lets)h(y)o(ou)f(select)h(the)f(output)g(device,)h -(scaling)h(and)315 1172 y(man)o(y)11 b(more)h(options.)19 -b(Eac)o(h)11 b(run)i(creates)e(all)i(\014les)g(that)e(are)h(supp)q -(orted)g(b)o(y)g(the)g(selected)315 1227 y(device.)21 -b(These)14 b(are)g(mask)f(\014les)i(as)f(w)o(ell)h(as)f(drilling)i -(\014les,)f(silk)g(screens)g(and)f(so)f(on.)20 b(The)315 -1282 y(table)c(sho)o(ws)e(the)h(\014lenames)i(for)d(all)i(p)q(ossible)h -(\014les:)626 1347 y Fm(POSIX)23 b(\(extention\))309 -b(8.3)23 b(filename)435 1399 y(--------------------------)o(-------)o -(--------)o(----)435 1451 y(*_componentmask.*)308 b(cmsk.*)435 -1503 y(*_componentsilk.*)g(cslk.*)435 1554 y(*_soldermask.*)380 -b(smsk.*)435 1606 y(*_soldersilk.*)g(sslk.*)435 1658 -y(*_drill.*)500 b(dril.*)435 1710 y(*_groundplane.*)356 -b(gpl.*)435 1762 y(*_group[1..8].*)165 b([..8].*)315 -1830 y Fo(The)18 b(output)f(ma)o(y)f(b)q(e)i(sen)o(t)g(to)e(a)h(p)q -(ostpro)q(cessor)g(b)o(y)h(starting)e(the)i(\014lename)g(with)g(the)315 -1885 y Fh(pip)n(e)23 b Fm(\("|"\))18 b Fo(c)o(haracter.)31 -b(An)o(y)19 b Fm("\045f")g Fo(in)h(a)f(command)g(is)h(replaced)g(with)g -(the)f(curren)o(t)315 1940 y(\014lename.)i(The)15 b(function)h(is)g(a)o -(v)m(ailable)h(from)d(the)i Fh(\014le)h Fo(men)o(u.)k(There)15 -b(are)g(no)g(defaults.)75 2021 y(`)p Fm(Quit\(\))p Fo(')70 -b(Quits)16 b(the)f(application)i(after)e(con\014rming)g(the)h(op)q -(eration.)k(Default:)435 2086 y Fm(<Message>WM_PROTOCOLS:)h(Quit\(\))75 -2167 y Fo(`)p Fm(Redo\(\))p Fo(')70 b(This)19 b(routine)g(allo)o(ws)g -(y)o(ou)g(to)f(reco)o(v)o(er)g(from)g(the)g(last)h(undo)g(command.)30 -b(Y)l(ou)19 b(migh)o(t)315 2221 y(w)o(an)o(t)c(to)h(do)g(this)h(if)f(y) -o(ou)g(though)o(t)g(that)f(undo)i(w)o(as)e(going)i(to)e(rev)o(ert)h -(something)g(other)315 2276 y(than)k(what)g(it)h(actually)g(did)h(\(in) -f(case)f(y)o(ou)g(are)g(confused)h(ab)q(out)g(whic)o(h)g(op)q(erations) -315 2331 y(are)d(un-doable\),)i(or)e(if)h(y)o(ou)f(ha)o(v)o(e)g(b)q -(een)h(bac)o(king)g(up)g(through)f(a)g(long)h(undo)g(list)g(and)315 -2386 y(o)o(v)o(er-sho)q(ot)f(y)o(our)h(stopping)h(p)q(oin)o(t.)34 -b(An)o(y)20 b(c)o(hange)f(that)g(is)h(made)g(since)g(the)g(undo)g(in) -315 2441 y(question)f(will)g(trim)f(the)h(redo)f(list.)29 -b(F)l(or)17 b(example)i(if)g(y)o(ou)f(add)g(ten)g(lines,)i(then)f(undo) -315 2495 y(three)d(of)g(them)g(y)o(ou)g(could)h(use)f(redo)g(to)g(put)g -(them)g(bac)o(k,)g(but)g(if)g(y)o(ou)g(mo)o(v)o(e)g(a)f(line)j(on)315 -2550 y(the)h(b)q(oard)f(b)q(efore)h(p)q(erforming)f(the)h(redo,)g(y)o -(ou)f(will)i(lose)f(the)f(abilit)o(y)i(to)e Fm(")p Fo(redo)p -Fm(")g Fo(the)315 2605 y(three)d Fm(")p Fo(undone)p Fm(")h -Fo(lines.)22 b(Default:)435 2670 y Fm(!Shift<Key>r:)46 -b(Redo\(\))p eop -%%Page: 42 43 -42 42 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(42)75 149 y(`)p Fm(RemoveSelected\(\))p Fo(')315 204 -y(This)16 b(routine)f(remo)o(v)o(es)g(all)h(visible)h(and)f(selected)g -(ob)s(jects.)j(There)d(are)f(no)g(defaults.)75 282 y(`)p -Fm(Report\(Object|DrillRepo)o(rt\))p Fo(')315 337 y(This)j(routine)f(p) -q(ops)g(up)h(a)e(dialog)i(b)q(o)o(x)f(describing)i(the)e(v)m(arious)g -(c)o(haracteristics)g(of)g(an)315 392 y(ob)s(ject)f(\(or)g(piece)i(of)e -(an)g(ob)s(ject)g(suc)o(h)h(as)f(a)g(pad)h(or)f(pin\))h(in)g(the)g(la)o -(y)o(out)f(at)g(the)g(cursor)315 447 y(p)q(osition,)21 -b(or)d(a)h(rep)q(ort)g(ab)q(out)g(all)h(of)f(the)g(drill)i(holes)f(in)g -(the)f(la)o(y)o(out.)31 b(There)19 b(are)g(no)315 501 -y(defaults.)75 579 y(`)p Fm(RouteStyle\(1|2|3|4\))p Fo(')315 -634 y(This)h(routine)f(copies)i(the)e(sizes)h(corresp)q(onding)g(to)f -(the)g(n)o(um)o(b)q(ered)h(route)f(st)o(yle)g(in)o(to)315 -689 y(the)c(activ)o(e)h(line)g(thic)o(knes,)g(via)g(diameter,)f(and)g -(via)h(drill)h(size.)j(Defaults:)435 752 y Fm(!Ctrl<Key>1:)i -(RouteStyle\(1\))435 804 y(...)435 856 y(!Ctrl<Key>4:)g -(RouteStyle\(4\))75 934 y Fo(`)p Fm(Save\(Layout|LayoutAs\))p -Fo(')75 989 y(`)p Fm(Save\(AllConnections|All)o(UnusedPi)o(ns|Elem)o -(entConn)o(ections\))o Fo(')315 1044 y(P)o(assing)17 -b Fh(L)n(ayout)22 b Fo(sa)o(v)o(es)17 b(the)g(la)o(y)o(out)g(using)h -(the)g(\014le)g(from)f(whic)o(h)h(it)g(w)o(as)e(loaded)i(or,)f(if)315 -1098 y(it)f(is)h(a)f(new)g(la)o(y)o(out,)g(calls)h Fh(Save\(L)n -(ayoutAs\))f Fo(whic)o(h)h(queries)g(the)g(user)f(for)f(a)h -(\014lename.)315 1153 y(The)j(v)m(alues:)29 b Fh(A)o(l)r(lConne)n -(ctions)p Fo(,)16 b Fh(A)o(l)r(lUnuse)n(dPins)k Fo(and)f -Fh(ElementConne)n(ctions)h Fo(start)d(a)315 1208 y(connection)f(scan)f -(and)g(sa)o(v)o(e)f(all)i(connections,)g(all)f(un)o(used)h(pins)g(or)e -(the)h(connections)h(of)315 1263 y(a)f(single)h(elemen)o(t)g(to)f(a)g -(\014le.)21 b(There)15 b(are)g(no)g(defaults.)75 1341 -y(`)p Fm(Select\(All|Block|Connec)o(tion|Tog)o(gleObje)o(ct\))p -Fo(')75 1395 y(`)p Fm(Select\(ElementByName|Ob)o(jectByNa)o(me|PadB)o -(yName|P)o(inByName)o(\))p Fo(')75 1450 y(`)p Fm -(Select\(TextByName|ViaBy)o(Name\))p Fo(')315 1505 y(T)l(oggles)k -(either)h(the)g(selection)g(\015ag)f(of)g(the)h(ob)s(ject)e(at)h(the)h -(crosshair)f(p)q(osition)h(\()p Fh(T)m(o)n(g-)315 1560 -y(gleObje)n(ct)t Fo(\))11 b(or)h(selects)h(all)g(visible)h(ob)s(jects,) -e(all)h(inside)h(a)e(rectangle)h(or)e(all)j(ob)s(jects)d(whic)o(h)315 -1615 y(ha)o(v)o(e)j(b)q(een)h(found)f(during)h(the)f(last)g(connection) -i(scan.)j(The)14 b Fh(ByName)k Fo(functions)d(use)f(a)315 -1669 y(regular)e(expression)h(searc)o(h,)f(alw)o(a)o(ys)f(case)h -(insensitiv)o(e,)i(to)d(select)i(the)f(ob)s(jects.)18 -b(Default:)435 1733 y Fm(None<Btn3Down>:)46 b(Select\(ToggleObject\)) -435 1785 y(None<Btn3Down>,None<Btn3Mo)o(tion>:)20 b(See)k(resource)f -(file)g(-)h(this)f(is)h(complex)75 1863 y Fo(`)p Fm -(SetValue\(Grid|LineSize|)o(TextScal)o(e|ViaDr)o(illingH)o(ole|ViaS)o -(ize|Zoo)o(m,)12 b(value\))p Fo(')315 1917 y(Some)20 -b(in)o(ternal)h(v)m(alues)g(ma)o(y)e(b)q(e)i(c)o(hanged)g(online)g(b)o -(y)f(this)h(function.)35 b(The)20 b(\014rst)g(pa-)315 -1972 y(rameter)d(sp)q(eci\014es)j(whic)o(h)e(data)g(has)f(to)h(b)q(e)g -(c)o(hanged.)28 b(The)18 b(other)g(one)g(determines)g(if)315 -2027 y(the)i(resource)h(is)f(set)g(to)g(the)g(passed)h(v)m(alue,)h(if)f -Fh(value)j Fo(is)c(sp)q(eci\014ed)j(without)d(sign,)h(or)315 -2082 y(incremen)o(ts/decremen)o(ts)14 b(if)g(it)f(is)h(sp)q(eci\014ed)h -(with)f(a)e(plus)j(or)d(min)o(us)i(sign.)20 b(The)13 -b(function)315 2137 y(do)q(esn't)k(c)o(hange)g(an)o(y)f(existing)i(ob)s -(ject)f(only)g(the)g(initial)i(v)m(alues)g(of)d(new)h(ob)s(jects.)25 -b(Use)315 2191 y(the)15 b Fh(ChangeSize\(\))g Fo(and)g -Fh(ChangeDril)r(lSize\(\))f Fo(to)h(c)o(hange)g(existing)h(ob)s(jects.) -k(Default:)435 2255 y Fm(None<Key>g:)189 b(SetValue\(Grid,)22 -b(+5\))435 2307 y(!Shift<Key>g:)141 b(SetValue\(Grid,)22 -b(-5\))435 2359 y(None<Key>l:)189 b(SetValue\(LineSize,)22 -b(+5\))435 2411 y(!Shift<Key>l:)141 b(SetValue\(LineSize,)22 -b(-5\))435 2462 y(None<Key>t:)189 b(SetValue\(TextScale,)22 -b(+10\))435 2514 y(!Shift<Key>t:)141 b(SetValue\(TextScale,)22 -b(-10\))435 2566 y(None<Key>v:)189 b(SetValue\(ViaSize,)22 -b(+5\))435 2618 y(!Shift<Key>v:)141 b(SetValue\(ViaSize,)22 -b(-5\))435 2670 y(!Mod1<Key>v:)165 b(SetValue\(ViaDrillingHole,)21 -b(+5\))p eop -%%Page: 43 44 -43 43 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(43)435 149 y Fm(!Mod1)23 b(Shift<Key>v:)f(SetValue\(ViaDrillingHole,) -f(-5\))435 201 y(None<Key>z:)189 b(SetValue\(Zoom,)22 -b(-1\))435 253 y(!Shift<Key>z:)141 b(SetValue\(Zoom,)22 -b(+1\))75 347 y Fo(`)p Fm(SwapSides\(\))p Fo(')315 402 -y(This)16 b(routine)f(c)o(hanges)h(the)f(b)q(oard)g(side)h(y)o(ou)f -(are)g(viewing.)21 b(Default:)435 474 y Fm(None<Key>Tab:)141 -b(SwapSides\(\))75 568 y Fo(`)p Fm(SwitchDrawingLayer\(valu)o(e\))p -Fo(')315 622 y(Mak)o(es)14 b(la)o(y)o(er)h(n)o(umer)h(1..8)e(the)h -(curren)o(t)g(one.)20 b(Default:)435 694 y Fm(None<Key>1:)189 -b(SwitchDrawingLayer\(1\))435 746 y(...)435 798 y(None<Key>8:)g -(SwitchDrawingLayer\(8\))75 892 y Fo(`)p Fm(ToggleHideName\(Object|S)o -(electedE)o(lements)o(\))p Fo(')315 947 y(T)l(oggles)15 -b(whether)h(the)f(elemen)o(t's)h(name)f(is)h(displa)o(y)o(ed)g(or)f -(hidden.)22 b(If)16 b(it)f(is)h(hidden)h(y)o(ou)315 1001 -y(w)o(on't)h(see)h(it)h(on)f(the)g(screen)h(and)f(it)h(will)h(not)e -(app)q(ear)g(on)g(the)g(silk)i(la)o(y)o(er)e(when)g(y)o(ou)315 -1056 y(prin)o(t)d(the)f(la)o(y)o(out.)435 1128 y Fm(None<Key>h:)46 -b(ToggleHideName\(Object\))435 1180 y(!Shift<Key>h:)g -(ToggleHideName\(SelectedEle)o(ments\))75 1274 y Fo(`)p -Fm(Undo\(\))p Fo(')75 1328 y(`)p Fm(Undo\(ClearList\))p -Fo(')315 1383 y(The)15 b(unlimited)j(undo)e(feature)e(of)h -Fm(Pcb)g Fo(allo)o(ws)g(y)o(ou)g(to)g(reco)o(v)o(er)f(from)g(most)h(op) -q(erations)315 1438 y(that)10 b(materially)i(a\013ect)e(y)o(ou)h(w)o -(ork.)18 b(Calling)12 b Fh(Undo\(\))g Fo(without)f(an)o(y)f(parameter)h -(reco)o(v)o(ers)315 1493 y(from)16 b(the)h(last)g(\(non-undo\))g(op)q -(eration.)24 b Fh(Cle)n(arList)c Fo(is)d(used)g(to)g(release)g(the)g -(allo)q(cated)315 1548 y(memory)l(.)28 b Fh(Cle)n(arList)20 -b Fo(is)f(called)g(whenev)o(er)f(a)g(new)g(la)o(y)o(out)g(is)g(started) -f(or)h(loaded.)28 b(See)315 1602 y(also)15 b Fh(R)n(e)n(do)p -Fo(.)20 b(Default:)435 1674 y Fm(None<Key>u:)189 b(Undo\(\))435 -1726 y(!Shift)23 b(Ctrl<Key>u:)f(Undo\(ClearList\))75 -1820 y Fo(`)p Fm(Unselect\(All|Block|Conn)o(ection\))p -Fo(')315 1875 y(Unselects)13 b(all)g(visible)i(ob)s(jects,)c(all)i -(inside)h(a)e(rectangle)h(or)e(all)j(ob)s(jects)d(whic)o(h)i(ha)o(v)o -(e)f(b)q(een)315 1930 y(found)k(during)g(the)f(last)g(connection)h -(scan.)k(Default:)435 2001 y Fm(!Shift)j(<Btn3Down>:)f(Mode\(Save\))h -(Mode\(None\))f(Unselect\(Block\))435 2053 y(!Shift)h(<Btn3Up>:)70 -b(Unselect\(Block\))22 b(Mode\(Restore\))75 2257 y Fl(5.3)33 -b(Default)22 b(T)-6 b(ranslations)137 2367 y Fo(This)22 -b(section)f(co)o(v)o(ers)f(some)h(default)g(translations)g(of)f(k)o(ey) -h(and)g(button)f(ev)o(en)o(ts)h(as)f(de\014ned)i(in)75 -2422 y(the)f(shipp)q(ed)h(default)g(application)g(resource)f(\014le.)37 -b(Most)20 b(of)g(them)h(ha)o(v)o(e)f(already)h(b)q(een)h(listed)g(in)75 -2477 y(Section)c(5.2)d([Actions],)i(page)g(35.)24 b Fm(Pcb)16 -b Fo(mak)o(es)g(use)h(of)g(a)f(nice)i Fm(X11)e Fo(feature;)h(calling)i -(sev)o(eral)e(action)75 2532 y(routines)f(for)e(one)i(ev)o(en)o(t.)75 -2680 y(`)p Fm(None<Key>BackSpace:)p Fo(')p eop -%%Page: 44 45 -44 44 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255 -b(44)75 149 y(`)p Fm(None<key>Delete:)p Fo(')75 204 y(`)p -Fm(!Shift<Key>BackSpace:)p Fo(')75 259 y(`)p Fm(!Shift)14 -b(Ctrl<Btn1Down>:)p Fo(')315 314 y(The)h(ob)s(ject)f(at)g(the)h(cursor) -f(lo)q(cation)i(is)f(remo)o(v)o(ed)f(b)o(y)h Fh(None)p -Fm(<)p Fh(Key)p Fm(>)p Fh(BackSp)n(ac)n(e)h Fo(or)e Fh(Shift)315 -369 y(Ctrl)p Fm(<)p Fh(Btn1Down)p Fm(>)i Fo(whereas)g -Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(BackSp)n(ac)n(e)i -Fo(also)f(remo)o(v)o(es)e(all)j(other)e(ob)s(jects)315 -423 y(that)e(are)h(fully-connected)j(to)d(the)g(one)g(at)g(the)g -(cursor)g(lo)q(cation.)75 503 y(`)p Fm(!Mod1)f(Ctrl<Key>Left:)p -Fo(')75 558 y(`)p Fm(!Mod1)g(Ctrl<Key>Right:)p Fo(')75 -613 y(`)p Fm(!Mod1)g(Ctrl<Key>Up:)p Fo(')75 667 y(`)p -Fm(!Mod1)g(Ctrl<Key>Down:)p Fo(')315 722 y(Scroll)i(one)g(page)f(in)h -(one)f(of)g(the)g(four)g(directions.)75 802 y(`)p Fm(None<Key>Left:,)e -(!Shift<Key>Left:)p Fo(')75 857 y(`)p Fm(None<Key>Right:,)g -(!Shift<Key>Right:)p Fo(')75 912 y(`)p Fm(None<Key>Up:,)g -(!Shift<Key>Up:)p Fo(')75 966 y(`)p Fm(None<Key>Down:,)g -(!Shift<Key>Down:)p Fo(')315 1021 y(Mo)o(v)o(e)h(crosshair)h(either)h -(one)g(or)e(ten)i(p)q(oin)o(ts)f(in)h(grid.)75 1101 y(`)p -Fm(None<Key>Return:)p Fo(')315 1156 y(Finished)h(user)e(input,)h -(selects)g(the)f('default')g(button)g(of)g(dialogs.)75 -1235 y(`)p Fm(None<Key>Escape:)p Fo(')315 1290 y Fh(Mo)n(de\(R)n -(eset\))p Fo(,)h(ab)q(orts)g(user)i(input,)g(selects)g(the)g('ab)q -(ort')e(button)h(of)g(dialogs)g(or)g(resets)315 1345 -y(all)f(mo)q(des.)75 1425 y(`)p Fm(None<Btn2Down>,)d(Btn2<Motion>,)g -(None<Btn2Up>:)p Fo(')75 1479 y(`)p Fm(!Mod1<Btn2Down>,)g -(Btn2<Motion>,)g(!Mod1<Btn2Up>:)p Fo(')315 1534 y(The)19 -b(\014rst)g(sequence)h(mo)o(v)o(es)f(the)g(ob)s(ject)f(or)h(elemen)o(t) -h(name)f(at)g(the)g(cursor)g(lo)q(cation.)315 1589 y(The)c(second)h -(one)f(copies)i(the)e(ob)s(jects.)k(Cop)o(ying)c(isn't)h(a)o(v)m -(ailable)h(for)d(elemen)o(t)i(names.)p eop -%%Page: 45 46 -45 45 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268 -b(45)75 149 y Fk(6)41 b(File)25 b(F)-7 b(ormats)137 273 -y Fo(All)16 b(\014les)f(used)g(b)o(y)g Fm(Pcb)f Fo(are)g(read)g(from)g -(the)g(standard)g(output)g(of)g(a)g(command)h(or)f(written)g(to)g(the) -75 327 y(standard)g(input)i(of)e(one)h(as)f(plain)i(sev)o(en)f(bit)h -Fm(ASCII)p Fo(.)j(This)c(mak)o(es)f(it)h(p)q(ossible)h(to)e(use)h(an)o -(y)g(editor)g(to)75 382 y(c)o(hange)e(the)g(con)o(ten)o(ts)f(of)g(a)h -(la)o(y)o(out)f(\014le.)20 b(It)13 b(is)g(the)g(only)g(w)o(a)o(y)f(for) -g(elemen)o(t)h(or)g(fon)o(t)f(description)i(\014les)g(to)75 -437 y(b)q(e)f(created.)19 b(T)l(o)12 b(do)g(so)g(y)o(ou'll)h(need)g(to) -f(study)h(the)f(example)h(\014les)h(`)p Fm(example/*)p -Fo(')c(and)i(`)p Fm(default_font)p Fo(')75 492 y(whic)o(h)k(are)f -(shipp)q(ed)i(with)f Fm(Pcb)p Fo(.)j(F)l(or)c(an)g(o)o(v)o(erview)g -(refer)g(to)f(Chapter)h(1)g([In)o(tro],)f(page)h(4.)137 -561 y(The)j(follo)o(wing)f(sections)h(pro)o(vide)g(the)f(necessary)g -(information)g(ab)q(out)g(the)g(syn)o(tax)g(of)f(the)h(\014les.)75 -616 y(Netlist)h(\014les)g(are)f(not)g(created)g(b)o(y)g -Fm(Pcb)p Fo(,)g(but)g(it)h(do)q(es)f(use)h(them.)26 b(F)l(or)17 -b(information)g(on)g(the)g(format)75 671 y(of)f(a)h(netlist)g(\014le)h -(see)f(the)g Fh(:rn)p Fo(,)f(Chapter)h(3)f([User)g(Commands],)g(page)h -(25.)23 b(Rat)16 b(lines)i(are)f(added)g(on)75 725 y(the)f(curren)o(t)g -(la)o(y)o(er)g(using)h(the)g(curren)o(t)f(The)g(commands)g(describ)q -(ed)i(allo)o(w)f(y)o(ou)f(to)f(add)i(almost)e(an)o(y)75 -780 y(additional)i(functionalit)o(y)g(y)o(ou)e(ma)o(y)g(need.)23 -b(Examples)16 b(are)f(compressed)h(read)g(and)g(write)g(access)f(as)75 -835 y(w)o(ell)f(as)f(arc)o(hiv)o(es.)19 b(The)14 b(commands)f(themselv) -o(es)g(are)g(de\014ned)i(b)o(y)e(the)g(resources)g Fh(elementCommand)p -Fo(,)75 890 y Fh(\014leCommand)p Fo(,)22 b Fh(fontCommand)p -Fo(,)i Fh(libr)n(aryCommand)p Fo(,)f Fh(libr)n(aryContentsCommand)i -Fo(and)d Fh(saveCom-)75 945 y(mand)p Fo(.)32 b(Note)19 -b(that)g(the)g(commands)g(are)g(not)g(sa)o(v)o(ed)g(along)g(with)h(the) -f(data.)31 b(It)20 b(is)f(considered)i(an)75 999 y(adv)m(an)o(tage)g -(to)f(ha)o(v)o(e)h(the)g(la)o(y)o(out)f(\014le)i(con)o(tain)g(all)g -(necessary)f(information,)h(indep)q(enden)o(t)i(of)c(an)o(y)75 -1054 y(other)15 b(\014les.)137 1123 y(One)21 b(thing)f(common)g(to)f -(all)h(\014les)h(is)g(they)e(ma)o(y)h(include)i(commen)o(ts,)e -(newlines,)i(and)e(carriage)75 1178 y(returns)15 b(at)g(an)o(y)f(place) -j(except)e(within)i(quoted)e(strings.)75 1312 y Fl(6.1)33 -b(Basic)22 b(T)n(yp)r(es)137 1410 y Fo(Here)16 b(are)f(the)g(basic)h(t) -o(yp)q(e)f(de\014nitions)i(used)f(in)g(the)f(other)g(sections)h(of)e -(this)i(c)o(hapter.)195 1477 y Fm(Description)118 b(=)24 -b(Name)195 1528 y(DeltaAngle)142 b(=)24 b(Number)195 -1580 y(DrillingHole)94 b(=)24 b(Number)195 1632 y(Flags)262 -b(=)24 b(Number)195 1684 y(FontPosition)94 b(=)24 b(Number)195 -1736 y(Grid)286 b(=)24 b(Number)195 1788 y(GridOffsetX)118 -b(=)24 b(Number)195 1840 y(GridOffsetY)118 b(=)24 b(Number)195 -1892 y(Group)262 b(=)24 b(GroupMember)e([,GroupMember]...)195 -1944 y(GroupMember)118 b(=)24 b(decimal)e(|)i([cs])195 -1995 y(GroupString)118 b(=)24 b(""")f(Group)g([:Group]...)g(""")195 -2047 y(StyleString)f(=)i(""")g(Style)f([:Style]...)f(""")195 -2099 y(Height)238 b(=)24 b(Number)195 2151 y(LayerNumber)118 -b(=)24 b(Number)195 2203 y(LayoutName)142 b(=)24 b(Name)195 -2255 y(Name)286 b(=)24 b(quoted_string)195 2307 y(Number)238 -b(=)24 b(decimal)e(|)i(hex)195 2359 y(PinNumber)f(=)g(quoted_string)195 -2411 y(Spacing)214 b(=)24 b(Number)195 2462 y(StartAngle)142 -b(=)24 b(Number)195 2514 y(SymbolID)190 b(=)24 b(Number)f(|)g -(charconst)195 2566 y(Thickness)166 b(=)24 b(Number)195 -2618 y(TextData)190 b(=)24 b(quoted_string)195 2670 y(TextFlags)166 -b(=)24 b(Flags)p eop -%%Page: 46 47 -46 46 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268 -b(46)195 149 y Fm(TextScale)166 b(=)24 b(scale)195 201 -y(TextX)262 b(=)24 b(Number)195 253 y(TextY)262 b(=)24 -b(Number)195 305 y(Value)262 b(=)24 b(Name)195 357 y(Width)262 -b(=)24 b(Number)195 409 y(X)358 b(=)24 b(Number)195 461 -y(X1)334 b(=)24 b(Number)195 513 y(X2)334 b(=)24 b(Number)195 -565 y(Y)358 b(=)24 b(Number)195 616 y(Y1)334 b(=)24 b(Number)195 -668 y(Y2)334 b(=)24 b(Number)195 720 y(charconst)166 -b(=)24 b("'")f(<any)g(character>)g("'")195 772 y(comment)214 -b(=)24 b("#")f({<any)g(character)g(up)g(to)h(a)g(newline>}...)195 -824 y(decimal)214 b(=)24 b([0-9]+)195 876 y(direction)166 -b(=)24 b([0-3])195 928 y(hex)310 b(=)24 b(0x[0-9a-fA-F]+)195 -980 y(scale)262 b(=)24 b([1-<positive)e(integer>])195 -1032 y(quoted_string)70 b(=)24 b(""")f(<anything)g(except)g(\\n)g(and)h -(\\r>)f(""")195 1083 y(zoom)286 b(=)24 b([0-MAX])75 1210 -y Fl(6.2)33 b(La)n(y)n(out)23 b(File)h(F)-6 b(ormat)137 -1306 y Fo(The)15 b(la)o(y)o(out)g(\014le)h(describ)q(es)g(a)f(complete) -h(la)o(y)o(out)e(including)k(sym)o(b)q(ols,)d(vias,)g(elemen)o(ts)g -(and)g(la)o(y)o(ers)75 1361 y(with)h(lines,)g(rectangles)f(and)h(text.) -j(This)d(is)g(the)f(most)f(complex)i(\014le)h(of)d(all.)195 -1425 y Fm(File)286 b(=)24 b(Header)f(Font)g(PCBData)195 -1477 y(Header)238 b(=)24 b(PCBName)e([GridData])h([CursorData])f -([PCBFlags])h([Groups])195 1528 y(PCBName)214 b(=)24 -b("PCB\(")f(Name)g(Width)g(Height)g("\)")195 1580 y(GridData)190 -b(=)24 b("Grid\(")e(Grid)i(GridOffsetX)e(GridOffsetY)g("\)")195 -1632 y(CursorData)142 b(=)24 b("Cursor\(")e(X)i(Y)g(zoom)f("\)")195 -1684 y(PCBFlags)190 b(=)24 b("Flags\(")e(Flags)h("\)")195 -1736 y(Groups)238 b(=)24 b("Groups\(")e(GroupString)h("\)")195 -1788 y(Styles)g(=)h("Styles\(")e(StyleString)h("\)")195 -1840 y(Font)286 b(=)24 b({FontData}...)195 1892 y(FontData)190 -b(=)24 b({Symbol}...)195 1944 y(Symbol)238 b(=)24 b("Symbol\(")e -(SymbolID)h(Spacing)g("\)")720 1995 y("\(")g({SymbolData}...)f("\)")195 -2047 y(SymbolData)142 b(=)24 b({SymbolLine}...)195 2099 -y(SymbolLine)142 b(=)24 b("SymbolLine\(")e(X1)h(Y1)h(X2)f(Y2)h -(Thickness)f("\)")195 2151 y(PCBData)214 b(=)24 b({Via)f(|)h(Layer)f(|) -g(Element}...)195 2255 y(Via)310 b(=)24 b("Via\(")f(X)g(Y)h(Thickness)f -(DrillingHole)f(Name)h(Flags)g("\)")195 2359 y(Element)214 -b(=)24 b("Element\(")e(Flags)h(Description)g(LayoutName)f(Value)h(\\) -720 2411 y(TextX)g(TextY)g(direction)g(scale)g(TextFlags"\)")720 -2462 y("\(")g({ElementData}...)f([Mark])h("\)")195 2514 -y(ElementData)118 b(=)24 b({ElementLine)e(|)h(Pad)h(|)g(Pin)f(|)h -(ElementArc)e(}...)195 2566 y(ElementArc)142 b(=)24 b("ElementArc\(")e -(X)h(Y)h(Width)f(Height)720 2618 y(StartAngle)f(DeltaAngle)h(Thickness) -g("\)")195 2670 y(ElementLine)118 b(=)24 b("ElementLine\(")d(X1)j(Y1)g -(X2)f(Y2)h(Thickness)e("\)")p eop -%%Page: 47 48 -47 47 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268 -b(47)195 149 y Fm(Mark)286 b(=)24 b("Mark\(")e(X)i(Y)g("\)")195 -201 y(Pad)310 b(=)24 b("Pad\(")f(X1)g(Y1)h(X2)f(Y2)h(Thickness)f(Name)g -(PinNumber)g(Flags"\)")195 253 y(Pin)310 b(=)24 b("Pin\(")f(X)g(Y)h -(Thickness)f(DrillingHole)f(Name)h(PinNumber)g(Flags)g("\)")195 -357 y(Layer)262 b(=)24 b("Layer\(")e(LayerNumber)h(Name)g("\)")720 -409 y("\(")g({LayerData}...)f("\)")195 461 y(LayerData)166 -b(=)24 b({Line)f(|)g(Polygon)g(|)h(Text}...)195 513 y(Line)286 -b(=)24 b("Line\(")e(X1)i(Y1)g(X2)f(Y2)h(Thickness)e(Flags"\)")195 -565 y(Arc)h(=)h("Arc\(")f(X)h(Y)g(Width)f(Height)g(StartAngle)f -(DeltaAngle)h(Thickness)g(Flags"\)")195 616 y(Polygon)214 -b(=)24 b("Polygon\(")e(Flags)h("\)")h(\\)720 668 y("\(")f({Points}...)g -("\)")195 720 y(Points)238 b(=)24 b("\(")f(X)h(Y)f("\)")195 -772 y(Text)286 b(=)24 b("Text\(")e(X)i(Y)g(direction)f(scale)g -(TextData)f(Flags"\)")75 850 y Fo(`)p Fm(PCBName)p Fo(')46 -b(is)18 b(used)f(to)g(de\014ne)h(the)f(la)o(y)o(out's)f(name)h(whic)o -(h)h(is)g(indep)q(enden)o(t)i(of)c(its)i(\014lename.)26 -b(It)17 b(is)315 905 y(displa)o(y)o(ed)f(in)h(the)e(lo)o(w)o(er)g(left) -g(corner)g(of)g(the)g(main)h(windo)o(w.)75 983 y(`)p -Fm(GridData)p Fo(')315 1038 y(is)f(optional)h(and)e(is)i(used)f(to)f -(sa)o(v)o(e)g(the)h(grid)g(setting)g(and)g(o\013set)e(whic)o(h)j(w)o -(ere)e(set)h(at)f(the)315 1092 y(time)i(the)f(la)o(y)o(out)f(w)o(as)h -(sa)o(v)o(ed.)75 1170 y(`)p Fm(CursorData)p Fo(')315 -1225 y(also)h(is)h(an)g(optional)f(parameter)g(to)g(sa)o(v)o(e)f(the)i -(last)f(cursor)g(lo)q(cation)h(and)g(zo)q(om)f(v)m(alue.)315 -1280 y(The)f(real)h(zo)q(om)f(factor)f(is)i(calculated)g(b)o(y)g(scale) -f(=)h(1:\(2)e(p)q(o)o(w)o(er)h(v)m(alue\).)75 1358 y(`)p -Fm(PCBFlags)p Fo(')315 1413 y(determine)20 b(ho)o(w)e(to)h(dra)o(w)f -(lines)i(and)g(whic)o(h)f(name)g(of)g(the)g(elemen)o(ts)g(should)h(b)q -(e)g(dis-)315 1467 y(pla)o(y)o(ed.)530 1531 y Fm(bit)k(4:)47 -b(do)24 b(rubberband)e(moves)i(and)f(rotates)g(if)h(set)530 -1583 y(bit)g(5:)47 b(display)23 b(description)g(of)g(elements)g(if)h -(set)530 1635 y(bit)g(6:)47 b(display)23 b(unique)g(name)h(of)f(an)h -(element)f(if)g(set)530 1687 y(bit)h(7:)47 b(use)24 b(absolute)f(grid)g -(if)g(set)530 1738 y(bit)h(8:)47 b(don't)24 b(clip)f(lines)g(to)h(45)f -(degrees)75 1816 y Fo(`)p Fm(Groups)p Fo(')70 b(La)o(y)o(ergroups)10 -b(are)h(sa)o(v)o(ed)g(b)o(y)g(using)h(this)g(optional)f(parameter.)18 -b(The)11 b(only)h(w)o(a)o(y)e(of)h(c)o(hang-)315 1871 -y(ing)16 b(them)g(is)g(to)f(use)h(an)g(editor)g(and)g(alter)g(the)g -(appropriate)f(line.)24 b(The)16 b(c)o(haracters)f Fh(c,s)315 -1926 y Fo(idenify)i(the)e(comp)q(onen)o(t-)h(and)f(solder-side)i(for)e -(SMD)f(ob)s(jects.)75 2004 y(`)p Fm(Symbol)p Fo(')70 -b(See)16 b(the)f(description)i(of)e(fon)o(t)f(\014les)i(in)g(this)g(c)o -(hapter.)75 2082 y(`)p Fm(Via)p Fo(')142 b(Vias)19 b(are)e(alw)o(a)o -(ys)h(connected)h(to)f(all)h(la)o(y)o(ers)f(whic)o(h)h(also)f(means)g -(vias)g(are)g(one)h(logical)315 2137 y(lev)o(el)i(ahead)f(of)g(la)o(y)o -(ers.)34 b(Vias)20 b(are)g(de\014ned)h(b)o(y)f(p)q(osition,)i(size,)f -(name)f(and)g(b)o(y)g(some)315 2191 y(\015ags.)530 2255 -y Fm(bit)k(0:)47 b(always)23 b(clear)530 2307 y(bit)h(1:)47 -b(always)23 b(set)530 2359 y(bit)h(2:)47 b(set)24 b(if)f(via)h(was)f -(found)g(during)h(a)f(connection)g(search)530 2411 y(bit)h(4:)47 -b(set)24 b(if)f(via)h(is)f(a)h(hole)f(\(has)h(no)f(copper)g(annulus\)) -530 2462 y(bit)h(5:)47 b(display)23 b(the)h(vias)f(name)530 -2514 y(bit)h(6:)47 b(via)24 b(has)f(been)h(selected)530 -2566 y(bit)g(12:)f(set)h(if)f(via)h(has)f(octagonal)g(shape)530 -2618 y(Other)h(bits)f(have)g(special)g(meaning)g(and)h(should)f(not)g -(be)h(changed)530 2670 y(by)g(the)f(user.)48 b(See)23 -b(const.h)g(for)g(more)h(information)p eop -%%Page: 48 49 -48 48 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268 -b(48)75 149 y(`)p Fm(Element)p Fo(')46 b(See)16 b(the)f(description)i -(of)e(elemen)o(t)g(\014les)i(in)f(this)f(c)o(hapter.)75 -229 y(`)p Fm(Layer)p Fo(')94 b(A)19 b(la)o(y)o(er)g(is)h(the)f(cen)o -(tral)h(ob)s(ject)e(from)h(the)g(user's)g(p)q(oin)o(t)h(of)f(view.)32 -b(It)20 b(holds)g(all)g(con-)315 284 y(nections)e(and)g(all)g(text)f -(ob)s(jects.)26 b(Up)18 b(to)e(8)h(ma)o(y)g(b)q(e)h(used)g(individuall) -q(y)l(.)30 b(Its)17 b(n)o(um)o(b)q(er,)315 339 y(starting)e(with)g -(one,)g(and)g(its)h(name)f(are)g(read)g(as)g(argumen)o(ts.)315 -419 y(`)p Fm(Line)p Fo(')118 b(All)19 b(lines)g(are)e(iden)o(ti\014ed)j -(b)o(y)d(their)h(start)f(and)g(endp)q(oin)o(ts)i(together)e(with)555 -474 y(their)c(thic)o(kness)f(and)g(some)g(\015ags.)19 -b(They)12 b(ha)o(v)o(e)f(to)h(\014t)g(a)f(45)h(degree)g(sc)o(heme.)770 -538 y Fm(bit)24 b(2:)47 b(set)24 b(if)f(line)h(was)f(found)g(during)g -(a)h(connection)f(search)770 590 y(bit)h(4:)47 b(line)24 -b(is)f(a)h(rat-line)770 642 y(bit)g(6:)47 b(line)24 b(has)f(been)g -(selected)315 722 y Fo(`)p Fm(Polygon)p Fo(')46 b(used)13 -b(to)g(\014ll)h(a)f(larger)f(area)h(with)g(`)p Fm(copper)p -Fo('.)k(The)c(co)q(ordinates)h(sp)q(ecify)g(the)555 777 -y(corners.)20 b(The)15 b(\015ags)g(are:)770 841 y Fm(bit)24 -b(2:)47 b(set)24 b(if)f(polygon)g(was)h(found)f(during)g(a)h -(connection)e(search)770 893 y(bit)i(4:)47 b(polygon)23 -b(is)h(a)g(1.5)f(style)g(polygon)g(that)g(automatically)g(clears)g -(pins)770 945 y(bit)h(6:)47 b(polygon)23 b(has)h(been)f(selected)315 -1025 y Fo(`)p Fm(Text)p Fo(')118 b(Y)l(ou)19 b(ma)o(y)e(use)i(text)f -(ob)s(jects)g(to)g(add)h(information)f(to)g(y)o(our)g(b)q(oard.)30 -b(An)555 1080 y(example)21 b(w)o(ould)f(b)q(e)g(naming)h(a)e(connector) -h(or)f(marking)h(pin)h(one)f(of)f(it.)555 1134 y(The)c(p)q(osition)g -(marks)f(the)g(lo)o(w)o(er)h(left)f(corner)h(of)f(the)g(string)h(whic)o -(h)g(is)g(also)555 1189 y(a)i(\014xp)q(oin)o(t)i(for)e(rotations.)27 -b(T)l(ext)17 b(directions)i(are)f(indep)q(enden)o(t)i(to)d(those)555 -1244 y(of)h(lines.)32 b(They)19 b(are)f(coun)o(ted)h(from)f(zero)g(to)g -(three)h(with)g(a)f(meaning)h(of)555 1299 y(zero)f(to)f(270)g(degree)h -(rotations)f(coun)o(ter-clo)q(c)o(kwise.)30 b(The)18 -b(scaling)h(v)m(alue)555 1354 y(is)d(a)f(p)q(ositiv)o(e)h(in)o(teger)f -(whic)o(h)h(determines)g(a)f(zo)q(om)g(factor)f(in)i(p)q(ercen)o(t.)770 -1418 y Fm(bit)24 b(6:)47 b(the)24 b(text)f(has)h(been)f(selected)770 -1470 y(bit)h(7:)47 b(the)24 b(text)f(is)h(on)f(the)h(solder)f(\(back\)) -g(side)g(of)h(the)f(board)770 1522 y(bit)h(10:)f(the)h(text)f(is)h(on)f -(the)h(silkscreen)e(layer)75 1676 y Fl(6.3)33 b(Elemen)n(t)23 -b(File)h(F)-6 b(ormat)137 1773 y Fo(Elemen)o(t)15 b(\014les)g(are)f -(used)h(to)f(describ)q(e)i(one)e(comp)q(onen)o(t)h(whic)o(h)g(then)g -(ma)o(y)e(b)q(e)i(used)g(sev)o(eral)g(times)75 1827 y(within)21 -b(one)f(or)g(more)f(la)o(y)o(outs.)34 b(Y)l(ou)20 b(will)h(normally)g -(split)g(the)f(\014le)h(in)o(to)f(t)o(w)o(o)e(parts,)i(one)h(for)e(the) -75 1882 y(pinout)g(and)g(one)g(for)f(the)h(pac)o(k)m(age)g -(description.)32 b(Using)19 b Fm(m4)g Fo(allo)o(ws)g(y)o(ou)f(to)g -(de\014ne)i(pin)g(names)e(as)75 1937 y(macros)f(in)h(one)g(\014le)g -(and)g(include)h(a)f(pac)o(k)m(age)f(description)i(\014le)f(whic)o(h)h -(ev)m(aluates)f(the)g(macros.)25 b(See)75 1992 y(the)15 -b(resource)h Fh(elementCommand)j Fo(for)c(more)g(information.)20 -b(The)c(pins)g(\(and)g(pads\))f(m)o(ust)g(app)q(ear)g(in)75 -2047 y(squen)o(tial)j(order)e(in)i(the)f(elemen)o(t)g(\014le)h(\(new)f -(in)g(1.5\))f(so)g(that)g(pin)i(1)f(m)o(ust)f(b)q(e)h(the)g(\014rst)g -(PIN\(...\))23 b(in)75 2101 y(the)15 b(\014le.)137 2169 -y(Doing)22 b(things)g(this)g(w)o(a)o(y)f(mak)o(es)g(it)h(p)q(ossible)h -(to)e(use)i(one)e(pac)o(k)m(age)h(\014le)h(for)e(sev)o(eral)h -(di\013eren)o(t)75 2224 y(circuits.)f(See)16 b(the)f(sample)h(\014les)g -(`)p Fm(dil*)p Fo('.)137 2291 y(The)d(lo)o(w)o(est)e(x)i(and)f(y)g(co)q -(ordinates)h(of)f(all)h(sub)q(ob)s(jects)f(of)g(an)g(elemen)o(t)h(are)f -(used)h(as)f(an)g(attac)o(hmen)o(t)75 2346 y(p)q(oin)o(t)k(for)e(the)i -(crosshair)f(cursor)g(of)f(the)i(main)f(windo)o(w.)195 -2411 y Fm(File)286 b(=)24 b({Element}...)195 2462 y(Element)214 -b(=)24 b("Element\(")e(Flags)h(Description)g(LayoutName)f(Value)h(\\) -720 2514 y(TextX)g(TextY)g(direction)g(scale)g(TextFlags"\)")720 -2566 y("\(")g({ElementData}...)f([Mark])h("\)")195 2618 -y(ElementData)118 b(=)24 b({ElementLine)e(|)h(Pad)h(|)g(Pin)f(|)h -(ElementArc)e(}...)195 2670 y(ElementArc)142 b(=)24 b("ElementArc\(")e -(X)h(Y)h(Width)f(Height)p eop -%%Page: 49 50 -49 49 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268 -b(49)720 149 y Fm(StartAngle)22 b(DeltaAngle)h(Thickness)g("\)")195 -201 y(ElementLine)118 b(=)24 b("ElementLine\(")d(X1)j(Y1)g(X2)f(Y2)h -(Thickness)e("\)")195 253 y(Mark)286 b(=)24 b("Mark\(")e(X)i(Y)g("\)") -195 305 y(Pad)310 b(=)24 b("Pad\(")f(X1)g(Y1)h(X2)f(Y2)h(Thickness)f -(Name)g(PinNumber)g(Flags)g("\)")195 357 y(Pin)310 b(=)24 -b("Pin\(")f(X)g(Y)h(Thickness)f(DrillingHole)f(Name)h(PinNumber)g -(Flags)g("\)")75 432 y Fo(`)p Fm(Element)p Fo(')46 b(Ob)s(jects)15 -b(of)g(t)o(yp)q(e)g(elemen)o(t)h(are)f(determined)i(b)o(y)e(\015ags,)g -(some)f(names,)h(a)g(canonical)i(and)315 487 y(a)k(la)o(y)o(out)g(name) -g(as)g(w)o(ell)i(as)e(a)g(v)m(alue.)39 b(Additional)23 -b(\014elds)g(are)e(text)g(p)q(osition,)i(their)315 541 -y(direction)f(coun)o(ted)e(from)g(zero)g(to)g(three)g(\(n)g(*)g(90)g -(degrees)g(coun)o(ter-clo)q(c)o(kwise\))i(and)315 596 -y(elemen)o(t)16 b(data.)315 671 y(`)p Fm(Flags)p Fo(')94 -b(The)18 b(\015ag)g(\014eld)h(determines)h(the)e(state)f(of)h(an)g -(elemen)o(t.)29 b(The)18 b(bit)h(v)m(alues)555 726 y(are:)736 -788 y(bit)c(4:)30 b(the)15 b(elemen)o(t)h(name)f(is)h(hidden)736 -839 y(bit)f(6:)30 b(elemen)o(t)16 b(has)f(b)q(een)h(selected)736 -891 y(bit)f(7:)30 b(elemen)o(t)16 b(is)g(lo)q(cated)f(on)h(the)f -(solder)h(side)315 966 y(`)p Fm(TextFlags)p Fo(')315 -1021 y(`)p Fm(scale)p Fo(')315 1076 y(`)p Fm(direction)p -Fo(')555 1130 y(See)g(the)f(description)i(of)e(text)f(ob)s(ject)h -(earlier)h(in)g(this)g(c)o(hapter.)315 1205 y(`)p Fm(ElementLine)p -Fo(')555 1260 y(A)21 b(line)i(is)e(de\014ned)h(b)o(y)f(its)g(start)f -(and)h(end)h(p)q(oin)o(ts)f(and)g(b)o(y)g(its)h(size,)g(or)555 -1315 y(width.)315 1390 y(`)p Fm(ElementArc)p Fo(')555 -1444 y(De\014nes)e(an)f(arc)g(b)o(y)g(its)g(cen)o(ter,)h(width,)h -(heigh)o(t,)f(startangle,)f(its)g(length)555 1499 y(in)f(degrees)f(and) -g(its)g(size.)26 b(Remem)o(b)q(er)16 b(the)h(y)g(axis)g(on)g(the)g -(screen)g(gro)o(ws)555 1554 y(do)o(wn)o(w)o(ards.)315 -1629 y(`)p Fm(Mark)p Fo(')118 b(is)22 b(just)f(a)h(hin)o(t)g(to)f(mak)o -(e)g(p)q(ositioning)i(easier.)40 b(The)21 b(crosshair)h(will)h(b)q(e) -555 1683 y(p)q(ositioned)17 b(here.)j(Its)15 b(cen)o(ter)g(is)h(passed) -g(as)e(the)i(t)o(w)o(o)d(argumen)o(ts.)315 1758 y(`)p -Fm(Pad)p Fo(')142 b(A)17 b(pad)h(is)f(v)o(ery)g(similar)i(to)d(a)h -(line)i(except)f(it)f(ma)o(y)g(not)f(b)q(e)i(disconnected)555 -1813 y(from)g(its)h(elemen)o(t)g(and)g(it)g(has)f(an)h(asso)q(ciated)g -(name.)30 b(Is)19 b(is)g(de\014ned)h(b)o(y)555 1868 y(t)o(w)o(o)14 -b(end)i(p)q(oin)o(t)f(p)q(osition,)h(size,)g(name)f(and)h(b)o(y)f(some) -g(\015ags.)770 1930 y Fm(bit)24 b(2:)47 b(set)24 b(if)f(pad)h(was)f -(found)g(during)h(a)f(connection)g(search)770 1982 y(bit)h(5:)47 -b(display)23 b(the)h(pads)f(name)770 2033 y(bit)h(6:)47 -b(pad)24 b(has)f(been)h(selected)770 2085 y(bit)g(7:)47 -b(pad)24 b(is)f(located)g(on)h(the)f(solder)g(side)315 -2160 y Fo(`)p Fm(Pin)p Fo(')142 b(A)19 b(pin)h(is)f(v)o(ery)g(similar)h -(to)e(a)g(via)i(except)f(it)g(ma)o(y)f(not)h(b)q(e)g(disconnected)555 -2215 y(from)14 b(its)i(elemen)o(t.)770 2277 y Fm(bit)24 -b(0:)47 b(always)23 b(set)770 2329 y(bit)h(1:)47 b(always)23 -b(clear)770 2380 y(bit)h(2:)47 b(set)24 b(if)f(pin)h(was)f(found)g -(during)h(a)f(connection)g(search)770 2432 y(bit)h(3:)47 -b(set)24 b(if)f(pin)h(is)f(only)h(a)f(mounting)g(hole)h(\(no)f(copper)g -(annulus\))770 2484 y(bit)h(5:)47 b(display)23 b(the)h(pins)f(name)770 -2536 y(bit)h(6:)47 b(pin)24 b(has)f(been)h(selected)770 -2588 y(bit)g(8:)47 b(pin)24 b(is)f(drawn)h(as)f(a)h(square)770 -2640 y(bit)g(12:)f(set)h(if)f(pin)h(is)f(drawn)h(with)f(an)h(octagonal) -e(shape)p eop -%%Page: 50 51 -50 50 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268 -b(50)75 149 y Fl(6.4)33 b(F)-6 b(on)n(t)23 b(File)h(F)-6 -b(ormat)137 246 y Fo(A)17 b(n)o(um)o(b)q(er)h(of)e(user)h(de\014ned)i -(sym)o(b)q(ols)e(are)g(called)i(a)d(fon)o(t.)25 b(There)17 -b(is)h(only)f(one)g(p)q(er)h(la)o(y)o(out.)25 b(All)75 -301 y(sym)o(b)q(ols)15 b(are)g(made)h(of)e(lines.)22 -b(See)16 b(the)f(\014le)h(`)p Fm(default_font)p Fo(')d(as)i(an)g -(example.)137 368 y(The)h(lo)o(w)o(est)e(x)h(and)h(y)f(co)q(ordinates)h -(of)e(all)i(lines)h(of)e(a)g(fon)o(t)f(are)h(transformed)f(to)h -(\(0,0\).)195 433 y Fm(File)286 b(=)24 b(Font)195 484 -y(Font)286 b(=)24 b({FontData}...)195 536 y(FontData)190 -b(=)24 b({Symbol}...)195 588 y(Symbol)238 b(=)24 b("Symbol\(")e -(SymbolID)h(FontPosition)f("\)")720 640 y("\(")h({SymbolData}...)f -("\)")195 692 y(SymbolData)142 b(=)24 b({SymbolLine}...)75 -772 y Fo(`)p Fm(Symbol)p Fo(')70 b(The)18 b(t)o(w)o(o)e(argumen)o(ts)h -(are)g(the)h Fm(ASCII)e Fo(co)q(de)i(of)g(the)f(sym)o(b)q(ol)h(and)g -(its)g(distance)g(to)f(the)315 827 y(next)12 b(sym)o(b)q(ol.)19 -b(Unde\014ned)13 b(sym)o(b)q(ols)f(are)g(dra)o(wn)f(as)h(\014lled)h -(rectangles.)19 b(The)12 b Fm(ASCII)f Fo(co)q(de)315 -882 y(ma)o(y)j(b)q(e)i(passed)g(as)f(a)f(c)o(haracter)h(constan)o(t)f -(or)h(as)g(a)g(hexadecimal)i(v)m(alue.)315 961 y(`)p -Fm(SymbolLine)p Fo(')555 1016 y(The)g(sym)o(b)q(ol)h(data)e(itself)i -(is)g(made)f(up)h(of)e(sev)o(eral)i(en)o(tries)f(of)g(t)o(yp)q(e)g -Fh(Sym-)555 1071 y(b)n(olLine)p Fo(.)75 1225 y Fl(6.5)33 -b(Library)25 b(Con)n(ten)n(ts)d(File)h(F)-6 b(ormat)137 -1321 y Fo(There)18 b(is)g(nothing)h(lik)o(e)g(a)e(sp)q(ecial)j(library) -e(format.)26 b(The)18 b(ones)g(that)f(ha)o(v)o(e)g(b)q(een)i(in)o(tro)q -(duced)g(in)75 1376 y(1.4.1)f(just)h(use)g(some)g(nice)i(\(and)e(time)h -(consuming\))g(fetures)f(of)g(GNU)g Fm(m4)p Fo(.)32 b(The)19 -b(only)h(prede\014ned)75 1431 y(format)d(is)i(the)f(one)g(of)g(the)g -(con)o(ten)o(ts)g(\014le)h(whic)o(h)g(is)g(read)f(during)h(startup.)28 -b(It)18 b(is)h(made)f(up)h(of)e(t)o(w)o(o)75 1486 y(basic)f(line)h(t)o -(yp)q(es:)195 1550 y Fm(menu)23 b(entry)143 b(=)24 b("TYPE="name)195 -1602 y(contents)f(line)71 b(=)24 b(template":"package":"va)o(lue":"d)o -(escript)o(ion)195 1654 y(name)286 b(=)24 b(String)195 -1706 y(template)190 b(=)24 b(String)195 1758 y(package)214 -b(=)24 b(String)195 1810 y(value)262 b(=)24 b(String)195 -1862 y(description)118 b(=)24 b(String)195 1914 y(String)238 -b(=)24 b(<anything)e(except)h(":",)h("\\n")f(and)g("\\r">)137 -1981 y Fo(No)11 b(leading)i(whitespaces)f(or)e(commen)o(ts)h(are)g -(allo)o(w)o(ed)h(in)g(this)f(\014le.)20 b(If)11 b(y)o(ou)g(need)h -(either)g(one,)g(de\014ne)75 2036 y(a)g(command)g(that)f(remo)o(v)o(es) -g(them)h(b)q(efore)g(loading.)20 b(Ha)o(v)o(e)11 b(a)h(lo)q(ok)g(to)f -(the)i Fh(libr)n(aryContentsCommand)75 2091 y Fo(resource.)137 -2158 y(The)i(men)o(u)f(en)o(try)g(will)i(app)q(ear)e(in)h(the)g -(selection)g(men)o(u)g(at)e(the)i(top)f(and)g(of)g(the)g(library)h -(windo)o(w.)75 2287 y Fl(6.6)33 b(Library)25 b(File)e(F)-6 -b(ormat)137 2383 y Fo(This)23 b(section)f(pro)o(vides)g(an)g(o)o(v)o -(erview)g(ab)q(out)f(the)h(existing)h Fm(m4)f Fo(de\014nitions)h(of)f -(the)g(elemen)o(ts.)75 2438 y(There)16 b(are)f(basically)i(t)o(w)o(o)c -(di\013eren)o(t)j(t)o(yp)q(es)f(of)g(\014les.)21 b(One)16 -b(to)f(de\014ne)i(elemen)o(t)f(sp)q(eci\014c)h(data)d(lik)o(e)j(the)75 -2493 y(pinout,)j(pac)o(k)m(age)f(and)h(so)e(on,)i(the)f(other)g(to)f -(de\014ne)j(the)e(v)m(alues.)32 b(F)l(or)19 b(example)h(the)f(static)g -(RAM)75 2548 y(circuits)c(43256)e(and)i(62256)d(are)i(v)o(ery)g -(similar.)21 b(They)14 b(therefore)g(share)g(a)g(common)g(de\014nition) -i(in)f(the)75 2603 y(macro)f(\014le)j(but)e(are)g(de\014ned)i(with)e(t) -o(w)o(o)f(di\013eren)o(t)h(v)m(alue)i(lab)q(els.)137 -2670 y(The)f(macro)e(\014le)i(en)o(try:)p eop -%%Page: 51 52 -51 51 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268 -b(51)195 149 y Fm(define\(`Description_43256_)o(dil',)21 -b(`SRAM)i(32Kx8'\))195 201 y(define\(`Param1_43256_dil',)d(28\))195 -253 y(define\(`Param2_43256_dil',)g(600\))195 305 y -(define\(`PinList_43256_dil')o(,)h(``pin1',)i(`pin2',)g(...'\))137 -372 y Fo(And)16 b(the)f(list)h(\014le:)195 437 y Fm -(43256_dil:N:43256:62256)137 504 y Fo(The)h(macro)f(m)o(ust)g(de\014ne) -h(a)f(description,)i(the)f(pin)g(list)g(and)g(up)g(to)f(t)o(w)o(o)f -(additional)j(parameters)75 559 y(that)c(are)h(passed)g(to)g(the)g(pac) -o(k)m(age)g(de\014nitions.)21 b(The)16 b(\014rst)e(one)h(is)h(the)f(n)o -(um)o(b)q(er)g(of)g(pins)h(whereas)f(the)75 614 y(second)h(one)f -(de\014nes)h(for)f(example)h(the)f(width)h(of)f(a)g(pac)o(k)m(age.)137 -681 y(It)k(is)g(v)o(ery)g(imp)q(ortan)o(t)f(to)g(select)h(a)g(unique)h -(iden)o(ti\014er)g(for)e(eac)o(h)h(macro.)30 b(In)19 -b(the)g(example)h(this)75 736 y(w)o(ould)h(b)q(e)h Fh(43256)p -399 736 14 2 v 18 w(dil)j Fo(whic)o(h)d(is)f(also)g(the)g(templates)g -(name.)38 b(It)21 b(is)g(required)h(b)o(y)f(some)g(lo)o(w-lev)o(el)75 -790 y(macros)14 b(that)h Fh(Description)p 560 790 V 17 -w(,)h(Par)n(am1)p 761 790 V 17 w(,)g(Par)n(am2)p 962 -790 V 33 w Fo(and)f Fh(PinList)p 1231 790 V 30 w Fo(are)g(prep)q -(ended.)137 858 y(The)h(list)g(\014le)g(uses)f(a)g(syn)o(tax:)195 -922 y Fm(template:package:value[:mo)o(re)21 b(values])137 -989 y Fo(This)13 b(means)f(that)f(the)h(sho)o(wn)f(example)i(will)g -(create)f(t)o(w)o(o)f(elemen)o(t)h(en)o(tries)g(with)h(the)f(sam)f(pac) -o(k)m(age)75 1044 y(and)k(pinout)h(but)g(with)f(di\013eren)o(t)h -(names.)137 1111 y(A)g(n)o(um)o(b)q(er)f(of)g(pac)o(k)m(ages)g(are)g -(de\014ned)h(in)g(`)p Fm(common.m4)p Fo('.)i(Included)g(are:)195 -1176 y Fm(DIL)23 b(packages)g(with)h(suffix)f(D,)g(DW,)h(J,)f(JD,)h -(JG,)f(N,)h(NT,)f(P)195 1227 y(PLCC)195 1279 y(TO3)195 -1331 y(generic)g(connectors)195 1383 y(DIN)g(41.612)g(connectors)195 -1435 y(zick-zack)g(\(SD)g(suffix\))195 1487 y(15)h(pin)f(multiwatt)137 -1554 y Fo(If)15 b(y)o(ou)e(are)h(going)g(to)f(start)g(y)o(our)h(o)o(wn) -f(library)i(please)g(tak)o(e)e(care)h(ab)q(out)g Fm(m4)g -Fo(functions.)20 b(Be)14 b(a)o(w)o(are)75 1609 y(of)f(quoting)g(and)g -(so)g(on)g(and,)h(most)e(imp)q(ortan)o(t)h(c)o(hec)o(k)g(y)o(our)g -(additional)h(en)o(try)f(b)o(y)g(calling)i(the)e(macro:)195 -1673 y Fm(CreateObject\(`template',)21 b(`value',)h(`package)h -(suffix'\))137 1741 y Fo(If)15 b(quoting)f(is)h(incorrect)g(an)f -(endless)h(lo)q(op)g(ma)o(y)e(o)q(ccur)i(\(brok)o(en)f(b)o(y)g(a)g -(out-of-memory)f(message\).)137 1808 y(The)22 b(scripts)f(in)h(the)f(`) -p Fm(lib)p Fo(')f(directory)h(handle)i(the)e(creation)g(of)g(libraries) -h(as)f(w)o(ell)h(as)f(of)f(their)75 1863 y(con)o(ten)o(ts)15 -b(\014les.)20 b(Querying)d(is)e(also)h(supp)q(orted.)137 -1930 y(I)h(kno)o(w)f(quite)i(w)o(ell)f(that)f(this)h(description)h(of)e -(the)h(library)g(implemen)o(tation)h(is)f(not)f(what)g(some)75 -1985 y(out)h(there)h(exp)q(ect.)28 b(But)18 b(in)g(m)o(y)g(opinion)h -(it's)e(m)o(uc)o(h)h(more)f(useful)i(to)e(lo)q(ok)h(at)f(the)h(commen)o -(ts)f(and)75 2039 y(follo)o(w)e(the)h(macros)e(step)h(b)o(y)g(step.)p -eop -%%Page: 52 53 -52 52 bop 75 -58 a Fo(App)q(endix)17 b(A:)e(Installation)i(and)e(T)l -(roublesho)q(oting)835 b(52)75 149 y Fk(App)r(endix)25 -b(A)41 b(Installation)26 b(and)h(T)-7 b(roublesho)r(oting)137 -254 y Fo(Compiling)16 b(and)f(installing)i(the)e(pac)o(k)m(age)g -(should)g(b)q(e)h(straigh)o(tforw)o(ard.)h(If)e(an)o(y)g(problems)g(o)q -(ccur,)75 309 y(please)e(con)o(tact)f(the)g(author)g(\(Thomas.Nau)p -Fm(@)p Fo(rz.uni-ulm.de\))g(to)g(\014nd)h(a)f(solution)h(and)g(include) -h(it)f(in)o(to)75 364 y(the)i(next)h(release.)75 485 -y Fl(A.1)33 b(Compiling)24 b(and)f(Installing)137 579 -y Fo(This)16 b(section)g(co)o(v)o(ers)e(the)i(steps)f(whic)o(h)h(are)f -(necessary)g(to)g(compile)h(the)g(pac)o(k)m(age.)75 684 -y Fg(A.1.1)30 b(Editing)21 b(con\014g.h)137 778 y Fo(Most)11 -b Fm(X11)h Fo(related)g(options)g(are)g(automatically)g(co)o(v)o(ered)g -(b)o(y)g Fm(imake)f Fo(whic)o(h)i(is)f(called)i(from)d -Fm(xmkmf)p Fo(.)75 832 y(The)k(ones)h(sp)q(ecial)h(to)d -Fm(Pcb)h Fo(ha)o(v)o(e)g(to)f(b)q(e)i(edited)h(in)f(`)p -Fm(config.h)p Fo('.)i(In)d(order)g(of)g(app)q(earance:)75 -927 y(`)p Fm(INFOLIBDIR)p Fo(')315 982 y(m)o(ust)g(b)q(e)g(set)g(to)g -(the)g(directory)h(where)f(y)o(our)g(GNU)g(info)g(\014les)i(are)e(lo)q -(cated.)75 1057 y(`)p Fm(/usr/X11R6/lib/X11/pcb)p Fo(')315 -1112 y(is)h(the)f(path)g(of)g(a)g(directory)g(where)h(the)f(fon)o(t)f -(\014les)i(will)h(b)q(e)f(installed.)75 1186 y(`)p Fm(DEFAULTFONT)p -Fo(')315 1241 y(the)f(name)g(of)g(the)h(default)f(fon)o(t)g(\014le.)75 -1316 y(`)p Fm(DEFAULTLIBRARY)p Fo(')315 1371 y(the)g(name)g(of)g(the)h -(default)f(library)l(.)75 1446 y(`)p Fm(gm4)p Fo(')142 -b(the)15 b(name)g(of)g(GNUs)g(m4)g(v)o(ersion.)75 1520 -y(`)p Fm(Mod1)p Fo(')118 b(If)15 b(y)o(our)e(windo)o(w)i(manager)e(has) -i(already)f(b)q(ound)h Fh(Mo)n(d1)21 b Fo(together)13 -b(with)i(some)f(function)315 1575 y(k)o(eys)h(y)o(ou)g(ma)o(y)f(w)o(an) -o(t)g(to)h(c)o(hange)g(this)h(setting.)k(This)c(is)f(true)g(for)g -(HP-VUE.)75 1650 y(`)p Fm(EXTRA_INCLUDES)p Fo(')315 1705 -y(Some)d(systems)g(do)g(not)f(ha)o(v)o(e)h(the)g(A)o(thena)g(Widget)g -(include)j(\014les)e(in)f(their)h(normal)f(place)315 -1760 y(as)j(con\014gured)h(b)o(y)f Fm(X11)p Fo(s)f(con\014g)i(\014les.) -21 b(De\014ne)15 b(this)h(as)f(follo)o(ws:)530 1822 y -Fm(EXTRA_INCLUDES)22 b(=)i(-I/usr/openwin/share/includ)o(e)315 -1886 y Fo(This)16 b(is)f(probably)h(true)f(for)g(Suns)h(whic)o(h)g(use) -f Fm(OpenWindows)p Fo(.)75 1961 y(`)p Fm(PATCHES)p Fo(')46 -b(This)21 b(sym)o(b)q(ol)f(is)h(passed)g(to)e(the)i(compiler.)36 -b(Use)20 b(it)h(to)f(de\014ne)h(additional)h(compiler)315 -2016 y(\015ags.)d(Add)12 b(the)h Fh(-DNEED)p 791 2016 -14 2 v 17 w(STRDUP)j Fo(\015ag,)c(if)h(y)o(our)f(system)g(do)q(es)h -(not)e(ha)o(v)o(e)h(a)g(strdup\(\))315 2071 y(library)k(function.)75 -2146 y(`)p Fm(HAS_REGEX)p Fo(')315 2200 y(Set)h(to)g -Fh(-DHAS)p 600 2200 V 16 w(REGEX)24 b Fo(if)18 b(y)o(our)f(system)f -(supp)q(orts)i(regular)f(expressions.)27 b(This)17 b(en-)315 -2255 y(ables)f(the)f(actions)g Fh(Sele)n(ct\(*ByName\))p -Fo(.)75 2330 y(`)p Fm(EXITCALL)p Fo(')315 2385 y(The)i(sym)o(b)q(ol)g -Fh(EXITCALL)d Fo(should)j(b)q(e)h(de\014ned)g(according)f(to)f(the)h -Fh(c)n(al)r(l)g(on)g(exit)k Fo(func-)315 2440 y(tions)15 -b(supp)q(orted)h(b)o(y)f(y)o(our)g(system.)k(There)d(are)f(three)g(c)o -(hoices:)530 2501 y Fm(EXITCALL)23 b(=)h(-DHAS_ATEXIT)94 -b(if)23 b(atexit\(\))g(is)h(supported)e(\(SYSV\))530 -2553 y(EXITCALL)h(=)h(-DHAS_ON_EXIT)70 b(if)23 b(on_exit\(\))g(and)g -(no)h(atexit\(\))f(is)g(supported)530 2605 y(EXITCALL)g(=)406 -b(if)23 b(none)h(of)f(them)h(is)f(supported)315 2670 -y Fo(Please)16 b(c)o(hec)o(k)f(y)o(our)g(manpages)g(for)f(details.)p -eop -%%Page: 53 54 -53 53 bop 75 -58 a Fo(App)q(endix)17 b(A:)e(Installation)i(and)e(T)l -(roublesho)q(oting)835 b(53)75 149 y(`)p Fm(SYS_LIBRARIES)p -Fo(')315 204 y(This)18 b(sym)o(b)q(ol)g(is)g(used)g(to)f(pass)g -(additional)i(libraries)h(to)c(the)i(link)o(er.)28 b(The)18 -b(only)g(addi-)315 259 y(tional)e(libraries)h(whic)o(h)f(are)e(used)i -(are)f(the)g(math)g(and)g(lex)h(library)l(.)137 344 y(If)f(y)o(ou)f(ha) -o(v)o(e)g(to)g(mak)o(e)g(system)f(dep)q(enden)o(t)j(c)o(hanges)f -(please)g(include)i(them)d(in)o(to)g(a)h Fh(#ifdef)g(A)o(r)n(chi-)75 -398 y(te)n(ctur)n(e)j Fo(...)h Fh(#endif)25 b Fo(construct)15 -b(and)g(mail)h(a)f(cop)o(y)g(to)g(the)g(author)g(\(Thomas.Nau)p -Fm(@)p Fo(rz.uni-ulm.de\).)137 469 y(No)o(w)i(run)h Fm(xmkmf)c(-a)j -Fo(whic)o(h)i(creates)e(the)g(`)p Fm(Makefiles)p Fo(')f(and)h(runs)h -Fm(make)c(depend)p Fo(.)26 b(This)18 b(should)75 524 -y(\014nish)12 b(without)e(an)o(y)g(problems)h(except)g(some)f(systems)f -(whic)o(h)j(complain)f(ab)q(out)f(missing)i(include)g(\014les.)75 -578 y(Don't)g(w)o(orry)h(ab)q(out)g(an)o(y)g(suc)o(h)g(w)o(arnings)h -(at)e(this)i(time,)g(the)f(pac)o(k)m(age)h(should)g(compile)h(without)e -(an)o(y)75 633 y(problems.)75 752 y Fg(A.1.2)30 b(Man)n(uals)137 -851 y Fo(After)13 b Fm(xmkmf)h(-a)f Fo(has)f(created)h(the)g(new)g(`)p -Fm(Makefile)p Fo(')e(y)o(ou)i(are)f(able)i(to)e(create)g(the)h -(manpages,)g(the)75 906 y(application)k(resource,)e(the)g(info)h -(\014le,)g(the)f Fm(TeX)g Fo(output)g(and)g(a)g(reference)h(card)f(b)o -(y)g(executing)195 974 y Fm(\(cd)23 b(doc;)h(make\))195 -1026 y(\(cd)f(src;)h(make)f(Pcb.ad\))137 1096 y Fo(Y)l(ou'll)c(need)f -Fm(TeX)p Fo(,)f Fm(texindex)f Fo(and,)i(if)f(y)o(ou)g(w)o(an)o(t)f -Fm(PostScript)p Fo(,)g Fm(dvips)h Fo(to)g(build)i(the)e(man)o(uals.)75 -1151 y(Preformatted)d(do)q(cumen)o(tation)h(for)g(the)g(default)g -(con\014guration)h(ma)o(y)e(b)q(e)i(found)f(in)h(the)f(`)p -Fm(./doc.ps)p Fo(')75 1206 y(directory)l(.)33 b(A)19 -b(simple)i Fh(make)i Fo(builds)f(ev)o(erything.)32 b(Generate)20 -b(a)f(prin)o(ted)h(cop)o(y)f(to)g(mak)o(e)g(y)o(our)g(life)75 -1260 y(easier.)h Fm(TeX-3.0)15 b Fo(failed,)h Fm(TeX-3.14)e -Fo(w)o(ork)o(ed)g(just)h(\014ne.)75 1379 y Fg(A.1.3)30 -b(Compiling)21 b(the)f(P)n(ac)n(k)m(age)137 1479 y Fo(After)e(reac)o -(hing)h(this)g(p)q(oin)o(t,)g(it)g(is)g(time)g(for)f -Fm(make)p Fo(.)29 b(It)18 b(should)i(build)g(ev)o(erything)f(without)f -(an)o(y)75 1533 y(errors.)h(If)d(it)f(do)q(esn't)g(refer)g(to)g -(Section)h(A.2)e([problems],)h(page)g(53.)137 1604 y(Y)l(ou)23 -b(ha)o(v)o(e)g(to)f(b)q(e)h(ro)q(ot)f(to)g(install)j(the)d(pac)o(k)m -(age)h(or)g(at)f(least)h(a)f(user)h(with)g(the)g(appropriate)75 -1659 y(priv)o(eleges)f(in)f(some)f Fm(X11)g Fo(directories.)37 -b(Set)20 b(the)h(umask)f(to)g Fh(022)27 b Fo(or)20 b(else)i(some)e -(\014les)h(will)h(not)e(b)q(e)75 1713 y(found)c(b)q(ecause)g(the)f -(directory)g(isn't)h(w)o(orld)f(readable.)137 1784 y(If)j(y)o(ou)g(do)f -(not)h(ha)o(v)o(e)f(the)h(appropriate)g(p)q(ermissions)h(y)o(ou)e -(should)i(run)f(`)p Fm(./pcbtest.sh)p Fo(')d(in)k(the)75 -1839 y(`)p Fm(src)p Fo(')14 b(directory)h(to)g(run)g -Fm(Pcb)g Fo(from)g(the)g(installation)i(directory)l(.)137 -1909 y Fm(make)e(install)20 b Fo(and)i Fm(make)14 b(install.man)20 -b Fo(install)j(the)e(program,)h(the)f(fon)o(ts,)h(the)f(application)75 -1964 y(default)g(resource)f(\014le,)i(all)f(elemen)o(t)g(and)f(pac)o(k) -m(age)h(data)e(as)h(w)o(ell)h(as)f(the)g(manpage)g(in)o(to)g(the)g -Fm(X11)75 2019 y Fo(directories.)h Fm(make)14 b(install.info)g -Fo(do)q(es)i(the)f(same)g(for)f(the)i Fm(GNU)e Fo(info)i(\014le.)75 -2156 y Fl(A.2)33 b(T)-6 b(roublesho)r(oting)137 2255 -y Fo(There)12 b(are)g(some)f(kno)o(wn)h(problems.)19 -b(Most)11 b(of)g(them)h(are)f(related)i(to)e(missing)h(parts)g(of)f(a)g -(standard)75 2310 y Fm(X11)k Fo(distribution.)21 b(Some)15 -b(others)g(are)g(caused)h(b)o(y)f(third)h(part)o(y)e(applications)j -(suc)o(h)e(as)g Fm(X)g Fo(serv)o(ers.)k(T)l(o)75 2365 -y(mak)o(e)e(this)g(list)h(more)e(complete)i(please)g(mail)g(y)o(our)e -(problems)i(and,)f(if)h(a)o(v)m(ailable,)h(solutions)e(to)g(the)75 -2419 y(author.)i(The)c(mail)g(address)g(ma)o(y)f(b)q(e)h(found)g(at)f -(the)g(b)q(eginning)j(of)d(this)h(c)o(hapter.)k(In)d(an)o(y)e(case,)g -(read)75 2474 y(Section)i(A.2.8)e([X11],)g(page)h(55.)137 -2545 y(By)h(the)f(w)o(a)o(y)l(,)f(y)o(ou)h Fm(MUST)f(HAVE)h(AN)g(ANSI)f -(COMPILER)h Fo(to)f(mak)o(e)h Fm(Pcb)f Fo(w)o(ork.)137 -2615 y(If)j(the)g(shell)h(script)f Fm(create_sed_script.sh)d -Fo(fails)j(with)g(an)f(error)g(of)g Fm(awk)h Fo(c)o(hec)o(k)f(y)o(our)g -(system)75 2670 y(for)f Fm(nawk)f Fo(or)h(get)g(the)g -Fm(GNU)g(gawk)p Fo(.)k(See)d(the)f(script)h(for)e(details.)p -eop -%%Page: 54 55 -54 54 bop 75 -58 a Fo(App)q(endix)17 b(A:)e(Installation)i(and)e(T)l -(roublesho)q(oting)835 b(54)137 149 y(Another)16 b(source)g(of)f -(problems)i(are)e(older)i(v)o(ersions)f(of)f Fm(flex)h -Fo(and)g Fm(bison)p Fo(.)21 b Fm(Pcb)15 b Fo(de\014nitely)j(w)o(orks)75 -204 y(with)13 b Fm(flex-2.4.7)e Fo(and)i Fm(bison-1.22)e -Fo(or)h(later.)19 b(The)13 b(problems)g(will)h(result)f(in)g(a)f -Fh(syntax)i(err)n(or)j Fo(while)75 259 y(parsing)h(\014les.)27 -b(Y)l(ou)17 b(will)i(ha)o(v)o(e)e(to)g(add)h Fh(-l\015)j -Fo(to)c(the)g(SYS)p 1092 259 14 2 v 17 w(LIBRARIES)h(iden)o(ti\014er)h -(in)f(`)p Fm(Imakefile)p Fo('.)75 314 y(See)e(also,)f(Section)h(A.2.7)e -([F)l(reeBSD],)g(page)h(55.)137 380 y(The)g(follo)o(wing)h(list)g(giv)o -(es)f(y)o(ou)g(just)f(an)h(idea)h(b)q(ecause)g(I'm)f(not)g(able)g(to)g -(test)f(all)i Fm(Pcb)e Fo(releases)i(on)75 435 y(all)g(platforms.)75 -544 y Fg(A.2.1)30 b(HP)21 b(Series)g(700)e(and)i(800)137 -640 y Fo(Y)l(ou)11 b(ha)o(v)o(e)f(to)f(install)j(sev)o(eral)e -Fm(X11)g Fo(to)q(ols)g(\()p Fm(imake)p Fo(\))f(and)i(include)h(\014les) -f(or,)g(b)q(etter,)g(install)g(a)f(complete)75 695 y -Fm(X11R5)17 b Fo(release.)27 b(Hewlett-P)o(ac)o(k)m(ard)17 -b(do)q(esn't)g(supp)q(ort)h(the)f(A)o(thena)h(Widgets.)26 -b(So)18 b(the)f(header)h(\014les)75 749 y(and)i(libraries)i(are)d -(missing)i(from)e(the)h(application)i(media,)f(but)f(they)g(are)g(a)o -(v)m(ailable)h(as)f(a)g(patc)o(h.)75 804 y(They)c(also)h(do)f(not)f -(ship)j(the)e Fm(ANSI)f Fo(compiler)j(with)e(the)h(normal)f(op)q -(erating)g(system)g(release)h(so)e(y)o(ou)75 859 y(ha)o(v)o(e)g(to)f -(buy)i(one)f(or)g(use)h Fm(GCC)p Fo(.)j(Some)c(of)g(the)g(to)q(ols)g -(are)g(a)o(v)m(ailable)i(as)e(patc)o(hes.)137 925 y(In)k(addition,)h -Fm(Pcb)d Fo(has)h(b)q(een)i(successfully)g(tested)e(on)g(these)g -(platforms)g(with)g Fm(HPUX)d(9.*,)g(10.*)75 980 y Fo(running)h -(self-compiled)i Fm(X11R5)p Fo(.)75 1089 y Fg(A.2.2)30 -b(Sun)21 b(SP)-5 b(AR)n(C)21 b(arc)n(hitecture)137 1185 -y Fo(There)36 b(are)f(no)g(kno)o(wn)f(problems)i(with)g(Sun)g(mac)o -(hines)g(if)f(they)g(use)h Fm(X11R5)e Fo(instead)75 1240 -y(of)41 b Fm(OpenWindows)p Fo(.)96 b Fm(Pcb)41 b Fo(compiled)i -(successfully)g(with)f(all)g(kinds)g(of)f(SP)l(AR)o(Cstations)75 -1294 y Fm(Solaris-2.[345])p Fo(.)137 1361 y(F)l(or)15 -b(problems)h(with)f Fm(OpenWindows)f Fo(refer)h(to)f(Section)j(A.2.8)c -([X11],)h(page)h(55.)137 1427 y(If)h Fm(xmkmf)e Fo(is)i(missing,)g(try) -290 1491 y Fm(/usr/openwin/bin/imake)21 b(-DUseInstalled)h -(-I/usr/openwin/lib/config)290 1542 y(make)i(Makefile)290 -1594 y(make)g(includes)290 1646 y(make)g(depend)137 1713 -y Fo(instead.)19 b(I)12 b(got)e(it)h(compiled)h(but)f(the)g(link)o(er)h -(complained)h(ab)q(out)e(missing)g(sym)o(b)q(ols.)19 -b(The)11 b(problem)75 1767 y(ma)o(y)17 b(b)q(e)h(related)g(to)e(the)i -(mixed)g Fm(OpenWindows)e Fo(-)i Fm(X11R5)e Fo(en)o(vironmen)o(t)i -(whic)o(h)g(is)g(installed)i(on)d(the)75 1822 y(test)e(mac)o(hine.)20 -b(An)o(yw)o(a)o(y)15 b(the)g(co)q(de)h(w)o(as)e(executable)j(and)e(I)g -(ha)o(v)o(en't)g(got)f(a)h(core)g(y)o(et.)75 1932 y Fg(A.2.3)30 -b(Silicon)21 b(Graphics)137 2027 y Fm(Pcb)13 b Fo(has)f(b)q(een)i -(tested)f(on)g(some)f(b)q(o)o(xes)h(running)h(either)g -Fm(IRIX-4.0.5)d Fo(or)i Fm(IRIX-5.3)p Fo(.)18 b(The)13 -b(former)75 2082 y(one)j(uses)f(a)h Fm(X11R4)e Fo(serv)o(er.)21 -b(There)15 b(are)h(no)f(problems)h(except)g(some)f(additionally)j -(needed)f(compiler)75 2137 y(\015ags.)h(F)l(or)10 b(kno)o(wn)g -(problems)i(with)f Fm(X11R4)p Fo(,)f(see)h(Section)h(A.2.8)d([X11],)h -(page)h(55.)18 b(Chec)o(k)10 b(`)p Fm(Imakefile)p Fo(',)75 -2191 y(to)q(o.)75 2301 y Fg(A.2.4)30 b(DEC)22 b(Alpha)137 -2396 y Fm(Pcb)e Fo(compiled)j(and)d(runs)h(without)g(problems)g(on)g -Fm(DEC)14 b(UNIX)h(V3.2c)20 b Fo(if)h(y)o(ou)f(do)h(the)f(follo)o(wing) -75 2451 y(instead)c(of)f(calling)i Fm(xmkmf)d(-a)p Fo(:)290 -2514 y Fm(xmkmf)290 2566 y(make)24 b(Makefiles)290 2618 -y(make)g(includes)290 2670 y(make)g(depend)p eop -%%Page: 55 56 -55 55 bop 75 -58 a Fo(App)q(endix)17 b(A:)e(Installation)i(and)e(T)l -(roublesho)q(oting)835 b(55)75 149 y Fg(A.2.5)30 b(SCO)21 -b(Unix)137 246 y Fo(John)16 b(DuBois)g Fm(<)p Fo(sp)q(cecdt)p -Fm(@)p Fo(deepth)o(t.armory)l(.com)p Fm(>)e Fo(wrote:)195 -310 y Fm(SCO-ODT-3.0)22 b(requires)h(the)h(latest)f(version)g(of)g -(tls003,)g(the)g(Athena)195 362 y(widget)g(library)g(\(available)f -(from)i(sosco.sco.com\).)e(The)h(main)g(problems)195 -414 y(I)h(have)f(encountered)f(are)i(it)f(core)h(dumps)f(fairly)g -(often,)g(especially)195 466 y(while)g(loading/dropping)f(elements...) -137 533 y Fo(I'll)17 b(see)e(what)g(I)g(am)g(able)h(to)f(do)g(as)g(so)q -(on)g(as)f(I)i(ha)o(v)o(e)f(access)g(to)g(an)g Fm(SCO)g -Fo(system.)75 645 y Fg(A.2.6)30 b(Lin)n(ux)137 741 y -Fo(Since)18 b(the)e Fm(X11)g Fo(v)o(ersion)g(of)g Fm(Pcb)f -Fo(has)h(b)q(een)h(dev)o(elop)q(ed)h(on)e(a)g(Lin)o(ux)h(system)f(here) -g(are)g(no)g(kno)o(wn)75 796 y(problems.)75 908 y Fg(A.2.7)30 -b(F)-5 b(reeBSD)20 b(and)h(NetBSD)137 1005 y Fo(If)g -Fm(Pcb)e Fo(complains)j(ab)q(out)e(syn)o(tax)f(errors)g(ev)o(en)i(in)g -(the)f(demo)g(\014les)h(get)f(rid)h(of)e(y)o(our)h Fm(lex)g -Fo(and)75 1059 y Fm(yacc)d Fo(implemen)o(tation.)27 b(Replace)18 -b(them)f(b)o(y)g Fm(GNU)e(flex)i Fo(and)g Fm(bison)p -Fo(.)25 b(Don't)17 b(forget)f(to)h(c)o(hange)g(the)75 -1114 y(SYS)p 162 1114 14 2 v 17 w(LIBRARIES)f(in)g(`)p -Fm(Imakefile)p Fo(')d(from)h Fh(-l)r(l)20 b Fo(to)15 -b Fh(-l\015)p Fo(.)k(Y)l(ou)c(also)h(need)g(to)e(de\014ne:)290 -1178 y Fm(YACC)24 b(=)f(bison)h(-y)290 1230 y(LEX)g(=)g(flex)75 -1342 y Fg(A.2.8)30 b(Problems)21 b(related)f(to)g(X11)137 -1439 y Fo(There)k(are)g(a)f(some)h(problems)g(related)h(to)e -Fm(X11R4)g Fo(or)g(systems)h(deriv)o(ed)h(from)e Fm(X11)g -Fo(suc)o(h)h(as)75 1494 y Fm(OpenWindows)p Fo(.)34 b(See)22 -b(Section)f(A.2.2)e([Sun],)j(page)e(54.)36 b(Y)l(ou)20 -b(at)g(least)h(ha)o(v)o(e)f(to)g(c)o(hange)h(all)g(o)q(ccu-)75 -1548 y(rances)g(of)f Fh(b)n(aseT)m(r)n(anslations)i Fo(in)g(the)f -(resource)g(\014les)g(to)g Fh(tr)n(anslations)i Fo(if)e(y)o(ou)g(are)f -(using)i(a)f Fm(X11R4)75 1603 y Fo(serv)o(er.)e(Lo)q(ok)d(at)e(the)i -Fm(X11R5)e Fh(Intrinsics)j Fo(man)o(ual)e(for)g(details.)137 -1670 y(The)h(panner)g(widget)f(\(prin)o(t)h(dialog)g(b)q(o)o(x\))f(app) -q(ears)g(only)h(in)h(release)f Fm(X11R5)e Fo(and)i(later.)21 -b(It)15 b(really)75 1725 y(simpli\014es)i(adjusting)e(the)g(o\013sets.) -k(With)14 b(earlier)i(releases)f(the)g(prin)o(tout)g(will)h(alw)o(a)o -(ys)e(app)q(ear)h(in)h(the)75 1780 y(cen)o(ter)f(of)g(the)g(page.)137 -1847 y(Y)l(ou)j(ma)o(y)e(ha)o(v)o(e)h(some)g(problems)g(in)h(a)f(mixed) -h Fm(X11-OpenWindows)d Fo(en)o(vironmen)o(t.)26 b(If)17 -b(y)o(ou)g(w)o(an)o(t)75 1902 y(to)h(try)g(it)h(an)o(yw)o(a)o(y)e(y)o -(ou)h(ha)o(v)o(e)h(to)f(add)g(an)h(additional)h(path)e(for)g(include)j -(\014les)f(and)f(de\014ne)g(another)75 1957 y(sym)o(b)q(ol)d(in)g(`)p -Fm(Imakefile)p Fo(',)290 2021 y Fm(EXTRA_INCLUDES)22 -b(=)i(-I/usr/openwin/include)137 2088 y(Pcb)15 b Fo(has)g(b)q(een)h -(tested)f(successfully)j(with)d Fm(X11R6)g Fo(under)h(Lin)o(ux)g -(1.1.59)d(and)j(later.)75 2200 y Fg(A.2.9)30 b(Problems)21 -b(related)f(to)g(T)-5 b(eX)137 2297 y Fo(If)18 b(y)o(our)e -Fm(TeX)h Fo(installation)h(complains)h(ab)q(out)e(a)g(missing)h(`)p -Fm(texinfo.tex)p Fo(')c(\014le)19 b(cop)o(y)e(the)g(one)g(in-)75 -2352 y(cluded)d(in)g(this)e(release)i(\(directory)e(`)p -Fm(doc)p Fo(')f(to)h(y)o(our)g Fm(TeX)g Fo(macro)g(directory)l(.)19 -b(Note,)13 b(there)f(are)g(probably)75 2406 y(new)o(er)i(v)o(ersions)g -(of)f(this)i(\014le)g(a)o(v)m(ailable)g(from)e(some)h(FTP)f(sites.)20 -b Fm(TeX-3.0)13 b Fo(failed,)i Fm(TeX-3.14)e Fo(w)o(ork)o(ed)75 -2461 y(just)i(\014ne.)20 b(Chec)o(k)c(our)f(FTP)f(serv)o(er)h -Fh(ftp.uni-ulm.de)k Fo(for)c(ready-to-prin)o(t)g(v)o(ersions)g(of)g -(the)g(man)o(uals.)p eop -%%Page: 56 57 -56 56 bop 75 -58 a Fo(Index)16 b(of)f(Resources)1381 -b(56)75 149 y Fk(Index)26 b(of)h(Resources)75 307 y Fl(/)75 -372 y Fe(/usr/X11R6)o(/l)o(ib/)o(X1)o(1/p)o(cb)8 b Fd(.)e(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 -b Fc(52)75 512 y Fl(A)75 577 y Fe(absoluteGr)o(id)6 b -Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)22 -b Fc(30)75 624 y Fe(alignmentD)o(is)o(tan)o(ce)5 b Fd(.)s(.)i(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)19 b Fc(30)75 672 y Fe(allDirecti)o(on)o(Lin)o(es)8 -b Fd(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)24 b Fc(27,)13 b(30)75 811 y Fl(B)75 -875 y Fe(backupInte)o(rv)o(al)t Fd(.)s(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 -b Fc(27,)c(30)75 923 y Fe(bloat)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 -b Fc(30)75 1055 y Fl(C)75 1120 y Fe(characters)o(Pe)o(rLi)o(ne)8 -b Fd(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)24 b Fc(27,)13 b(30)75 1168 y Fe(connectedC)o(ol)o -(or)8 b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 -b Fc(30)75 1215 y Fe(crosshairC)o(ol)o(or)8 b Fd(.)s(.)e(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)21 b Fc(30)75 1348 y Fl(D)75 1412 -y Fe(default)10 b(font)t Fd(.)5 b(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)17 b Fc(27)75 1460 y Fe(DEFAULTFON)o(T)7 -b Fd(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 -b Fc(52)75 1508 y Fe(DEFAULTLIB)o(RA)o(RY)8 b Fd(.)s(.)e(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)21 b Fc(52)75 1640 y Fl(E)75 1705 -y Fe(elementCol)o(or)6 b Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)22 b Fc(30)75 1752 y Fe(elementCom)o(ma)o(nd)6 -b Fd(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)22 b Fc(27,)13 b(30,)g(45)75 1800 -y Fe(elementCon)o(te)o(nts)o(Co)o(mma)o(nd)8 b Fd(.)e(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 -b Fc(32)75 1847 y Fe(elementPat)o(h)7 b Fd(.)f(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Fc(31)75 1895 y Fe(elementSel)o(ec)o -(ted)o(Co)o(lor)s Fd(.)s(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)16 b Fc(30)75 -1943 y Fe(EXITCALL)s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(52)75 1990 y Fe(EXTRA_INCL)o(UD)o -(ES)8 b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 -b Fc(52)75 2123 y Fl(F)75 2187 y Fe(fileComman)o(d)9 -b Fd(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(27,)13 b(31,)g(45)75 -2235 y Fe(filePath)s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(31)75 2283 y Fe(fontComman)o(d)9 -b Fd(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(27,)13 b(31,)g(45)75 -2330 y Fe(fontFile)c Fd(.)s(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)21 b Fc(27,)13 b(31)75 2378 y Fe(fontPath)s Fd(.)s(.)7 -b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 -b Fc(31)75 2510 y Fl(G)75 2575 y Fe(gm4)7 b Fd(.)e(.)h(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 -b Fc(52)75 2622 y Fe(grid)6 b Fd(.)f(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 -b Fc(31)75 2670 y Fe(gridColor)8 b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(32)1012 307 y -Fl(H)1012 368 y Fe(HAS_REGEX)9 b Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)25 b Fc(52)1012 490 y Fl(I)1012 -551 y Fe(INFOLIBDIR)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)24 b Fc(52)1012 597 y Fe(invisibleOb)o(je)o(cts)o(Co)o -(lor)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)25 b Fc(32)1012 726 y Fl(L)1012 -787 y Fe(layerColor)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)24 b Fc(32)1012 833 y Fe(layerGroups)6 -b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b -Fc(27,)13 b(32)1012 879 y Fe(layerName)c Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)25 b Fc(32)1012 924 -y Fe(layerSelect)o(ed)o(Col)o(or)t Fd(.)t(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)19 -b Fc(32)1012 970 y Fe(libraryComm)o(an)o(d)7 b Fd(.)f(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 -b Fc(28,)13 b(32,)g(45)1012 1016 y Fe(libraryCont)o(en)o(tsC)o(om)o -(man)o(d)8 b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)21 b Fc(28,)13 b(45)1012 1062 y Fe(libraryFile)o(na)o(me)s -Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 b Fc(27,)c(32)1012 -1107 y Fe(libraryPath)6 b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)20 b Fc(28,)13 b(32)1012 1153 y Fe(lineThickne)o(ss)8 -b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 -b Fc(32)1012 1275 y Fl(M)1012 1336 y Fe(media)6 b Fd(.)t(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 -b Fc(33)1012 1382 y Fe(Mod1)6 b Fd(.)f(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20 -b Fc(52)1012 1504 y Fl(O)1012 1565 y Fe(offLimitCol)o(or)8 -b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 -b Fc(33)1012 1687 y Fl(P)1012 1748 y Fe(PATCHES)t Fd(.)t(.)6 -b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -17 b Fc(52)1012 1794 y Fe(pinColor)s Fd(.)t(.)6 b(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(33)1012 -1839 y Fe(pinoutFont0)o(..)o(4)8 b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)21 b Fc(33)1012 1885 y Fe(pinoutNameL)o(en)o(gth)8 -b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)25 b Fc(28,)13 b(33)1012 1931 -y Fe(pinoutOffse)o(tX)8 b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)22 b Fc(33)1012 1977 y Fe(pinoutOffse)o(tY)8 b -Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 -b Fc(33)1012 2022 y Fe(pinoutTextO)o(ff)o(set)o(X)6 b -Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 b Fc(33)1012 2068 -y Fe(pinoutTextO)o(ff)o(set)o(Y)6 b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -19 b Fc(33)1012 2114 y Fe(pinoutZoom)7 b Fd(.)s(.)f(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)g(.)21 b Fc(28,)13 b(33)1012 2159 y Fe(pinSelected)o -(Co)o(lor)6 b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)20 -b Fc(33)1012 2205 y Fe(printComman)o(d)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Fc(33)1012 2335 y Fl(R)1012 -2396 y Fe(raiseLogWin)o(do)o(w)8 b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)21 b Fc(33)1012 2441 y Fe(ratCommand)8 b -Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)24 -b Fc(33)1012 2487 y Fe(ratPath)t Fd(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)17 b Fc(34)1012 -2533 y Fe(resetAfterE)o(le)o(men)o(t)8 b Fd(.)e(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)25 -b Fc(28,)13 b(34)1012 2579 y Fe(ringBellWhe)o(nF)o(ini)o(sh)o(ed)c -Fd(.)s(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)22 b Fc(28,)13 b(34)1012 2624 y Fe(routeStyle)7 -b Fd(.)s(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 -b Fc(28,)13 b(34)1012 2670 y Fe(rubberBandM)o(od)o(e)8 -b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)21 b -Fc(34)p eop -%%Page: 57 58 -57 57 bop 75 -58 a Fo(Index)16 b(of)f(Resources)1381 -b(57)75 149 y Fl(S)75 210 y Fe(saveComman)o(d)9 b Fd(.)d(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)24 b Fc(28,)13 b(34,)g(45)75 256 y Fe(saveInTMP)8 -b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)21 -b Fc(28,)13 b(34)75 302 y Fe(saveLastCo)o(mm)o(and)s -Fd(.)s(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)16 b Fc(28,)d(34)75 348 -y Fe(shrink)5 b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(34)75 394 y Fe(size)10 -b Fd(.)c(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)24 b Fc(29,)13 b(34)75 440 y Fe(stipplePol)o(yg)o(ons)6 -b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)20 b Fc(34)75 -485 y Fe(SYS_LIBRAR)o(IE)o(S)9 b Fd(.)s(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)22 b Fc(52)75 608 y Fl(T)75 669 y Fe(textScale)8 -b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 -b Fc(34)75 792 y Fl(U)75 853 y Fe(useLogWind)o(ow)6 b -Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)22 -b Fc(35)1012 149 y Fl(V)1012 219 y Fe(viaColor)s Fd(.)t(.)6 -b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 -b Fc(35)1012 269 y Fe(viaDrilling)o(Ho)o(le)7 b Fd(.)s(.)f(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)21 b Fc(35)1012 319 y Fe(viaSelected)o(Co)o(lor)6 -b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)20 b Fc(35)1012 -368 y Fe(viaThicknes)o(s)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)23 b Fc(35)1012 418 y Fe(volume)8 b Fd(.)e(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)23 b Fc(29,)13 -b(35)1012 569 y Fl(W)1012 639 y Fe(warnColor)c Fd(.)d(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)25 b Fc(35)1012 -784 y Fl(Z)1012 853 y Fe(zoom)6 b Fd(.)f(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20 -b Fc(35)p eop -%%Page: 58 59 -58 58 bop 75 -58 a Fo(Index)16 b(of)f(Actions,)g(Commands)g(and)g -(Options)917 b(58)75 149 y Fk(Index)26 b(of)h(Actions,)g(Commands)h -(and)e(Options)75 321 y Fl(-)75 384 y Fe(-alldirect)o(io)o(ns)8 -b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b -Fc(27)75 430 y Fe(-backup)t Fd(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(27)75 -477 y Fe(-c)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(27)75 -523 y Fe(-copyright)7 b Fd(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)24 b Fc(29)75 570 y Fe(-fontfile)8 b -Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 -b Fc(27)75 616 y Fe(-help)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(29)75 -662 y Fe(-lelement)8 b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)24 b Fc(27)75 709 y Fe(-lfile)5 b -Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)18 b Fc(27)75 755 y Fe(-lfont)5 b Fd(.)t(.)h(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 -b Fc(27)75 802 y Fe(-lg)7 b Fd(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 -b Fc(27)75 848 y Fe(-libname)s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(27)75 895 -y Fe(-libpath)s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(28)75 941 y Fe(-llib)6 -b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)18 b Fc(28)75 988 y Fe(-llibcont)8 -b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 -b Fc(28)75 1034 y Fe(-loggeomet)o(ry)6 b Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)22 b Fc(28)75 1081 y Fe(-pnl)6 -b Fd(.)f(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(28)75 1127 y Fe(-pz)7 -b Fd(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Fc(28)75 1174 y Fe(-reset)5 -b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)18 b Fc(28)75 1220 y Fe(-ring)6 b Fd(.)t(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 -b Fc(28)75 1267 y Fe(-rs)7 b Fd(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 -b Fc(28)75 1313 y Fe(-s)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 -b Fc(28)75 1360 y Fe(-save)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b -Fc(28)75 1406 y Fe(-sfile)5 b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(28)75 -1453 y Fe(-size)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(29)75 1499 -y Fe(-v)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(29)75 -1546 y Fe(-version)s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(29)75 1672 y Fl(:)75 -1734 y Fe(:actionCom)o(ma)o(nd\()o(\))6 b Fd(.)t(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)h(.)19 b Fc(26)75 1781 y Fe(:l)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -20 b Fc(25)75 1827 y Fe(:le)7 b Fd(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 -b Fc(25)75 1874 y Fe(:m)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 -b Fc(25)75 1920 y Fe(:q)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 -b Fc(25)75 1967 y Fe(:rn)7 b Fd(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 -b Fc(25)75 2013 y Fe(:s)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 -b Fc(25)75 2060 y Fe(:w[q])6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b -Fc(26)75 2186 y Fb(+)75 2249 y Fe(+alldirect)o(io)o(ns)8 -b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b -Fc(27)75 2295 y Fe(+reset)5 b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(28)75 -2342 y Fe(+ring)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(28)75 2388 -y Fe(+s)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(28)75 -2435 y Fe(+save)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(28)75 2561 -y Fl(A)75 2624 y Fe(AddRats\(\))8 b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(36)75 2670 y -Fe(Atomic\(\))s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(36)1012 321 y Fl(B)1012 -387 y Fe(Bell\(\))5 b Fd(.)t(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(36)1012 521 -y Fl(C)1012 586 y Fe(ChangeDrill)o(Si)o(ze\()o(\))6 b -Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 b Fc(36)1012 634 -y Fe(ChangeHole\()o(\))6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)23 b Fc(36)1012 682 y Fe(ChangeName\()o(\))6 -b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 -b Fc(37)1012 730 y Fe(ChangeOctag)o(on)o(\(\))7 b Fd(.)s(.)f(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)21 b Fc(37)1012 778 y Fe(ChangeSize\()o(\))6 -b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 -b Fc(37)1012 826 y Fe(ChangeSquar)o(e\()o(\))8 b Fd(.)s(.)e(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)21 b Fc(37)1012 874 y Fe(Command\(\))9 -b Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)25 -b Fc(37)1012 922 y Fe(Connection\()o(\))6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Fc(37)1012 1056 y Fl(D)1012 -1121 y Fe(DeleteRats\()o(\))6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)23 b Fc(38)1012 1169 y Fe(Display\(\))9 -b Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)25 -b Fc(38)1012 1217 y Fe(DRC\(\))6 b Fd(.)t(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 -b Fc(38)1012 1351 y Fl(E)1012 1417 y Fe(EditLayerGr)o(ou)o(ps\()o(\))6 -b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 b Fc(38)1012 1559 -y Fl(L)1012 1624 y Fe(Load\(\))5 b Fd(.)t(.)h(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b -Fc(38)1012 1758 y Fl(M)1012 1824 y Fe(MarkCrossha)o(ir)o(\(\))7 -b Fd(.)s(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b Fc(39)1012 -1872 y Fe(Mode\(\))5 b Fd(.)t(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(39)1012 1920 -y Fe(MovePointer)o(\(\))8 b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)22 b Fc(40)1012 1968 y Fe(MoveToCurre)o(nt)o(Lay)o(er)o(\(\))s -Fd(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(40)1012 2109 y Fl(N)1012 -2175 y Fe(New\(\))6 b Fd(.)t(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(40)1012 -2309 y Fl(P)1012 2374 y Fe(PasteBuffer)o(\(\))8 b Fd(.)s(.)e(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(40)1012 2422 y -Fe(Polygon\(\))9 b Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)25 b Fc(41)1012 2470 y Fe(Print\(\))t -Fd(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)17 b Fc(41)1012 2605 y Fl(Q)1012 2670 y Fe(Quit\(\))5 -b Fd(.)t(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)18 b Fc(41)p eop -%%Page: 59 60 -59 59 bop 75 -58 a Fo(Index)16 b(of)f(Actions,)g(Commands)g(and)g -(Options)917 b(59)75 149 y Fl(R)75 210 y Fe(Redo\(\))5 -b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)18 b Fc(41)75 256 y Fe(RemoveSele)o(ct)o(ed\()o(\))6 -b Fd(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(42)75 -302 y Fe(Report\(\))s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(42)75 347 y Fe(RouteStyle)o(\(\))6 -b Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)22 -b Fc(42)75 477 y Fl(S)75 538 y Fe(Save\(\))5 b Fd(.)t(.)h(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 -b Fc(42)75 583 y Fe(Select\(\))s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(42)75 -629 y Fe(SetValue\(\))7 b Fd(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)24 b Fc(42)1012 149 y Fe(SwapSides\(\))6 -b Fd(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 -b Fc(43)1012 196 y Fe(SwitchDrawi)o(ng)o(Lay)o(er)o(\(\))s -Fd(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(43)1012 327 y Fl(T)1012 -389 y Fe(ToggleHideN)o(am)o(e\(\))6 b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)20 b Fc(43)1012 521 y Fl(U)1012 583 y Fe(Undo\(\))5 -b Fd(.)t(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)18 b Fc(43)1012 629 y Fe(Unselect\(\))8 -b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)24 -b Fc(43)p eop -%%Page: 60 61 -60 60 bop 75 -58 a Fo(Index)16 b(of)f(Concepts)1395 b(60)75 -149 y Fk(Index)26 b(of)h(Concepts)75 321 y Fl(/)75 383 -y Fc(/tmp)s Fd(.)7 b(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)16 b Fc(19,)d(28,)g(34)75 517 y Fl(A)75 580 y -Fc(ab)q(out,)h(command)f(button)5 b Fd(.)i(.)g(.)f(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)17 -b Fc(11)75 626 y(action)d(command)7 b Fd(.)g(.)f(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)19 b Fc(26)75 672 y(actions)5 b Fd(.)j(.)e(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 -b Fc(35)75 719 y(Actions,)c(initiating)h Fd(.)6 b(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)24 b Fc(26)75 765 y(alignmen)o(t)8 b Fd(.)h(.)d(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b -Fc(30)75 811 y(alignmen)o(t)15 b(targets)8 b Fd(.)e(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)20 b Fc(20)75 858 y(Alpha)t Fd(.)7 b(.)g(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 -b Fc(54)75 904 y(arc)12 b Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 -b Fc(6)75 950 y(arc,)13 b(an)g(example)s Fd(.)8 b(.)e(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)16 b Fc(15)75 997 y(arc)o(hitecture)6 -b Fd(.)h(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 -b Fc(54,)13 b(55)75 1043 y(ASCI)q(I)f(\014les,)i(format)f(of)c -Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(44)75 1089 y(A)o(tari)13 -b(v)o(ersion)f Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)22 b Fc(2)75 1136 y(atomic)7 b Fd(.)g(.)g(.)f(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)20 -b Fc(36)75 1261 y Fl(B)75 1324 y Fc(bac)o(kup)7 b Fd(.)h(.)e(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)21 b Fc(19,)13 b(27,)f(28,)h(30,)g(34)75 1370 -y(basic)h(t)o(yp)q(es)7 b Fd(.)h(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)20 b Fc(45)75 1416 y(b)q(ell)6 -b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)19 b Fc(36)75 1463 y(bloat)13 -b Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)25 b Fc(30)75 1509 y(bu\013er,)14 -b(an)f(example)8 b Fd(.)f(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 -b Fc(18)75 1555 y(bu\013er,)14 b(con)o(v)o(ert)f(con)o(ten)o(ts)h(to)f -(elemen)o(t)8 b Fd(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 -b Fc(17)75 1602 y(bu\013er,)14 b(p)q(opup)g(men)o(u)8 -b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(13)75 1648 -y(bu\013er,)14 b(selecting)h(a)7 b Fd(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)19 b Fc(40)75 1694 y(button)14 b(translations)g -Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 b Fc(35)75 1820 -y Fl(C)75 1882 y Fc(cat)7 b Fd(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Fc(31,)13 -b(34)75 1928 y(cen)o(tering)5 b Fd(.)j(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(38)75 1975 -y(c)o(hange)c(activ)o(e)g(la)o(y)o(er)5 b Fd(.)i(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)17 b Fc(10)75 2021 y(c)o(hange)d(dra)o(wing)g(la)o(y)o(er)5 -b Fd(.)i(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 b Fc(43)75 2068 y(c)o(hange)c(ob)r -(ject)f(name)6 b Fd(.)h(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 -b Fc(37)75 2114 y(c)o(hange)14 b(settings)9 b Fd(.)e(.)f(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)g(.)h(.)21 b Fc(42)75 2160 y(c)o(hange)14 -b(sizes)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 -b Fc(36,)c(37)75 2207 y(c)o(hange)h(square)g(\015ag)c -Fd(.)c(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)23 b Fc(37)75 -2253 y(c)o(hange)14 b(viewing)h(side)7 b Fd(.)g(.)f(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)20 b Fc(43)75 2299 y(c)o(haracters)14 b(p)q(er)f(line)5 -b Fd(.)j(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)g(.)18 b Fc(27,)13 b(30)75 2346 -y(clipping)j(lines)f(to)e(45)g(degree)5 b Fd(.)h(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(30,)c(38)75 -2392 y(clipping)j(of)d(lines)t Fd(.)8 b(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)17 b Fc(27)75 2438 y(closing)e(a)e(p)q(olygon)f -Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(41)75 -2485 y(color)14 b(prin)o(tout)f Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)24 b Fc(20)75 2531 y(color,)14 b(w)o(arning)8 -b Fd(.)f(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 -b Fc(35)75 2577 y(colors)t Fd(.)8 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)18 b Fc(30,)12 b(32,)h(33,)g(35)75 2624 y(command-line)i(options)6 -b Fd(.)j(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(26)75 2670 y(compile,)14 -b(ho)o(w)f(to)s Fd(.)7 b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)16 -b Fc(52)1012 321 y(con\014g.h)8 b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21 b Fc(52)1012 -376 y(connection,)15 b(remo)o(ving)g(an)t Fd(.)6 b(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)17 -b Fc(43)1012 431 y(connections,)e(colors)6 b Fd(.)i(.)e(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)20 b Fc(30)1012 486 y(connections,)15 b(creating)f(list)h -(of)6 b Fd(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)19 b Fc(21)1012 541 y(connections,)c(p)q(opup)g(men)o(u) -5 b Fd(.)h(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)18 b Fc(13)1012 596 y(connections,)d(reseting)8 -b Fd(.)f(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Fc(37)1012 651 y(connections,)15 -b(reseting)f(after)f(elemen)o(t)6 b Fd(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)g -(.)19 b Fc(28,)13 b(34)1012 706 y(connections,)i(searc)o(hing)g(for)c -Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)25 b Fc(37)1012 761 y(con)o(trol)15 b(panel)9 -b Fd(.)e(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 -b Fc(10)1012 816 y(cop)o(y)14 b(an)f(ob)r(ject)t Fd(.)7 -b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)17 -b Fc(44)1012 871 y(cop)o(ying)e(ob)r(jects)7 b Fd(.)g(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)20 b Fc(40)1012 926 y(cop)o(ying,)15 -b(an)e(example)f Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 -b Fc(19)1012 981 y(cop)o(yrigh)o(t)s Fd(.)9 b(.)d(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(29)1012 -1036 y(creating)e(ob)r(jects)s Fd(.)7 b(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)17 b Fc(14)1012 1091 y(cursor)d(color)e Fd(.)6 -b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 -b Fc(30)1012 1146 y(cursor)14 b(mo)o(v)o(emen)o(ts)t -Fd(.)7 b(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(40)1012 -1201 y(cursor)d(p)q(osition)g Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)25 b Fc(39)1012 1256 y(cursor)14 b(steps)c -Fd(.)c(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23 -b Fc(31)1012 1311 y(cutting)15 b(ob)r(jects)c Fd(.)6 -b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)24 b Fc(40)1012 -1490 y Fl(D)1012 1571 y Fc(DEC)t Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 -b Fc(54)1012 1625 y(default)d(fon)o(t)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)21 b Fc(27,)13 b(31)1012 1680 -y(default)h(la)o(y)o(out)h(size)d Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)24 b Fc(34)1012 1735 y(default)14 b(library)7 b Fd(.)h(.)f(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)20 b Fc(32)1012 1790 -y(default)14 b(text)f(scaling)h Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)25 -b Fc(34)1012 1845 y(default)14 b(translations)f Fd(.)6 -b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(43)1012 1900 y(design)15 -b(rule)f(c)o(hec)o(king)e Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(23,)13 -b(38)1012 1955 y(device,)h(selecting)h(an)f(output)e -Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)25 b Fc(19)1012 2010 y(directory)15 b(/tmp)s -Fd(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(19,)c(28,)g(34)1012 -2065 y(displa)o(y)5 b Fd(.)k(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(34)1012 2120 -y(displa)o(y)m(,)d(p)q(opup)g(men)o(u)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)22 b Fc(12)1012 2175 y(displa)o(yi)q(ng)16 b(elemen)o(t)e(names)c -Fd(.)c(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 -b Fc(12,)13 b(38)1012 2230 y(displa)o(yi)q(ng)j(pinout)11 -b Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(38)1012 -2285 y(displa)o(yi)q(ng)16 b(status)d(information)f Fd(.)7 -b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 -b Fc(9)1012 2340 y(DOS)14 b(\014lenames)t Fd(.)7 b(.)f(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 b Fc(20)1012 2395 y(dra)o(wing)e(ob)r -(jects)t Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 -b Fc(13)1012 2450 y(drc)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)21 b Fc(23,)13 b(30,)g(34,)g(38)1012 2505 -y(drill)h Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)25 b Fc(42)1012 2560 -y(drillin)q(g)16 b(hole,)d(c)o(hanging)j(of)c(ob)r(jects)c -Fd(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)21 -b Fc(36)1012 2615 y(drillin)q(g)16 b(hole,)d(setting)i(of)d(initial)k -(size)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 -b Fc(42)1012 2670 y(D)o(VI)13 b(format)g(of)g(man)o(ual)s -Fd(.)8 b(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(53)p eop -%%Page: 61 62 -61 61 bop 75 -58 a Fo(Index)16 b(of)f(Concepts)1395 b(61)75 -149 y Fl(E)75 212 y Fc(elemen)o(t)14 b(name,)f(hiding)h -Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(43)75 258 y(elemen)o(t)14 -b(name,)f(remo)o(ving)h(from)f(silk-screen)h Fd(.)7 b(.)f(.)g(.)g(.)g -(.)25 b Fc(43)75 305 y(elemen)o(t,)14 b(an)f(example)e -Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(17)75 351 y(elemen)o(t,)14 -b(an)f(o)o(v)o(erview)7 b Fd(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 -b Fc(4)75 398 y(elemen)o(t,)14 b(color)7 b Fd(.)g(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)19 b Fc(30,)13 b(32)75 444 y(elemen)o(t,)h(command)e -Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)24 b Fc(27,)13 b(30)75 491 y(elemen)o(t,)h -(creating)g(a)f(new)g(pac)o(k)n(age)f Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(17)75 537 y(elemen)o(t,)14 -b(displa)o(y)h(names)e(of)8 b Fd(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)20 b Fc(12,)13 b(38)75 584 -y(elemen)o(t,)h(\014leformat)7 b Fd(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -19 b Fc(48)75 630 y(elemen)o(t,)14 b(\014les)e Fd(.)6 -b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)24 b Fc(27,)13 b(30,)g(31)75 -677 y(elemen)o(t,)h(loading)h(to)e(bu\013er)g Fd(.)6 -b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)24 b Fc(25)75 723 y(elemen)o(t,)14 b(mo)o(v)o(e)f(name)g(of)7 -b Fd(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)20 b Fc(44)75 770 y(en)o(tering)14 -b(user)g(commands)5 b Fd(.)j(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(24)75 -816 y(erasing)c(ob)r(jects)f Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)25 b Fc(13)75 862 y(example)14 b(\014les)e -Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 -b Fc(17)75 909 y(example)14 b(of)f(bu\013er)h(handling)h -Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)24 b Fc(18)75 955 y(example)14 b(of)f(connection)i(lists)d -Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)23 b Fc(21)75 1002 y(example)14 b(of)f(cop)o(ying)h -Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)24 b Fc(19)75 1048 -y(example)14 b(of)f(creating)h(an)g(elemen)o(t)d Fd(.)c(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)23 b Fc(17)75 -1095 y(example)14 b(of)f(elemen)o(t)h(handling)5 b Fd(.)k(.)d(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)17 -b Fc(17)75 1141 y(example)d(of)f(line)i(handling)s Fd(.)9 -b(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)16 b Fc(15)75 1188 y(example)e(of)f(loading)6 -b Fd(.)j(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)18 b Fc(19)75 -1234 y(example)c(of)f(loading)j(an)d(elemen)o(t)h(\014le)t -Fd(.)7 b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 -b Fc(17)75 1281 y(example)d(of)f(mo)o(ving)6 b Fd(.)i(.)e(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)18 b Fc(19)75 1327 y(example)c(of)f(pastebu\013er)i -(handling)t Fd(.)9 b(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)17 b Fc(18)75 1374 y(example)d(of)f(pin)h(handling)7 -b Fd(.)i(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)19 b Fc(17)75 1420 y(example)14 b(of)f(p)q(olygon)i -(handling)t Fd(.)9 b(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)16 b Fc(15)75 1467 y(example)e(of)f(prin)o(ting)c -Fd(.)g(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 b Fc(19)75 1513 -y(example)14 b(of)f(rectangle)i(handling)f Fd(.)6 b(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(15)75 -1560 y(example)14 b(of)f(sa)o(ving)5 b Fd(.)j(.)e(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)18 b Fc(19)75 1606 y(example)c(of)f(text)g(handling)c -Fd(.)g(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)21 b Fc(16)75 1652 y(example)14 b(of)f(via)h(handling)8 -b Fd(.)h(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)21 b Fc(16)75 1699 y(exit)11 b Fd(.)6 -b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)23 b Fc(25,)13 b(41)75 1832 y Fl(F)75 1894 y Fc(\014le)h(format,)e -(elemen)o(t)i(data)e Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(48)75 -1941 y(\014le)14 b(format,)e(fon)o(t)h(data)6 b Fd(.)h(.)g(.)f(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)19 b Fc(49)75 1987 y(\014le)14 b(format,)e(la)o(y)o(out)j(data) -6 b Fd(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)18 b Fc(46)75 2034 y(\014le)c(format,)e -(libraries)7 b Fd(.)i(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 -b Fc(50)75 2080 y(\014le)14 b(format,)e(library)j(con)o(ten)o(ts)6 -b Fd(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)18 b Fc(50)75 2127 y(\014le)c(formats)5 b Fd(.)i(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(44)75 -2173 y(\014le)c(formats,)f(basic)h(t)o(yp)q(es)d Fd(.)6 -b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)23 b Fc(45)75 2219 y(\014le)14 b(load)g(command)6 -b Fd(.)i(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)19 b Fc(27,)13 b(31)75 2266 -y(\014le)h(sa)o(v)o(e)f(command)7 b Fd(.)g(.)f(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 -b Fc(28,)13 b(34)75 2312 y(\014le,)h(p)q(opup)g(men)o(u)5 -b Fd(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b -Fc(12)75 2359 y(fon)o(t)c(command)g Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)25 b Fc(27,)13 b(31)75 2405 y(fon)o(t)g(\014le,)g(format)g(of)d -Fd(.)c(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(49)75 -2452 y(fon)o(t)13 b(\014les)7 b Fd(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)19 b Fc(27,)13 b(31)75 2498 y(fon)o(t,)g(an)g -(o)o(v)o(erview)f Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)23 -b Fc(4)1012 149 y(fon)o(t,)13 b(used)h(for)e(pin)j(names)5 -b Fd(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)19 b Fc(33)1012 195 y(format)13 b(of)g(elemen)o(t)h -(\014les)s Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(48)1012 -241 y(format)c(of)g(fon)o(t)g(\014les)8 b Fd(.)f(.)f(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)21 b Fc(49)1012 286 y(format)13 b(of)g(la)o(y)o(out)h -(\014les)7 b Fd(.)h(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(46)1012 -332 y(format)13 b(of)g(libraries)i Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)25 b Fc(50)1012 378 y(format)13 b(of)g(library)i(con)o(ten)o(ts)d -Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)24 b Fc(50)1012 423 y(F)m(reeBSD)7 b Fd(.)h(.)e(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 -b Fc(55)1012 545 y Fl(G)1012 606 y Fc(grid)5 b Fd(.)j(.)e(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(11,)13 -b(30,)g(31)1012 652 y(grid)h(color)e Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 b Fc(32)1012 -698 y(grid,)14 b(absolute)h(and)e(relativ)o(e)s Fd(.)c(.)d(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(12,)c(38)1012 -743 y(grid,)h(displa)o(y)f Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)24 b Fc(12,)13 b(38)1012 789 y(grid,)h(setting)g(of)t -Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 -b Fc(42)1012 835 y(groups)t Fd(.)8 b(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(27,)13 b(32)1012 -880 y(groups,)h(editing)h(of)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)21 b Fc(38)1012 1009 y Fl(H)1012 1069 y Fc(Hewlett)13 -b(P)o(ac)o(k)n(ard)6 b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -20 b Fc(54)1012 1115 y(hide)15 b(elemen)o(t)e(name)6 -b Fd(.)h(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20 b Fc(43)1012 -1161 y(ho)o(w)13 b(to)g(start)6 b Fd(.)h(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20 b Fc(8)1012 1206 y(HP)9 -b Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)22 b Fc(54)1012 1328 y Fl(I)1012 -1389 y Fc(info)14 b(\014le)e Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Fc(53)1012 -1435 y(information)15 b(ab)q(out)f(ob)r(jects)9 b Fd(.)e(.)f(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)22 -b Fc(42)1012 1481 y(input-\014eld,)16 b(p)q(osition)f(of)5 -b Fd(.)h(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(9)1012 1526 y(input\014eld,)e -(sa)o(ving)e(en)o(tered)g(command-line)6 b Fd(.)j(.)d(.)g(.)19 -b Fc(28,)13 b(34)1012 1572 y(input\014eld,)j(start)d(user)g(input)t -Fd(.)8 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)17 b Fc(37)1012 1618 y(install,)e(ho)o(w)e(to)7 -b Fd(.)g(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 -b Fc(52)1012 1746 y Fl(K)1012 1807 y Fc(k)o(ey)14 b(translations)s -Fd(.)9 b(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 -b Fc(35)1012 1852 y(k)o(eyb)q(oard)e(b)q(ell)d Fd(.)6 -b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(28,)13 -b(34)1012 1981 y Fl(L)1012 2042 y Fc(la)o(y)o(er,)h(c)o(hange)g(activ)o -(e)8 b Fd(.)f(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 b Fc(43)1012 -2087 y(la)o(y)o(er,)14 b(name)f(of)c Fd(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)22 b Fc(32)1012 2133 y(la)o(y)o(ers,)14 -b(an)f(o)o(v)o(erview)5 b Fd(.)j(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 -b Fc(5)1012 2179 y(la)o(y)o(ers,)14 b(c)o(hanging)h(activ)o(e)f(one)f -Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)25 b Fc(10)1012 2224 y(la)o(y)o(ers,)14 b(colors)e -Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)24 -b Fc(32)1012 2270 y(la)o(y)o(ers,)14 b(editing)h(of)e(groups)8 -b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)21 b Fc(38)1012 2316 y(la)o(y)o(ers,)14 -b(groups)9 b Fd(.)e(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)22 -b Fc(27,)13 b(32)1012 2361 y(la)o(y)o(ers,)h(switc)o(hing)h(on/o\013)5 -b Fd(.)i(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(10)1012 2407 y(la)o(y)o(out)d(\014les)8 -b Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)21 b Fc(27,)13 b(28,)g(31,)g(34)1012 -2453 y(la)o(y)o(out)i(\014les,)e(format)g(of)e Fd(.)6 -b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)24 b Fc(46)1012 2498 y(la)o(y)o(out)15 -b(\014les,)e(sa)o(ving)i(of)c Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 b Fc(25,)13 -b(26)p eop -%%Page: 62 63 -62 62 bop 75 -58 a Fo(Index)16 b(of)f(Concepts)1395 b(62)75 -149 y Fc(la)o(y)o(out)14 b(ob)r(jects,)f(an)h(o)o(v)o(erview)8 -b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)21 b Fc(3)75 195 y(la)o(y)o(out)14 b(size)f -Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)25 -b Fc(29)75 241 y(la)o(y)o(out,)14 b(default)g(size)g(of)d -Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Fc(34)75 287 y(la)o(y)o(out,)14 -b(loading)h(a)5 b Fd(.)i(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 -b Fc(25)75 333 y(la)o(y)o(out,)c(loading)h(to)e(bu\013er)6 -b Fd(.)i(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)19 b Fc(25)75 379 y(la)o(y)o(out,)14 -b(merging)g(a)8 b Fd(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 -b Fc(25)75 425 y(la)o(y)o(out,)14 b(prin)o(ting)h(a)8 -b Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21 b Fc(41)75 -471 y(la)o(y)o(out,)14 b(start)f(a)g(new)5 b Fd(.)h(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)18 b Fc(40)75 517 y(la)o(y)o(out-name)c Fd(.)6 -b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)25 b Fc(4,)12 -b(25)75 563 y(length)i(of)f(a)g(pin)h(name)t Fd(.)7 b(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)16 -b Fc(28,)d(33)75 609 y(length)h(of)f(outputline)6 b Fd(.)j(.)d(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)18 b Fc(27)75 654 y(library)d(command)7 -b Fd(.)g(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Fc(28,)13 b(32)75 -700 y(library)i(con)o(ten)o(ts)f(command)t Fd(.)7 b(.)f(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(28,)c(32)75 -746 y(library)i(con)o(ten)o(ts)f(\014le,)f(format)g(of)e -Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 -b Fc(50)75 792 y(library)15 b(\014le,)f(format)e(of)5 -b Fd(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 b Fc(50)75 838 y(library)d(name)7 -b Fd(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b -Fc(27,)13 b(32)75 884 y(library)i(searc)o(h)f(path)t -Fd(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(28)75 -930 y(library)e(searc)o(hpath)d Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)24 b Fc(32)75 976 y(library)15 b(windo)o(w)c Fd(.)6 -b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(13)75 -1022 y(line)15 b(clipping)7 b Fd(.)i(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(27)75 1068 y(linelength)9 -b Fd(.)g(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)21 b Fc(30)75 1114 y(lines,)14 b(an)g(example)d Fd(.)6 -b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(15)75 -1160 y(lines,)14 b(an)g(o)o(v)o(erview)7 b Fd(.)g(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)19 b Fc(6)75 1205 y(lines,)14 b(clipping)i(to)d(45) -h(degree)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)21 b Fc(30,)13 b(38)75 1251 y(lines,)h(setting)g(of)f(initial)j -(size)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)20 b Fc(42)75 1297 y(lines,)14 b(size)f -Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)24 b Fc(32)75 1343 y(Lin)o(ux)6 b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19 -b Fc(55)75 1389 y(list)14 b(of)f(connections)s Fd(.)c(.)d(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)16 b Fc(30)75 1435 y(listing)f(libraries)f -Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)24 -b Fc(28)75 1481 y(listing)15 b(library)g(con)o(ten)o(ts)c -Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)23 b Fc(32)75 1527 y(loading)15 -b(a)e(la)o(y)o(out)i(to)e(bu\013er)5 b Fd(.)i(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)17 -b Fc(25)75 1573 y(loading)e(elemen)o(ts)c Fd(.)6 b(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(27,)13 b(28,)f(30,)h(31,)g -(32)75 1619 y(loading)i(elemen)o(ts)f(to)f(bu\013er)e -Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)22 b Fc(25)75 1665 y(loading)15 b(\014les)c -Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)22 -b Fc(38)75 1710 y(loading)15 b(fon)o(ts)7 b Fd(.)f(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)19 b Fc(27,)13 b(31)75 1756 y(loading)i(la)o(y)o -(outs)e Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)24 b Fc(25,)13 b(27,)g(31)75 -1802 y(loading)i(sym)o(b)q(ols)8 b Fd(.)g(.)e(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -20 b Fc(27,)13 b(31)75 1848 y(loading,)i(an)e(example)5 -b Fd(.)j(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)17 b Fc(19)75 1894 -y(log)d(windo)o(w)t Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 b -Fc(13,)12 b(28,)h(33,)g(35)75 2024 y Fl(M)75 2085 y Fc(m4)e -Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Fc(30)75 2131 y(m4,)13 -b(prepro)q(cessing)i(example)g(\014les)9 b Fd(.)e(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)21 b Fc(17)75 2177 -y(mak)o(e)11 b Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Fc(53)75 2223 y(Mak)o(e\014le)14 -b Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)25 b Fc(52)75 2269 y(man)o(uals)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 -b Fc(53)75 2315 y(mark)12 b Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 b Fc(39)75 -2361 y(media)t Fd(.)8 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(33)75 2406 y(media)d(margin)f -Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)25 -b Fc(33)75 2452 y(media,)14 b(size)f(of)t Fd(.)7 b(.)f(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(20)75 2498 y(men)o(us)12 -b Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)23 b Fc(11)1012 149 y(merging)15 b(la)o(y)o(outs)s -Fd(.)8 b(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 -b Fc(25)1012 205 y(messages)5 b Fd(.)i(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 -b Fc(13,)13 b(28,)g(33,)g(35)1012 260 y(mirroring)i(prin)o(tout)c -Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(19)1012 -315 y(mo)q(de)14 b(selection)t Fd(.)8 b(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)17 b Fc(10)1012 371 y(mo)q(de,)d(selecting)g(of)t -Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(39)1012 -426 y(moun)o(ting)e(holes)9 b Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)22 b Fc(36)1012 481 y(mo)o(v)o(e)12 b Fd(.)6 -b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)25 b Fc(34)1012 536 y(mo)o(v)o(e)14 b(an)f(ob)r(ject)8 -b Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 -b Fc(44)1012 592 y(mo)o(ving)15 b(ob)r(jects)e(to)g(curren)o(t)h(la)o -(y)o(er)c Fd(.)c(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -23 b Fc(40)1012 647 y(mo)o(ving,)14 b(an)g(example)5 -b Fd(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)18 b Fc(19)1012 828 -y Fl(N)1012 909 y Fc(name)c(of)f(an)g(elemen)o(t)8 b -Fd(.)f(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 b Fc(38)1012 965 -y(name,)13 b(c)o(hange)h(an)g(ob)r(jects)e Fd(.)7 b(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)25 -b Fc(37)1012 1020 y(namelength)15 b(of)e(pins)e Fd(.)6 -b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)23 b Fc(28,)13 b(33)1012 1075 y(NetBSD)s -Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)17 b Fc(55)1012 1130 y(netlist)c Fd(.)6 b(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 -b Fc(22,)13 b(25,)g(33,)g(34,)g(36,)g(38)1012 1312 y -Fl(O)1012 1393 y Fc(ob)r(ject,)g(c)o(hange)h(name)g(of)6 -b Fd(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)20 b Fc(37)1012 1448 y(ob)r(ject,)13 -b(c)o(hanging)i(the)f(size)f(of)g(an)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)21 b Fc(14)1012 1503 -y(ob)r(ject,)13 b(cop)o(y)h(an)8 b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)21 b Fc(44)1012 1558 y(ob)r(ject,)13 -b(creating)i(an)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)20 -b Fc(14)1012 1614 y(ob)r(ject,)13 b(dra)o(wing)i(and)e(remo)o(ving)t -Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -17 b Fc(13)1012 1669 y(ob)r(ject,)c(mo)o(v)o(e)h(an)e -Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)25 b -Fc(44)1012 1724 y(ob)r(ject,)13 b(remo)o(ving)i(an)c -Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)24 b Fc(14,)13 b(43)1012 1780 y(ob)r(ject,)g -(selecting)i(an)d Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)24 -b Fc(12)1012 1835 y(ob)r(jects,)13 b(mo)o(ving)i(to)e(curren)o(t)g(la)o -(y)o(er)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)17 b Fc(40)1012 1890 y(ob)r(jects,)c(p)q(opup)i(men)o(u)6 -b Fd(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(12)1012 1945 -y(o)q(ctagonal)c(pins)g(and)e(vias)g Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)25 -b Fc(37)1012 2001 y(o\013)14 b(limit)h(color)t Fd(.)7 -b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 -b Fc(33)1012 2056 y(o\013set)c(of)f(pinnames)h Fd(.)6 -b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)25 b Fc(33)1012 2111 -y(o\013set)14 b(of)f(pinout)e Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)23 b Fc(33)1012 2167 y(o\013set)14 b(of)f(prin)o(tout)t -Fd(.)7 b(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b -Fc(20)1012 2222 y(Op)q(enWindo)o(ws)5 b Fd(.)k(.)d(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(54)1012 2277 y(op)q(eration)d(mo)q -(des,)e(selecting)i(of)c Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(39)1012 2332 y(outline)15 -b(prin)o(tout)s Fd(.)9 b(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 -b Fc(20)1012 2388 y(output)d(device)s Fd(.)8 b(.)f(.)f(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(19)1012 2443 y(outputline,)f -(length)e(of)9 b Fd(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23 b Fc(27)1012 -2498 y(o)o(v)o(erlap,)14 b(minim)o(um)g Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)25 b Fc(23)p eop -%%Page: 63 64 -63 63 bop 75 -58 a Fo(Index)16 b(of)f(Concepts)1395 b(63)75 -149 y Fl(P)75 212 y Fc(pastebu\013er,)14 b(an)g(example)d -Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)22 b Fc(18)75 258 y(pastebu\013er,)14 -b(con)o(v)o(ert)g(con)o(ten)o(ts)g(to)e(elemen)o(t)f -Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(17)75 304 y(pastebu\013er,)14 -b(p)q(opup)h(men)o(u)10 b Fd(.)c(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(13)75 -350 y(pastebu\013er,)14 b(selecting)h(a)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 -b Fc(40)75 397 y(path)14 b(for)e(elemen)o(t)i(\014les)t -Fd(.)8 b(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(31)75 443 y(path)d(for)e(fon)o -(t)h(\014les)c Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)21 -b Fc(31)75 489 y(path)14 b(for)e(la)o(y)o(out)j(\014les)8 -b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Fc(31)75 536 -y(path)14 b(for)e(libraries)t Fd(.)d(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)17 b Fc(32)75 582 y(PC)c(UNIX)t Fd(.)5 b(.)h(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)g(.)h(.)16 b Fc(54,)d(55)75 628 y(pin)h(color)8 -b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)21 b Fc(33)75 675 y(pin,)14 b(name)f(of)d Fd(.)c(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)22 b Fc(28,)13 b(33)75 721 y(pinout)i(of)d -(elemen)o(ts)d Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)21 -b Fc(12)75 767 y(pinout,)14 b(displa)o(y)i(of)8 b Fd(.)d(.)i(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(38)75 814 y(pinout,)14 -b(fon)o(t)f(to)g(displa)o(y)i(pin)g(names)c Fd(.)6 b(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(33)75 860 y(pinout,)14 -b(zo)q(omfactor)g(of)e(displa)o(y)5 b Fd(.)k(.)d(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(28,)c(33)75 906 y(pins,)h(an)f(example) -t Fd(.)8 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 -b Fc(17)75 953 y(pins,)d(c)o(hanging)h(shap)q(e)f(of)t -Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(37)75 999 y(p)q(oin)o(ter,)d(mo)o(ving) -g(of)c Fd(.)c(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(40)75 -1045 y(p)q(olygon)7 b Fd(.)h(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(34)75 1091 y(p)q(olygon)c(p)q -(oin)o(t,)f(go)f(bac)o(k)h(to)f(previous)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)21 b Fc(41)75 1138 y(p)q(olygon,)15 -b(an)e(example)8 b Fd(.)g(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21 -b Fc(15)75 1184 y(p)q(olygon,)15 b(an)e(o)o(v)o(erview)5 -b Fd(.)i(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(7)75 1230 -y(p)q(olygon,)d(closing)g(a)t Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)17 b Fc(41)75 1277 y(p)q(opping)e(up)f(men)o(us)9 -b Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)22 b Fc(11)75 -1323 y(p)q(ostpro)q(cessing)16 b(la)o(y)o(out)e(data)9 -b Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)21 -b Fc(28,)13 b(34)75 1369 y(prepro)q(cessing)i(elemen)o(t)f(data)d -Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23 b -Fc(27,)13 b(28,)g(30)75 1416 y(prepro)q(cessing)i(fon)o(t)e(data)c -Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)22 b Fc(27,)13 b(31)75 1462 y(prepro)q(cessing)i(la)o(y)o(out)g -(data)9 b Fd(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)21 b Fc(27,)13 b(31)75 1508 y(prev)o(en)o(ting)i(loss)f(of)f -(data)f Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)24 b Fc(19,)13 b(28,)g(34)75 1555 y(prin)o(t)h(command)8 -b Fd(.)f(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 -b Fc(20)75 1601 y(prin)o(t)14 b(media)8 b Fd(.)f(.)f(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)20 b Fc(20,)13 b(33)75 1647 y(prin)o(t)h -(o\013set)8 b Fd(.)f(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)21 b Fc(20)75 1693 y(prin)o(ting)6 b Fd(.)j(.)d(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)19 -b Fc(33)75 1740 y(prin)o(ting)c(a)e(la)o(y)o(out)5 b -Fd(.)i(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(41)75 -1786 y(prin)o(ting,)e(an)e(example)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -21 b Fc(19)75 1832 y(problems)6 b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 b Fc(53)75 -1964 y Fl(Q)75 2026 y Fc(quit)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b Fc(25,)13 -b(41)75 2158 y Fl(R)75 2220 y Fc(rat-line)5 b Fd(.)i(.)g(.)f(.)g(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 b Fc(22,)c(36,)g(38)75 -2267 y(rats)g(nest)c Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)22 b Fc(22,)13 b(25,)g(33,)f(34,)h(36,)g(38) -75 2313 y(reco)o(v)o(er)d Fd(.)c(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)g(.)h(.)22 b Fc(41,)13 b(43)75 2359 y(rectangle,)h(an)f -(example)8 b Fd(.)g(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(15)75 -2406 y(redo)9 b Fd(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b Fc(41)75 2452 -y(redra)o(wing)14 b(la)o(y)o(out)t Fd(.)8 b(.)f(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)17 b Fc(38)75 2498 y(refreshing)d(la)o(y)o(out)5 -b Fd(.)j(.)f(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b -Fc(38)1012 149 y(release,)c(curren)o(t)9 b Fd(.)e(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)22 b Fc(29)1012 195 y(remo)o(ving)15 -b(connections)e Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(43)1012 -241 y(remo)o(ving)15 b(ob)r(jects)5 b Fd(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 -b Fc(13,)13 b(14,)g(43)1012 287 y(remo)o(ving)i(selected)f(ob)r(jects)t -Fd(.)7 b(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)17 b Fc(42)1012 333 y(rep)q(ort)c Fd(.)6 -b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)25 b Fc(42)1012 379 y(rep)q(ort,)13 b(p)q(opup)i(men)o(u)5 -b Fd(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)18 b Fc(13)1012 425 -y(reseting)d(found)e(connections)6 b Fd(.)j(.)d(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)19 b Fc(28,)13 b(34,)g(37)1012 471 -y(resources)6 b Fd(.)h(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)19 b Fc(30)1012 517 y(rotate)t Fd(.)7 -b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)18 b Fc(34)1012 563 y(rotating)d(a)e(bu\013er)7 -b Fd(.)g(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 b -Fc(40)1012 609 y(rotating)15 b(prin)o(tout)e Fd(.)6 b(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)25 b Fc(19)1012 654 y(routing)15 -b(st)o(yle)5 b Fd(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 -b Fc(28,)13 b(34,)g(42)1012 700 y(rubb)q(erband)8 b Fd(.)h(.)d(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Fc(34,)13 b(38)1012 -830 y Fl(S)1012 891 y Fc(sa)o(ving)i(connections)8 b -Fd(.)g(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Fc(42)1012 -937 y(sa)o(ving)15 b(\014les)9 b Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)22 b Fc(42)1012 983 y(sa)o(ving)15 -b(found)f(connections)8 b Fd(.)g(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 b Fc(37)1012 -1029 y(sa)o(ving)15 b(last)f(en)o(tered)f(user)h(command)e -Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)25 b Fc(28,)13 -b(34)1012 1075 y(sa)o(ving)i(la)o(y)o(outs)s Fd(.)8 b(.)e(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)16 -b Fc(19,)d(25,)g(26,)g(28,)g(34)1012 1121 y(sa)o(ving,)i(an)e(example)t -Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(19)1012 -1167 y(scaling)e(a)e(prin)o(tout)7 b Fd(.)h(.)e(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)20 b Fc(20)1012 1213 y(scanning)15 b(connections)5 -b Fd(.)k(.)e(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)19 b Fc(37)1012 1259 -y(SCO)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(54)1012 1305 y(scrolling)t -Fd(.)9 b(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)17 b Fc(44)1012 1350 y(searc)o(hing)e(connections)d -Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(37)1012 1396 y(searc)o(hpath)15 -b(for)d(elemen)o(t)i(\014les)7 b Fd(.)h(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(31)1012 -1442 y(searc)o(hpath)15 b(for)d(fon)o(t)h(\014les)g Fd(.)6 -b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)25 b Fc(31)1012 1488 y(searc)o(hpath)15 -b(for)d(la)o(y)o(out)j(\014les)d Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 b Fc(31)1012 -1534 y(searc)o(hpath)15 b(for)d(libraries)7 b Fd(.)i(.)d(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 -b Fc(32)1012 1580 y(selected)15 b(ob)r(ject,)e(remo)o(ving)h(an)7 -b Fd(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)20 b Fc(42)1012 1626 y(selected)15 b(ob)r(jects,)e(c)o(hanging)i -(size)c Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)24 b Fc(12)1012 1672 y(selected)15 b(ob)r(jects,)e(remo)o(ving)8 -b Fd(.)f(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)21 b Fc(12)1012 1718 y(selecting)15 b(a)e(bu\013er)g -Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)25 b Fc(40)1012 -1764 y(selecting)15 b(a)e(new)g(mo)q(de)g Fd(.)6 b(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -25 b Fc(10)1012 1810 y(selecting)15 b(ob)r(jects)t Fd(.)8 -b(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(12,)13 b(42)1012 -1856 y(selection)7 b Fd(.)h(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)20 b Fc(42,)13 b(43)1012 1901 y(selection,)i(an)e(example)h -Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)g(.)h(.)25 b Fc(21)1012 1947 y(selection,)15 -b(p)q(opup)f(men)o(u)f Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)25 b Fc(12)1012 -1993 y(SGI)t Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(54)1012 -2039 y(shrink)d Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)25 b Fc(34)1012 2085 y(signal)6 -b Fd(.)j(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)20 b Fc(36)1012 2131 y(Silicon)c(Graphics)9 -b Fd(.)f(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b -Fc(54)1012 2177 y(size)14 b(of)f(a)g(la)o(y)o(out)f Fd(.)6 -b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Fc(29)1012 -2223 y(size)14 b(of)f(lines)t Fd(.)8 b(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(32)1012 2269 y(size)c(of)f(lines)i -(and)e(vias)e Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Fc(42)1012 -2315 y(size)14 b(of)f(vias)c Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)22 b Fc(35)1012 2361 y(sizes,)14 -b(c)o(hanging)h(of)e(ob)r(jects)s Fd(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(36,)c(37)1012 -2406 y(sizes,)h(p)q(opup)g(men)o(u)d Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)23 b Fc(12)1012 2452 y(Solaris)8 b Fd(.)h(.)d(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)21 -b Fc(54)1012 2498 y(spacing,)15 b(minim)o(um)d Fd(.)6 -b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(23)p eop -%%Page: 64 65 -64 64 bop 75 -58 a Fo(Index)16 b(of)f(Concepts)1395 b(64)75 -149 y Fc(sp)q(eak)o(er)14 b(v)o(olume)t Fd(.)7 b(.)g(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)17 b Fc(29,)c(35)75 195 y(square)h(\015ag,)f(c)o(hanging)i -(of)e(ob)r(jects)c Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)22 b Fc(37)75 241 y(start)13 b(user)g(input)5 -b Fd(.)j(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 -b Fc(37)75 286 y(starting)c(a)f(new)g(la)o(y)o(out)h -Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)25 b Fc(40)75 332 y(starting)14 -b Fe(Pcb)8 b Fd(.)d(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)21 b Fc(26)75 378 y(status)13 b(information)f Fd(.)7 -b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)22 b Fc(9)75 423 -y(strings,)14 b(an)f(example)f Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)22 -b Fc(16)75 469 y(strings,)14 b(an)f(o)o(v)o(erview)6 -b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(7)75 -515 y(Sun)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(54)75 -560 y(sym)o(b)q(ols)c Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)24 b Fc(27,)13 b(31)75 606 y(sym)o(b)q(ols,)h(an)g(o)o -(v)o(erview)t Fd(.)7 b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 -b Fc(4)75 734 y Fl(T)75 795 y Fc(temp)q(orary)d(\014les)f -Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(19,)13 b(28,)g(34)75 -841 y(T)m(eX,)f(problems)t Fd(.)c(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)17 b Fc(55)75 886 y(texinfo)d(\014le)f Fd(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 -b Fc(53)75 932 y(text,)13 b(an)g(example)5 b Fd(.)i(.)g(.)f(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)17 b Fc(16)75 978 y(text,)c(an)g(o)o(v)o(erview)f -Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b -Fc(7)75 1023 y(text,)13 b(default)h(scaling)6 b Fd(.)i(.)e(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)19 b Fc(34)75 1069 y(text,)13 b(editing)6 -b Fd(.)i(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)19 -b Fc(12)75 1115 y(thic)o(kness)c(of)d(lines)t Fd(.)c(.)e(.)h(.)f(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)16 b Fc(32)75 1160 y(thic)o(kness)f(of)d(ob)r -(jects)d Fd(.)e(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)22 b Fc(14)75 -1206 y(thic)o(kness)15 b(of)d(vias)d Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)21 b Fc(35)75 1252 y(thic)o(kness,)14 b(c)o(hanging)h(of)e -(ob)r(jects)5 b Fd(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)18 b Fc(37)75 1297 y(translations)7 b -Fd(.)i(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20 -b Fc(35,)13 b(43)75 1343 y(troublesho)q(oting)6 b Fd(.)j(.)d(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(53)75 1471 y Fl(U)75 -1532 y Fc(undo)t Fd(.)7 b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(43)75 -1578 y(undo,)d(m)o(ulti-action)h(resources)8 b Fd(.)f(.)f(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)20 -b Fc(36)75 1623 y(undo,)14 b(p)q(opup)g(men)o(u)6 b Fd(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)18 b Fc(13)1012 149 y(unix)d(command)e -Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 -b Fc(27,)13 b(28,)g(30,)g(31,)g(32,)g(34)1012 195 y(unselect)i(ob)r -(jects)s Fd(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 -b Fc(43)1012 241 y(user)d(commands)7 b Fd(.)g(.)f(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)20 b Fc(24)1012 286 y(user)14 b(input)5 -b Fd(.)j(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)19 b Fc(44)1012 415 y Fl(V)1012 475 y Fc(v)o(ersion,)14 -b(curren)o(t)5 b Fd(.)j(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)19 -b Fc(29)1012 521 y(vias,)14 b(an)f(example)6 b Fd(.)i(.)e(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(16)1012 567 y(vias,)14 -b(an)f(o)o(v)o(erview)g Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)25 b Fc(4)1012 612 y(vias,)14 b(c)o(hanging)h(shap)q(e)f(of)6 -b Fd(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(37)1012 658 y(vias,)14 -b(color)6 b Fd(.)h(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)19 b Fc(35)1012 704 y(vias,)14 b(con)o(v)o(erting)h(to)e -(moun)o(ting)i(hole)10 b Fd(.)c(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)23 b Fc(36)1012 749 y(vias,)14 b(setting)g(of)f(initial)j(size)s -Fd(.)7 b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)17 b Fc(42)1012 795 y(vias,)d(size)7 -b Fd(.)h(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)21 b Fc(35)1012 841 y(viewing)15 b(side,)f(c)o(hanging)h(of)8 -b Fd(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)22 b Fc(43)1012 886 y(v)o(olume)15 b(of)d(sp)q(eak)o -(er)f Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)23 b Fc(29,)13 b(35)1012 -1015 y Fl(X)1012 1076 y Fc(X11)f Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)25 -b Fc(29)1012 1121 y(X11)13 b(default)h(translations)6 -b Fd(.)j(.)e(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)h(.)19 b Fc(43)1012 1167 y(X11)13 b(resources)g -Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)25 -b Fc(30)1012 1213 y(X11)13 b(translations)7 b Fd(.)i(.)d(.)h(.)f(.)g(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(35)1012 1258 y(X11,)13 -b(problems)6 b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) -19 b Fc(55)1012 1304 y(xmkmf)6 b Fd(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(52)1012 -1426 y Fl(Z)1012 1486 y Fc(zo)q(om)14 b(of)e(dra)o(wing)j(windo)o(w)9 -b Fd(.)e(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)h(.)f(.)22 b Fc(35)1012 1532 y(zo)q(om)14 b(of)e(pinout)j -(windo)o(w)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)22 b Fc(28,)13 b(33)1012 1578 -y(zo)q(om,)g(setting)5 b Fd(.)j(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)19 b Fc(12)1012 1623 y(zo)q(om,)13 b(setting)h(of)d -Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)24 b -Fc(42)p eop -%%Page: -1 66 --1 65 bop 1862 -58 a Fo(i)75 149 y Fk(T)-7 b(able)27 -b(of)f(Con)n(ten)n(ts)75 320 y Fl(Cop)n(ying)12 b Fa(.)g(.)e(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)35 -b Fl(1)75 455 y(History)8 b Fa(.)j(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)30 b Fl(2)75 -590 y(1)67 b(In)n(tro)r(duction)8 b Fa(.)k(.)e(.)g(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.) -g(.)g(.)h(.)f(.)g(.)30 b Fl(4)224 659 y Fo(1.1)45 b(Sym)o(b)q(ols)9 -b Fh(.)g(.)e(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)24 -b Fo(4)224 714 y(1.2)45 b(Vias)6 b Fh(.)h(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)20 b Fo(4)224 768 -y(1.3)45 b(Elemen)o(ts)13 b Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)27 b Fo(4)224 823 y(1.4)45 b(La)o(y)o(ers)6 b -Fh(.)h(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)21 -b Fo(5)224 878 y(1.5)45 b(Lines)8 b Fh(.)h(.)e(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)22 b Fo(6)224 933 y(1.6)45 -b(Arcs)t Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)19 b Fo(6)224 988 y(1.7)45 b(P)o(olygons)14 -b Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)29 -b Fo(7)224 1042 y(1.8)45 b(T)l(ext)14 b Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)29 b Fo(7)75 1164 -y Fl(2)67 b(Getting)23 b(Started)7 b Fa(.)k(.)f(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.) -f(.)g(.)29 b Fl(9)224 1232 y Fo(2.1)45 b(The)15 b(Application)j(Windo)o -(w)12 b Fh(.)c(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)27 -b Fo(9)374 1287 y(2.1.1)44 b(The)15 b(Status-line)i(and)e -(Input-\014eld)h Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)28 b Fo(9)374 1342 y(2.1.2)44 -b(The)15 b(Con)o(trol)g(P)o(anel)8 b Fh(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)23 b Fo(10)374 1396 y(2.1.3)44 b(The)15 b(Mo)q(de)g -(Selectors)6 b Fh(.)j(.)f(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)22 -b Fo(10)374 1451 y(2.1.4)44 b(Dra)o(wing)14 b(Area)d -Fh(.)d(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)26 -b Fo(11)374 1506 y(2.1.5)44 b(Men)o(u)8 b Fh(.)g(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)23 -b Fo(11)224 1561 y(2.2)45 b(Log)15 b(Windo)o(w)8 b Fh(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)23 b Fo(13)224 1616 y(2.3)45 b(Library)16 -b(Windo)o(w)e Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)29 b Fo(13)224 1670 y(2.4)45 -b(Dra)o(wing)15 b(and)g(Remo)o(ving)g(Basic)h(Ob)s(jects)e -Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)29 b Fo(13)374 1725 y(2.4.1)44 b(Lines)12 b Fh(.)c(.)g(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)27 b Fo(15)374 1780 y(2.4.2)44 b(Arcs)8 b Fh(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)23 b Fo(15)374 1835 y(2.4.3)44 b(P)o(olygons)15 -b(and)g(Rectangles)10 b Fh(.)e(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)25 b Fo(16)374 -1890 y(2.4.4)44 b(T)l(ext)8 b Fh(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)23 -b Fo(16)374 1944 y(2.4.5)44 b(Vias)9 b Fh(.)f(.)f(.)h(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)24 -b Fo(16)374 1999 y(2.4.6)44 b(Elemen)o(ts)5 b Fh(.)j(.)g(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)20 -b Fo(17)374 2054 y(2.4.7)44 b(P)o(astebu\013er)6 b Fh(.)g(.)i(.)f(.)h -(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)21 -b Fo(18)224 2109 y(2.5)45 b(Mo)o(ving)15 b(and)g(Cop)o(ying)e -Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)28 b Fo(19)224 2164 y(2.6)45 b(Loading)16 b(and)f(Sa)o(ving)e -Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)28 b Fo(19)224 2218 y(2.7)45 b(Prin)o(ting)10 -b Fh(.)e(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)25 -b Fo(19)224 2273 y(2.8)45 b(Connection)16 b(Lists)10 -b Fh(.)e(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)26 b Fo(21)224 2328 y(2.9)45 b(Selection)16 -b Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)29 b -Fo(21)224 2383 y(2.10)45 b(Rats)14 b(Nest)g Fh(.)7 b(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)29 b Fo(22)224 2438 y(2.11)45 b(Design)15 -b(Rule)h(Chec)o(king)d Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) -f(.)h(.)f(.)h(.)27 b Fo(23)75 2559 y Fl(3)67 b(User)22 -b(Commands)10 b Fa(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)33 -b Fl(25)p eop -%%Page: -2 67 --2 66 bop 1850 -58 a Fo(ii)75 42 y Fl(4)67 b(Command-Line)24 -b(Options)11 b Fa(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)h(.)f(.)34 b Fl(27)224 110 y Fo(4.1)45 -b(Options)14 b Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)28 -b Fo(27)224 165 y(4.2)45 b(Sp)q(ecial)17 b(Options)11 -b Fh(.)d(.)g(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)g(.)f(.)26 b Fo(29)75 286 y Fl(5)67 b(X11)21 -b(In)n(terface)8 b Fa(.)i(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)30 -b Fl(30)224 355 y Fo(5.1)45 b(Non-Standard)15 b(X11)g(Application)i -(Resources)10 b Fh(.)d(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)25 b Fo(30)224 409 y(5.2)45 b(Actions)6 b -Fh(.)i(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)21 -b Fo(35)224 464 y(5.3)45 b(Default)15 b(T)l(ranslations)7 -b Fh(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)22 b Fo(43)75 585 y Fl(6)67 b(File)24 b(F)-6 b(ormats)6 -b Fa(.)k(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)28 -b Fl(45)224 654 y Fo(6.1)45 b(Basic)16 b(T)o(yp)q(es)e -Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)29 b Fo(45)224 709 -y(6.2)45 b(La)o(y)o(out)14 b(File)j(F)l(ormat)5 b Fh(.)h(.)h(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)20 -b Fo(46)224 763 y(6.3)45 b(Elemen)o(t)16 b(File)g(F)l(ormat)c -Fh(.)c(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -29 b Fo(48)224 818 y(6.4)45 b(F)l(on)o(t)14 b(File)j(F)l(ormat)7 -b Fh(.)f(.)i(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)23 b Fo(50)224 873 y(6.5)45 b(Library)16 -b(Con)o(ten)o(ts)e(File)i(F)l(ormat)11 b Fh(.)c(.)g(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) -f(.)h(.)26 b Fo(50)224 928 y(6.6)45 b(Library)16 b(File)g(F)l(ormat)11 -b Fh(.)6 b(.)h(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)26 b Fo(50)75 1049 y Fl(App)r(endix)e(A)67 b(Installation)24 -b(and)f(T)-6 b(roublesho)r(oting)228 1115 y Fa(.)10 b(.)h(.)f(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)41 -b Fl(52)224 1184 y Fo(A.1)k(Compiling)17 b(and)e(Installing)c -Fh(.)f(.)d(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)26 -b Fo(52)374 1239 y(A.1.1)44 b(Editing)16 b(con\014g.h)8 -b Fh(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)23 -b Fo(52)374 1293 y(A.1.2)44 b(Man)o(uals)7 b Fh(.)g(.)h(.)f(.)h(.)g(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)22 -b Fo(53)374 1348 y(A.1.3)44 b(Compiling)17 b(the)e(P)o(ac)o(k)m(age)d -Fh(.)c(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)28 b Fo(53)224 1403 y(A.2)45 -b(T)l(roublesho)q(oting)11 b Fh(.)e(.)f(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)27 b Fo(53)374 -1458 y(A.2.1)44 b(HP)15 b(Series)h(700)f(and)g(800)6 -b Fh(.)g(.)i(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) -h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)21 b Fo(54)374 1513 y(A.2.2)44 -b(Sun)16 b(SP)l(AR)o(C)f(arc)o(hitecture)5 b Fh(.)i(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)20 -b Fo(54)374 1567 y(A.2.3)44 b(Silicon)18 b(Graphics)d -Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)30 -b Fo(54)374 1622 y(A.2.4)44 b(DEC)15 b(Alpha)6 b Fh(.)i(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)21 b -Fo(54)374 1677 y(A.2.5)44 b(SCO)16 b(Unix)10 b Fh(.)e(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)25 -b Fo(55)374 1732 y(A.2.6)44 b(Lin)o(ux)13 b Fh(.)8 b(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h -(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)27 -b Fo(55)374 1787 y(A.2.7)44 b(F)l(reeBSD)16 b(and)f(NetBSD)8 -b Fh(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)23 b Fo(55)374 1841 y(A.2.8)44 -b(Problems)16 b(related)f(to)g(X11)8 b Fh(.)f(.)g(.)h(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)23 -b Fo(55)374 1896 y(A.2.9)44 b(Problems)16 b(related)f(to)g(T)l(eX)6 -b Fh(.)i(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) -f(.)h(.)f(.)h(.)f(.)h(.)21 b Fo(55)75 2017 y Fl(Index)i(of)f(Resources) -10 b Fa(.)f(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)33 b Fl(56)75 -2152 y(Index)23 b(of)f(Actions,)g(Commands)g(and)g(Options)12 -b Fa(.)f(.)f(.)h(.)f(.)35 b Fl(58)75 2287 y(Index)23 -b(of)f(Concepts)6 b Fa(.)j(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)28 -b Fl(60)p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/cad/pcb/files/refcard.ps b/cad/pcb/files/refcard.ps deleted file mode 100644 index 92f716545c1..00000000000 --- a/cad/pcb/files/refcard.ps +++ /dev/null @@ -1,437 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software -%%Title: refcard.dvi -%%Pages: 1 -%%PageOrder: Ascend -%%Orientation: Landscape -%%BoundingBox: 0 0 596 842 -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips -D 300 -o refcard.ps refcard.dvi -%DVIPSParameters: dpi=300, compressed -%DVIPSSource: TeX output 2000.08.31:1014 -%%BeginProcSet: texc.pro -%! -/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S -N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 -mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 -0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ -landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize -mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ -matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round -exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ -statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] -N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin -/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array -/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 -array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N -df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A -definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get -}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} -B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 -1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx -0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx -sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ -/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) -(LaserWriter 16/600)]{A length product length le{A length product exch 0 -exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse -end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask -grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} -imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round -exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto -fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p -delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} -B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ -p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S -rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -TeXDict begin 55380996 39158280 1000 300 300 (refcard.dvi) -@start -%DVIPSBitmapFont: Fa cmr9 9 19 -/Fa 19 121 df<126012F0A212701210A31220A21240A2040B7D830B>44 -D<126012F0A212601200A8126012F0A2126004107D8F0B>58 D<130CA3131EA2132F1327 -A2EB4380A3EB81C0A200017F1300A248B47E38020070A2487FA3487FA2003C131EB4EBFF -C01A1A7F991D>65 D<EAFFE0000EC7FCB01408A3141814101430147014F0B5FC151A7F99 -18>76 D<B51280380E01E0EB007014781438143CA4143814781470EB01E0380FFF80000E -C7FCABEAFFE0161A7F991A>80 D<007FB5FC38701C0700401301A200C0148000801300A3 -00001400B13803FFE0191A7F991C>84 D<39FF801FC0391C00070014066C1304A36C5BA2 -6C6C5AA36C6C5AA26C6C5AA3EB7080A213790139C7FCA2131EA3130CA21A1A7F991D>86 -D<EA1FC0EA38707FEA101C1200A2EA03FCEA1E1C1238127012E01480A2133CEA705F381F -8F0011107F8F13>97 D<EA07F8EA1C1C1238EA700813005AA612701304EA3808EA1C18EA -07E00E107F8F11>99 D<EA07C0EA1C30EA30181270EA600C12E0EAFFFCEAE000A41260EA -7004EA3808EA1C18EA07E00E107F8F11>101 D<1218123CA212181200A612FC121CAE12 -FF081A80990A>105 D<12FC121CB3A6EAFF80091A80990A>108 D<EAFC7CEA1D87381E03 -80A2121CAB38FF9FF01410808F15>110 D<EA07E0EA1C38EA300CEA700EEA6006EAE007 -A6EA6006EA700EEA381CEA1C38EA07E010107F8F13>I<EAFCFCEA1D07381E0380381C01 -C0A2EB00E0A6EB01C01480381E0300EA1D06EA1CF890C7FCA6B47E1317808F15>I<EAFC -78EA1D9CEA1E1C1308EA1C00ABEAFF800E10808F0F>114 D<1208A41218A21238EAFFC0 -EA3800A81320A41218EA1C40EA07800B177F960F>116 D<38FF0F80383C0700EA1C0613 -04A26C5AA26C5AA3EA03A0A2EA01C0A36C5A11107F8F14>118 D<38FE3F80383C1E00EA -1C086C5AEA0F306C5A6C5A12017F1203EA0270487E1208EA181CEA381E38FC3FC012107F -8F14>120 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fb cmmi6 6 1 -/Fb 1 98 df<EA0720EA18E0EA30601260A2EAC0C0A213C81241EA62D0EA3C600D0B7E8A -11>97 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fc cmmi7 7 1 -/Fc 1 98 df<EA07B0EA0C701210EA30601260A3EAC0C013C8A21241EA62D0EA3C700D0D -7E8C12>97 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fd cmsy10 10 1 -/Fd 1 2 df<126012F0A2126004047C8B0C>1 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fe cmti10 10 9 -/Fe 9 117 df<48B5FC39003C038090383801C0EC00E0A35B1401A2EC03C001E01380EC -0F00141EEBFFFC3801C00E801580A2EA0380A43907000F00140E141E5C000E13F0B512C0 -1B1C7E9B1D>66 D<903803F02090381E0C6090383002E09038E003C03801C001EA038048 -C7FC000E1480121E121C123C15005AA35AA41404A35C12705C6C5B00185B6C485AD80706 -C7FCEA01F81B1E7A9C1E>I<48B512F038003C00013813301520A35BA214081500495AA2 -1430EBFFF03801C020A448485A91C7FCA348C8FCA45AEAFFF01C1C7E9B1B>70 -D<D801FEEB01FED8003E14E0012EEB03C01505A21509014EEB0B801513152313470187EB -4700A21587EC0107D80107130E14021404A20002495AEB0388149014A000045C14C0A200 -0C1380001CEB007839FF8307FF271C7E9B25>77 D<EB0F84EB304CEB403CEB8018EA0100 -5AA200061310A214001207A2EA03E013FC6CB4FC38007F80EB07C01301A21300A21220A2 -38600180A2EB03001302EAF004EACC18EA83E0161E7D9C17>83 D<EB3F80EB7F001360A3 -5BA4485AA448C7FCA41206A45AA45AA45AA45AA45AA212FEA211297E9E0D>91 -D<EB3F80EB7F001303A31306A45BA45BA45BA45BA45BA4485AA448C7FCA41206A212FEA2 -1129819E0D>93 D<EA383EEA4CC3384D0380124E129E129C121CA238380700A3130E0070 -1340A2131C1480EAE00C3860070012127C9117>110 D<12035AA3120EA4EAFFE0EA1C00 -A35AA45AA4EAE080A2EAE100A2126612380B1A7C990E>116 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Ff cmr10 10 59 -/Ff 59 123 df<EB7E1F3901C1B180390303E3C0000713C3000EEBC180903801C000A6B5 -12FC380E01C0B0387F87FC1A1D809C18>11 D<137E3801C180EA0301380703C0120EEB01 -8090C7FCA5B512C0EA0E01B0387F87F8151D809C17>I<EB7FC0EA01C1EA03031207EA0E -01A7B5FCEA0E01B0387FCFF8151D809C17>I<9038030180A39038060300A4EB0C06A549 -5AB612FCA23900301800A4495AA4B612FCA23900C0600048485AA438030180A4D80603C7 -FCA31E257E9C23>35 D<13E0EA0310EA0608A2120EA45BA25B6C5AEC3FE09038800F80EC -06000003130412073809C00800115BEA30E03820F020EA607038E03840EB3C80131C9038 -0F00207F0070EB8040383009C0391830E180390FC03F001B1F7E9D20>38 -D<1380EA0100120212065AA25AA25AA35AA412E0AC1260A47EA37EA27EA27E12027EEA00 -80092A7C9E10>40 D<7E12407E12307EA27EA27EA37EA41380AC1300A41206A35AA25AA2 -5A12205A5A092A7E9E10>I<126012F0A212701210A41220A212401280040C7C830C>44 -D<EAFFE0A20B0280890E>I<126012F0A2126004047C830C>I<130113031306A3130CA313 -18A31330A31360A213C0A3EA0180A3EA0300A31206A25AA35AA35AA35AA35AA210297E9E -15>I<EA03C0EA0C30EA1818EA300CA2EA700EEA6006A2EAE007ADEA6006A2EA700EEA30 -0CA2EA1818EA0C30EA07E0101D7E9B15>I<5A1207123F12C71207B3A5EAFFF80D1C7C9B -15>I<EA07C0EA1830EA201CEA400C130EEAF00F12F81307A21270EA000F130EA2131CA2 -13381370136013C0EA0180EA0300EA0601120C1218EA1002EA3FFE127F12FF101C7E9B15 ->I<EA07E0EA1830EA201CA2EA781E130E131E1238EA001CA2131813301360EA07C0EA00 -30131CA2130E130FA2127012F8A3EAF00EEA401C1220EA1830EA07C0101D7E9B15>I<13 -0CA2131C133CA2135C13DC139CEA011C120312021204120C1208121012301220124012C0 -B512C038001C00A73801FFC0121C7F9B15>I<EA300CEA3FF813F013C0EA2000A6EA23E0 -EA2C30EA3018131CEA200E1200130FA3126012F0A3EA800EEA401E131CEA2038EA1870EA -07C0101D7E9B15>I<13F0EA030CEA0404EA0C0EEA181E1230130CEA7000A21260EAE3E0 -EAE430EAE818EAF00C130EEAE0061307A51260A2EA7006EA300E130CEA1818EA0C30EA03 -E0101D7E9B15>I<EA03E0EA0C30EA1008EA200C13061260A21270A2EA7C0CEA3E18EA3F -B0EA1FE0EA07F013F8EA18FCEA307EEA601E130FEAC0071303A4EA60021304EA300CEA1C -10EA07E0101D7E9B15>56 D<EA03C0EA0C30EA1818EA300C1270EA600EEAE006A21307A5 -1260EA700F1230EA1817EA0C27EA07C7EA0006A2130EEA300C127813181270EA2030EA10 -C0EA0F80101D7E9B15>I<126012F0A212601200AA126012F0A2126004127C910C>I<1306 -A3130FA3EB1780A2EB37C01323A2EB43E01341A2EB80F0A338010078A2EBFFF83802003C -A3487FA2000C131F80001E5BB4EBFFF01C1D7F9C1F>65 D<90381F8080EBE06138018019 -38070007000E13035A14015A00781300A2127000F01400A8007014801278A212386CEB01 -00A26C13026C5B380180083800E030EB1FC0191E7E9C1E>67 D<B512C0380F00F0143C14 -0E80A2EC038015C01401A215E0A815C0A21403158014071500140E5C1470B512C01B1C7E -9B20>I<EAFFF8EA0F8090C7FCB01408A31418A2141014301470EB01F0B5FC151C7E9B1A> -76 D<B46CEBFF80000FECF800A2390BC00178A33809E002A23808F004A3EB7808A3EB3C -10A3EB1E20A3EB0F40A2EB0780A3EB0300121C3AFF8307FF80211C7E9B26>I<EB3F80EB -E0E03803803848487E000E7F487F003C148000381303007814C0A20070130100F014E0A8 -007014C000781303A200381480003C1307001C14006C130E6C5B6C6C5A3800E0E0EB3F80 -1B1E7E9C20>79 D<B51280380F00E01478143C141C141EA5141C143C147814E0EBFF8090 -C7FCACEAFFF0171C7E9B1C>I<B5FC380F01E0EB007880141C141EA4141C143C5CEB01E0 -01FFC7FCEB01E0EB0070147880A61510A2141CA239FFF00E20C7EA03C01C1D7E9B1F>82 -D<007FB512C038700F010060130000401440A200C014201280A300001400B1497E3803FF -FC1B1C7F9B1E>84 D<39FFE00FF0391F0003C0EC01806C1400A238078002A213C000035B -A2EBE00C00011308A26C6C5AA213F8EB7820A26D5AA36D5AA2131F6DC7FCA21306A31C1D -7F9B1F>86 D<12FEA212C0B3B312FEA207297C9E0C>91 D<12FEA21206B3B312FEA20729 -809E0C>93 D<EA1FC0EA3070EA78387F12301200A2EA01FCEA0F1C12381270126000E013 -40A3EA603C38304E80381F870012127E9115>97 D<12FC121CAA137CEA1D87381E018038 -1C00C014E014601470A6146014E014C0381E018038190700EA10FC141D7F9C17>I<EA03 -F8EA0C0CEA181E1230EA700CEA600012E0A61260EA70021230EA1804EA0C18EA03E00F12 -7F9112>I<EB1F801303AAEA03F3EA0E0BEA1807EA30031270126012E0A6126012701230 -EA1807EA0E1B3803E3F0141D7F9C17>I<EA07E0EA0C30EA1818EA300CEA700EEA600612 -E0EAFFFEEAE000A41260EA70021230EA1804EA0C18EA03E00F127F9112>I<13F8EA018C -EA071E1206EA0E0C1300A6EAFFE0EA0E00B0EA7FE00F1D809C0D>I<EB03803807C4C0EA -1C783838388038301800EA701CA4EA3018EA38386C5AEA27C00020C7FCA21230EA3FF86C -B4FC1480EA2003386001C0EAC000A33860018038300300EA1C0EEA07F8121C7F9215>I< -12FC121CAA137C1387EA1D03001E1380121CAD38FF9FF0141D7F9C17>I<1218123CA212 -18C7FCA712FC121CB0EAFF80091D7F9C0C>I<13C0EA01E0A2EA00C01300A7EA07E01200 -B3A21260EAF0C012F1EA6180EA3E000B25839C0D>I<12FC121CAAEB0FE0EB0780EB0600 -5B13105B5B13E0121DEA1E70EA1C781338133C131C7F130F148038FF9FE0131D7F9C16> -I<12FC121CB3A9EAFF80091D7F9C0C>I<39FC7E07E0391C838838391D019018001EEBE0 -1C001C13C0AD3AFF8FF8FF8021127F9124>I<EAFC7CEA1C87EA1D03001E1380121CAD38 -FF9FF014127F9117>I<EA03F0EA0E1CEA1806487E00701380EA600100E013C0A6006013 -80EA700300301300EA1806EA0E1CEA03F012127F9115>I<EAFC7CEA1D87381E0180001C -13C0EB00E0A21470A614E0A2EB01C0001E1380381D0700EA1CFC90C7FCA7B47E141A7F91 -17>I<3803E080EA0E19EA1805EA3807EA7003A212E0A61270A2EA38071218EA0E1BEA03 -E3EA0003A7EB1FF0141A7F9116>I<EAFCE0EA1D38EA1E78A2EA1C301300ACEAFFC00D12 -7F9110>I<EA1F90EA2070EA4030EAC010A212E0EAF800EA7F80EA3FE0EA0FF0EA00F8EA -8038131812C0A2EAE010EAD060EA8FC00D127F9110>I<1204A4120CA2121C123CEAFFE0 -EA1C00A91310A5120CEA0E20EA03C00C1A7F9910>I<38FC1F80EA1C03AD1307120CEA0E -1B3803E3F014127F9117>I<38FF07E0383C0380381C0100A2EA0E02A2EA0F06EA0704A2 -EA0388A213C8EA01D0A2EA00E0A3134013127F9116>I<39FF3FC7E0393C0703C0001CEB -01801500130B000E1382A21311000713C4A213203803A0E8A2EBC06800011370A2EB8030 -000013201B127F911E>I<38FF0FE0381E0700EA1C06EA0E046C5AEA039013B0EA01E012 -007F12011338EA021C1204EA0C0E487E003C138038FE1FF014127F9116>I<38FF07E038 -3C0380381C0100A2EA0E02A2EA0F06EA0704A2EA0388A213C8EA01D0A2EA00E0A31340A2 -5BA212F000F1C7FC12F312661238131A7F9116>I<EA7FFCEA70381260EA407013F013E0 -EA41C012031380EA0700EA0F04120E121CEA3C0CEA380812701338EAFFF80E127F9112> -I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fg cmbx10 10 25 -/Fg 25 123 df<90383FE3F83901F03F1C3903C03E3E0007137CEA0F80151C1500A5B612 -C0A2390F807C00AE397FE1FF80A21F1D809C1C>11 D<13201340EA018012031300120612 -0E5AA2123C1238A21278A312F85AA97E1278A31238A2123C121CA27E12067E13801201EA -004013200B297C9E13>40 D<7E12401230123812187E120E7EA213801203A213C0A313E0 -1201A9120313C0A31380A212071300A2120E120C5A1238123012405A0B297D9E13>I<EB -01801303A2EB0700A3130EA25BA35BA35BA25BA3485AA3485AA348C7FCA2120EA35AA35A -A25AA35AA25A11297D9E18>47 D<127812FCA412781200A6127812FCA4127806127D910D ->58 D<EA0FF8EA1C1E383E0F80130714C0121C1200137FEA07E7EA1F07123C127C12F8A3 -EA780B383E13F8EA0FE115127F9117>97 D<B4FCA2121FA9EB3F80EBE1E0EB8070EB0078 -143CA2143EA6143CA21478EB8070381EC1E0381C3F00171D7F9C1B>I<EA03FCEA0E0EEA -1C1F123C1278130E00F8C7FCA61278EB0180123C381C0300EA0E0EEA03F811127E9115> -I<EB0FF0A21301A9EA01F9EA0F07EA1C03EA3C011278A212F8A61278A2123CEA1C03380F -0FFEEA03F9171D7E9C1B>I<EA03FCEA0F07381C0380383C01C0127814E012F8A2B5FC00 -F8C7FCA3127814607E6C13C0380F03803801FC0013127F9116>I<3803F0F0380E1F38EA -3C0F3838073000781380A400381300EA3C0FEA1E1CEA33F00030C7FCA3EA3FFF14C06C13 -E014F0387801F838F00078A300701370007813F0381E03C03807FF00151B7F9118>103 -D<121E123FA4121EC7FCA6127FA2121FAEEAFFC0A20A1E7F9D0E>105 -D<B4FCA2121FB3A7EAFFE0A20B1D7F9C0E>108 D<39FF0FC07E903831E18F3A1F40F207 -80D980FC13C0A2EB00F8AB3AFFE7FF3FF8A225127F9128>I<38FF0FC0EB31E0381F40F0 -EB80F8A21300AB38FFE7FFA218127F911B>I<EA01FC380F0780381C01C0003C13E03878 -00F0A200F813F8A6007813F0A2383C01E0381E03C0380F07803801FC0015127F9118>I< -38FF3F80EBE1E0381F80F0EB0078147C143C143EA6143C147C1478EB80F0EBC1E0EB3F00 -90C7FCA6EAFFE0A2171A7F911B>I<EAFE3E1347381E8F80A3381F070090C7FCAAEAFFE0 -A211127F9114>114 D<EA1FD8EA3078EA601812E0A2EAF000EAFF80EA7FE013F0EA1FF8 -EA07FCEA007CEAC01CA212E01318EAF830EACFC00E127E9113>I<1203A45AA25AA2EA3F -FC12FFEA1F00A9130CA4EA0F08EA0798EA03F00E1A7F9913>I<38FF07F8A2EA1F00AC13 -01120F380786FFEA01F818127F911B>I<38FFC1FCA2381F00601380000F13C0A23807C1 -80A23803E300A213F7EA01F613FE6C5AA21378A2133016127F9119>I<38FFC7FCA2381F -81C0380F83803807C700EA03EEEA01FC5B1200137C13FEEA01DF38039F80EA070F380607 -C0380C03E038FF07FCA216127F9119>120 D<38FFC1FCA2381F00601380000F13C0A238 -07C180A23803E300A213F7EA01F613FE6C5AA21378A21330A25B1270EAF8E05BEAF98000 -73C7FC123E161A7F9119>I<387FFF8038781F00EA703FEA603E5B13FC5BEA01F0120348 -5AEBC180EA0F81121F1303003E1300EA7E07EA7C0FB5FC11127F9115>I -E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh cmsy8 8 1 -/Fh 1 14 df<EB0FC0EB7FF83801F03E38038007390600018048EB00C0481460481430A2 -481418A248140CA700601418A26C1430A26C14606C14C06CEB018039038007003801F03E -38007FF8EB0FC01E1D7E9623>13 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fi cmr8 8 15 -/Fi 15 118 df<126012F0A212701210A21220A21240A2040A7D830A>44 -D<1206120E12FE120EB1EAFFE00B157D9412>49 D<EA01F0EA0608EA080CEA181C1230EA -7000126012E0EAE3E0EAEC30EAF018130CEAE00EA31260A2EA300C1318EA1830EA07C00F -157F9412>54 D<1240EA7FFE13FC13F8EAC008EA80101320EA00401380A2EA01005AA212 -021206A2120EA512040F167E9512>I<EA07E0EA1830EA2018EA600CA21270EA7818EA3E -10EA1F60EA07C0EA0FF0EA18F8EA607C131EEAC00E1306A21304EA600CEA3830EA0FE00F -157F9412>I<EA07C0EA1830EA30181260EAE00CA2130EA3EA601E1230EA186EEA0F8EEA -000E130C131CEA7018A2EA6030EA20E0EA1F800F157F9412>I<00FC13FE001E1338001F -13101217EA1380EA11C0A2EA10E013701338A2131C130E130F1307EB0390EB01D0A2EB00 -F014701430123800FE131017177F961A>78 D<387FFFF83860381800401308A200801304 -A300001300AF3803FF8016177F9619>84 D<EA3FC0EA70601330EA20381200EA03F8EA1E -3812301270EAE039A21379EA70FFEA1F1E100E7F8D12>97 D<EA07F0EA18381230EA7010 -EA600012E0A41260EA70081230EA1830EA07C00D0E7F8D10>99 D<12F81238A813F8EA3B -1CEA3C0E1238AA38FE3F8011177F9614>104 D<38F8F83E383B1CC7393C0F0380EA380E -AA39FE3F8FE01B0E7F8D1E>109 D<EA07C0EA1830EA3018EA600CA2EAE00EA5EA701CEA -3018EA1830EA07C00F0E7F8D12>111 D<EA1F40EA60C0EAC040A2EAE000B4FCEA7F80EA -1FC0EA01E0EA8060A212C0EAE0C0EA9F000B0E7F8D0E>115 D<EAF83EEA380EAA131EEA -1C2E3807CF80110E7F8D14>117 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fj cmbx12 24.88 17 -/Fj 17 115 df<B612FEA91F097F9B27>45 D<EA07C0EA1FF0EA3FF8EA7FFCA2EAFFFEA5 -EA7FFCA2EA3FF8EA1FF0EA07C00F0F788E20>I<EC01E01403140F143F14FF130F0003B5 -FCB6FCA213F1EAFC011200B3B3B1003FB71280A4294478C33A>49 -D<EC7FF80103B57E011F14F090393F807FF89039FC000FFED801F06D7E4848158048486D -13C013F8486C15E06D7F486C15F0A314801400A26C4A13E06C5A6C5A6C4815C0C85A1780 -17004B5A5E4B5A4B5AEDFFC0020790C7FC903803FFFC5DEDFF8090C7EA7FF0ED1FFCED07 -FE923803FF8017C06F13E017F0A217F88117FCA217FEEA0380EA0FE0EA3FF8487EA2487E -A217FCA317F86C485B4915F06C5A494913E0D81F8015C0D80FE0491380D807F8011F1300 -3A03FF807FFEC690B512F8013F14E0010F91C7FC010013F02F457BC33A>51 -D<EDFFC0020F13F8023F13FE9138FFC03F903A03FE000F80D907F8EB07C0D91FF0130349 -48EB0FE04948133F4948EB7FF04890C7FC16FF485A1207A24848EC7FE0A2001FED3FC0EE -0F00003F92C7FCA25B127FA391380FFF80023F13E000FF4913F89138F007FC9039F9C001 -FE9039FB8000FF178001FFC7EA7FC04915E017F0EE3FF85B17FCA35B17FEA3127FA6123F -A217FC6C7EA3000F16F8167F000716F06C6C15E017C06C6C14FF6C6D481380903A7FC003 -FE0090393FF00FFC010FB55A6D14E0010114809026001FFCC7FC2F457BC33A>54 -D<B912C018FCF0FF8019E0D8001F90C7000313F805007FF03FFE727E1A807213C0841AE0 -A2841AF0A84E13E0A21AC0601A804E13004E5A4E5A4E5A050313E0057F138092B600FCC7 -FCF0FF8019F092C8EA7FFCF01FFF060713807213C01AE07213F07213F81AFCA2F17FFEA3 -1AFFA81AFEA219FF1AFC601AF84E13F04E13E04E13C0063F13804DB51200BA12FC19F019 -8006F8C7FC48477CC653>66 D<DC7FFE1406030FB500C0131E037F02F8133E0203B600FE -137E020F903AF800FF80FE023F0180EB1FC1DAFFFCC7EA07F34901F0EC01FF010701C0EC -007F4990C9123F4948161F4948160F49481607495A4818034A16015A48491600A2485B1A -7E5A91CBFC48193EA35A491800A312FFAD127FA37F6C191EA37E806C193E1A3C6C7FA26C -6D17787E6E17F06C18016D6C17E06D6CEE03C06D6CEE07806D6C6CED0F006D6D153E0101 -01F05D6D01FC4A5A91263FFF80EB0FF0020F01F8EB7FC0020390B6C7FCDA007F14FC030F -14E09226007FFEC8FC47497AC754>I<B9FC18F818FEF0FFC0D8001F902680001F7F0501 -13F8717FF03FFE727E1A80841AC0841AE0A21AF0A81AE0A31AC0601A80601A004E5AF0FF -FC050313F0051F5B92B7128006FCC7FC18E00380CAFCB3ABB712F0A444477CC64F>80 -D<90380FFFF090B6FC000315C03A07F8007FF0486CEB1FFCED07FE486C6D7E838183816C -48816C5A6C5AC9FCA5157F023FB5FC0103B6FC011F13F090387FFE003801FFE0481380D8 -0FFEC7FC485A5B123F485AA2485AA45DA26C6C5BED077F6C6C130F6C6C013E13F83C0FFF -80F83FFFE000039038FFF01FC6ECC00F90390FFE0003332E7CAD38>97 -D<91381FFFC049B512FC010714FF903A1FF8007F80D97FE0EBFFC0EBFF8048494813E048 -5A1207485AA248486D13C0003FED7F80EE3F00007F92C7FC5BA312FFAA127FA27FA2123F -A26C6C15F0120F6DEC01E012076C6CEC03C06C6DEB07806C6DEB0F00D97FF0133E90391F -FC01FC0107B512F0010114C09026001FFCC7FC2C2E7CAD34>99 D<EFFF804BB5FCA4ED00 -0782B3A2EC1FFC49B51283010714E390391FFC03F390397FE0007FD9FF807F4890C7120F -484880000781485AA2485A123FA25B127FA312FFAA127FA46C7EA2121FA26C7E00075D6C -6C5C6C6C5C6C6D137F6D6C01FB13C090273FF807E313FF010FB512C3010114039038003F -F038487CC741>I<EC1FFC49B512C0010714F090391FF80FFC90397FC001FE49486C7E48 -90C7EA7F804848EC3FC04848EC1FE0120F484815F0160F003F16F8A25B007F150717FCA2 -12FFA290B7FCA301F0C9FCA5127FA36C7EA2001F163CA26C7E17786C6C15F86C6CEC01F0 -6C6DEB03E06C6DEB07C0D93FE0EB1F80903A1FFC01FF000107B512FC010014E0020F90C7 -FC2E2E7DAD35>I<EDFFC0021F13F0027F13FC903901FFC0FE49EB01FF903807FC034948 -481380131FEB3FF0137F14E001FF6D13006F5A6F5A163093C7FCABB612FEA4C601E0C8FC -B3B3A2007FEBFFF0A429487DC724>I<9027FF8003FFEC03FFB5011F01E0011F13E0037F -01F8017F13F8913D81F80FFC01F80FFC913D83C007FE03C007FE0003903D878003FF0780 -03FF6CD98E00EC0E00029C039C8102B86D01B87F06F88102F05DA24A5DA34A5DB3A9B66C -B66CB61280A4592E7BAD62>109 D<9039FF8007FEB590383FFFC04B13F0913981F81FF8 -913983C00FFC00039039870007FE6C138E029C8002B87F188014F0A25CA35CB3A9B60081 -B6FCA4382E7BAD41>I<EC0FFE49B512F0010714FC90391FF803FF90267FE00013C0D9FF -80EB3FE04890C76C7E48486E7E48486E7E000F82491403001F82003F17804980A2007F17 -C0A300FF17E0AA007F17C0A46C6C4A1380A2001F17006D5C000F5E6C6C4A5A00035E6C6C -4A5A6C6D495AD97FE0EBFFC090261FFC0790C7FC0107B512FC010114F0D9001F90C8FC33 -2E7DAD3A>I<90397F803F80B5EBFFE0028113F8913883C3FC91388707FE0003138E6C90 -389C0FFF14B8A214F0A2ED07FE9138E003FCED01F892C7FCA25CB3A8B612E0A4282E7DAD -2F>114 D E -%EndDVIPSBitmapFont -end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 300dpi -TeXDict begin -%%PaperSize: A4 - @landscape -%%EndSetup -%%Page: 1 1 -1 0 bop 410 12 a Fj(PCB-1.6.3)39 b(command)d(reference)2007 -11 y Fi(c)1997 12 y Fh(\015)p Fi(1996,)10 b(1997,)h(1998)f(Thomas)g -(Nau)p -75 74 936 2 v -75 1905 2 1832 v 236 121 a Fg(misc)15 -b(op)q(erations)-22 171 y Ff(bac)o(kspace)106 b(remo)o(v)o(e)12 -b(ob)r(ject)-22 221 y Fe([S][C]Btn)p Ff(1)93 b(remo)o(v)o(e)12 -b(ob)r(ject)-22 271 y(escap)q(e)170 b(reset)15 b(mo)q(de)-22 -320 y Fe(Btn)p Ff(1)198 b(create)15 b(ob)r(ject)g(or)e(part)-22 -370 y(u)262 b(undo)13 b(op)q(eration)-22 420 y Fe([S])p -Ff(r)220 b(redo)14 b(op)q(eration)-22 470 y Fe([S][C])p -Ff(u)157 b(clear)14 b(undo-list)-22 520 y(tab)225 b(switc)o(h)14 -b(viewing)f(side)-22 569 y(cursor)i(k)o(ey)99 b(mo)o(v)o(e)12 -b(crosshair)i(1)g(grid)-22 619 y Fe([S])p Ff(cursor)h(k)o(ey)50 -b(mo)o(v)o(e)12 b(crosshair)i(10)g(grid)278 719 y Fg(connections)-22 -769 y Fe([S])p Ff(f)223 b(reset)15 b(found)e(connections)-22 -819 y(f)272 b(\014nd)14 b(connections)-22 868 y Fe([S])p -Ff(bac)o(kspace)57 b(remo)o(v)o(e)12 b(connections)202 -968 y Fg(user)j(\(:\))21 b(commands)-22 1018 y Ff(:DR)o(C\(\))149 -b(c)o(hec)o(k)14 b(la)o(y)o(out)f(for)h(rule)g(violations)-22 -1068 y(:l)f([\014le])171 b(load)12 b(data)i(\014le)-22 -1117 y(:le)f([\014le])153 b(load)12 b(elemen)o(t)i(to)g(bu\013er)-22 -1167 y(:m)e([\014le])148 b(load)12 b(la)o(y)o(out)h(to)h(bu\013er)-22 -1217 y(:q)251 b(quit)13 b(application)-22 1267 y(:rn)g([\014le])144 -b(load)12 b(netlist)-22 1317 y(:s)i([\014le])166 b(sa)o(v)o(e)14 -b(data)f(as)h(\014le)327 1416 y Fg(displa)o(y)-22 1466 -y Ff(c)267 b(cen)o(ter)15 b(displa)o(y)-22 1516 y(g)264 -b(increase)15 b(grid)e(spacing)-22 1566 y Fe([S])p Ff(g)215 -b(decrease)16 b(grid)d(spacing)-22 1616 y Fe([C])p Ff(m)193 -b(mark)12 b(lo)q(cation)-22 1665 y(r)269 b(clear)14 b(and)g(redra)o(w)g -(output)-22 1715 y(z)267 b(zo)q(om)12 b(in)-22 1765 y -Fe([S])p Ff(z)218 b(zo)q(om)12 b(out)p 858 1905 V -75 -1907 936 2 v 971 74 985 2 v 971 1942 2 1868 v 1380 121 -a Fg(selection)1024 171 y Fe(Btn)p Ff(3)256 b(toggle)13 -b(ob)r(ject)i(selection)1024 221 y(drag)e Fe(Btn)p Ff(3)162 -b(select)15 b(only)e(ob)r(jects)i(in)e(b)q(o)o(x)1024 -271 y(drag)g Fe([S]Btn)p Ff(3)113 b(unselect)15 b(ob)r(jects)g(in)e(b)q -(o)o(x)1024 320 y(drag)g Fe([M]Btn)p Ff(3)99 b(select)15 -b(ob)r(jexts)f(in)g(b)q(o)o(x)1024 370 y Fe([S])p Ff(m)258 -b(mo)o(v)o(e)12 b(selected)k(to)d(curren)o(t)j(la)o(y)o(er)1314 -470 y Fg(cop)o(y)f(and)h(mo)o(v)o(e)1024 520 y Ff(drag)d -Fe(Btn)p Ff(2)162 b(mo)o(v)o(e)12 b(ob)r(ject)1024 569 -y(drag)h Fe([S]Btn)p Ff(2)113 b(mo)o(v)o(e)12 b(selected)k(ob)r(jects) -1024 619 y(drag)d Fe([M]Btn)p Ff(2)99 b(cop)o(y)13 b(ob)r(ject)1024 -669 y(drag)g Fe([S][M]Btn)p Ff(2)50 b(o)o(v)o(erride)14 -b(rubb)q(erband)h(&)f(mo)o(v)o(e)1024 719 y(m)307 b(mo)o(v)o(e)12 -b(to)i(curren)o(t)h(la)o(y)o(er)1354 819 y Fg(pastebu\013er)1024 -868 y Fe(F)p Ff(3)295 b(en)o(ter)15 b(pastebu\013er-mo)q(de)1024 -918 y Fe([S]F)p Ff(3)246 b(rotate)14 b(90)f(degree)j(cc)1024 -968 y Fe(Btn)p Ff(1)256 b(cop)o(y)13 b(to)h(la)o(y)o(out)1024 -1018 y Fe([S])p Ff(1)p Fd(\001)7 b(\001)g(\001)n Ff(5)204 -b(select)15 b(bu\013er)g(#)e(1)p Fd(\001)7 b(\001)g(\001)n -Ff(5)1024 1068 y(x)321 b(cop)o(y)13 b(selected)j(ob)r(jects)f(to)f -(bu\013er)1024 1117 y Fe([S])p Ff(x)272 b(cut)14 b(selected)i(ob)r -(jects)f(to)f(bu\013er)1411 1217 y Fg(sizing)1024 1267 -y Ff(s)327 b(increase)15 b(size)f(of)g(TLAPV)1810 1252 -y Fc(a)1024 1317 y Fe([S])p Ff(s)278 b(decrease)16 b(size)e(of)g(TLAPV) -1024 1366 y Fe([M])p Ff(s)264 b(increase)15 b(drill)e(size)h(of)f(PV) -1024 1416 y Fe([S][M])p Ff(s)215 b(decrease)16 b(drill)c(size)j(of)e -(PV)1389 1516 y Fg(elemen)o(t)1024 1566 y Ff(d)320 b(displa)o(y)13 -b(pinout)1024 1616 y Fe([S])p Ff(d)271 b(op)q(en)14 b(pinout)f(windo)o -(w)1024 1665 y(h)320 b(hide/sho)o(w)13 b(elemen)o(t)h(name)1024 -1715 y(n)320 b(c)o(hange)14 b(elemen)o(t)f(name)1387 -1815 y Fg(pin/pad)1024 1865 y Ff(n)320 b(c)o(hange)14 -b(name)1024 1914 y(q)321 b(toggle)13 b(square)i(\015ag)p -1953 1942 V 971 1944 985 2 v 971 1974 412 2 v 1021 2001 -a Fb(a)1040 2017 y Fa(TLAPV:)d(text,)g(line,)j(arc,)d(pin)i(or)g(via)p -2016 74 823 2 v 2016 1905 2 1832 v 2404 121 a Fg(via)2069 -171 y Fe(F)p Ff(1)136 b(en)o(ter)15 b(via-mo)q(de)2069 -221 y(v)162 b(increase)15 b(initial)d(size)2069 271 y -Fe([S])p Ff(v)113 b(decrease)16 b(initial)c(size)2069 -320 y Fe([M])p Ff(v)99 b(inc.)18 b(initial)11 b(drilling)i(hole)2069 -370 y Fe([S][M])p Ff(v)50 b(dec.)18 b(initial)12 b(drilling)g(hole)2069 -420 y Fe([C])p Ff(h)105 b(con)o(v)o(ert)14 b(via)f(to)h(moun)o(ting)e -(hole)2334 520 y Fg(lines/arcs)2069 569 y Fe(F)p Ff(2)136 -b(en)o(ter)15 b(line)e(mo)q(de)2069 619 y Fe(F)p Ff(8)136 -b(en)o(ter)15 b(arc)f(mo)q(de)2069 669 y(l)172 b(increase)15 -b(initial)d(line)h(size)2069 719 y Fe([S])p Ff(l)123 -b(decrease)16 b(initial)c(line)h(size)2069 769 y(p)q(erio)q(d)69 -b(toggle)13 b(45)g(degree)i(enforcemen)o(t)2069 819 y(/)163 -b(cycle)14 b(m)o(ultiline)d(mo)q(de)2069 868 y Fe([S])135 -b Ff(o)o(v)o(erride)14 b(m)o(ultiline)d(mo)q(de)2353 -968 y Fg(p)q(olygon)2069 1018 y Fe(F)p Ff(4)136 b(en)o(ter)15 -b(rectangle-mo)q(de)2069 1068 y Fe(F)p Ff(6)136 b(en)o(ter)15 -b(p)q(olygon-mo)q(de)2069 1117 y Fe([S])p Ff(p)112 b(close)14 -b(path)2069 1167 y(insert)83 b(en)o(ter)15 b(insert)f(p)q(oin)o(t)g(mo) -q(de)2393 1267 y Fg(text)2069 1317 y Fe(F)p Ff(5)136 -b(en)o(ter)15 b(text-mo)q(de)2069 1366 y(n)161 b(edit)14 -b(string)2069 1416 y(t)168 b(increase)15 b(initial)d(text)i(size)2069 -1466 y Fe([S])p Ff(t)119 b(decrease)16 b(initial)c(text)i(size)2344 -1566 y Fg(rats)h(nest)2069 1616 y Ff(w)154 b(add)13 b(all)g(rats)2069 -1665 y Fe([S])p Ff(w)105 b(add)13 b(rats)i(to)e(selected)j(pins/pads) -2069 1715 y(e)166 b(delete)14 b(all)f(rats)2069 1765 -y Fe([S])p Ff(e)117 b(delete)14 b(selected)i(rats)2069 -1815 y(o)163 b(optimize)12 b(all)h(rats)2069 1865 y Fe([S])p -Ff(o)114 b(optimize)12 b(selected)k(rats)p 2837 1905 -V 2016 1907 823 2 v -79 2091 a(Ob)o(viously)d Fe([S])p -Ff(,)g Fe([C])p Ff(,)f Fe([M])p Ff(,)h Fe(F)h Ff(and)g -Fe(Btn)g Ff(mean)f(the)h(shift,)g(con)o(trol,)f(mo)q(di\014er1)f(\(Mo)q -(d1)i(for)g(buttons\),)g(function)f(k)o(ey)h(and)g(mouse)f(button.)p -eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF |