Index: src_plugins/io_hyp/tests/test00/samp.hyp =================================================================== --- src_plugins/io_hyp/tests/test00/samp.hyp (revision 8745) +++ src_plugins/io_hyp/tests/test00/samp.hyp (nonexistent) @@ -1,289 +0,0 @@ -{VERSION=2.0} -{UNITS=METRIC LENGTH} -{BOARD - (PERIMETER_SEGMENT X1=1.0 Y1=0.0 X2=19.0 Y2=0.0) - (PERIMETER_SEGMENT X1=20.0 Y1=1.0 X2=20.0 Y2=9.0) - (PERIMETER_SEGMENT X1=19.0 Y1=10.0 X2=1.0 Y2=10.0) - (PERIMETER_SEGMENT X1=0.0 Y1=9.0 X2=0.0 Y2=1.0) - (PERIMETER_ARC X1=0.0 Y1=1.0 X2=1.0 Y2=0.0 XC=1.0 YC=1.0 R=1.0) - (PERIMETER_ARC X1=1.0 Y1=10.0 X2=0.0 Y2=9.0 XC=1.0 YC=9.0 R=1.0) - (PERIMETER_ARC X1=20.0 Y1=9.0 X2=19.0 Y2=10.0 XC=19.0 YC=9.0 R=1.0) - (PERIMETER_ARC X1=19.0 Y1=0.0 X2=20.0 Y2=1.0 XC=19.0 YC=1.0 R=1.0) - - (PERIMETER_SEGMENT X1=2.0 Y1=1.0 X2=3.0 Y2=1.0) - (PERIMETER_SEGMENT X1=3.0 Y1=9.0 X2=2.0 Y2=9.0) - (PERIMETER_ARC X1=2.0 Y1=9.0 X2=1.0 Y2=8.0 XC=2.0 YC=8.0 R=1.0) - (PERIMETER_SEGMENT X1=1.0 Y1=8.0 X2=1.0 Y2=2.0) - (PERIMETER_ARC X1=1.0 Y1=2.0 X2=2.0 Y2=1.0 XC=2.0 YC=2.0 R=1.0) - (PERIMETER_SEGMENT X1=4.0 Y1=2.0 X2=4.0 Y2=8.0) - (PERIMETER_ARC X1=3.0 Y1=1.0 X2=4.0 Y2=2.0 XC=3.0 YC=2.0 R=1.0) - (PERIMETER_ARC X1=4.0 Y1=8.0 X2=3.0 Y2=9.0 XC=3.0 YC=8.0 R=1.0) - (PERIMETER_ARC X1=5.5 Y1=5.0 X2=5.5 Y2=5.0 XC=5.0 YC=5.0 R=0.5) - (PERIMETER_ARC X1=5.5 Y1=6.0 X2=4.5 Y2=6.0 XC=5.0 YC=6.0 R=0.5) - (PERIMETER_SEGMENT X1=4.5 Y1=6.0 X2=5.5 Y2=6.0) - (PERIMETER_ARC X1=4.5 Y1=7.5 X2=5.5 Y2=7.5 XC=5.0 YC=7.5 R=0.5) - (PERIMETER_SEGMENT X1=4.5 Y1=7.5 X2=5.5 Y2=7.5) - (PERIMETER_ARC X1=5.5 Y1=8.5 X2=5.0 Y2=8.0 XC=5.0 YC=8.5 R=0.5) - (PERIMETER_SEGMENT X1=5.0 Y1=8.0 X2=5.5 Y2=8.5) -} -{PLANE_SEP=0.05} -{STACKUP - (SIGNAL T=0.000700 L=component) - (DIELECTRIC T=0.002000 C=4.000000) - (PLANE T=0.000700 L=solder PS=0.508) -} -{DEVICES - (? REF=U1 NAME=BC548 L=component) -} -{PADSTACK=roundpad, 0.2 - (MDEF, 0, 0.5, 0.5, 0) -} -{PADSTACK=squarepad, 0.2 - (MDEF, 1, 0.5, 0.5, 0) -} -{PADSTACK=oblongpad, 0.2 - (MDEF, 2, 0.5, 0.5, 0) -} -{PADSTACK=nodrill, - (MDEF, 0, 0.5, 0.5, 0) -} -{PADSTACK=0802pad, - (component, 1, 0.2, 0.12, 0) -} -{NET=segtst - (SEG X1=6.500000 Y1=3.000000 X2=6.625000 Y2=3.000000 W=0.008333 L=component) - (SEG X1=6.433013 Y1=3.250000 X2=6.649519 Y2=3.375000 W=0.016667 L=component) - (SEG X1=6.250000 Y1=3.433013 X2=6.437500 Y2=3.757772 W=0.025000 L=component) - (SEG X1=6.000000 Y1=3.500000 X2=6.000000 Y2=4.000000 W=0.033333 L=component) - (SEG X1=5.750000 Y1=3.433013 X2=5.437500 Y2=3.974279 W=0.041667 L=component) - (SEG X1=5.566987 Y1=3.250000 X2=4.917468 Y2=3.625000 W=0.050000 L=component) - (SEG X1=5.500000 Y1=3.000000 X2=4.625000 Y2=3.000000 W=0.058333 L=component) - (SEG X1=5.566987 Y1=2.750000 X2=4.700962 Y2=2.250000 W=0.066667 L=component) - (SEG X1=5.750000 Y1=2.566987 X2=5.187500 Y2=1.592709 W=0.075000 L=component) - (SEG X1=6.000000 Y1=2.500000 X2=6.000000 Y2=1.250000 W=0.083333 L=component) - (SEG X1=6.250000 Y1=2.566987 X2=6.937500 Y2=1.376202 W=0.091667 L=component) - (SEG X1=6.433013 Y1=2.750000 X2=7.732051 Y2=2.000000 W=0.100000 L=component) -} -{NET=arctst - (ARC X1=9.100000 Y1=1.000000 X2=9.100000 Y2=1.000000 XC=9.000000 YC=1.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.100000 Y1=1.400000 X2=9.070711 Y2=1.470711 XC=9.000000 YC=1.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.100000 Y1=1.800000 X2=9.000000 Y2=1.900000 XC=9.000000 YC=1.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.100000 Y1=2.200000 X2=8.929289 Y2=2.270711 XC=9.000000 YC=2.200000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.100000 Y1=2.600000 X2=8.900000 Y2=2.600000 XC=9.000000 YC=2.600000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.100000 Y1=3.000000 X2=8.929289 Y2=2.929289 XC=9.000000 YC=3.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.100000 Y1=3.400000 X2=9.000000 Y2=3.300000 XC=9.000000 YC=3.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.100000 Y1=3.800000 X2=9.070711 Y2=3.729289 XC=9.000000 YC=3.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.470711 Y1=1.070711 X2=9.500000 Y2=1.000000 XC=9.400000 YC=1.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.470711 Y1=1.470711 X2=9.470711 Y2=1.470711 XC=9.400000 YC=1.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.470711 Y1=1.870711 X2=9.400000 Y2=1.900000 XC=9.400000 YC=1.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.470711 Y1=2.270711 X2=9.329289 Y2=2.270711 XC=9.400000 YC=2.200000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.470711 Y1=2.670711 X2=9.300000 Y2=2.600000 XC=9.400000 YC=2.600000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.470711 Y1=3.070711 X2=9.329289 Y2=2.929289 XC=9.400000 YC=3.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.470711 Y1=3.470711 X2=9.400000 Y2=3.300000 XC=9.400000 YC=3.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.470711 Y1=3.870711 X2=9.470711 Y2=3.729289 XC=9.400000 YC=3.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.800000 Y1=1.100000 X2=9.900000 Y2=1.000000 XC=9.800000 YC=1.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.800000 Y1=1.500000 X2=9.870711 Y2=1.470711 XC=9.800000 YC=1.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.800000 Y1=1.900000 X2=9.800000 Y2=1.900000 XC=9.800000 YC=1.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.800000 Y1=2.300000 X2=9.729289 Y2=2.270711 XC=9.800000 YC=2.200000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.800000 Y1=2.700000 X2=9.700000 Y2=2.600000 XC=9.800000 YC=2.600000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.800000 Y1=3.100000 X2=9.729289 Y2=2.929289 XC=9.800000 YC=3.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.800000 Y1=3.500000 X2=9.800000 Y2=3.300000 XC=9.800000 YC=3.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=9.800000 Y1=3.900000 X2=9.870711 Y2=3.729289 XC=9.800000 YC=3.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.129289 Y1=1.070711 X2=10.300000 Y2=1.000000 XC=10.200000 YC=1.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.129289 Y1=1.470711 X2=10.270711 Y2=1.470711 XC=10.200000 YC=1.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.129289 Y1=1.870711 X2=10.200000 Y2=1.900000 XC=10.200000 YC=1.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.129289 Y1=2.270711 X2=10.129289 Y2=2.270711 XC=10.200000 YC=2.200000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.129289 Y1=2.670711 X2=10.100000 Y2=2.600000 XC=10.200000 YC=2.600000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.129289 Y1=3.070711 X2=10.129289 Y2=2.929289 XC=10.200000 YC=3.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.129289 Y1=3.470711 X2=10.200000 Y2=3.300000 XC=10.200000 YC=3.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.129289 Y1=3.870711 X2=10.270711 Y2=3.729289 XC=10.200000 YC=3.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.500000 Y1=1.000000 X2=10.700000 Y2=1.000000 XC=10.600000 YC=1.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.500000 Y1=1.400000 X2=10.670711 Y2=1.470711 XC=10.600000 YC=1.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.500000 Y1=1.800000 X2=10.600000 Y2=1.900000 XC=10.600000 YC=1.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.500000 Y1=2.200000 X2=10.529289 Y2=2.270711 XC=10.600000 YC=2.200000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.500000 Y1=2.600000 X2=10.500000 Y2=2.600000 XC=10.600000 YC=2.600000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.500000 Y1=3.000000 X2=10.529289 Y2=2.929289 XC=10.600000 YC=3.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.500000 Y1=3.400000 X2=10.600000 Y2=3.300000 XC=10.600000 YC=3.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.500000 Y1=3.800000 X2=10.670711 Y2=3.729289 XC=10.600000 YC=3.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.929289 Y1=0.929289 X2=11.100000 Y2=1.000000 XC=11.000000 YC=1.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.929289 Y1=1.329289 X2=11.070711 Y2=1.470711 XC=11.000000 YC=1.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.929289 Y1=1.729289 X2=11.000000 Y2=1.900000 XC=11.000000 YC=1.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.929289 Y1=2.129289 X2=10.929289 Y2=2.270711 XC=11.000000 YC=2.200000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.929289 Y1=2.529289 X2=10.900000 Y2=2.600000 XC=11.000000 YC=2.600000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.929289 Y1=2.929289 X2=10.929289 Y2=2.929289 XC=11.000000 YC=3.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.929289 Y1=3.329289 X2=11.000000 Y2=3.300000 XC=11.000000 YC=3.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=10.929289 Y1=3.729289 X2=11.070711 Y2=3.729289 XC=11.000000 YC=3.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.400000 Y1=0.900000 X2=11.500000 Y2=1.000000 XC=11.400000 YC=1.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.400000 Y1=1.300000 X2=11.470711 Y2=1.470711 XC=11.400000 YC=1.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.400000 Y1=1.700000 X2=11.400000 Y2=1.900000 XC=11.400000 YC=1.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.400000 Y1=2.100000 X2=11.329289 Y2=2.270711 XC=11.400000 YC=2.200000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.400000 Y1=2.500000 X2=11.300000 Y2=2.600000 XC=11.400000 YC=2.600000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.400000 Y1=2.900000 X2=11.329289 Y2=2.929289 XC=11.400000 YC=3.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.400000 Y1=3.300000 X2=11.400000 Y2=3.300000 XC=11.400000 YC=3.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.400000 Y1=3.700000 X2=11.470711 Y2=3.729289 XC=11.400000 YC=3.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.870711 Y1=0.929289 X2=11.900000 Y2=1.000000 XC=11.800000 YC=1.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.870711 Y1=1.329289 X2=11.870711 Y2=1.470711 XC=11.800000 YC=1.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.870711 Y1=1.729289 X2=11.800000 Y2=1.900000 XC=11.800000 YC=1.800000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.870711 Y1=2.129289 X2=11.729289 Y2=2.270711 XC=11.800000 YC=2.200000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.870711 Y1=2.529289 X2=11.700000 Y2=2.600000 XC=11.800000 YC=2.600000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.870711 Y1=2.929289 X2=11.729289 Y2=2.929289 XC=11.800000 YC=3.000000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.870711 Y1=3.329289 X2=11.800000 Y2=3.300000 XC=11.800000 YC=3.400000 R=0.100000 W=0.025000 L=component) - (ARC X1=11.870711 Y1=3.729289 X2=11.870711 Y2=3.729289 XC=11.800000 YC=3.800000 R=0.100000 W=0.025000 L=component) -} -{NET=viatst - (VIA X=13 Y=1 P=roundpad) - (VIA X=13 Y=2 P=squarepad) - (VIA X=13 Y=3 P=oblongpad) - (VIA X=13 Y=4 P=nodrill) - (SEG X1=13 Y1=1 X2=13 Y2=2 W=0.1 L=component) - (SEG X1=13 Y1=2 X2=13 Y2=3 W=0.1 L=component) - (SEG X1=13 Y1=3 X2=13 Y2=4 W=0.1 L=component) -} -{NET=oldviatst - (VIA X=14 Y=1 D=0.2 L1=component S1=ROUND S1X=0.5 S1Y=0.5) - (VIA X=14 Y=2 D=0.2 L1=component L2=solder S1=RECT S1X=0.5 S1Y=0.5) - (VIA X=14 Y=3 D=0.2 L1=component L2=solder S1=OBLONG S1X=0.5 S1Y=0.5) - (VIA X=14 Y=4 D=0.0 L1=component L2=solder S1=ROUND S1X=0.5 S1Y=0.5) - (SEG X1=14 Y1=1 X2=14 Y2=2 W=0.1 L=component) - (SEG X1=14 Y1=2 X2=14 Y2=3 W=0.1 L=component) - (SEG X1=14 Y1=3 X2=14 Y2=4 W=0.1 L=component) -} -{NET=pintst - (PIN X=15 Y=1 R=U1.1 P=roundpad) - (PIN X=15 Y=2 R=U1.2 P=squarepad) - (PIN X=15 Y=3 R=U1.3 P=oblongpad) -} -{NET=padtst - (PAD X=16 Y=1 L=component S=ROUND SX=0.5 SY=0.5) - (PAD X=16 Y=2 L=component S=RECT SX=0.5 SY=0.5) - (PAD X=16 Y=3 L=component S=OBLONG SX=0.5 SY=0.5) - (PAD X=17 Y=1 L=solder S=ROUND SX=0.5 SY=0.5) - (PAD X=17 Y=2 L=solder S=RECT SX=0.5 SY=0.5) - (PAD X=17 Y=3 L=solder S=OBLONG SX=0.5 SY=0.5) -} -{NET=usegtst - (USEG X1=18 Y1=1 L1=component X2=19 Y2=1 L2=component ZL=component ZW=0.1 ZLEN=2 ) - (USEG X1=18 Y1=2 L1=component X2=19 Y2=2 L2=component Z=50 D=1e-12 R=5 ) - (USEG X1=18 Y1=3 L1=component X2=19 Y2=3 L2=solder ZL=component ZW=0.1 ZLEN=2 ) - (USEG X1=18 Y1=4 L1=component X2=19 Y2=4 L2=solder Z=50 D=1e-12 R=5 ) -} -{NET=polylinetst - {POLYGON L=component W=0.05 ID=1 X=5.875000 Y=4.875000 - (LINE X=6.125000 Y=4.875000) - (LINE X=6.125000 Y=5.125000) - (LINE X=5.875000 Y=5.125000) - (LINE X=5.875000 Y=4.875000) - } - {POLYLINE L=component W=0.1 ID=1 X=6.000000 Y=5.000000 - (LINE X=8.000000 Y=5.000000) - (CURVE X1=8.000000 Y1=5.000000 X2=8.000000 Y2=5.500000 XC=8.000000 YC=5.250000 R=0.250000) - (LINE X=6.000000 Y=5.500000) - (CURVE X1=6.000000 Y1=6.000000 X2=6.000000 Y2=5.500000 XC=6.000000 YC=5.750000 R=0.250000) - (LINE X=8.000000 Y=6.000000) - (CURVE X1=8.000000 Y1=6.000000 X2=8.000000 Y2=6.500000 XC=8.000000 YC=6.250000 R=0.250000) - (LINE X=6.000000 Y=6.500000) - (CURVE X1=6.000000 Y1=7.000000 X2=6.000000 Y2=6.500000 XC=6.000000 YC=6.750000 R=0.250000) - (LINE X=8.000000 Y=7.000000) - (CURVE X1=8.000000 Y1=7.000000 X2=8.000000 Y2=7.500000 XC=8.000000 YC=7.250000 R=0.250000) - (LINE X=6.000000 Y=7.500000) - (CURVE X1=6.000000 Y1=8.000000 X2=6.000000 Y2=7.500000 XC=6.000000 YC=7.750000 R=0.250000) - (LINE X=8.000000 Y=8.000000) - (CURVE X1=8.000000 Y1=8.000000 X2=8.000000 Y2=8.500000 XC=8.000000 YC=8.250000 R=0.250000) - (LINE X=6.000000 Y=8.500000) - (CURVE X1=6.000000 Y1=9.000000 X2=6.000000 Y2=8.500000 XC=6.000000 YC=8.750000 R=0.250000) - } -} -{NET=curvetst - {POLYGON L=component W=0.05 ID=2 X=10.000000 Y=5.500000 - (CURVE X1=10.000000 Y1=5.500000 X2=10.000000 Y2=5.500000 XC=9.500000 YC=5.500000 R=0.500000 ) - } - {POLYVOID ID=2 X=9.250000 Y=5.500000 - (CURVE X1=9.250000 Y1=5.500000 X2=9.750000 Y2=5.500000 XC=9.500000 YC=5.500000 R=0.250000 ) - (LINE X=9.250000 Y=5.500000) - } -} -{NET=linetst - {POLYGON L=component W=0.05 ID=3 X=9.000000 Y=6.500000 - (LINE X=10.000000 Y=6.500000) - (LINE X=10.000000 Y=7.000000) - (LINE X=9.500000 Y=7.000000) - (LINE X=9.500000 Y=7.500000) - (LINE X=9.000000 Y=7.500000) - (LINE X=9.000000 Y=6.500000) - } - {POLYVOID ID=3 X=9.125000 Y=6.625000 - (LINE X=9.625000 Y=6.625000) - (LINE X=9.625000 Y=6.875000) - (LINE X=9.375000 Y=6.875000) - (LINE X=9.375000 Y=7.125000) - (LINE X=9.125000 Y=7.125000) - (LINE X=9.125000 Y=6.625000) - } -} -{NET=poly_clearance_tst PS=0.05 - (VIA X=11.750000 Y=5.250000 P=0802pad) - (VIA X=11.750000 Y=6.250000 P=0802pad) - (VIA X=11.750000 Y=7.250000 P=0802pad) - (SEG X1=11.000000 Y1=5.250000 X2=11.750000 Y2=5.250000 W=0.04 L=component) - (SEG X1=11.000000 Y1=6.250000 X2=11.750000 Y2=6.250000 W=0.04 L=component) - (SEG X1=11.000000 Y1=7.250000 X2=11.750000 Y2=7.250000 W=0.04 L=component) - (SEG X1=11.000000 Y1=5.250000 X2=11.000000 Y2=6.250000 W=0.04 L=component) - (SEG X1=11.000000 Y1=6.250000 X2=11.000000 Y2=7.250000 W=0.04 L=component) - {POLYGON L=component T=POUR W=0.100000 ID=4 X=11.500000 Y=5.000000 - (LINE X=12.500000 Y=5.000000) - (LINE X=12.500000 Y=5.500000) - (LINE X=11.500000 Y=5.500000) - (LINE X=11.500000 Y=5.000000) - } - {POLYGON L=component T=COPPER W=0.100000 ID=5 X=11.500000 Y=6.000000 - (LINE X=12.500000 Y=6.000000) - (LINE X=12.500000 Y=6.500000) - (LINE X=11.500000 Y=6.500000) - (LINE X=11.500000 Y=6.000000) - } - {POLYGON L=component T=PLANE W=0.100000 ID=6 X=11.500000 Y=7.000000 - (LINE X=12.500000 Y=7.000000) - (LINE X=12.500000 Y=7.500000) - (LINE X=11.500000 Y=7.500000) - (LINE X=11.500000 Y=7.000000) - } -} -{NET=poly_clearance_tst2 PS=0.05 - (VIA X=12.250000 Y=5.250000 P=0802pad) - (VIA X=12.250000 Y=6.250000 P=0802pad) - (VIA X=12.250000 Y=7.250000 P=0802pad) - (SEG X1=13.000000 Y1=5.250000 X2=12.250000 Y2=5.250000 W=0.04 L=component) - (SEG X1=13.000000 Y1=6.250000 X2=12.250000 Y2=6.250000 W=0.04 L=component) - (SEG X1=13.000000 Y1=7.250000 X2=12.250000 Y2=7.250000 W=0.04 L=component) - (SEG X1=13.000000 Y1=5.250000 X2=13.000000 Y2=6.250000 W=0.04 L=component) - (SEG X1=13.000000 Y1=6.250000 X2=13.000000 Y2=7.250000 W=0.04 L=component) -} -{NET=nesting_poly_1 PS=0 - {POLYGON L=component T=POUR W=0.000000 ID=7 X=14.000000 Y=5.000000 - (LINE X=16.000000 Y=5.000000) - (LINE X=16.000000 Y=7.000000) - (LINE X=14.000000 Y=7.000000) - (LINE X=14.000000 Y=5.000000) - } - {POLYVOID ID=7 X=14.250000 Y=5.250000 - (LINE X=15.750000 Y=5.250000) - (LINE X=15.750000 Y=6.750000) - (LINE X=14.250000 Y=6.750000) - (LINE X=14.250000 Y=5.250000) - } -} -{NET=nesting_poly_2 PS=0 - {POLYGON L=component T=POUR W=0.000000 ID=8 X=14.500000 Y=5.500000 - (LINE X=15.500000 Y=5.500000) - (LINE X=15.500000 Y=6.500000) - (LINE X=14.500000 Y=6.500000) - (LINE X=14.500000 Y=5.500000) - } - {POLYVOID ID=8 X=14.750000 Y=5.750000 - (LINE X=15.250000 Y=5.750000) - (LINE X=15.250000 Y=6.250000) - (LINE X=14.750000 Y=6.250000) - (LINE X=14.750000 Y=5.750000) - } -} -{END} Index: src_plugins/io_hyp/tests/test00/gensamp =================================================================== --- src_plugins/io_hyp/tests/test00/gensamp (revision 8745) +++ src_plugins/io_hyp/tests/test00/gensamp (nonexistent) @@ -1,328 +0,0 @@ -#!/usr/bin/python -""" - Generate sample hyperlynx file - Copyright 2017 Koen De Vleeschauwer. - - This file is part of pcb-rnd. - - This program is free software: you can 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 - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -""" - -from math import pi, sin, cos - -print "{VERSION=2.0}" -print "{UNITS=METRIC LENGTH}" -print "{BOARD" -print " (PERIMETER_SEGMENT X1=1.0 Y1=0.0 X2=19.0 Y2=0.0)" -print " (PERIMETER_SEGMENT X1=20.0 Y1=1.0 X2=20.0 Y2=9.0)" -print " (PERIMETER_SEGMENT X1=19.0 Y1=10.0 X2=1.0 Y2=10.0)" -print " (PERIMETER_SEGMENT X1=0.0 Y1=9.0 X2=0.0 Y2=1.0)" -print " (PERIMETER_ARC X1=0.0 Y1=1.0 X2=1.0 Y2=0.0 XC=1.0 YC=1.0 R=1.0)" -print " (PERIMETER_ARC X1=1.0 Y1=10.0 X2=0.0 Y2=9.0 XC=1.0 YC=9.0 R=1.0)" -print " (PERIMETER_ARC X1=20.0 Y1=9.0 X2=19.0 Y2=10.0 XC=19.0 YC=9.0 R=1.0)" -print " (PERIMETER_ARC X1=19.0 Y1=0.0 X2=20.0 Y2=1.0 XC=19.0 YC=1.0 R=1.0)" -print "" -print " (PERIMETER_SEGMENT X1=2.0 Y1=1.0 X2=3.0 Y2=1.0)" -print " (PERIMETER_SEGMENT X1=3.0 Y1=9.0 X2=2.0 Y2=9.0)" -print " (PERIMETER_ARC X1=2.0 Y1=9.0 X2=1.0 Y2=8.0 XC=2.0 YC=8.0 R=1.0)" -print " (PERIMETER_SEGMENT X1=1.0 Y1=8.0 X2=1.0 Y2=2.0)" -print " (PERIMETER_ARC X1=1.0 Y1=2.0 X2=2.0 Y2=1.0 XC=2.0 YC=2.0 R=1.0)" -print " (PERIMETER_SEGMENT X1=4.0 Y1=2.0 X2=4.0 Y2=8.0)" -print " (PERIMETER_ARC X1=3.0 Y1=1.0 X2=4.0 Y2=2.0 XC=3.0 YC=2.0 R=1.0)" -print " (PERIMETER_ARC X1=4.0 Y1=8.0 X2=3.0 Y2=9.0 XC=3.0 YC=8.0 R=1.0)" - -print " (PERIMETER_ARC X1=5.5 Y1=5.0 X2=5.5 Y2=5.0 XC=5.0 YC=5.0 R=0.5)" - -print " (PERIMETER_ARC X1=5.5 Y1=6.0 X2=4.5 Y2=6.0 XC=5.0 YC=6.0 R=0.5)" -print " (PERIMETER_SEGMENT X1=4.5 Y1=6.0 X2=5.5 Y2=6.0)" - -print " (PERIMETER_ARC X1=4.5 Y1=7.5 X2=5.5 Y2=7.5 XC=5.0 YC=7.5 R=0.5)" -print " (PERIMETER_SEGMENT X1=4.5 Y1=7.5 X2=5.5 Y2=7.5)" - -print " (PERIMETER_ARC X1=5.5 Y1=8.5 X2=5.0 Y2=8.0 XC=5.0 YC=8.5 R=0.5)" -print " (PERIMETER_SEGMENT X1=5.0 Y1=8.0 X2=5.5 Y2=8.5)" - -print "}" - -print "{PLANE_SEP=0.05}" - -print "{STACKUP" -print " (SIGNAL T=0.000700 L=component)" -print " (DIELECTRIC T=0.002000 C=4.000000)" -print " (PLANE T=0.000700 L=solder PS=0.508)" -print "}" -print "{DEVICES" -print " (? REF=U1 NAME=BC548 L=component)" -print "}" - -# -# PADSTACK. MDEF is shorthand for "all copper layers" -# - -print "{PADSTACK=roundpad, 0.2" -print " (MDEF, 0, 0.5, 0.5, 0)" -print "}" -print "{PADSTACK=squarepad, 0.2" -print " (MDEF, 1, 0.5, 0.5, 0)" -print "}" -print "{PADSTACK=oblongpad, 0.2" -print " (MDEF, 2, 0.5, 0.5, 0)" -print "}" -print "{PADSTACK=nodrill," -print " (MDEF, 0, 0.5, 0.5, 0)" -print "}" -print "{PADSTACK=0802pad," -print " (component, 1, 0.2, 0.12, 0)" -print "}" - -# -# SEG line segments -# - -x0 = 6 -y0 = 3 -r1 = 0.5 -r2 = 2 -max = 12 - -print "{NET=segtst" - -for x in range (0, max): - alpha = x * 2 * pi / max - x1 = x0 + r1 * cos (alpha) - y1 = y0 + r1 * sin (alpha) - r = r1 + (r2 - r1) * (x + 1) / max - x2 = x0 + r * cos (alpha) - y2 = y0 + r * sin (alpha) - w = (x + 1) * 0.1 / max - print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=%f L=component)" % ( x1, y1, x2, y2, w) - -print "}" - -# -# ARC arc segments -# - -max = 8 -x0 = 9 -y0 = 1 -r = 0.1 -w = r / 4 - -print "{NET=arctst" - -for a in range (0, max): - for b in range (0, max): - alpha = 2 * pi * a / max - beta = 2 * pi * b / max - xc = x0 + 4 * r * a - yc = y0 + 4 * r * b - x1 = xc + r * cos (alpha) - y1 = yc + r * sin (alpha) - x2 = xc + r * cos (beta) - y2 = yc + r * sin (beta) - print " (ARC X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f W=%f L=component)" % ( x1, y1, x2, y2, xc, yc, r, w) - -print "}" - -# -# VIA -# - -print "{NET=viatst" -print " (VIA X=13 Y=1 P=roundpad)" -print " (VIA X=13 Y=2 P=squarepad)" -print " (VIA X=13 Y=3 P=oblongpad)" -print " (VIA X=13 Y=4 P=nodrill)" -print " (SEG X1=13 Y1=1 X2=13 Y2=2 W=0.1 L=component)" -print " (SEG X1=13 Y1=2 X2=13 Y2=3 W=0.1 L=component)" -print " (SEG X1=13 Y1=3 X2=13 Y2=4 W=0.1 L=component)" -print "}" - -# -# old-style VIA, compatibility only. -# - -print "{NET=oldviatst" -print " (VIA X=14 Y=1 D=0.2 L1=component S1=ROUND S1X=0.5 S1Y=0.5)" -print " (VIA X=14 Y=2 D=0.2 L1=component L2=solder S1=RECT S1X=0.5 S1Y=0.5)" -print " (VIA X=14 Y=3 D=0.2 L1=component L2=solder S1=OBLONG S1X=0.5 S1Y=0.5)" -print " (VIA X=14 Y=4 D=0.0 L1=component L2=solder S1=ROUND S1X=0.5 S1Y=0.5)" -print " (SEG X1=14 Y1=1 X2=14 Y2=2 W=0.1 L=component)" -print " (SEG X1=14 Y1=2 X2=14 Y2=3 W=0.1 L=component)" -print " (SEG X1=14 Y1=3 X2=14 Y2=4 W=0.1 L=component)" -print "}" - -print "{NET=pintst" -# a through-hole transistor -print " (PIN X=15 Y=1 R=U1.1 P=roundpad)" -print " (PIN X=15 Y=2 R=U1.2 P=squarepad)" -print " (PIN X=15 Y=3 R=U1.3 P=oblongpad)" -print "}" - -print "{NET=padtst" -print " (PAD X=16 Y=1 L=component S=ROUND SX=0.5 SY=0.5)" -print " (PAD X=16 Y=2 L=component S=RECT SX=0.5 SY=0.5)" -print " (PAD X=16 Y=3 L=component S=OBLONG SX=0.5 SY=0.5)" -print " (PAD X=17 Y=1 L=solder S=ROUND SX=0.5 SY=0.5)" -print " (PAD X=17 Y=2 L=solder S=RECT SX=0.5 SY=0.5)" -print " (PAD X=17 Y=3 L=solder S=OBLONG SX=0.5 SY=0.5)" -print "}" - -print "{NET=usegtst" -print " (USEG X1=18 Y1=1 L1=component X2=19 Y2=1 L2=component ZL=component ZW=0.1 ZLEN=2 )" -print " (USEG X1=18 Y1=2 L1=component X2=19 Y2=2 L2=component Z=50 D=1e-12 R=5 )" -print " (USEG X1=18 Y1=3 L1=component X2=19 Y2=3 L2=solder ZL=component ZW=0.1 ZLEN=2 )" -print " (USEG X1=18 Y1=4 L1=component X2=19 Y2=4 L2=solder Z=50 D=1e-12 R=5 )" -print "}" - -x0 = 6.0 -y0 = 5.0 -l = 2.0 -h = 0.5 -r = h/2.0 -w = h/4.0 - -print "{NET=polylinetst" -print " {POLYGON L=component W=0.05 ID=1 X=%f Y=%f" % (x0-w, y0-w) -print " (LINE X=%f Y=%f)" % (x0+w, y0-w) -print " (LINE X=%f Y=%f)" % (x0+w, y0+w) -print " (LINE X=%f Y=%f)" % (x0-w, y0+w) -print " (LINE X=%f Y=%f)" % (x0-w, y0-w) -print " }" -print " {POLYLINE L=component W=0.1 ID=1 X=%f Y=%f" % (x0, y0) -for a in range (0, 8, 2): - print " (LINE X=%f Y=%f)" % ( x0+l, y0+a*h) - print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f)" % ( x0+l, y0+a*h, x0+l, y0+(a+1)*h, x0+l, y0+(a+0.5)*h, r) - print " (LINE X=%f Y=%f)" % ( x0, y0+(a+1)*h) - print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f)" % ( x0, y0+(a+2)*h, x0, y0+(a+1)*h, x0, y0+(a+1.5)*h, r) - -print " }" -print "}" - -x0 = 9.5 -y0 = 5.5 -r = 0.5 - -print "{NET=curvetst" -print " {POLYGON L=component W=0.05 ID=2 X=%f Y=%f" % (x0+r, y0) -print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f )" % (x0+r, y0, x0+r, y0, x0, y0, r) -print " }" -print " {POLYVOID ID=2 X=%f Y=%f" % (x0-r/2, y0) -print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f )" % (x0-r/2, y0, x0+r/2, y0, x0, y0, r/2) -print " (LINE X=%f Y=%f)" % (x0-r/2, y0) -print " }" -print "}" - -x0 = 9.0 -y0 = 6.5 -w = 0.5 - -print "{NET=linetst" -print " {POLYGON L=component W=0.05 ID=3 X=%f Y=%f" % (x0, y0) -print " (LINE X=%f Y=%f)" % (x0+2*w, y0) -print " (LINE X=%f Y=%f)" % (x0+2*w, y0+w) -print " (LINE X=%f Y=%f)" % (x0+w, y0+w) -print " (LINE X=%f Y=%f)" % (x0+w, y0+2*w) -print " (LINE X=%f Y=%f)" % (x0, y0+2*w) -print " (LINE X=%f Y=%f)" % (x0, y0) -print " }" - -x0 = 9.125 -y0 = 6.625 -w = 0.25 - -print " {POLYVOID ID=3 X=%f Y=%f" % (x0, y0) -print " (LINE X=%f Y=%f)" % (x0+2*w, y0) -print " (LINE X=%f Y=%f)" % (x0+2*w, y0+w) -print " (LINE X=%f Y=%f)" % (x0+w, y0+w) -print " (LINE X=%f Y=%f)" % (x0+w, y0+2*w) -print " (LINE X=%f Y=%f)" % (x0, y0+2*w) -print " (LINE X=%f Y=%f)" % (x0, y0) -print " }" - -print "}" - -x0 = 11.5 -y0 = 5.0 -w = 1.0 -h = 0.5 -s = 1.0 - -def mkpolygon (typ, linewdth, id, x0, y0, w, h): - print " {POLYGON L=component T=%s W=%f ID=%i X=%f Y=%f" % (typ, linewdth, id, x0, y0) - print " (LINE X=%f Y=%f)" % (x0+w, y0) - print " (LINE X=%f Y=%f)" % (x0+w, y0+h) - print " (LINE X=%f Y=%f)" % (x0, y0+h) - print " (LINE X=%f Y=%f)" % (x0, y0) - print " }" - return - -def mkpolyvoid (id, x0, y0, w, h): - print " {POLYVOID ID=%i X=%f Y=%f" % (id, x0, y0) - print " (LINE X=%f Y=%f)" % (x0+w, y0) - print " (LINE X=%f Y=%f)" % (x0+w, y0+h) - print " (LINE X=%f Y=%f)" % (x0, y0+h) - print " (LINE X=%f Y=%f)" % (x0, y0) - print " }" - return - -x1 = 11.0 -x2 = x0 + w / 4.0 -print "{NET=poly_clearance_tst PS=0.05" -print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0) -print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+s) -print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+2*s) -print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0, x2, y0+h/2.0) -print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+s, x2, y0+h/2.0+s) -print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+2*s, x2, y0+h/2.0+2*s) -print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0, x1, y0+h/2.0+s) -print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+s, x1, y0+h/2.0+2*s) - -mkpolygon("POUR", 0.1, 4, x0, y0, w, h) -mkpolygon("COPPER", 0.1, 5, x0, y0 + s, w, h) -mkpolygon("PLANE", 0.1, 6, x0, y0 + 2 * s, w, h) - -print "}" - -x1 = 13.0 -x2 = x0 + w * 3.0 / 4.0 -print "{NET=poly_clearance_tst2 PS=0.05" -print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0) -print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+s) -print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+2*s) -print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0, x2, y0+h/2.0) -print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+s, x2, y0+h/2.0+s) -print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+2*s, x2, y0+h/2.0+2*s) -print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0, x1, y0+h/2.0+s) -print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+s, x1, y0+h/2.0+2*s) -print "}" - -# test nesting of polygons - -x0 = 14.0 -y0 = 5.0 -s = 0.25 -print "{NET=nesting_poly_1 PS=0" -mkpolygon("POUR", 0, 7, x0, y0, 8*s, 8*s) -mkpolyvoid(7, x0+1*s, y0+1*s, 6*s, 6*s) -print "}" -print "{NET=nesting_poly_2 PS=0" -mkpolygon("POUR", 0, 8, x0+2*s, y0+2*s, 4*s, 4*s) -mkpolyvoid(8, x0+3*s, y0+3*s, 2*s, 2*s) -print "}" - -print "{END}" - -# not truncated Property changes on: src_plugins/io_hyp/tests/test00/gensamp ___________________________________________________________________ Deleted: svn:executable ## -1 +0,0 ## -* \ No newline at end of property Index: src_plugins/io_hyp/tests/test00/gen_test00.py =================================================================== --- src_plugins/io_hyp/tests/test00/gen_test00.py (nonexistent) +++ src_plugins/io_hyp/tests/test00/gen_test00.py (revision 8746) @@ -0,0 +1,328 @@ +#!/usr/bin/python +""" + Generate sample hyperlynx file + Copyright 2017 Koen De Vleeschauwer. + + This file is part of pcb-rnd. + + This program is free software: you can 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 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +""" + +from math import pi, sin, cos + +print "{VERSION=2.0}" +print "{UNITS=METRIC LENGTH}" +print "{BOARD" +print " (PERIMETER_SEGMENT X1=1.0 Y1=0.0 X2=19.0 Y2=0.0)" +print " (PERIMETER_SEGMENT X1=20.0 Y1=1.0 X2=20.0 Y2=9.0)" +print " (PERIMETER_SEGMENT X1=19.0 Y1=10.0 X2=1.0 Y2=10.0)" +print " (PERIMETER_SEGMENT X1=0.0 Y1=9.0 X2=0.0 Y2=1.0)" +print " (PERIMETER_ARC X1=0.0 Y1=1.0 X2=1.0 Y2=0.0 XC=1.0 YC=1.0 R=1.0)" +print " (PERIMETER_ARC X1=1.0 Y1=10.0 X2=0.0 Y2=9.0 XC=1.0 YC=9.0 R=1.0)" +print " (PERIMETER_ARC X1=20.0 Y1=9.0 X2=19.0 Y2=10.0 XC=19.0 YC=9.0 R=1.0)" +print " (PERIMETER_ARC X1=19.0 Y1=0.0 X2=20.0 Y2=1.0 XC=19.0 YC=1.0 R=1.0)" +print "" +print " (PERIMETER_SEGMENT X1=2.0 Y1=1.0 X2=3.0 Y2=1.0)" +print " (PERIMETER_SEGMENT X1=3.0 Y1=9.0 X2=2.0 Y2=9.0)" +print " (PERIMETER_ARC X1=2.0 Y1=9.0 X2=1.0 Y2=8.0 XC=2.0 YC=8.0 R=1.0)" +print " (PERIMETER_SEGMENT X1=1.0 Y1=8.0 X2=1.0 Y2=2.0)" +print " (PERIMETER_ARC X1=1.0 Y1=2.0 X2=2.0 Y2=1.0 XC=2.0 YC=2.0 R=1.0)" +print " (PERIMETER_SEGMENT X1=4.0 Y1=2.0 X2=4.0 Y2=8.0)" +print " (PERIMETER_ARC X1=3.0 Y1=1.0 X2=4.0 Y2=2.0 XC=3.0 YC=2.0 R=1.0)" +print " (PERIMETER_ARC X1=4.0 Y1=8.0 X2=3.0 Y2=9.0 XC=3.0 YC=8.0 R=1.0)" + +print " (PERIMETER_ARC X1=5.5 Y1=5.0 X2=5.5 Y2=5.0 XC=5.0 YC=5.0 R=0.5)" + +print " (PERIMETER_ARC X1=5.5 Y1=6.0 X2=4.5 Y2=6.0 XC=5.0 YC=6.0 R=0.5)" +print " (PERIMETER_SEGMENT X1=4.5 Y1=6.0 X2=5.5 Y2=6.0)" + +print " (PERIMETER_ARC X1=4.5 Y1=7.5 X2=5.5 Y2=7.5 XC=5.0 YC=7.5 R=0.5)" +print " (PERIMETER_SEGMENT X1=4.5 Y1=7.5 X2=5.5 Y2=7.5)" + +print " (PERIMETER_ARC X1=5.5 Y1=8.5 X2=5.0 Y2=8.0 XC=5.0 YC=8.5 R=0.5)" +print " (PERIMETER_SEGMENT X1=5.0 Y1=8.0 X2=5.5 Y2=8.5)" + +print "}" + +print "{PLANE_SEP=0.05}" + +print "{STACKUP" +print " (SIGNAL T=0.000700 L=component)" +print " (DIELECTRIC T=0.002000 C=4.000000)" +print " (PLANE T=0.000700 L=solder PS=0.508)" +print "}" +print "{DEVICES" +print " (? REF=U1 NAME=BC548 L=component)" +print "}" + +# +# PADSTACK. MDEF is shorthand for "all copper layers" +# + +print "{PADSTACK=roundpad, 0.2" +print " (MDEF, 0, 0.5, 0.5, 0)" +print "}" +print "{PADSTACK=squarepad, 0.2" +print " (MDEF, 1, 0.5, 0.5, 0)" +print "}" +print "{PADSTACK=oblongpad, 0.2" +print " (MDEF, 2, 0.5, 0.5, 0)" +print "}" +print "{PADSTACK=nodrill," +print " (MDEF, 0, 0.5, 0.5, 0)" +print "}" +print "{PADSTACK=0802pad," +print " (component, 1, 0.2, 0.12, 0)" +print "}" + +# +# SEG line segments +# + +x0 = 6 +y0 = 3 +r1 = 0.5 +r2 = 2 +max = 12 + +print "{NET=segtst" + +for x in range (0, max): + alpha = x * 2 * pi / max + x1 = x0 + r1 * cos (alpha) + y1 = y0 + r1 * sin (alpha) + r = r1 + (r2 - r1) * (x + 1) / max + x2 = x0 + r * cos (alpha) + y2 = y0 + r * sin (alpha) + w = (x + 1) * 0.1 / max + print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=%f L=component)" % ( x1, y1, x2, y2, w) + +print "}" + +# +# ARC arc segments +# + +max = 8 +x0 = 9 +y0 = 1 +r = 0.1 +w = r / 4 + +print "{NET=arctst" + +for a in range (0, max): + for b in range (0, max): + alpha = 2 * pi * a / max + beta = 2 * pi * b / max + xc = x0 + 4 * r * a + yc = y0 + 4 * r * b + x1 = xc + r * cos (alpha) + y1 = yc + r * sin (alpha) + x2 = xc + r * cos (beta) + y2 = yc + r * sin (beta) + print " (ARC X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f W=%f L=component)" % ( x1, y1, x2, y2, xc, yc, r, w) + +print "}" + +# +# VIA +# + +print "{NET=viatst" +print " (VIA X=13 Y=1 P=roundpad)" +print " (VIA X=13 Y=2 P=squarepad)" +print " (VIA X=13 Y=3 P=oblongpad)" +print " (VIA X=13 Y=4 P=nodrill)" +print " (SEG X1=13 Y1=1 X2=13 Y2=2 W=0.1 L=component)" +print " (SEG X1=13 Y1=2 X2=13 Y2=3 W=0.1 L=component)" +print " (SEG X1=13 Y1=3 X2=13 Y2=4 W=0.1 L=component)" +print "}" + +# +# old-style VIA, compatibility only. +# + +print "{NET=oldviatst" +print " (VIA X=14 Y=1 D=0.2 L1=component S1=ROUND S1X=0.5 S1Y=0.5)" +print " (VIA X=14 Y=2 D=0.2 L1=component L2=solder S1=RECT S1X=0.5 S1Y=0.5)" +print " (VIA X=14 Y=3 D=0.2 L1=component L2=solder S1=OBLONG S1X=0.5 S1Y=0.5)" +print " (VIA X=14 Y=4 D=0.0 L1=component L2=solder S1=ROUND S1X=0.5 S1Y=0.5)" +print " (SEG X1=14 Y1=1 X2=14 Y2=2 W=0.1 L=component)" +print " (SEG X1=14 Y1=2 X2=14 Y2=3 W=0.1 L=component)" +print " (SEG X1=14 Y1=3 X2=14 Y2=4 W=0.1 L=component)" +print "}" + +print "{NET=pintst" +# a through-hole transistor +print " (PIN X=15 Y=1 R=U1.1 P=roundpad)" +print " (PIN X=15 Y=2 R=U1.2 P=squarepad)" +print " (PIN X=15 Y=3 R=U1.3 P=oblongpad)" +print "}" + +print "{NET=padtst" +print " (PAD X=16 Y=1 L=component S=ROUND SX=0.5 SY=0.5)" +print " (PAD X=16 Y=2 L=component S=RECT SX=0.5 SY=0.5)" +print " (PAD X=16 Y=3 L=component S=OBLONG SX=0.5 SY=0.5)" +print " (PAD X=17 Y=1 L=solder S=ROUND SX=0.5 SY=0.5)" +print " (PAD X=17 Y=2 L=solder S=RECT SX=0.5 SY=0.5)" +print " (PAD X=17 Y=3 L=solder S=OBLONG SX=0.5 SY=0.5)" +print "}" + +print "{NET=usegtst" +print " (USEG X1=18 Y1=1 L1=component X2=19 Y2=1 L2=component ZL=component ZW=0.1 ZLEN=2 )" +print " (USEG X1=18 Y1=2 L1=component X2=19 Y2=2 L2=component Z=50 D=1e-12 R=5 )" +print " (USEG X1=18 Y1=3 L1=component X2=19 Y2=3 L2=solder ZL=component ZW=0.1 ZLEN=2 )" +print " (USEG X1=18 Y1=4 L1=component X2=19 Y2=4 L2=solder Z=50 D=1e-12 R=5 )" +print "}" + +x0 = 6.0 +y0 = 5.0 +l = 2.0 +h = 0.5 +r = h/2.0 +w = h/4.0 + +print "{NET=polylinetst" +print " {POLYGON L=component W=0.05 ID=1 X=%f Y=%f" % (x0-w, y0-w) +print " (LINE X=%f Y=%f)" % (x0+w, y0-w) +print " (LINE X=%f Y=%f)" % (x0+w, y0+w) +print " (LINE X=%f Y=%f)" % (x0-w, y0+w) +print " (LINE X=%f Y=%f)" % (x0-w, y0-w) +print " }" +print " {POLYLINE L=component W=0.1 ID=1 X=%f Y=%f" % (x0, y0) +for a in range (0, 8, 2): + print " (LINE X=%f Y=%f)" % ( x0+l, y0+a*h) + print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f)" % ( x0+l, y0+a*h, x0+l, y0+(a+1)*h, x0+l, y0+(a+0.5)*h, r) + print " (LINE X=%f Y=%f)" % ( x0, y0+(a+1)*h) + print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f)" % ( x0, y0+(a+2)*h, x0, y0+(a+1)*h, x0, y0+(a+1.5)*h, r) + +print " }" +print "}" + +x0 = 9.5 +y0 = 5.5 +r = 0.5 + +print "{NET=curvetst" +print " {POLYGON L=component W=0.05 ID=2 X=%f Y=%f" % (x0+r, y0) +print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f )" % (x0+r, y0, x0+r, y0, x0, y0, r) +print " }" +print " {POLYVOID ID=2 X=%f Y=%f" % (x0-r/2, y0) +print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f )" % (x0-r/2, y0, x0+r/2, y0, x0, y0, r/2) +print " (LINE X=%f Y=%f)" % (x0-r/2, y0) +print " }" +print "}" + +x0 = 9.0 +y0 = 6.5 +w = 0.5 + +print "{NET=linetst" +print " {POLYGON L=component W=0.05 ID=3 X=%f Y=%f" % (x0, y0) +print " (LINE X=%f Y=%f)" % (x0+2*w, y0) +print " (LINE X=%f Y=%f)" % (x0+2*w, y0+w) +print " (LINE X=%f Y=%f)" % (x0+w, y0+w) +print " (LINE X=%f Y=%f)" % (x0+w, y0+2*w) +print " (LINE X=%f Y=%f)" % (x0, y0+2*w) +print " (LINE X=%f Y=%f)" % (x0, y0) +print " }" + +x0 = 9.125 +y0 = 6.625 +w = 0.25 + +print " {POLYVOID ID=3 X=%f Y=%f" % (x0, y0) +print " (LINE X=%f Y=%f)" % (x0+2*w, y0) +print " (LINE X=%f Y=%f)" % (x0+2*w, y0+w) +print " (LINE X=%f Y=%f)" % (x0+w, y0+w) +print " (LINE X=%f Y=%f)" % (x0+w, y0+2*w) +print " (LINE X=%f Y=%f)" % (x0, y0+2*w) +print " (LINE X=%f Y=%f)" % (x0, y0) +print " }" + +print "}" + +x0 = 11.5 +y0 = 5.0 +w = 1.0 +h = 0.5 +s = 1.0 + +def mkpolygon (typ, linewdth, id, x0, y0, w, h): + print " {POLYGON L=component T=%s W=%f ID=%i X=%f Y=%f" % (typ, linewdth, id, x0, y0) + print " (LINE X=%f Y=%f)" % (x0+w, y0) + print " (LINE X=%f Y=%f)" % (x0+w, y0+h) + print " (LINE X=%f Y=%f)" % (x0, y0+h) + print " (LINE X=%f Y=%f)" % (x0, y0) + print " }" + return + +def mkpolyvoid (id, x0, y0, w, h): + print " {POLYVOID ID=%i X=%f Y=%f" % (id, x0, y0) + print " (LINE X=%f Y=%f)" % (x0+w, y0) + print " (LINE X=%f Y=%f)" % (x0+w, y0+h) + print " (LINE X=%f Y=%f)" % (x0, y0+h) + print " (LINE X=%f Y=%f)" % (x0, y0) + print " }" + return + +x1 = 11.0 +x2 = x0 + w / 4.0 +print "{NET=poly_clearance_tst PS=0.05" +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0) +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+s) +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+2*s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0, x2, y0+h/2.0) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+s, x2, y0+h/2.0+s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+2*s, x2, y0+h/2.0+2*s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0, x1, y0+h/2.0+s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+s, x1, y0+h/2.0+2*s) + +mkpolygon("POUR", 0.1, 4, x0, y0, w, h) +mkpolygon("COPPER", 0.1, 5, x0, y0 + s, w, h) +mkpolygon("PLANE", 0.1, 6, x0, y0 + 2 * s, w, h) + +print "}" + +x1 = 13.0 +x2 = x0 + w * 3.0 / 4.0 +print "{NET=poly_clearance_tst2 PS=0.05" +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0) +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+s) +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+2*s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0, x2, y0+h/2.0) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+s, x2, y0+h/2.0+s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+2*s, x2, y0+h/2.0+2*s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0, x1, y0+h/2.0+s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=component)" % (x1, y0+h/2.0+s, x1, y0+h/2.0+2*s) +print "}" + +# test nesting of polygons + +x0 = 14.0 +y0 = 5.0 +s = 0.25 +print "{NET=nesting_poly_1 PS=0" +mkpolygon("POUR", 0, 7, x0, y0, 8*s, 8*s) +mkpolyvoid(7, x0+1*s, y0+1*s, 6*s, 6*s) +print "}" +print "{NET=nesting_poly_2 PS=0" +mkpolygon("POUR", 0, 8, x0+2*s, y0+2*s, 4*s, 4*s) +mkpolyvoid(8, x0+3*s, y0+3*s, 2*s, 2*s) +print "}" + +print "{END}" + +# not truncated Property changes on: src_plugins/io_hyp/tests/test00/gen_test00.py ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: src_plugins/io_hyp/tests/test00/test00.hyp =================================================================== --- src_plugins/io_hyp/tests/test00/test00.hyp (nonexistent) +++ src_plugins/io_hyp/tests/test00/test00.hyp (revision 8746) @@ -0,0 +1,289 @@ +{VERSION=2.0} +{UNITS=METRIC LENGTH} +{BOARD + (PERIMETER_SEGMENT X1=1.0 Y1=0.0 X2=19.0 Y2=0.0) + (PERIMETER_SEGMENT X1=20.0 Y1=1.0 X2=20.0 Y2=9.0) + (PERIMETER_SEGMENT X1=19.0 Y1=10.0 X2=1.0 Y2=10.0) + (PERIMETER_SEGMENT X1=0.0 Y1=9.0 X2=0.0 Y2=1.0) + (PERIMETER_ARC X1=0.0 Y1=1.0 X2=1.0 Y2=0.0 XC=1.0 YC=1.0 R=1.0) + (PERIMETER_ARC X1=1.0 Y1=10.0 X2=0.0 Y2=9.0 XC=1.0 YC=9.0 R=1.0) + (PERIMETER_ARC X1=20.0 Y1=9.0 X2=19.0 Y2=10.0 XC=19.0 YC=9.0 R=1.0) + (PERIMETER_ARC X1=19.0 Y1=0.0 X2=20.0 Y2=1.0 XC=19.0 YC=1.0 R=1.0) + + (PERIMETER_SEGMENT X1=2.0 Y1=1.0 X2=3.0 Y2=1.0) + (PERIMETER_SEGMENT X1=3.0 Y1=9.0 X2=2.0 Y2=9.0) + (PERIMETER_ARC X1=2.0 Y1=9.0 X2=1.0 Y2=8.0 XC=2.0 YC=8.0 R=1.0) + (PERIMETER_SEGMENT X1=1.0 Y1=8.0 X2=1.0 Y2=2.0) + (PERIMETER_ARC X1=1.0 Y1=2.0 X2=2.0 Y2=1.0 XC=2.0 YC=2.0 R=1.0) + (PERIMETER_SEGMENT X1=4.0 Y1=2.0 X2=4.0 Y2=8.0) + (PERIMETER_ARC X1=3.0 Y1=1.0 X2=4.0 Y2=2.0 XC=3.0 YC=2.0 R=1.0) + (PERIMETER_ARC X1=4.0 Y1=8.0 X2=3.0 Y2=9.0 XC=3.0 YC=8.0 R=1.0) + (PERIMETER_ARC X1=5.5 Y1=5.0 X2=5.5 Y2=5.0 XC=5.0 YC=5.0 R=0.5) + (PERIMETER_ARC X1=5.5 Y1=6.0 X2=4.5 Y2=6.0 XC=5.0 YC=6.0 R=0.5) + (PERIMETER_SEGMENT X1=4.5 Y1=6.0 X2=5.5 Y2=6.0) + (PERIMETER_ARC X1=4.5 Y1=7.5 X2=5.5 Y2=7.5 XC=5.0 YC=7.5 R=0.5) + (PERIMETER_SEGMENT X1=4.5 Y1=7.5 X2=5.5 Y2=7.5) + (PERIMETER_ARC X1=5.5 Y1=8.5 X2=5.0 Y2=8.0 XC=5.0 YC=8.5 R=0.5) + (PERIMETER_SEGMENT X1=5.0 Y1=8.0 X2=5.5 Y2=8.5) +} +{PLANE_SEP=0.05} +{STACKUP + (SIGNAL T=0.000700 L=component) + (DIELECTRIC T=0.002000 C=4.000000) + (PLANE T=0.000700 L=solder PS=0.508) +} +{DEVICES + (? REF=U1 NAME=BC548 L=component) +} +{PADSTACK=roundpad, 0.2 + (MDEF, 0, 0.5, 0.5, 0) +} +{PADSTACK=squarepad, 0.2 + (MDEF, 1, 0.5, 0.5, 0) +} +{PADSTACK=oblongpad, 0.2 + (MDEF, 2, 0.5, 0.5, 0) +} +{PADSTACK=nodrill, + (MDEF, 0, 0.5, 0.5, 0) +} +{PADSTACK=0802pad, + (component, 1, 0.2, 0.12, 0) +} +{NET=segtst + (SEG X1=6.500000 Y1=3.000000 X2=6.625000 Y2=3.000000 W=0.008333 L=component) + (SEG X1=6.433013 Y1=3.250000 X2=6.649519 Y2=3.375000 W=0.016667 L=component) + (SEG X1=6.250000 Y1=3.433013 X2=6.437500 Y2=3.757772 W=0.025000 L=component) + (SEG X1=6.000000 Y1=3.500000 X2=6.000000 Y2=4.000000 W=0.033333 L=component) + (SEG X1=5.750000 Y1=3.433013 X2=5.437500 Y2=3.974279 W=0.041667 L=component) + (SEG X1=5.566987 Y1=3.250000 X2=4.917468 Y2=3.625000 W=0.050000 L=component) + (SEG X1=5.500000 Y1=3.000000 X2=4.625000 Y2=3.000000 W=0.058333 L=component) + (SEG X1=5.566987 Y1=2.750000 X2=4.700962 Y2=2.250000 W=0.066667 L=component) + (SEG X1=5.750000 Y1=2.566987 X2=5.187500 Y2=1.592709 W=0.075000 L=component) + (SEG X1=6.000000 Y1=2.500000 X2=6.000000 Y2=1.250000 W=0.083333 L=component) + (SEG X1=6.250000 Y1=2.566987 X2=6.937500 Y2=1.376202 W=0.091667 L=component) + (SEG X1=6.433013 Y1=2.750000 X2=7.732051 Y2=2.000000 W=0.100000 L=component) +} +{NET=arctst + (ARC X1=9.100000 Y1=1.000000 X2=9.100000 Y2=1.000000 XC=9.000000 YC=1.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.100000 Y1=1.400000 X2=9.070711 Y2=1.470711 XC=9.000000 YC=1.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.100000 Y1=1.800000 X2=9.000000 Y2=1.900000 XC=9.000000 YC=1.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.100000 Y1=2.200000 X2=8.929289 Y2=2.270711 XC=9.000000 YC=2.200000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.100000 Y1=2.600000 X2=8.900000 Y2=2.600000 XC=9.000000 YC=2.600000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.100000 Y1=3.000000 X2=8.929289 Y2=2.929289 XC=9.000000 YC=3.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.100000 Y1=3.400000 X2=9.000000 Y2=3.300000 XC=9.000000 YC=3.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.100000 Y1=3.800000 X2=9.070711 Y2=3.729289 XC=9.000000 YC=3.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.470711 Y1=1.070711 X2=9.500000 Y2=1.000000 XC=9.400000 YC=1.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.470711 Y1=1.470711 X2=9.470711 Y2=1.470711 XC=9.400000 YC=1.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.470711 Y1=1.870711 X2=9.400000 Y2=1.900000 XC=9.400000 YC=1.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.470711 Y1=2.270711 X2=9.329289 Y2=2.270711 XC=9.400000 YC=2.200000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.470711 Y1=2.670711 X2=9.300000 Y2=2.600000 XC=9.400000 YC=2.600000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.470711 Y1=3.070711 X2=9.329289 Y2=2.929289 XC=9.400000 YC=3.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.470711 Y1=3.470711 X2=9.400000 Y2=3.300000 XC=9.400000 YC=3.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.470711 Y1=3.870711 X2=9.470711 Y2=3.729289 XC=9.400000 YC=3.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.800000 Y1=1.100000 X2=9.900000 Y2=1.000000 XC=9.800000 YC=1.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.800000 Y1=1.500000 X2=9.870711 Y2=1.470711 XC=9.800000 YC=1.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.800000 Y1=1.900000 X2=9.800000 Y2=1.900000 XC=9.800000 YC=1.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.800000 Y1=2.300000 X2=9.729289 Y2=2.270711 XC=9.800000 YC=2.200000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.800000 Y1=2.700000 X2=9.700000 Y2=2.600000 XC=9.800000 YC=2.600000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.800000 Y1=3.100000 X2=9.729289 Y2=2.929289 XC=9.800000 YC=3.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.800000 Y1=3.500000 X2=9.800000 Y2=3.300000 XC=9.800000 YC=3.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=9.800000 Y1=3.900000 X2=9.870711 Y2=3.729289 XC=9.800000 YC=3.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.129289 Y1=1.070711 X2=10.300000 Y2=1.000000 XC=10.200000 YC=1.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.129289 Y1=1.470711 X2=10.270711 Y2=1.470711 XC=10.200000 YC=1.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.129289 Y1=1.870711 X2=10.200000 Y2=1.900000 XC=10.200000 YC=1.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.129289 Y1=2.270711 X2=10.129289 Y2=2.270711 XC=10.200000 YC=2.200000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.129289 Y1=2.670711 X2=10.100000 Y2=2.600000 XC=10.200000 YC=2.600000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.129289 Y1=3.070711 X2=10.129289 Y2=2.929289 XC=10.200000 YC=3.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.129289 Y1=3.470711 X2=10.200000 Y2=3.300000 XC=10.200000 YC=3.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.129289 Y1=3.870711 X2=10.270711 Y2=3.729289 XC=10.200000 YC=3.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.500000 Y1=1.000000 X2=10.700000 Y2=1.000000 XC=10.600000 YC=1.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.500000 Y1=1.400000 X2=10.670711 Y2=1.470711 XC=10.600000 YC=1.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.500000 Y1=1.800000 X2=10.600000 Y2=1.900000 XC=10.600000 YC=1.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.500000 Y1=2.200000 X2=10.529289 Y2=2.270711 XC=10.600000 YC=2.200000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.500000 Y1=2.600000 X2=10.500000 Y2=2.600000 XC=10.600000 YC=2.600000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.500000 Y1=3.000000 X2=10.529289 Y2=2.929289 XC=10.600000 YC=3.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.500000 Y1=3.400000 X2=10.600000 Y2=3.300000 XC=10.600000 YC=3.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.500000 Y1=3.800000 X2=10.670711 Y2=3.729289 XC=10.600000 YC=3.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.929289 Y1=0.929289 X2=11.100000 Y2=1.000000 XC=11.000000 YC=1.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.929289 Y1=1.329289 X2=11.070711 Y2=1.470711 XC=11.000000 YC=1.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.929289 Y1=1.729289 X2=11.000000 Y2=1.900000 XC=11.000000 YC=1.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.929289 Y1=2.129289 X2=10.929289 Y2=2.270711 XC=11.000000 YC=2.200000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.929289 Y1=2.529289 X2=10.900000 Y2=2.600000 XC=11.000000 YC=2.600000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.929289 Y1=2.929289 X2=10.929289 Y2=2.929289 XC=11.000000 YC=3.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.929289 Y1=3.329289 X2=11.000000 Y2=3.300000 XC=11.000000 YC=3.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=10.929289 Y1=3.729289 X2=11.070711 Y2=3.729289 XC=11.000000 YC=3.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.400000 Y1=0.900000 X2=11.500000 Y2=1.000000 XC=11.400000 YC=1.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.400000 Y1=1.300000 X2=11.470711 Y2=1.470711 XC=11.400000 YC=1.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.400000 Y1=1.700000 X2=11.400000 Y2=1.900000 XC=11.400000 YC=1.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.400000 Y1=2.100000 X2=11.329289 Y2=2.270711 XC=11.400000 YC=2.200000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.400000 Y1=2.500000 X2=11.300000 Y2=2.600000 XC=11.400000 YC=2.600000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.400000 Y1=2.900000 X2=11.329289 Y2=2.929289 XC=11.400000 YC=3.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.400000 Y1=3.300000 X2=11.400000 Y2=3.300000 XC=11.400000 YC=3.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.400000 Y1=3.700000 X2=11.470711 Y2=3.729289 XC=11.400000 YC=3.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.870711 Y1=0.929289 X2=11.900000 Y2=1.000000 XC=11.800000 YC=1.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.870711 Y1=1.329289 X2=11.870711 Y2=1.470711 XC=11.800000 YC=1.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.870711 Y1=1.729289 X2=11.800000 Y2=1.900000 XC=11.800000 YC=1.800000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.870711 Y1=2.129289 X2=11.729289 Y2=2.270711 XC=11.800000 YC=2.200000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.870711 Y1=2.529289 X2=11.700000 Y2=2.600000 XC=11.800000 YC=2.600000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.870711 Y1=2.929289 X2=11.729289 Y2=2.929289 XC=11.800000 YC=3.000000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.870711 Y1=3.329289 X2=11.800000 Y2=3.300000 XC=11.800000 YC=3.400000 R=0.100000 W=0.025000 L=component) + (ARC X1=11.870711 Y1=3.729289 X2=11.870711 Y2=3.729289 XC=11.800000 YC=3.800000 R=0.100000 W=0.025000 L=component) +} +{NET=viatst + (VIA X=13 Y=1 P=roundpad) + (VIA X=13 Y=2 P=squarepad) + (VIA X=13 Y=3 P=oblongpad) + (VIA X=13 Y=4 P=nodrill) + (SEG X1=13 Y1=1 X2=13 Y2=2 W=0.1 L=component) + (SEG X1=13 Y1=2 X2=13 Y2=3 W=0.1 L=component) + (SEG X1=13 Y1=3 X2=13 Y2=4 W=0.1 L=component) +} +{NET=oldviatst + (VIA X=14 Y=1 D=0.2 L1=component S1=ROUND S1X=0.5 S1Y=0.5) + (VIA X=14 Y=2 D=0.2 L1=component L2=solder S1=RECT S1X=0.5 S1Y=0.5) + (VIA X=14 Y=3 D=0.2 L1=component L2=solder S1=OBLONG S1X=0.5 S1Y=0.5) + (VIA X=14 Y=4 D=0.0 L1=component L2=solder S1=ROUND S1X=0.5 S1Y=0.5) + (SEG X1=14 Y1=1 X2=14 Y2=2 W=0.1 L=component) + (SEG X1=14 Y1=2 X2=14 Y2=3 W=0.1 L=component) + (SEG X1=14 Y1=3 X2=14 Y2=4 W=0.1 L=component) +} +{NET=pintst + (PIN X=15 Y=1 R=U1.1 P=roundpad) + (PIN X=15 Y=2 R=U1.2 P=squarepad) + (PIN X=15 Y=3 R=U1.3 P=oblongpad) +} +{NET=padtst + (PAD X=16 Y=1 L=component S=ROUND SX=0.5 SY=0.5) + (PAD X=16 Y=2 L=component S=RECT SX=0.5 SY=0.5) + (PAD X=16 Y=3 L=component S=OBLONG SX=0.5 SY=0.5) + (PAD X=17 Y=1 L=solder S=ROUND SX=0.5 SY=0.5) + (PAD X=17 Y=2 L=solder S=RECT SX=0.5 SY=0.5) + (PAD X=17 Y=3 L=solder S=OBLONG SX=0.5 SY=0.5) +} +{NET=usegtst + (USEG X1=18 Y1=1 L1=component X2=19 Y2=1 L2=component ZL=component ZW=0.1 ZLEN=2 ) + (USEG X1=18 Y1=2 L1=component X2=19 Y2=2 L2=component Z=50 D=1e-12 R=5 ) + (USEG X1=18 Y1=3 L1=component X2=19 Y2=3 L2=solder ZL=component ZW=0.1 ZLEN=2 ) + (USEG X1=18 Y1=4 L1=component X2=19 Y2=4 L2=solder Z=50 D=1e-12 R=5 ) +} +{NET=polylinetst + {POLYGON L=component W=0.05 ID=1 X=5.875000 Y=4.875000 + (LINE X=6.125000 Y=4.875000) + (LINE X=6.125000 Y=5.125000) + (LINE X=5.875000 Y=5.125000) + (LINE X=5.875000 Y=4.875000) + } + {POLYLINE L=component W=0.1 ID=1 X=6.000000 Y=5.000000 + (LINE X=8.000000 Y=5.000000) + (CURVE X1=8.000000 Y1=5.000000 X2=8.000000 Y2=5.500000 XC=8.000000 YC=5.250000 R=0.250000) + (LINE X=6.000000 Y=5.500000) + (CURVE X1=6.000000 Y1=6.000000 X2=6.000000 Y2=5.500000 XC=6.000000 YC=5.750000 R=0.250000) + (LINE X=8.000000 Y=6.000000) + (CURVE X1=8.000000 Y1=6.000000 X2=8.000000 Y2=6.500000 XC=8.000000 YC=6.250000 R=0.250000) + (LINE X=6.000000 Y=6.500000) + (CURVE X1=6.000000 Y1=7.000000 X2=6.000000 Y2=6.500000 XC=6.000000 YC=6.750000 R=0.250000) + (LINE X=8.000000 Y=7.000000) + (CURVE X1=8.000000 Y1=7.000000 X2=8.000000 Y2=7.500000 XC=8.000000 YC=7.250000 R=0.250000) + (LINE X=6.000000 Y=7.500000) + (CURVE X1=6.000000 Y1=8.000000 X2=6.000000 Y2=7.500000 XC=6.000000 YC=7.750000 R=0.250000) + (LINE X=8.000000 Y=8.000000) + (CURVE X1=8.000000 Y1=8.000000 X2=8.000000 Y2=8.500000 XC=8.000000 YC=8.250000 R=0.250000) + (LINE X=6.000000 Y=8.500000) + (CURVE X1=6.000000 Y1=9.000000 X2=6.000000 Y2=8.500000 XC=6.000000 YC=8.750000 R=0.250000) + } +} +{NET=curvetst + {POLYGON L=component W=0.05 ID=2 X=10.000000 Y=5.500000 + (CURVE X1=10.000000 Y1=5.500000 X2=10.000000 Y2=5.500000 XC=9.500000 YC=5.500000 R=0.500000 ) + } + {POLYVOID ID=2 X=9.250000 Y=5.500000 + (CURVE X1=9.250000 Y1=5.500000 X2=9.750000 Y2=5.500000 XC=9.500000 YC=5.500000 R=0.250000 ) + (LINE X=9.250000 Y=5.500000) + } +} +{NET=linetst + {POLYGON L=component W=0.05 ID=3 X=9.000000 Y=6.500000 + (LINE X=10.000000 Y=6.500000) + (LINE X=10.000000 Y=7.000000) + (LINE X=9.500000 Y=7.000000) + (LINE X=9.500000 Y=7.500000) + (LINE X=9.000000 Y=7.500000) + (LINE X=9.000000 Y=6.500000) + } + {POLYVOID ID=3 X=9.125000 Y=6.625000 + (LINE X=9.625000 Y=6.625000) + (LINE X=9.625000 Y=6.875000) + (LINE X=9.375000 Y=6.875000) + (LINE X=9.375000 Y=7.125000) + (LINE X=9.125000 Y=7.125000) + (LINE X=9.125000 Y=6.625000) + } +} +{NET=poly_clearance_tst PS=0.05 + (VIA X=11.750000 Y=5.250000 P=0802pad) + (VIA X=11.750000 Y=6.250000 P=0802pad) + (VIA X=11.750000 Y=7.250000 P=0802pad) + (SEG X1=11.000000 Y1=5.250000 X2=11.750000 Y2=5.250000 W=0.04 L=component) + (SEG X1=11.000000 Y1=6.250000 X2=11.750000 Y2=6.250000 W=0.04 L=component) + (SEG X1=11.000000 Y1=7.250000 X2=11.750000 Y2=7.250000 W=0.04 L=component) + (SEG X1=11.000000 Y1=5.250000 X2=11.000000 Y2=6.250000 W=0.04 L=component) + (SEG X1=11.000000 Y1=6.250000 X2=11.000000 Y2=7.250000 W=0.04 L=component) + {POLYGON L=component T=POUR W=0.100000 ID=4 X=11.500000 Y=5.000000 + (LINE X=12.500000 Y=5.000000) + (LINE X=12.500000 Y=5.500000) + (LINE X=11.500000 Y=5.500000) + (LINE X=11.500000 Y=5.000000) + } + {POLYGON L=component T=COPPER W=0.100000 ID=5 X=11.500000 Y=6.000000 + (LINE X=12.500000 Y=6.000000) + (LINE X=12.500000 Y=6.500000) + (LINE X=11.500000 Y=6.500000) + (LINE X=11.500000 Y=6.000000) + } + {POLYGON L=component T=PLANE W=0.100000 ID=6 X=11.500000 Y=7.000000 + (LINE X=12.500000 Y=7.000000) + (LINE X=12.500000 Y=7.500000) + (LINE X=11.500000 Y=7.500000) + (LINE X=11.500000 Y=7.000000) + } +} +{NET=poly_clearance_tst2 PS=0.05 + (VIA X=12.250000 Y=5.250000 P=0802pad) + (VIA X=12.250000 Y=6.250000 P=0802pad) + (VIA X=12.250000 Y=7.250000 P=0802pad) + (SEG X1=13.000000 Y1=5.250000 X2=12.250000 Y2=5.250000 W=0.04 L=component) + (SEG X1=13.000000 Y1=6.250000 X2=12.250000 Y2=6.250000 W=0.04 L=component) + (SEG X1=13.000000 Y1=7.250000 X2=12.250000 Y2=7.250000 W=0.04 L=component) + (SEG X1=13.000000 Y1=5.250000 X2=13.000000 Y2=6.250000 W=0.04 L=component) + (SEG X1=13.000000 Y1=6.250000 X2=13.000000 Y2=7.250000 W=0.04 L=component) +} +{NET=nesting_poly_1 PS=0 + {POLYGON L=component T=POUR W=0.000000 ID=7 X=14.000000 Y=5.000000 + (LINE X=16.000000 Y=5.000000) + (LINE X=16.000000 Y=7.000000) + (LINE X=14.000000 Y=7.000000) + (LINE X=14.000000 Y=5.000000) + } + {POLYVOID ID=7 X=14.250000 Y=5.250000 + (LINE X=15.750000 Y=5.250000) + (LINE X=15.750000 Y=6.750000) + (LINE X=14.250000 Y=6.750000) + (LINE X=14.250000 Y=5.250000) + } +} +{NET=nesting_poly_2 PS=0 + {POLYGON L=component T=POUR W=0.000000 ID=8 X=14.500000 Y=5.500000 + (LINE X=15.500000 Y=5.500000) + (LINE X=15.500000 Y=6.500000) + (LINE X=14.500000 Y=6.500000) + (LINE X=14.500000 Y=5.500000) + } + {POLYVOID ID=8 X=14.750000 Y=5.750000 + (LINE X=15.250000 Y=5.750000) + (LINE X=15.250000 Y=6.250000) + (LINE X=14.750000 Y=6.250000) + (LINE X=14.750000 Y=5.750000) + } +} +{END} Index: src_plugins/io_hyp/tests/test01/README.txt =================================================================== --- src_plugins/io_hyp/tests/test01/README.txt (nonexistent) +++ src_plugins/io_hyp/tests/test01/README.txt (revision 8746) @@ -0,0 +1,3 @@ +Source: handwritten +GPL: Yes +Remark: contains common syntax errors Index: src_plugins/io_hyp/tests/test01/gen_test01.py =================================================================== --- src_plugins/io_hyp/tests/test01/gen_test01.py (nonexistent) +++ src_plugins/io_hyp/tests/test01/gen_test01.py (revision 8746) @@ -0,0 +1,329 @@ +#!/usr/bin/python +""" + Generate sample hyperlynx file + Copyright 2017 Koen De Vleeschauwer. + + This file is part of pcb-rnd. + + This program is free software: you can 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 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +""" + +from math import pi, sin, cos +print "* Job: Comment" +print "" +print "{VERSION=2.01}" +print "{UNITS=METRIC LENGTH}" +print "{BOARD" +print " (PERIMETER_SEGMENT X1=1.0 Y1=0.0 X2=19.0 Y2=0.0" +print " (PERIMETER_SEGMENT X1=20.0 Y1=1.0 X2=20.0 Y2=9.0" +print " (PERIMETER_SEGMENT X1=19.0 Y1=10.0 X2=1.0 Y2=10.0" +print " (PERIMETER_SEGMENT X1=0.0 Y1=9.0 X2=0.0 Y2=1.0" +print " (PERIMETER_ARC X1=0.0 Y1=1.0 X2=1.0 Y2=0.0 XC=1.0 YC=1.0 R=1.0" +print " (PERIMETER_ARC X1=1.0 Y1=10.0 X2=0.0 Y2=9.0 XC=1.0 YC=9.0 R=1.0" +print " (PERIMETER_ARC X1=20.0 Y1=9.0 X2=19.0 Y2=10.0 XC=19.0 YC=9.0 R=1.0" +print " (PERIMETER_ARC X1=19.0 Y1=0.0 X2=20.0 Y2=1.0 XC=19.0 YC=1.0 R=1.0" +print "" +print " (PERIMETER_SEGMENT X1=2.0 Y1=1.0 X2=3.0 Y2=1.0" +print " (PERIMETER_SEGMENT X1=3.0 Y1=9.0 X2=2.0 Y2=9.0" +print " (PERIMETER_ARC X1=2.0 Y1=9.0 X2=1.0 Y2=8.0 XC=2.0 YC=8.0 R=1.0" +print " (PERIMETER_SEGMENT X1=1.0 Y1=8.0 X2=1.0 Y2=2.0" +print " (PERIMETER_ARC X1=1.0 Y1=2.0 X2=2.0 Y2=1.0 XC=2.0 YC=2.0 R=1.0" +print " (PERIMETER_SEGMENT X1=4.0 Y1=2.0 X2=4.0 Y2=8.0" +print " (PERIMETER_ARC X1=3.0 Y1=1.0 X2=4.0 Y2=2.0 XC=3.0 YC=2.0 R=1.0" +print " (PERIMETER_ARC X1=4.0 Y1=8.0 X2=3.0 Y2=9.0 XC=3.0 YC=8.0 R=1.0" + +print " (PERIMETER_ARC X1=5.5 Y1=5.0 X2=5.5 Y2=5.0 XC=5.0 YC=5.0 R=0.5" + +print " (PERIMETER_ARC X1=5.5 Y1=6.0 X2=4.5 Y2=6.0 XC=5.0 YC=6.0 R=0.5" +print " (PERIMETER_SEGMENT X1=4.5 Y1=6.0 X2=5.5 Y2=6.0" + +print " (PERIMETER_ARC X1=4.5 Y1=7.5 X2=5.5 Y2=7.5 XC=5.0 YC=7.5 R=0.5" +print " (PERIMETER_SEGMENT X1=4.5 Y1=7.5 X2=5.5 Y2=7.5" + +print " (PERIMETER_ARC X1=5.5 Y1=8.5 X2=5.0 Y2=8.0 XC=5.0 YC=8.5 R=0.5" +print " (PERIMETER_SEGMENT X1=5.0 Y1=8.0 X2=5.5 Y2=8.5" + +print "}" + +print "{PLANE_SEP=0.05}" + +print "{STACKUP" +print " (SIGNAL T=0.001778 L=1 C=1.67e-008)" +print " (DIELECTRIC T=0.149900 C=4.700000)" +print " (PLANE T=0.001778 L=2 C=1.67e-008)" +print "}" +print "{DEVICES" +print " (? REF=U1 NAME=BC848 NPN 1x1 L=1)" +print "}" + +# +# PADSTACK. MDEF is shorthand for "all copper layers" +# + +print "{PADSTACK=roundpad, 0.2" +print " (MDEF, 0, 0.5, 0.5, 0)" +print "}" +print "{PADSTACK=squarepad, 0.2" +print " (MDEF, 1, 0.5, 0.5, 0)" +print "}" +print "{PADSTACK=oblongpad, 0.2" +print " (MDEF, 2, 0.5, 0.5, 0)" +print "}" +print "{PADSTACK=nodrill," +print " (MDEF, 0, 0.5, 0.5, 0)" +print "}" +print "{PADSTACK=0802pad," +print " (1, 1, 0.2, 0.12, 0)" +print "}" + +# +# SEG line segments +# + +x0 = 6 +y0 = 3 +r1 = 0.5 +r2 = 2 +max = 12 + +print "{NET=segtst" + +for x in range (0, max): + alpha = x * 2 * pi / max + x1 = x0 + r1 * cos (alpha) + y1 = y0 + r1 * sin (alpha) + r = r1 + (r2 - r1) * (x + 1) / max + x2 = x0 + r * cos (alpha) + y2 = y0 + r * sin (alpha) + w = (x + 1) * 0.1 / max + print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=%f L=1)" % ( x1, y1, x2, y2, w) + +print "}" + +# +# ARC arc segments +# + +max = 8 +x0 = 9 +y0 = 1 +r = 0.1 +w = r / 4 + +print "{NET=arctst" + +for a in range (0, max): + for b in range (0, max): + alpha = 2 * pi * a / max + beta = 2 * pi * b / max + xc = x0 + 4 * r * a + yc = y0 + 4 * r * b + x1 = xc + r * cos (alpha) + y1 = yc + r * sin (alpha) + x2 = xc + r * cos (beta) + y2 = yc + r * sin (beta) + print " (ARC X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f W=%f L=1)" % ( x1, y1, x2, y2, xc, yc, r, w) + +print "}" + +# +# VIA +# + +print "{NET=viatst" +print " (VIA X=13 Y=1 P=roundpad)" +print " (VIA X=13 Y=2 P=squarepad)" +print " (VIA X=13 Y=3 P=oblongpad)" +print " (VIA X=13 Y=4 P=nodrill)" +print " (SEG X1=13 Y1=1 X2=13 Y2=2 W=0.1 L=1)" +print " (SEG X1=13 Y1=2 X2=13 Y2=3 W=0.1 L=1)" +print " (SEG X1=13 Y1=3 X2=13 Y2=4 W=0.1 L=1)" +print "}" + +# +# old-style VIA, compatibility only. +# + +print "{NET=oldviatst" +print " (VIA X=14 Y=1 D=0.2 L1=1 S1=ROUND S1X=0.5 S1Y=0.5)" +print " (VIA X=14 Y=2 D=0.2 L1=1 L2=2 S1=RECT S1X=0.5 S1Y=0.5)" +print " (VIA X=14 Y=3 D=0.2 L1=1 L2=2 S1=OBLONG S1X=0.5 S1Y=0.5)" +print " (VIA X=14 Y=4 D=0.0 L1=1 L2=2 S1=ROUND S1X=0.5 S1Y=0.5)" +print " (SEG X1=14 Y1=1 X2=14 Y2=2 W=0.1 L=1)" +print " (SEG X1=14 Y1=2 X2=14 Y2=3 W=0.1 L=1)" +print " (SEG X1=14 Y1=3 X2=14 Y2=4 W=0.1 L=1)" +print "}" + +print "{NET=(pintst)" +# a through-hole transistor +print " (PIN X=15 Y=1 R=U1.1 P=roundpad)" +print " (PIN X=15 Y=2 R=U1.2 P=squarepad)" +print " (PIN X=15 Y=3 R=U1.3 P=oblongpad)" +print "}" + +print "{NET=(padtst)" +print " (PAD X=16 Y=1 L=1 S=ROUND SX=0.5 SY=0.5)" +print " (PAD X=16 Y=2 L=1 S=RECT SX=0.5 SY=0.5)" +print " (PAD X=16 Y=3 L=1 S=OBLONG SX=0.5 SY=0.5)" +print " (PAD X=17 Y=1 L=2 S=ROUND SX=0.5 SY=0.5)" +print " (PAD X=17 Y=2 L=2 S=RECT SX=0.5 SY=0.5)" +print " (PAD X=17 Y=3 L=2 S=OBLONG SX=0.5 SY=0.5)" +print "}" + +print "{NET=(usegtst)" +print " (USEG X1=18 Y1=1 L1=1 X2=19 Y2=1 L2=1 ZL=1 ZW=0.1 ZLEN=2 )" +print " (USEG X1=18 Y1=2 L1=1 X2=19 Y2=2 L2=1 Z=50 D=1e-12 R=5 )" +print " (USEG X1=18 Y1=3 L1=1 X2=19 Y2=3 L2=2 ZL=1 ZW=0.1 ZLEN=2 )" +print " (USEG X1=18 Y1=4 L1=1 X2=19 Y2=4 L2=2 Z=50 D=1e-12 R=5 )" +print "}" + +x0 = 6.0 +y0 = 5.0 +l = 2.0 +h = 0.5 +r = h/2.0 +w = h/4.0 + +print "{NET=polylinetst" +print " {POLYGON L=1 W=0.05 ID=1 X=%f Y=%f)" % (x0-w, y0-w) +print " (LINE X=%f Y=%f)" % (x0+w, y0-w) +print " (LINE X=%f Y=%f)" % (x0+w, y0+w) +print " (LINE X=%f Y=%f)" % (x0-w, y0+w) +print " (LINE X=%f Y=%f)" % (x0-w, y0-w) +print " }" +print " {POLYLINE L=1 W=0.1 ID=1 X=%f Y=%f" % (x0, y0) +for a in range (0, 8, 2): + print " (LINE X=%f Y=%f)" % ( x0+l, y0+a*h) + print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f)" % ( x0+l, y0+a*h, x0+l, y0+(a+1)*h, x0+l, y0+(a+0.5)*h, r) + print " (LINE X=%f Y=%f)" % ( x0, y0+(a+1)*h) + print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f)" % ( x0, y0+(a+2)*h, x0, y0+(a+1)*h, x0, y0+(a+1.5)*h, r) + +print " }" +print "}" + +x0 = 9.5 +y0 = 5.5 +r = 0.5 + +print "{NET=curvetst" +print " {POLYGON L=1 W=0.05 ID=2 X=%f Y=%f)" % (x0+r, y0) +print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f )" % (x0+r, y0, x0+r, y0, x0, y0, r) +print " }" +print " {POLYVOID ID=2 X=%f Y=%f" % (x0-r/2, y0) +print " (CURVE X1=%f Y1=%f X2=%f Y2=%f XC=%f YC=%f R=%f )" % (x0-r/2, y0, x0+r/2, y0, x0, y0, r/2) +print " (LINE X=%f Y=%f)" % (x0-r/2, y0) +print " }" +print "}" + +x0 = 9.0 +y0 = 6.5 +w = 0.5 + +print "{NET=linetst" +print " {POLYGON L=1 W=0.05 ID=3 X=%f Y=%f)" % (x0, y0) +print " (LINE X=%f Y=%f)" % (x0+2*w, y0) +print " (LINE X=%f Y=%f)" % (x0+2*w, y0+w) +print " (LINE X=%f Y=%f)" % (x0+w, y0+w) +print " (LINE X=%f Y=%f)" % (x0+w, y0+2*w) +print " (LINE X=%f Y=%f)" % (x0, y0+2*w) +print " (LINE X=%f Y=%f)" % (x0, y0) +print " }" + +x0 = 9.125 +y0 = 6.625 +w = 0.25 + +print " {POLYVOID ID=3 X=%f Y=%f" % (x0, y0) +print " (LINE X=%f Y=%f)" % (x0+2*w, y0) +print " (LINE X=%f Y=%f)" % (x0+2*w, y0+w) +print " (LINE X=%f Y=%f)" % (x0+w, y0+w) +print " (LINE X=%f Y=%f)" % (x0+w, y0+2*w) +print " (LINE X=%f Y=%f)" % (x0, y0+2*w) +print " (LINE X=%f Y=%f)" % (x0, y0) +print " }" + +print "}" + +x0 = 11.5 +y0 = 5.0 +w = 1.0 +h = 0.5 +s = 1.0 + +def mkpolygon (typ, linewdth, id, x0, y0, w, h): + print " {POLYGON L=1 T=%s W=%f ID=%i X=%f Y=%f)" % (typ, linewdth, id, x0, y0) + print " (LINE X=%f Y=%f)" % (x0+w, y0) + print " (LINE X=%f Y=%f)" % (x0+w, y0+h) + print " (LINE X=%f Y=%f)" % (x0, y0+h) + print " (LINE X=%f Y=%f)" % (x0, y0) + print " }" + return + +def mkpolyvoid (id, x0, y0, w, h): + print " {POLYVOID ID=%i X=%f Y=%f" % (id, x0, y0) + print " (LINE X=%f Y=%f)" % (x0+w, y0) + print " (LINE X=%f Y=%f)" % (x0+w, y0+h) + print " (LINE X=%f Y=%f)" % (x0, y0+h) + print " (LINE X=%f Y=%f)" % (x0, y0) + print " }" + return + +x1 = 11.0 +x2 = x0 + w / 4.0 +print "{NET=poly_clearance_tst PS=0.05" +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0) +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+s) +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+2*s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=1)" % (x1, y0+h/2.0, x2, y0+h/2.0) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=1)" % (x1, y0+h/2.0+s, x2, y0+h/2.0+s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=1)" % (x1, y0+h/2.0+2*s, x2, y0+h/2.0+2*s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=1)" % (x1, y0+h/2.0, x1, y0+h/2.0+s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=1)" % (x1, y0+h/2.0+s, x1, y0+h/2.0+2*s) + +mkpolygon("POUR", 0.1, 4, x0, y0, w, h) +mkpolygon("COPPER", 0.1, 5, x0, y0 + s, w, h) +mkpolygon("PLANE", 0.1, 6, x0, y0 + 2 * s, w, h) + +print "}" + +x1 = 13.0 +x2 = x0 + w * 3.0 / 4.0 +print "{NET=poly_clearance_tst2 PS=0.05" +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0) +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+s) +print " (VIA X=%f Y=%f P=0802pad)" % (x2, y0+h/2.0+2*s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=1)" % (x1, y0+h/2.0, x2, y0+h/2.0) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=1)" % (x1, y0+h/2.0+s, x2, y0+h/2.0+s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=1)" % (x1, y0+h/2.0+2*s, x2, y0+h/2.0+2*s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=1)" % (x1, y0+h/2.0, x1, y0+h/2.0+s) +print " (SEG X1=%f Y1=%f X2=%f Y2=%f W=0.04 L=1)" % (x1, y0+h/2.0+s, x1, y0+h/2.0+2*s) +print "}" + +# test nesting of polygons + +x0 = 14.0 +y0 = 5.0 +s = 0.25 +print "{NET=nesting_poly_1 PS=0" +mkpolygon("POUR", 0, 7, x0, y0, 8*s, 8*s) +mkpolyvoid(7, x0+1*s, y0+1*s, 6*s, 6*s) +print "}" +print "{NET=nesting_poly_2 PS=0" +mkpolygon("POUR", 0, 8, x0+2*s, y0+2*s, 4*s, 4*s) +mkpolyvoid(8, x0+3*s, y0+3*s, 2*s, 2*s) +print "}" + +print "{END}" + +# not truncated \ No newline at end of file Index: src_plugins/io_hyp/tests/test01/test01.hyp =================================================================== --- src_plugins/io_hyp/tests/test01/test01.hyp (nonexistent) +++ src_plugins/io_hyp/tests/test01/test01.hyp (revision 8746) @@ -0,0 +1,291 @@ +* Job: Comment + +{VERSION=2.01} +{UNITS=METRIC LENGTH} +{BOARD + (PERIMETER_SEGMENT X1=1.0 Y1=0.0 X2=19.0 Y2=0.0 + (PERIMETER_SEGMENT X1=20.0 Y1=1.0 X2=20.0 Y2=9.0 + (PERIMETER_SEGMENT X1=19.0 Y1=10.0 X2=1.0 Y2=10.0 + (PERIMETER_SEGMENT X1=0.0 Y1=9.0 X2=0.0 Y2=1.0 + (PERIMETER_ARC X1=0.0 Y1=1.0 X2=1.0 Y2=0.0 XC=1.0 YC=1.0 R=1.0 + (PERIMETER_ARC X1=1.0 Y1=10.0 X2=0.0 Y2=9.0 XC=1.0 YC=9.0 R=1.0 + (PERIMETER_ARC X1=20.0 Y1=9.0 X2=19.0 Y2=10.0 XC=19.0 YC=9.0 R=1.0 + (PERIMETER_ARC X1=19.0 Y1=0.0 X2=20.0 Y2=1.0 XC=19.0 YC=1.0 R=1.0 + + (PERIMETER_SEGMENT X1=2.0 Y1=1.0 X2=3.0 Y2=1.0 + (PERIMETER_SEGMENT X1=3.0 Y1=9.0 X2=2.0 Y2=9.0 + (PERIMETER_ARC X1=2.0 Y1=9.0 X2=1.0 Y2=8.0 XC=2.0 YC=8.0 R=1.0 + (PERIMETER_SEGMENT X1=1.0 Y1=8.0 X2=1.0 Y2=2.0 + (PERIMETER_ARC X1=1.0 Y1=2.0 X2=2.0 Y2=1.0 XC=2.0 YC=2.0 R=1.0 + (PERIMETER_SEGMENT X1=4.0 Y1=2.0 X2=4.0 Y2=8.0 + (PERIMETER_ARC X1=3.0 Y1=1.0 X2=4.0 Y2=2.0 XC=3.0 YC=2.0 R=1.0 + (PERIMETER_ARC X1=4.0 Y1=8.0 X2=3.0 Y2=9.0 XC=3.0 YC=8.0 R=1.0 + (PERIMETER_ARC X1=5.5 Y1=5.0 X2=5.5 Y2=5.0 XC=5.0 YC=5.0 R=0.5 + (PERIMETER_ARC X1=5.5 Y1=6.0 X2=4.5 Y2=6.0 XC=5.0 YC=6.0 R=0.5 + (PERIMETER_SEGMENT X1=4.5 Y1=6.0 X2=5.5 Y2=6.0 + (PERIMETER_ARC X1=4.5 Y1=7.5 X2=5.5 Y2=7.5 XC=5.0 YC=7.5 R=0.5 + (PERIMETER_SEGMENT X1=4.5 Y1=7.5 X2=5.5 Y2=7.5 + (PERIMETER_ARC X1=5.5 Y1=8.5 X2=5.0 Y2=8.0 XC=5.0 YC=8.5 R=0.5 + (PERIMETER_SEGMENT X1=5.0 Y1=8.0 X2=5.5 Y2=8.5 +} +{PLANE_SEP=0.05} +{STACKUP + (SIGNAL T=0.001778 L=1 C=1.67e-008) + (DIELECTRIC T=0.149900 C=4.700000) + (PLANE T=0.001778 L=2 C=1.67e-008) +} +{DEVICES + (? REF=U1 NAME=BC848 NPN 1x1 L=1) +} +{PADSTACK=roundpad, 0.2 + (MDEF, 0, 0.5, 0.5, 0) +} +{PADSTACK=squarepad, 0.2 + (MDEF, 1, 0.5, 0.5, 0) +} +{PADSTACK=oblongpad, 0.2 + (MDEF, 2, 0.5, 0.5, 0) +} +{PADSTACK=nodrill, + (MDEF, 0, 0.5, 0.5, 0) +} +{PADSTACK=0802pad, + (1, 1, 0.2, 0.12, 0) +} +{NET=segtst + (SEG X1=6.500000 Y1=3.000000 X2=6.625000 Y2=3.000000 W=0.008333 L=1) + (SEG X1=6.433013 Y1=3.250000 X2=6.649519 Y2=3.375000 W=0.016667 L=1) + (SEG X1=6.250000 Y1=3.433013 X2=6.437500 Y2=3.757772 W=0.025000 L=1) + (SEG X1=6.000000 Y1=3.500000 X2=6.000000 Y2=4.000000 W=0.033333 L=1) + (SEG X1=5.750000 Y1=3.433013 X2=5.437500 Y2=3.974279 W=0.041667 L=1) + (SEG X1=5.566987 Y1=3.250000 X2=4.917468 Y2=3.625000 W=0.050000 L=1) + (SEG X1=5.500000 Y1=3.000000 X2=4.625000 Y2=3.000000 W=0.058333 L=1) + (SEG X1=5.566987 Y1=2.750000 X2=4.700962 Y2=2.250000 W=0.066667 L=1) + (SEG X1=5.750000 Y1=2.566987 X2=5.187500 Y2=1.592709 W=0.075000 L=1) + (SEG X1=6.000000 Y1=2.500000 X2=6.000000 Y2=1.250000 W=0.083333 L=1) + (SEG X1=6.250000 Y1=2.566987 X2=6.937500 Y2=1.376202 W=0.091667 L=1) + (SEG X1=6.433013 Y1=2.750000 X2=7.732051 Y2=2.000000 W=0.100000 L=1) +} +{NET=arctst + (ARC X1=9.100000 Y1=1.000000 X2=9.100000 Y2=1.000000 XC=9.000000 YC=1.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.100000 Y1=1.400000 X2=9.070711 Y2=1.470711 XC=9.000000 YC=1.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.100000 Y1=1.800000 X2=9.000000 Y2=1.900000 XC=9.000000 YC=1.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.100000 Y1=2.200000 X2=8.929289 Y2=2.270711 XC=9.000000 YC=2.200000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.100000 Y1=2.600000 X2=8.900000 Y2=2.600000 XC=9.000000 YC=2.600000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.100000 Y1=3.000000 X2=8.929289 Y2=2.929289 XC=9.000000 YC=3.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.100000 Y1=3.400000 X2=9.000000 Y2=3.300000 XC=9.000000 YC=3.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.100000 Y1=3.800000 X2=9.070711 Y2=3.729289 XC=9.000000 YC=3.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.470711 Y1=1.070711 X2=9.500000 Y2=1.000000 XC=9.400000 YC=1.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.470711 Y1=1.470711 X2=9.470711 Y2=1.470711 XC=9.400000 YC=1.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.470711 Y1=1.870711 X2=9.400000 Y2=1.900000 XC=9.400000 YC=1.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.470711 Y1=2.270711 X2=9.329289 Y2=2.270711 XC=9.400000 YC=2.200000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.470711 Y1=2.670711 X2=9.300000 Y2=2.600000 XC=9.400000 YC=2.600000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.470711 Y1=3.070711 X2=9.329289 Y2=2.929289 XC=9.400000 YC=3.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.470711 Y1=3.470711 X2=9.400000 Y2=3.300000 XC=9.400000 YC=3.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.470711 Y1=3.870711 X2=9.470711 Y2=3.729289 XC=9.400000 YC=3.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.800000 Y1=1.100000 X2=9.900000 Y2=1.000000 XC=9.800000 YC=1.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.800000 Y1=1.500000 X2=9.870711 Y2=1.470711 XC=9.800000 YC=1.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.800000 Y1=1.900000 X2=9.800000 Y2=1.900000 XC=9.800000 YC=1.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.800000 Y1=2.300000 X2=9.729289 Y2=2.270711 XC=9.800000 YC=2.200000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.800000 Y1=2.700000 X2=9.700000 Y2=2.600000 XC=9.800000 YC=2.600000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.800000 Y1=3.100000 X2=9.729289 Y2=2.929289 XC=9.800000 YC=3.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.800000 Y1=3.500000 X2=9.800000 Y2=3.300000 XC=9.800000 YC=3.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=9.800000 Y1=3.900000 X2=9.870711 Y2=3.729289 XC=9.800000 YC=3.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.129289 Y1=1.070711 X2=10.300000 Y2=1.000000 XC=10.200000 YC=1.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.129289 Y1=1.470711 X2=10.270711 Y2=1.470711 XC=10.200000 YC=1.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.129289 Y1=1.870711 X2=10.200000 Y2=1.900000 XC=10.200000 YC=1.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.129289 Y1=2.270711 X2=10.129289 Y2=2.270711 XC=10.200000 YC=2.200000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.129289 Y1=2.670711 X2=10.100000 Y2=2.600000 XC=10.200000 YC=2.600000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.129289 Y1=3.070711 X2=10.129289 Y2=2.929289 XC=10.200000 YC=3.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.129289 Y1=3.470711 X2=10.200000 Y2=3.300000 XC=10.200000 YC=3.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.129289 Y1=3.870711 X2=10.270711 Y2=3.729289 XC=10.200000 YC=3.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.500000 Y1=1.000000 X2=10.700000 Y2=1.000000 XC=10.600000 YC=1.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.500000 Y1=1.400000 X2=10.670711 Y2=1.470711 XC=10.600000 YC=1.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.500000 Y1=1.800000 X2=10.600000 Y2=1.900000 XC=10.600000 YC=1.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.500000 Y1=2.200000 X2=10.529289 Y2=2.270711 XC=10.600000 YC=2.200000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.500000 Y1=2.600000 X2=10.500000 Y2=2.600000 XC=10.600000 YC=2.600000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.500000 Y1=3.000000 X2=10.529289 Y2=2.929289 XC=10.600000 YC=3.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.500000 Y1=3.400000 X2=10.600000 Y2=3.300000 XC=10.600000 YC=3.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.500000 Y1=3.800000 X2=10.670711 Y2=3.729289 XC=10.600000 YC=3.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.929289 Y1=0.929289 X2=11.100000 Y2=1.000000 XC=11.000000 YC=1.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.929289 Y1=1.329289 X2=11.070711 Y2=1.470711 XC=11.000000 YC=1.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.929289 Y1=1.729289 X2=11.000000 Y2=1.900000 XC=11.000000 YC=1.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.929289 Y1=2.129289 X2=10.929289 Y2=2.270711 XC=11.000000 YC=2.200000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.929289 Y1=2.529289 X2=10.900000 Y2=2.600000 XC=11.000000 YC=2.600000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.929289 Y1=2.929289 X2=10.929289 Y2=2.929289 XC=11.000000 YC=3.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.929289 Y1=3.329289 X2=11.000000 Y2=3.300000 XC=11.000000 YC=3.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=10.929289 Y1=3.729289 X2=11.070711 Y2=3.729289 XC=11.000000 YC=3.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.400000 Y1=0.900000 X2=11.500000 Y2=1.000000 XC=11.400000 YC=1.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.400000 Y1=1.300000 X2=11.470711 Y2=1.470711 XC=11.400000 YC=1.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.400000 Y1=1.700000 X2=11.400000 Y2=1.900000 XC=11.400000 YC=1.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.400000 Y1=2.100000 X2=11.329289 Y2=2.270711 XC=11.400000 YC=2.200000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.400000 Y1=2.500000 X2=11.300000 Y2=2.600000 XC=11.400000 YC=2.600000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.400000 Y1=2.900000 X2=11.329289 Y2=2.929289 XC=11.400000 YC=3.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.400000 Y1=3.300000 X2=11.400000 Y2=3.300000 XC=11.400000 YC=3.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.400000 Y1=3.700000 X2=11.470711 Y2=3.729289 XC=11.400000 YC=3.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.870711 Y1=0.929289 X2=11.900000 Y2=1.000000 XC=11.800000 YC=1.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.870711 Y1=1.329289 X2=11.870711 Y2=1.470711 XC=11.800000 YC=1.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.870711 Y1=1.729289 X2=11.800000 Y2=1.900000 XC=11.800000 YC=1.800000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.870711 Y1=2.129289 X2=11.729289 Y2=2.270711 XC=11.800000 YC=2.200000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.870711 Y1=2.529289 X2=11.700000 Y2=2.600000 XC=11.800000 YC=2.600000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.870711 Y1=2.929289 X2=11.729289 Y2=2.929289 XC=11.800000 YC=3.000000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.870711 Y1=3.329289 X2=11.800000 Y2=3.300000 XC=11.800000 YC=3.400000 R=0.100000 W=0.025000 L=1) + (ARC X1=11.870711 Y1=3.729289 X2=11.870711 Y2=3.729289 XC=11.800000 YC=3.800000 R=0.100000 W=0.025000 L=1) +} +{NET=viatst + (VIA X=13 Y=1 P=roundpad) + (VIA X=13 Y=2 P=squarepad) + (VIA X=13 Y=3 P=oblongpad) + (VIA X=13 Y=4 P=nodrill) + (SEG X1=13 Y1=1 X2=13 Y2=2 W=0.1 L=1) + (SEG X1=13 Y1=2 X2=13 Y2=3 W=0.1 L=1) + (SEG X1=13 Y1=3 X2=13 Y2=4 W=0.1 L=1) +} +{NET=oldviatst + (VIA X=14 Y=1 D=0.2 L1=1 S1=ROUND S1X=0.5 S1Y=0.5) + (VIA X=14 Y=2 D=0.2 L1=1 L2=2 S1=RECT S1X=0.5 S1Y=0.5) + (VIA X=14 Y=3 D=0.2 L1=1 L2=2 S1=OBLONG S1X=0.5 S1Y=0.5) + (VIA X=14 Y=4 D=0.0 L1=1 L2=2 S1=ROUND S1X=0.5 S1Y=0.5) + (SEG X1=14 Y1=1 X2=14 Y2=2 W=0.1 L=1) + (SEG X1=14 Y1=2 X2=14 Y2=3 W=0.1 L=1) + (SEG X1=14 Y1=3 X2=14 Y2=4 W=0.1 L=1) +} +{NET=(pintst) + (PIN X=15 Y=1 R=U1.1 P=roundpad) + (PIN X=15 Y=2 R=U1.2 P=squarepad) + (PIN X=15 Y=3 R=U1.3 P=oblongpad) +} +{NET=(padtst) + (PAD X=16 Y=1 L=1 S=ROUND SX=0.5 SY=0.5) + (PAD X=16 Y=2 L=1 S=RECT SX=0.5 SY=0.5) + (PAD X=16 Y=3 L=1 S=OBLONG SX=0.5 SY=0.5) + (PAD X=17 Y=1 L=2 S=ROUND SX=0.5 SY=0.5) + (PAD X=17 Y=2 L=2 S=RECT SX=0.5 SY=0.5) + (PAD X=17 Y=3 L=2 S=OBLONG SX=0.5 SY=0.5) +} +{NET=(usegtst) + (USEG X1=18 Y1=1 L1=1 X2=19 Y2=1 L2=1 ZL=1 ZW=0.1 ZLEN=2 ) + (USEG X1=18 Y1=2 L1=1 X2=19 Y2=2 L2=1 Z=50 D=1e-12 R=5 ) + (USEG X1=18 Y1=3 L1=1 X2=19 Y2=3 L2=2 ZL=1 ZW=0.1 ZLEN=2 ) + (USEG X1=18 Y1=4 L1=1 X2=19 Y2=4 L2=2 Z=50 D=1e-12 R=5 ) +} +{NET=polylinetst + {POLYGON L=1 W=0.05 ID=1 X=5.875000 Y=4.875000) + (LINE X=6.125000 Y=4.875000) + (LINE X=6.125000 Y=5.125000) + (LINE X=5.875000 Y=5.125000) + (LINE X=5.875000 Y=4.875000) + } + {POLYLINE L=1 W=0.1 ID=1 X=6.000000 Y=5.000000 + (LINE X=8.000000 Y=5.000000) + (CURVE X1=8.000000 Y1=5.000000 X2=8.000000 Y2=5.500000 XC=8.000000 YC=5.250000 R=0.250000) + (LINE X=6.000000 Y=5.500000) + (CURVE X1=6.000000 Y1=6.000000 X2=6.000000 Y2=5.500000 XC=6.000000 YC=5.750000 R=0.250000) + (LINE X=8.000000 Y=6.000000) + (CURVE X1=8.000000 Y1=6.000000 X2=8.000000 Y2=6.500000 XC=8.000000 YC=6.250000 R=0.250000) + (LINE X=6.000000 Y=6.500000) + (CURVE X1=6.000000 Y1=7.000000 X2=6.000000 Y2=6.500000 XC=6.000000 YC=6.750000 R=0.250000) + (LINE X=8.000000 Y=7.000000) + (CURVE X1=8.000000 Y1=7.000000 X2=8.000000 Y2=7.500000 XC=8.000000 YC=7.250000 R=0.250000) + (LINE X=6.000000 Y=7.500000) + (CURVE X1=6.000000 Y1=8.000000 X2=6.000000 Y2=7.500000 XC=6.000000 YC=7.750000 R=0.250000) + (LINE X=8.000000 Y=8.000000) + (CURVE X1=8.000000 Y1=8.000000 X2=8.000000 Y2=8.500000 XC=8.000000 YC=8.250000 R=0.250000) + (LINE X=6.000000 Y=8.500000) + (CURVE X1=6.000000 Y1=9.000000 X2=6.000000 Y2=8.500000 XC=6.000000 YC=8.750000 R=0.250000) + } +} +{NET=curvetst + {POLYGON L=1 W=0.05 ID=2 X=10.000000 Y=5.500000) + (CURVE X1=10.000000 Y1=5.500000 X2=10.000000 Y2=5.500000 XC=9.500000 YC=5.500000 R=0.500000 ) + } + {POLYVOID ID=2 X=9.250000 Y=5.500000 + (CURVE X1=9.250000 Y1=5.500000 X2=9.750000 Y2=5.500000 XC=9.500000 YC=5.500000 R=0.250000 ) + (LINE X=9.250000 Y=5.500000) + } +} +{NET=linetst + {POLYGON L=1 W=0.05 ID=3 X=9.000000 Y=6.500000) + (LINE X=10.000000 Y=6.500000) + (LINE X=10.000000 Y=7.000000) + (LINE X=9.500000 Y=7.000000) + (LINE X=9.500000 Y=7.500000) + (LINE X=9.000000 Y=7.500000) + (LINE X=9.000000 Y=6.500000) + } + {POLYVOID ID=3 X=9.125000 Y=6.625000 + (LINE X=9.625000 Y=6.625000) + (LINE X=9.625000 Y=6.875000) + (LINE X=9.375000 Y=6.875000) + (LINE X=9.375000 Y=7.125000) + (LINE X=9.125000 Y=7.125000) + (LINE X=9.125000 Y=6.625000) + } +} +{NET=poly_clearance_tst PS=0.05 + (VIA X=11.750000 Y=5.250000 P=0802pad) + (VIA X=11.750000 Y=6.250000 P=0802pad) + (VIA X=11.750000 Y=7.250000 P=0802pad) + (SEG X1=11.000000 Y1=5.250000 X2=11.750000 Y2=5.250000 W=0.04 L=1) + (SEG X1=11.000000 Y1=6.250000 X2=11.750000 Y2=6.250000 W=0.04 L=1) + (SEG X1=11.000000 Y1=7.250000 X2=11.750000 Y2=7.250000 W=0.04 L=1) + (SEG X1=11.000000 Y1=5.250000 X2=11.000000 Y2=6.250000 W=0.04 L=1) + (SEG X1=11.000000 Y1=6.250000 X2=11.000000 Y2=7.250000 W=0.04 L=1) + {POLYGON L=1 T=POUR W=0.100000 ID=4 X=11.500000 Y=5.000000) + (LINE X=12.500000 Y=5.000000) + (LINE X=12.500000 Y=5.500000) + (LINE X=11.500000 Y=5.500000) + (LINE X=11.500000 Y=5.000000) + } + {POLYGON L=1 T=COPPER W=0.100000 ID=5 X=11.500000 Y=6.000000) + (LINE X=12.500000 Y=6.000000) + (LINE X=12.500000 Y=6.500000) + (LINE X=11.500000 Y=6.500000) + (LINE X=11.500000 Y=6.000000) + } + {POLYGON L=1 T=PLANE W=0.100000 ID=6 X=11.500000 Y=7.000000) + (LINE X=12.500000 Y=7.000000) + (LINE X=12.500000 Y=7.500000) + (LINE X=11.500000 Y=7.500000) + (LINE X=11.500000 Y=7.000000) + } +} +{NET=poly_clearance_tst2 PS=0.05 + (VIA X=12.250000 Y=5.250000 P=0802pad) + (VIA X=12.250000 Y=6.250000 P=0802pad) + (VIA X=12.250000 Y=7.250000 P=0802pad) + (SEG X1=13.000000 Y1=5.250000 X2=12.250000 Y2=5.250000 W=0.04 L=1) + (SEG X1=13.000000 Y1=6.250000 X2=12.250000 Y2=6.250000 W=0.04 L=1) + (SEG X1=13.000000 Y1=7.250000 X2=12.250000 Y2=7.250000 W=0.04 L=1) + (SEG X1=13.000000 Y1=5.250000 X2=13.000000 Y2=6.250000 W=0.04 L=1) + (SEG X1=13.000000 Y1=6.250000 X2=13.000000 Y2=7.250000 W=0.04 L=1) +} +{NET=nesting_poly_1 PS=0 + {POLYGON L=1 T=POUR W=0.000000 ID=7 X=14.000000 Y=5.000000) + (LINE X=16.000000 Y=5.000000) + (LINE X=16.000000 Y=7.000000) + (LINE X=14.000000 Y=7.000000) + (LINE X=14.000000 Y=5.000000) + } + {POLYVOID ID=7 X=14.250000 Y=5.250000 + (LINE X=15.750000 Y=5.250000) + (LINE X=15.750000 Y=6.750000) + (LINE X=14.250000 Y=6.750000) + (LINE X=14.250000 Y=5.250000) + } +} +{NET=nesting_poly_2 PS=0 + {POLYGON L=1 T=POUR W=0.000000 ID=8 X=14.500000 Y=5.500000) + (LINE X=15.500000 Y=5.500000) + (LINE X=15.500000 Y=6.500000) + (LINE X=14.500000 Y=6.500000) + (LINE X=14.500000 Y=5.500000) + } + {POLYVOID ID=8 X=14.750000 Y=5.750000 + (LINE X=15.250000 Y=5.750000) + (LINE X=15.250000 Y=6.250000) + (LINE X=14.750000 Y=6.250000) + (LINE X=14.750000 Y=5.750000) + } +} +{END}