From 1fba999bec5a589e4785594fb1a6fbfab9129097 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Thu, 7 Dec 2017 12:12:59 +0100 Subject: o A start of a kicad_pcb parser. --- test/kicad_pcb/parser-1.kicad_pcb | 335 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 test/kicad_pcb/parser-1.kicad_pcb (limited to 'test/kicad_pcb/parser-1.kicad_pcb') diff --git a/test/kicad_pcb/parser-1.kicad_pcb b/test/kicad_pcb/parser-1.kicad_pcb new file mode 100644 index 0000000..b8efabc --- /dev/null +++ b/test/kicad_pcb/parser-1.kicad_pcb @@ -0,0 +1,335 @@ +(kicad_pcb (version 4) (host pcbnew 4.0.7+dfsg1-1) + + (general + (links 5) + (no_connects 0) + (area 139.649999 101.549999 152.450001 109.270001) + (thickness 1.6) + (drawings 5) + (tracks 14) + (zones 0) + (modules 4) + (nets 4) + ) + + (page A4) + (layers + (0 F.Cu signal) + (31 B.Cu signal) + (32 B.Adhes user) + (33 F.Adhes user) + (34 B.Paste user) + (35 F.Paste user) + (36 B.SilkS user) + (37 F.SilkS user) + (38 B.Mask user) + (39 F.Mask user) + (40 Dwgs.User user) + (41 Cmts.User user) + (42 Eco1.User user) + (43 Eco2.User user) + (44 Edge.Cuts user) + (45 Margin user) + (46 B.CrtYd user) + (47 F.CrtYd user) + (48 B.Fab user) + (49 F.Fab user) + ) + + (setup + (last_trace_width 0.25) + (trace_clearance 0.2) + (zone_clearance 0.508) + (zone_45_only no) + (trace_min 0.2) + (segment_width 0.2) + (edge_width 0.2) + (via_size 0.6) + (via_drill 0.4) + (via_min_size 0.4) + (via_min_drill 0.3) + (uvia_size 0.3) + (uvia_drill 0.1) + (uvias_allowed no) + (uvia_min_size 0.2) + (uvia_min_drill 0.1) + (pcb_text_width 0.3) + (pcb_text_size 1.5 1.5) + (mod_edge_width 0.15) + (mod_text_size 1 1) + (mod_text_width 0.15) + (pad_size 1.524 1.524) + (pad_drill 0.762) + (pad_to_mask_clearance 0.2) + (aux_axis_origin 0 0) + (visible_elements FFFFFF7F) + (pcbplotparams + (layerselection 0x00030_80000001) + (usegerberextensions false) + (excludeedgelayer true) + (linewidth 0.100000) + (plotframeref false) + (viasonmask false) + (mode 1) + (useauxorigin false) + (hpglpennumber 1) + (hpglpenspeed 20) + (hpglpendiameter 15) + (hpglpenoverlay 2) + (psnegative false) + (psa4output false) + (plotreference true) + (plotvalue true) + (plotinvisibletext false) + (padsonsilk false) + (subtractmaskfromsilk false) + (outputformat 1) + (mirror false) + (drillshape 1) + (scaleselection 1) + (outputdirectory "")) + ) + + (net 0 "") + (net 1 "Net-(C1-Pad1)") + (net 2 "Net-(J1-Pad2)") + (net 3 GND) + + (net_class Default "This is the default net class." + (clearance 0.2) + (trace_width 0.25) + (via_dia 0.6) + (via_drill 0.4) + (uvia_dia 0.3) + (uvia_drill 0.1) + (add_net GND) + (add_net "Net-(C1-Pad1)") + (add_net "Net-(J1-Pad2)") + ) + + (module Capacitors_SMD:C_0603 (layer F.Cu) (tedit 59958EE7) (tstamp 5A29152D) + (at 149.86 106.68 180) + (descr "Capacitor SMD 0603, reflow soldering, AVX (see smccp.pdf)") + (tags "capacitor 0603") + (path /5A2915AE) + (attr smd) + (fp_text reference C1 (at 0 -1.5 180) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value C (at 0 1.5 180) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_line (start 1.4 0.65) (end -1.4 0.65) (layer F.CrtYd) (width 0.05)) + (fp_line (start 1.4 0.65) (end 1.4 -0.65) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.4 -0.65) (end -1.4 0.65) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.4 -0.65) (end 1.4 -0.65) (layer F.CrtYd) (width 0.05)) + (fp_line (start 0.35 0.6) (end -0.35 0.6) (layer F.SilkS) (width 0.12)) + (fp_line (start -0.35 -0.6) (end 0.35 -0.6) (layer F.SilkS) (width 0.12)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) (layer F.Fab) (width 0.1)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) (layer F.Fab) (width 0.1)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) (layer F.Fab) (width 0.1)) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) (layer F.Fab) (width 0.1)) + (fp_text user %R (at 0 0 180) (layer F.Fab) + (effects (font (size 0.3 0.3) (thickness 0.075))) + ) + (pad 2 smd rect (at 0.75 0 180) (size 0.8 0.75) (layers F.Cu F.Paste F.Mask) + (net 3 GND)) + (pad 1 smd rect (at -0.75 0 180) (size 0.8 0.75) (layers F.Cu F.Paste F.Mask) + (net 1 "Net-(C1-Pad1)")) + (model Capacitors_SMD.3dshapes/C_0603.wrl + (at (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (module Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm (layer F.Cu) (tedit 59650532) (tstamp 5A291533) + (at 142.24 106.68 180) + (descr "Through hole straight pin header, 1x02, 2.54mm pitch, single row") + (tags "Through hole pin header THT 1x02 2.54mm single row") + (path /5A2914CA) + (fp_text reference J1 (at 0 -2.33 180) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value Conn_01x02 (at 0 4.87 180) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer F.Fab) (width 0.1)) + (fp_line (start 1.27 -1.27) (end 1.27 3.81) (layer F.Fab) (width 0.1)) + (fp_line (start 1.27 3.81) (end -1.27 3.81) (layer F.Fab) (width 0.1)) + (fp_line (start -1.27 3.81) (end -1.27 -0.635) (layer F.Fab) (width 0.1)) + (fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer F.Fab) (width 0.1)) + (fp_line (start -1.33 3.87) (end 1.33 3.87) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.33 1.27) (end -1.33 3.87) (layer F.SilkS) (width 0.12)) + (fp_line (start 1.33 1.27) (end 1.33 3.87) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.33 1.27) (end 1.33 1.27) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.33 0) (end -1.33 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.33 -1.33) (end 0 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.8 -1.8) (end -1.8 4.35) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.8 4.35) (end 1.8 4.35) (layer F.CrtYd) (width 0.05)) + (fp_line (start 1.8 4.35) (end 1.8 -1.8) (layer F.CrtYd) (width 0.05)) + (fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer F.CrtYd) (width 0.05)) + (fp_text user %R (at 0 1.27 270) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (pad 1 thru_hole rect (at 0 0 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) + (net 3 GND)) + (pad 2 thru_hole oval (at 0 2.54 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) + (net 2 "Net-(J1-Pad2)")) + (model ${KISYS3DMOD}/Pin_Headers.3dshapes/Pin_Header_Straight_1x02_Pitch2.54mm.wrl + (at (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (module Resistors_SMD:R_0603 (layer F.Cu) (tedit 58E0A804) (tstamp 5A291539) + (at 146.05 104.14) + (descr "Resistor SMD 0603, reflow soldering, Vishay (see dcrcw.pdf)") + (tags "resistor 0603") + (path /5A29147F) + (attr smd) + (fp_text reference R1 (at 0 -1.45) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value R (at 0 1.5) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user %R (at 0 0) (layer F.Fab) + (effects (font (size 0.4 0.4) (thickness 0.075))) + ) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) (layer F.Fab) (width 0.1)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) (layer F.Fab) (width 0.1)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) (layer F.Fab) (width 0.1)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) (layer F.Fab) (width 0.1)) + (fp_line (start 0.5 0.68) (end -0.5 0.68) (layer F.SilkS) (width 0.12)) + (fp_line (start -0.5 -0.68) (end 0.5 -0.68) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.25 -0.7) (end 1.25 -0.7) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.25 -0.7) (end -1.25 0.7) (layer F.CrtYd) (width 0.05)) + (fp_line (start 1.25 0.7) (end 1.25 -0.7) (layer F.CrtYd) (width 0.05)) + (fp_line (start 1.25 0.7) (end -1.25 0.7) (layer F.CrtYd) (width 0.05)) + (pad 1 smd rect (at -0.75 0) (size 0.5 0.9) (layers F.Cu F.Paste F.Mask) + (net 2 "Net-(J1-Pad2)")) + (pad 2 smd rect (at 0.75 0) (size 0.5 0.9) (layers F.Cu F.Paste F.Mask) + (net 1 "Net-(C1-Pad1)")) + (model ${KISYS3DMOD}/Resistors_SMD.3dshapes/R_0603.wrl + (at (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (module Resistors_SMD:R_0603 (layer F.Cu) (tedit 58E0A804) (tstamp 5A29153F) + (at 146.05 106.68 180) + (descr "Resistor SMD 0603, reflow soldering, Vishay (see dcrcw.pdf)") + (tags "resistor 0603") + (path /5A29151D) + (attr smd) + (fp_text reference R2 (at 0 -1.45 180) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value R (at 0 1.5 180) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text user %R (at 0 0 180) (layer F.Fab) + (effects (font (size 0.4 0.4) (thickness 0.075))) + ) + (fp_line (start -0.8 0.4) (end -0.8 -0.4) (layer F.Fab) (width 0.1)) + (fp_line (start 0.8 0.4) (end -0.8 0.4) (layer F.Fab) (width 0.1)) + (fp_line (start 0.8 -0.4) (end 0.8 0.4) (layer F.Fab) (width 0.1)) + (fp_line (start -0.8 -0.4) (end 0.8 -0.4) (layer F.Fab) (width 0.1)) + (fp_line (start 0.5 0.68) (end -0.5 0.68) (layer F.SilkS) (width 0.12)) + (fp_line (start -0.5 -0.68) (end 0.5 -0.68) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.25 -0.7) (end 1.25 -0.7) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.25 -0.7) (end -1.25 0.7) (layer F.CrtYd) (width 0.05)) + (fp_line (start 1.25 0.7) (end 1.25 -0.7) (layer F.CrtYd) (width 0.05)) + (fp_line (start 1.25 0.7) (end -1.25 0.7) (layer F.CrtYd) (width 0.05)) + (pad 1 smd rect (at -0.75 0 180) (size 0.5 0.9) (layers F.Cu F.Paste F.Mask) + (net 1 "Net-(C1-Pad1)")) + (pad 2 smd rect (at 0.75 0 180) (size 0.5 0.9) (layers F.Cu F.Paste F.Mask) + (net 3 GND)) + (model ${KISYS3DMOD}/Resistors_SMD.3dshapes/R_0603.wrl + (at (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (dimension 12.7 (width 0.3) (layer Dwgs.User) + (gr_text "12,700 mm" (at 146.05 97.71) (layer Dwgs.User) + (effects (font (size 1.5 1.5) (thickness 0.3))) + ) + (feature1 (pts (xy 152.4 101.6) (xy 152.4 96.36))) + (feature2 (pts (xy 139.7 101.6) (xy 139.7 96.36))) + (crossbar (pts (xy 139.7 99.06) (xy 152.4 99.06))) + (arrow1a (pts (xy 152.4 99.06) (xy 151.273496 99.646421))) + (arrow1b (pts (xy 152.4 99.06) (xy 151.273496 98.473579))) + (arrow2a (pts (xy 139.7 99.06) (xy 140.826504 99.646421))) + (arrow2b (pts (xy 139.7 99.06) (xy 140.826504 98.473579))) + ) + (gr_line (start 139.7 109.22) (end 139.7 101.6) (layer Edge.Cuts) (width 0.1)) + (gr_line (start 152.4 109.22) (end 139.7 109.22) (layer Edge.Cuts) (width 0.1)) + (gr_line (start 152.4 101.6) (end 152.4 109.22) (layer Edge.Cuts) (width 0.1)) + (gr_line (start 139.7 101.6) (end 152.4 101.6) (layer Edge.Cuts) (width 0.1)) + + (segment (start 150.61 106.68) (end 150.585 106.68) (width 0.25) (layer F.Cu) (net 1)) + (segment (start 150.585 106.68) (end 149.884999 105.979999) (width 0.25) (layer F.Cu) (net 1)) + (segment (start 147.3 106.68) (end 146.8 106.68) (width 0.25) (layer F.Cu) (net 1)) + (segment (start 149.884999 105.979999) (end 148.000001 105.979999) (width 0.25) (layer F.Cu) (net 1)) + (segment (start 148.000001 105.979999) (end 147.3 106.68) (width 0.25) (layer F.Cu) (net 1)) + (segment (start 146.8 106.68) (end 146.8 106.48) (width 0.25) (layer F.Cu) (net 1)) + (segment (start 146.8 106.48) (end 146.8 104.14) (width 0.25) (layer F.Cu) (net 1)) + (segment (start 142.24 104.14) (end 145.3 104.14) (width 0.25) (layer F.Cu) (net 2)) + (segment (start 149.11 106.68) (end 148.085002 106.68) (width 0.25) (layer F.Cu) (net 3)) + (segment (start 148.085002 106.68) (end 147.310001 107.455001) (width 0.25) (layer F.Cu) (net 3)) + (segment (start 147.310001 107.455001) (end 146.289999 107.455001) (width 0.25) (layer F.Cu) (net 3)) + (segment (start 146.289999 107.455001) (end 145.514998 106.68) (width 0.25) (layer F.Cu) (net 3)) + (segment (start 145.514998 106.68) (end 143.34 106.68) (width 0.25) (layer F.Cu) (net 3)) + (segment (start 143.34 106.68) (end 142.24 106.68) (width 0.25) (layer F.Cu) (net 3)) + + (zone (net 2) (net_name "Net-(J1-Pad2)") (layer F.Cu) (tstamp 0) (hatch edge 0.508) + (connect_pads (clearance 0.508)) + (min_thickness 0.254) + (fill yes (arc_segments 16) (thermal_gap 0.508) (thermal_bridge_width 0.508)) + (polygon + (pts + (xy 152.4 101.6) (xy 139.7 101.6) (xy 139.7 109.22) (xy 152.4 109.22) + ) + ) + (filled_polygon + (pts + (xy 151.715 108.535) (xy 140.385 108.535) (xy 140.385 105.83) (xy 140.74256 105.83) (xy 140.74256 107.53) + (xy 140.786838 107.765317) (xy 140.92591 107.981441) (xy 141.13811 108.126431) (xy 141.39 108.17744) (xy 143.09 108.17744) + (xy 143.325317 108.133162) (xy 143.541441 107.99409) (xy 143.686431 107.78189) (xy 143.73744 107.53) (xy 143.73744 107.44) + (xy 144.494895 107.44) (xy 144.58591 107.581441) (xy 144.79811 107.726431) (xy 145.05 107.77744) (xy 145.537636 107.77744) + (xy 145.752598 107.992402) (xy 145.99916 108.157149) (xy 146.289999 108.215001) (xy 147.310001 108.215001) (xy 147.60084 108.157149) + (xy 147.847402 107.992402) (xy 148.297864 107.54194) (xy 148.45811 107.651431) (xy 148.71 107.70244) (xy 149.51 107.70244) + (xy 149.745317 107.658162) (xy 149.859978 107.58438) (xy 149.95811 107.651431) (xy 150.21 107.70244) (xy 151.01 107.70244) + (xy 151.245317 107.658162) (xy 151.461441 107.51909) (xy 151.606431 107.30689) (xy 151.65744 107.055) (xy 151.65744 106.305) + (xy 151.613162 106.069683) (xy 151.47409 105.853559) (xy 151.26189 105.708569) (xy 151.01 105.65756) (xy 150.637362 105.65756) + (xy 150.4224 105.442598) (xy 150.175838 105.277851) (xy 149.884999 105.219999) (xy 148.000001 105.219999) (xy 147.709162 105.277851) + (xy 147.56 105.377518) (xy 147.56 104.968386) (xy 147.646431 104.84189) (xy 147.69744 104.59) (xy 147.69744 103.69) + (xy 147.653162 103.454683) (xy 147.51409 103.238559) (xy 147.30189 103.093569) (xy 147.05 103.04256) (xy 146.55 103.04256) + (xy 146.314683 103.086838) (xy 146.098559 103.22591) (xy 146.052031 103.294006) (xy 145.909698 103.151673) (xy 145.676309 103.055) + (xy 145.58375 103.055) (xy 145.425 103.21375) (xy 145.425 104.013) (xy 145.447 104.013) (xy 145.447 104.267) + (xy 145.425 104.267) (xy 145.425 105.06625) (xy 145.58375 105.225) (xy 145.676309 105.225) (xy 145.909698 105.128327) + (xy 146.04 104.998026) (xy 146.04 105.818824) (xy 146.01409 105.778559) (xy 145.80189 105.633569) (xy 145.55 105.58256) + (xy 145.05 105.58256) (xy 144.814683 105.626838) (xy 144.598559 105.76591) (xy 144.493274 105.92) (xy 143.73744 105.92) + (xy 143.73744 105.83) (xy 143.693162 105.594683) (xy 143.55409 105.378559) (xy 143.34189 105.233569) (xy 143.233893 105.211699) + (xy 143.511645 104.906924) (xy 143.681476 104.49689) (xy 143.643933 104.42575) (xy 144.415 104.42575) (xy 144.415 104.71631) + (xy 144.511673 104.949699) (xy 144.690302 105.128327) (xy 144.923691 105.225) (xy 145.01625 105.225) (xy 145.175 105.06625) + (xy 145.175 104.267) (xy 144.57375 104.267) (xy 144.415 104.42575) (xy 143.643933 104.42575) (xy 143.560155 104.267) + (xy 142.367 104.267) (xy 142.367 104.287) (xy 142.113 104.287) (xy 142.113 104.267) (xy 140.919845 104.267) + (xy 140.798524 104.49689) (xy 140.968355 104.906924) (xy 141.244501 105.209937) (xy 141.154683 105.226838) (xy 140.938559 105.36591) + (xy 140.793569 105.57811) (xy 140.74256 105.83) (xy 140.385 105.83) (xy 140.385 103.78311) (xy 140.798524 103.78311) + (xy 140.919845 104.013) (xy 142.113 104.013) (xy 142.113 102.819181) (xy 142.367 102.819181) (xy 142.367 104.013) + (xy 143.560155 104.013) (xy 143.681476 103.78311) (xy 143.590595 103.56369) (xy 144.415 103.56369) (xy 144.415 103.85425) + (xy 144.57375 104.013) (xy 145.175 104.013) (xy 145.175 103.21375) (xy 145.01625 103.055) (xy 144.923691 103.055) + (xy 144.690302 103.151673) (xy 144.511673 103.330301) (xy 144.415 103.56369) (xy 143.590595 103.56369) (xy 143.511645 103.373076) + (xy 143.121358 102.944817) (xy 142.596892 102.698514) (xy 142.367 102.819181) (xy 142.113 102.819181) (xy 141.883108 102.698514) + (xy 141.358642 102.944817) (xy 140.968355 103.373076) (xy 140.798524 103.78311) (xy 140.385 103.78311) (xy 140.385 102.285) + (xy 151.715 102.285) + ) + ) + ) +) -- cgit v1.2.3