Index: trunk/doc-rnd/index.html
===================================================================
--- trunk/doc-rnd/index.html (nonexistent)
+++ trunk/doc-rnd/index.html (revision 37)
@@ -0,0 +1,20 @@
+
+
+ pcb-rnd
+PCB-rnd is a fork of PCB, part of
+the geda project. This fork features a set of random features and bugfixes.
+I don't plan to submit these patches or merge changes from the official repo
+(motivation).
+
+List of major changes:
+
+commit message tag and doc | description
+ |
---|
[square] | change square pad to a generic shaped-pin based on the octagon pin code - this is an alternative to teardrops
+ |
[intconn] | component internal connections
+ |
[nonetlist] | components that are not part of the netlist and should not cause shorts
+ |
[debian] | Debian packaging the binaries configured to my own taste
+ |
+
+
+
+
Index: trunk/doc-rnd/square.html
===================================================================
--- trunk/doc-rnd/square.html (nonexistent)
+++ trunk/doc-rnd/square.html (revision 37)
@@ -0,0 +1,71 @@
+
+
+ pcb-rnd - the [square] patch
+Most of my PCBs end up in toner transfer. There are a lot
+of tricks around prototyping at home. One of the problems I often
+face is small rings peeling off during rework (and rework tend to
+happen on the first prototypes). The solution for this is increasing
+ring size - which is not suitable if traces are passing between pins.
+Another solution is to increase the area of the pin:
+
+ - square pin: while it makes the pin slightly larger still letting traces pass between pins, it's too symmetrical and can not use up extra room
+
- DJ's teardrop plugin: this increases the area only toward the trace, whereas very often there's more room on the opposite side
+
- manually add an extra poly around the pin; with multiple pins it's hard to get the polys separate
+
- manually add a short extra track on the pin, width matching the size of the pin; this is very close, but increases workload when components are moved, layers are changed
+
+
+
+The patch takes an octagon pin and stretches points in various directions.
+There are 4 bits (for left, right, up and down) to indicate in which directions
+the stretch applies. Pressing 'q' on a pin cycles thru round pin, square pin,
+16 stretched octagons and the original octagon.
+
+The code is also patched to handle clearances, shorts and connections (find.c).
+
+Thermals are not fully working for funny shaped pins, but it has low priority:
+they still work fine for rounded and square pins and if there is a poly around
+the pin, I wouldn't use shaped pins anyway.
+
+
save/load and compatibility
+This patch introduces a new pin flag called shape(n), where n is an integer
+selecting the shape of the pin when the square flag is also set:
+
+Pin[40000 60000 6000 3000 6600 2800 "8" "8" "square,shape(3)"]
+
+Vanilla PCB will load the design ignoring the custom shape and will use a
+square pin. As long a traces end in the center point of the pin, this
+should not break connections.
+
+Vanilla PCB doesn't save shape() - once the design is loaded and saved with
+vanilla PCB pin shape info is lost.
+
+
plans
+In the original code there are separate code paths for round, octagonal and
+square pins. The separation repeats for at least:
+
+ - drawing the pin shape
+
- calculating the clearance
+
- checking whether things overlap or connect (pin vs pin, pin vs line, etc.)
+
- autorouter
+
+In most cases a set of hardwired constants are written in the C code. A notable
+exception was the octagon pin draw function, that had x and y offsets in a const
+table for 8 points and a loop to create the poly (or line segments in thin draw).
+
+The [square] feature is a good base for cleaning up the code a bit and for
+moving toward a generic pin shape patch:
+
+ - hardwired octagon calculations should be replaced to use the same x;y const offset table
+
- the table should be replaced by a struct that describes length (number of points) - alternatively use POLYAREA
+
- square pin should be renamed to polygon pin
+
- octagon flag shall be removed - it should be a configuration of the x;y const table
+
- square flag shall be removed - it should be a configuration
+
- the only flag remaining should be shape(); if a pin is not shaped, it's round
+
- the pin shape struct should have a field for compatibility - to mark the entry corresponding to the original square and octagon pins so PCB-rnd format can be converted to and from the vanilla PCB format.
+
- there should be a set of pin shapes in a default configuration table, including square and octagonal; these should be static
+
- the PCB file format should be extended with an option to expand the pin shape table with custom shapes
+
- UI: shapes could be imported (converted) from polys around vias
+
- UI: since there may be a lot of pin shapes, a GUI selector alternative shall be offered while also keeping the cycle-thru 'q' key
+
+
+
Index: trunk/doc-rnd/square.pcb
===================================================================
--- trunk/doc-rnd/square.pcb (nonexistent)
+++ trunk/doc-rnd/square.pcb (revision 37)
@@ -0,0 +1,893 @@
+# release: pcb 20110918
+
+# To read pcb files, the pcb version (or the git source date) must be >= the file version
+FileVersion[20070407]
+
+PCB["" 130000 105000]
+
+Grid[2500.0 0 0 1]
+Cursor[0 0 0.000000]
+PolyArea[3100.006200]
+Thermal[0.500000]
+DRC[1000 1000 1000 1000 1500 1000]
+Flags("nameonpcb,uniquename,clearnew")
+Groups("1,c:2,s:3:4:5:6:7:8")
+Styles["Signal,1500,6000,3150,2500:Power,3000,6000,3937,2500:Fat,8000,6000,3500,2500:Skinny,1200,2402,1181,2500"]
+
+Symbol[' ' 1800]
+(
+)
+Symbol['!' 1200]
+(
+ SymbolLine[0 4500 0 5000 800]
+ SymbolLine[0 1000 0 3500 800]
+)
+Symbol['"' 1200]
+(
+ SymbolLine[0 1000 0 2000 800]
+ SymbolLine[1000 1000 1000 2000 800]
+)
+Symbol['#' 1200]
+(
+ SymbolLine[0 3500 2000 3500 800]
+ SymbolLine[0 2500 2000 2500 800]
+ SymbolLine[1500 2000 1500 4000 800]
+ SymbolLine[500 2000 500 4000 800]
+)
+Symbol['$' 1200]
+(
+ SymbolLine[1500 1500 2000 2000 800]
+ SymbolLine[500 1500 1500 1500 800]
+ SymbolLine[0 2000 500 1500 800]
+ SymbolLine[0 2000 0 2500 800]
+ SymbolLine[0 2500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 4000 800]
+ SymbolLine[1500 4500 2000 4000 800]
+ SymbolLine[500 4500 1500 4500 800]
+ SymbolLine[0 4000 500 4500 800]
+ SymbolLine[1000 1000 1000 5000 800]
+)
+Symbol['%' 1200]
+(
+ SymbolLine[0 1500 0 2000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1000 1000 800]
+ SymbolLine[1000 1000 1500 1500 800]
+ SymbolLine[1500 1500 1500 2000 800]
+ SymbolLine[1000 2500 1500 2000 800]
+ SymbolLine[500 2500 1000 2500 800]
+ SymbolLine[0 2000 500 2500 800]
+ SymbolLine[0 5000 4000 1000 800]
+ SymbolLine[3500 5000 4000 4500 800]
+ SymbolLine[4000 4000 4000 4500 800]
+ SymbolLine[3500 3500 4000 4000 800]
+ SymbolLine[3000 3500 3500 3500 800]
+ SymbolLine[2500 4000 3000 3500 800]
+ SymbolLine[2500 4000 2500 4500 800]
+ SymbolLine[2500 4500 3000 5000 800]
+ SymbolLine[3000 5000 3500 5000 800]
+)
+Symbol['&' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 1500 0 2500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 3500 1500 2000 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[1000 5000 2000 4000 800]
+ SymbolLine[0 2500 2500 5000 800]
+ SymbolLine[500 1000 1000 1000 800]
+ SymbolLine[1000 1000 1500 1500 800]
+ SymbolLine[1500 1500 1500 2000 800]
+ SymbolLine[0 3500 0 4500 800]
+)
+Symbol[''' 1200]
+(
+ SymbolLine[0 2000 1000 1000 800]
+)
+Symbol['(' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 4500 800]
+)
+Symbol[')' 1200]
+(
+ SymbolLine[0 1000 500 1500 800]
+ SymbolLine[500 1500 500 4500 800]
+ SymbolLine[0 5000 500 4500 800]
+)
+Symbol['*' 1200]
+(
+ SymbolLine[0 2000 2000 4000 800]
+ SymbolLine[0 4000 2000 2000 800]
+ SymbolLine[0 3000 2000 3000 800]
+ SymbolLine[1000 2000 1000 4000 800]
+)
+Symbol['+' 1200]
+(
+ SymbolLine[0 3000 2000 3000 800]
+ SymbolLine[1000 2000 1000 4000 800]
+)
+Symbol[',' 1200]
+(
+ SymbolLine[0 6000 1000 5000 800]
+)
+Symbol['-' 1200]
+(
+ SymbolLine[0 3000 2000 3000 800]
+)
+Symbol['.' 1200]
+(
+ SymbolLine[0 5000 500 5000 800]
+)
+Symbol['/' 1200]
+(
+ SymbolLine[0 4500 3000 1500 800]
+)
+Symbol['0' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4000 2000 2000 800]
+)
+Symbol['1' 1200]
+(
+ SymbolLine[0 1800 800 1000 800]
+ SymbolLine[800 1000 800 5000 800]
+ SymbolLine[0 5000 1500 5000 800]
+)
+Symbol['2' 1200]
+(
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2500 800]
+ SymbolLine[0 5000 2500 2500 800]
+ SymbolLine[0 5000 2500 5000 800]
+)
+Symbol['3' 1200]
+(
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 2800 1500 2800 800]
+ SymbolLine[2000 1500 2000 2300 800]
+ SymbolLine[2000 3300 2000 4500 800]
+ SymbolLine[2000 3300 1500 2800 800]
+ SymbolLine[2000 2300 1500 2800 800]
+)
+Symbol['4' 1200]
+(
+ SymbolLine[0 3500 2000 1000 800]
+ SymbolLine[0 3500 2500 3500 800]
+ SymbolLine[2000 1000 2000 5000 800]
+)
+Symbol['5' 1200]
+(
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[0 1000 0 3000 800]
+ SymbolLine[0 3000 500 2500 800]
+ SymbolLine[500 2500 1500 2500 800]
+ SymbolLine[1500 2500 2000 3000 800]
+ SymbolLine[2000 3000 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['6' 1200]
+(
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[1500 2800 2000 3300 800]
+ SymbolLine[0 2800 1500 2800 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 3300 2000 4500 800]
+)
+Symbol['7' 1200]
+(
+ SymbolLine[500 5000 2500 1000 800]
+ SymbolLine[0 1000 2500 1000 800]
+)
+Symbol['8' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 3700 0 4500 800]
+ SymbolLine[0 3700 700 3000 800]
+ SymbolLine[700 3000 1300 3000 800]
+ SymbolLine[1300 3000 2000 3700 800]
+ SymbolLine[2000 3700 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 2300 700 3000 800]
+ SymbolLine[0 1500 0 2300 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 2300 800]
+ SymbolLine[1300 3000 2000 2300 800]
+)
+Symbol['9' 1200]
+(
+ SymbolLine[500 5000 2000 3000 800]
+ SymbolLine[2000 1500 2000 3000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 2500 800]
+ SymbolLine[0 2500 500 3000 800]
+ SymbolLine[500 3000 2000 3000 800]
+)
+Symbol[':' 1200]
+(
+ SymbolLine[0 2500 500 2500 800]
+ SymbolLine[0 3500 500 3500 800]
+)
+Symbol[';' 1200]
+(
+ SymbolLine[0 5000 1000 4000 800]
+ SymbolLine[1000 2500 1000 3000 800]
+)
+Symbol['<' 1200]
+(
+ SymbolLine[0 3000 1000 2000 800]
+ SymbolLine[0 3000 1000 4000 800]
+)
+Symbol['=' 1200]
+(
+ SymbolLine[0 2500 2000 2500 800]
+ SymbolLine[0 3500 2000 3500 800]
+)
+Symbol['>' 1200]
+(
+ SymbolLine[0 2000 1000 3000 800]
+ SymbolLine[0 4000 1000 3000 800]
+)
+Symbol['?' 1200]
+(
+ SymbolLine[1000 3000 1000 3500 800]
+ SymbolLine[1000 4500 1000 5000 800]
+ SymbolLine[0 1500 0 2000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 2000 800]
+ SymbolLine[1000 3000 2000 2000 800]
+)
+Symbol['@' 1200]
+(
+ SymbolLine[0 1000 0 4000 800]
+ SymbolLine[0 4000 1000 5000 800]
+ SymbolLine[1000 5000 4000 5000 800]
+ SymbolLine[5000 3500 5000 1000 800]
+ SymbolLine[5000 1000 4000 0 800]
+ SymbolLine[4000 0 1000 0 800]
+ SymbolLine[1000 0 0 1000 800]
+ SymbolLine[1500 2000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 3000 3500 800]
+ SymbolLine[3000 3500 3500 3000 800]
+ SymbolLine[3500 3000 4000 3500 800]
+ SymbolLine[3500 3000 3500 1500 800]
+ SymbolLine[3500 2000 3000 1500 800]
+ SymbolLine[2000 1500 3000 1500 800]
+ SymbolLine[2000 1500 1500 2000 800]
+ SymbolLine[4000 3500 5000 3500 800]
+)
+Symbol['A' 1200]
+(
+ SymbolLine[0 2000 0 5000 800]
+ SymbolLine[0 2000 700 1000 800]
+ SymbolLine[700 1000 1800 1000 800]
+ SymbolLine[1800 1000 2500 2000 800]
+ SymbolLine[2500 2000 2500 5000 800]
+ SymbolLine[0 3000 2500 3000 800]
+)
+Symbol['B' 1200]
+(
+ SymbolLine[0 5000 2000 5000 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[2500 3300 2500 4500 800]
+ SymbolLine[2000 2800 2500 3300 800]
+ SymbolLine[500 2800 2000 2800 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2300 800]
+ SymbolLine[2000 2800 2500 2300 800]
+)
+Symbol['C' 1200]
+(
+ SymbolLine[700 5000 2000 5000 800]
+ SymbolLine[0 4300 700 5000 800]
+ SymbolLine[0 1700 0 4300 800]
+ SymbolLine[0 1700 700 1000 800]
+ SymbolLine[700 1000 2000 1000 800]
+)
+Symbol['D' 1200]
+(
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[1800 1000 2500 1700 800]
+ SymbolLine[2500 1700 2500 4300 800]
+ SymbolLine[1800 5000 2500 4300 800]
+ SymbolLine[0 5000 1800 5000 800]
+ SymbolLine[0 1000 1800 1000 800]
+)
+Symbol['E' 1200]
+(
+ SymbolLine[0 2800 1500 2800 800]
+ SymbolLine[0 5000 2000 5000 800]
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+)
+Symbol['F' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[0 2800 1500 2800 800]
+)
+Symbol['G' 1200]
+(
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[500 1000 2000 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[2500 3500 2500 4500 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[1000 3000 2000 3000 800]
+)
+Symbol['H' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[2500 1000 2500 5000 800]
+ SymbolLine[0 3000 2500 3000 800]
+)
+Symbol['I' 1200]
+(
+ SymbolLine[0 1000 1000 1000 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 5000 1000 5000 800]
+)
+Symbol['J' 1200]
+(
+ SymbolLine[700 1000 1500 1000 800]
+ SymbolLine[1500 1000 1500 4500 800]
+ SymbolLine[1000 5000 1500 4500 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 4500 0 4000 800]
+)
+Symbol['K' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 3000 2000 1000 800]
+ SymbolLine[0 3000 2000 5000 800]
+)
+Symbol['L' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['M' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 1500 3000 800]
+ SymbolLine[1500 3000 3000 1000 800]
+ SymbolLine[3000 1000 3000 5000 800]
+)
+Symbol['N' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 2500 5000 800]
+ SymbolLine[2500 1000 2500 5000 800]
+)
+Symbol['O' 1200]
+(
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['P' 1200]
+(
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2500 800]
+ SymbolLine[2000 3000 2500 2500 800]
+ SymbolLine[500 3000 2000 3000 800]
+)
+Symbol['Q' 1200]
+(
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 4000 800]
+ SymbolLine[1000 5000 2000 4000 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[1000 3500 2000 5000 800]
+)
+Symbol['R' 1200]
+(
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2500 800]
+ SymbolLine[2000 3000 2500 2500 800]
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[1300 3000 2500 5000 800]
+)
+Symbol['S' 1200]
+(
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[500 1000 2000 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 2500 800]
+ SymbolLine[0 2500 500 3000 800]
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[2500 3500 2500 4500 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['T' 1200]
+(
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[1000 1000 1000 5000 800]
+)
+Symbol['U' 1200]
+(
+ SymbolLine[0 1000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 1000 2000 4500 800]
+)
+Symbol['V' 1200]
+(
+ SymbolLine[0 1000 1000 5000 800]
+ SymbolLine[1000 5000 2000 1000 800]
+)
+Symbol['W' 1200]
+(
+ SymbolLine[0 1000 0 3000 800]
+ SymbolLine[0 3000 500 5000 800]
+ SymbolLine[500 5000 1500 3000 800]
+ SymbolLine[1500 3000 2500 5000 800]
+ SymbolLine[2500 5000 3000 3000 800]
+ SymbolLine[3000 3000 3000 1000 800]
+)
+Symbol['X' 1200]
+(
+ SymbolLine[0 5000 2500 1000 800]
+ SymbolLine[0 1000 2500 5000 800]
+)
+Symbol['Y' 1200]
+(
+ SymbolLine[0 1000 1000 3000 800]
+ SymbolLine[1000 3000 2000 1000 800]
+ SymbolLine[1000 3000 1000 5000 800]
+)
+Symbol['Z' 1200]
+(
+ SymbolLine[0 1000 2500 1000 800]
+ SymbolLine[0 5000 2500 1000 800]
+ SymbolLine[0 5000 2500 5000 800]
+)
+Symbol['[' 1200]
+(
+ SymbolLine[0 1000 500 1000 800]
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 5000 500 5000 800]
+)
+Symbol['\' 1200]
+(
+ SymbolLine[0 1500 3000 4500 800]
+)
+Symbol[']' 1200]
+(
+ SymbolLine[0 1000 500 1000 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 5000 500 5000 800]
+)
+Symbol['^' 1200]
+(
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1000 1500 800]
+)
+Symbol['_' 1200]
+(
+ SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['a' 1200]
+(
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[2000 3000 2000 4500 800]
+ SymbolLine[2000 4500 2500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['b' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 3500 2000 4500 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+)
+Symbol['c' 1200]
+(
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 2000 5000 800]
+)
+Symbol['d' 1200]
+(
+ SymbolLine[2000 1000 2000 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+)
+Symbol['e' 1200]
+(
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[0 4000 2000 4000 800]
+ SymbolLine[2000 4000 2000 3500 800]
+)
+Symbol['f' 1000]
+(
+ SymbolLine[500 1500 500 5000 800]
+ SymbolLine[500 1500 1000 1000 800]
+ SymbolLine[1000 1000 1500 1000 800]
+ SymbolLine[0 3000 1000 3000 800]
+)
+Symbol['g' 1200]
+(
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[0 6000 500 6500 800]
+ SymbolLine[500 6500 1500 6500 800]
+ SymbolLine[1500 6500 2000 6000 800]
+ SymbolLine[2000 3000 2000 6000 800]
+)
+Symbol['h' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 5000 800]
+)
+Symbol['i' 1000]
+(
+ SymbolLine[0 2000 0 2100 1000]
+ SymbolLine[0 3500 0 5000 800]
+)
+Symbol['j' 1000]
+(
+ SymbolLine[500 2000 500 2100 1000]
+ SymbolLine[500 3500 500 6000 800]
+ SymbolLine[0 6500 500 6000 800]
+)
+Symbol['k' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 3500 1500 5000 800]
+ SymbolLine[0 3500 1000 2500 800]
+)
+Symbol['l' 1000]
+(
+ SymbolLine[0 1000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['m' 1200]
+(
+ SymbolLine[500 3500 500 5000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 5000 800]
+ SymbolLine[2000 3500 2500 3000 800]
+ SymbolLine[2500 3000 3000 3000 800]
+ SymbolLine[3000 3000 3500 3500 800]
+ SymbolLine[3500 3500 3500 5000 800]
+ SymbolLine[0 3000 500 3500 800]
+)
+Symbol['n' 1200]
+(
+ SymbolLine[500 3500 500 5000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 5000 800]
+ SymbolLine[0 3000 500 3500 800]
+)
+Symbol['o' 1200]
+(
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['p' 1200]
+(
+ SymbolLine[500 3500 500 6500 800]
+ SymbolLine[0 3000 500 3500 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 2000 3000 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[2500 3500 2500 4500 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[1000 5000 2000 5000 800]
+ SymbolLine[500 4500 1000 5000 800]
+)
+Symbol['q' 1200]
+(
+ SymbolLine[2000 3500 2000 6500 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['r' 1200]
+(
+ SymbolLine[500 3500 500 5000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 2000 3000 800]
+ SymbolLine[0 3000 500 3500 800]
+)
+Symbol['s' 1200]
+(
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[2000 4000 2500 4500 800]
+ SymbolLine[500 4000 2000 4000 800]
+ SymbolLine[0 3500 500 4000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['t' 1000]
+(
+ SymbolLine[500 1000 500 4500 800]
+ SymbolLine[500 4500 1000 5000 800]
+ SymbolLine[0 2500 1000 2500 800]
+)
+Symbol['u' 1200]
+(
+ SymbolLine[0 3000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 3000 2000 4500 800]
+)
+Symbol['v' 1200]
+(
+ SymbolLine[0 3000 1000 5000 800]
+ SymbolLine[2000 3000 1000 5000 800]
+)
+Symbol['w' 1200]
+(
+ SymbolLine[0 3000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[1000 5000 1500 4500 800]
+ SymbolLine[1500 3000 1500 4500 800]
+ SymbolLine[1500 4500 2000 5000 800]
+ SymbolLine[2000 5000 2500 5000 800]
+ SymbolLine[2500 5000 3000 4500 800]
+ SymbolLine[3000 3000 3000 4500 800]
+)
+Symbol['x' 1200]
+(
+ SymbolLine[0 3000 2000 5000 800]
+ SymbolLine[0 5000 2000 3000 800]
+)
+Symbol['y' 1200]
+(
+ SymbolLine[0 3000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[2000 3000 2000 6000 800]
+ SymbolLine[1500 6500 2000 6000 800]
+ SymbolLine[500 6500 1500 6500 800]
+ SymbolLine[0 6000 500 6500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['z' 1200]
+(
+ SymbolLine[0 3000 2000 3000 800]
+ SymbolLine[0 5000 2000 3000 800]
+ SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['{' 1200]
+(
+ SymbolLine[500 1500 1000 1000 800]
+ SymbolLine[500 1500 500 2500 800]
+ SymbolLine[0 3000 500 2500 800]
+ SymbolLine[0 3000 500 3500 800]
+ SymbolLine[500 3500 500 4500 800]
+ SymbolLine[500 4500 1000 5000 800]
+)
+Symbol['|' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+)
+Symbol['}' 1200]
+(
+ SymbolLine[0 1000 500 1500 800]
+ SymbolLine[500 1500 500 2500 800]
+ SymbolLine[500 2500 1000 3000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[500 3500 500 4500 800]
+ SymbolLine[0 5000 500 4500 800]
+)
+Symbol['~' 1200]
+(
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1000 3000 800]
+ SymbolLine[1000 3000 1500 3500 800]
+ SymbolLine[1500 3500 2000 3500 800]
+ SymbolLine[2000 3500 2500 3000 800]
+)
+Attribute("PCB::grid::unit" "mil")
+
+Element["" "Dual in-line package, medium wide (400 mil)" "" "DIP14M" 62500 22500 22000 5000 3 100 ""]
+(
+ Pin[0 0 6000 3000 6600 2800 "1" "1" "square"]
+ Pin[0 10000 6000 3000 6600 2800 "2" "2" ""]
+ Pin[0 20000 6000 3000 6600 2800 "3" "3" "thermal(1S)"]
+ Pin[0 30000 6000 3000 6600 2800 "4" "4" "square,shape(3)"]
+ Pin[0 40000 6000 3000 6600 2800 "5" "5" "square,shape(2)"]
+ Pin[0 50000 6000 3000 6600 2800 "6" "6" "square,shape(4)"]
+ Pin[0 60000 6000 3000 6600 2800 "7" "7" "square,shape(8)"]
+ Pin[40000 60000 6000 3000 6600 2800 "8" "8" "square,shape(8)"]
+ Pin[40000 50000 6000 3000 6600 2800 "9" "9" "square,shape(4)"]
+ Pin[40000 40000 6000 3000 6600 2800 "10" "10" "square,shape(2)"]
+ Pin[40000 30000 6000 3000 6600 2800 "11" "11" "square,shape(3)"]
+ Pin[40000 20000 6000 3000 6600 2800 "12" "12" ""]
+ Pin[40000 10000 6000 3000 6600 2800 "13" "13" ""]
+ Pin[40000 0 6000 3000 6600 2800 "14" "14" "square,shape(1)"]
+ ElementLine [-5000 -5000 -5000 65000 1000]
+ ElementLine [-5000 65000 45000 65000 1000]
+ ElementLine [45000 65000 45000 -5000 1000]
+ ElementLine [-5000 -5000 15000 -5000 1000]
+ ElementLine [25000 -5000 45000 -5000 1000]
+ ElementArc [20000 -5000 5000 5000 0 180 1000]
+
+ )
+Layer(1 "component")
+(
+)
+Layer(2 "solder")
+(
+ Line[10000 17500 67500 17500 1500 5000 "clearline"]
+ Line[67500 17500 77500 27500 1500 5000 "clearline"]
+ Line[77500 27500 85000 27500 1500 5000 "clearline"]
+ Line[62500 22500 37500 22500 1500 5000 "clearline"]
+ Line[10000 27500 67500 27500 1500 5000 "clearline"]
+ Line[67500 27500 77500 37500 1500 5000 "clearline"]
+ Line[77500 37500 85000 37500 1500 5000 "clearline"]
+ Line[62500 32500 45000 32500 1500 5000 "clearline"]
+ Line[10000 37500 67500 37500 1500 5000 "clearline"]
+ Line[67500 37500 77500 47500 1500 5000 "clearline"]
+ Line[77500 47500 85000 47500 1500 5000 "clearline"]
+ Line[62500 42500 27500 42500 1500 5000 ""]
+ Line[10000 47500 67500 47500 1500 5000 "clearline"]
+ Line[67500 47500 77500 57500 1500 5000 "clearline"]
+ Line[77500 57500 85000 57500 1500 5000 "clearline"]
+ Line[62500 52500 37500 52500 1500 5000 "clearline"]
+ Line[37500 57500 67500 57500 1500 5000 "clearline"]
+ Line[67500 57500 77500 67500 1500 5000 "clearline"]
+ Line[77500 67500 85000 67500 1500 5000 "clearline"]
+ Line[62500 62500 37500 62500 1500 5000 "clearline"]
+ Line[37500 67500 67500 67500 1500 5000 "clearline"]
+ Line[67500 67500 77500 77500 1500 5000 "clearline"]
+ Line[77500 77500 85000 77500 1500 5000 "clearline"]
+ Line[62500 72500 37500 72500 1500 5000 "clearline"]
+ Line[37500 77500 67500 77500 1500 5000 "clearline"]
+ Line[67500 77500 77500 87500 1500 5000 "clearline"]
+ Line[77500 87500 85000 87500 1500 5000 "clearline"]
+ Line[62500 82500 37500 82500 1500 5000 "clearline"]
+ Line[65000 32500 60000 32500 6000 5000 "clearline"]
+ Line[105000 32500 100000 32500 6000 5000 "clearline"]
+ Line[102500 32500 125000 32500 1500 5000 "clearline"]
+ Line[102500 52500 125000 52500 1500 5000 "clearline"]
+ Line[102500 62500 125000 62500 1500 5000 "clearline"]
+ Line[102500 72500 125000 72500 1500 5000 "clearline"]
+ Line[102500 82500 125000 82500 1500 5000 "clearline"]
+ Line[102500 22500 125000 22500 1500 5000 "clearline"]
+ Polygon("clearpoly")
+ (
+ [55000 37500] [70000 37500] [70000 47500] [55000 47500]
+ )
+ Polygon("clearpoly")
+ (
+ [85000 7500] [117500 7500] [117500 92500] [85000 92500]
+ )
+)
+Layer(3 "GND")
+(
+)
+Layer(4 "power")
+(
+)
+Layer(5 "signal1")
+(
+)
+Layer(6 "signal2")
+(
+)
+Layer(7 "signal3")
+(
+)
+Layer(8 "signal4")
+(
+)
+Layer(9 "silk")
+(
+)
+Layer(10 "silk")
+(
+ Text[10000 17500 0 130 "square" "clearline"]
+ Text[10000 27500 0 130 "fat trace" "clearline"]
+ Text[10000 37500 0 130 "poly" "clearline"]
+ Text[25000 95000 1 130 "with [square]" "clearline"]
+ Text[15000 92500 1 130 "shaped pins" "clearline"]
+)
Index: trunk/doc-rnd/square.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: trunk/doc-rnd/square.png
===================================================================
--- trunk/doc-rnd/square.png (nonexistent)
+++ trunk/doc-rnd/square.png (revision 37)
Property changes on: trunk/doc-rnd/square.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property