Index: work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/csxcad.xml =================================================================== --- work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/csxcad.xml (nonexistent) +++ work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/csxcad.xml (revision 30281) @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -5.4288,-4.7502,-4.0716,-3.393,-2.7144,-2.0358,-1.3572,-0.6786,0,0.6786,1.3572,2.0358,2.7144,3.393,4.0716,4.7502,5.4288,6.1074,6.786,7.536,8.55,9.578,10.328,11.0087,11.6893,12.37,13.12,14.152,14.902,15.582,16.262,16.942,17.692,18.724,19.474,20.154,20.834,21.514,22.264,23.296,24.046,24.726,25.406,26.086,26.836,27.868,28.618,29.298,29.978,30.658,31.408,32.44,33.19,33.8707,34.5513,35.232,35.982,37,38.024,38.774,39.461,40.148,40.8349,41.5219,42.2089,42.8959,43.5829,44.2698,44.9568,45.6438,46.3308,47.0178,47.7048,48.3918,49.0788,49.7658,50.4528,51.1398 + -48.4256,-47.7699,-47.1142,-46.4585,-45.8028,-45.1471,-44.4914,-43.8357,-43.18,-42.5243,-41.8685,-41.2128,-40.5571,-39.9013,-39.2456,-38.5898,-37.8398,-37,-36.0498,-35.2998,-34.7032,-34.1065,-33.5098,-33.2598,-32.7598,-32.5098,-31.7704,-31.031,-30.2916,-29.5522,-28.8128,-28.0735,-27.3341,-26.5947,-25.8553,-25.1159,-24.3765,-23.6371,-22.8977,-22.1583,-21.4189,-20.6795,-19.9401,-19.2007,-18.4613,-17.7219,-16.9826,-16.2432,-15.5038,-14.7644,-14.025,-13.2856,-12.5462,-11.8068,-11.0674,-10.328,-9.5886,-8.8492,-8.1098,-7.8598,-7.3598,-7.1098,-6.5132,-5.9165,-5.3198,-4.5698,-3.917,-3.2642,-2.6113,-1.9585,-1.3057,-0.6528,0,0.6528,1.3056,1.9584,2.6112,3.264,3.9168,4.5696,5.2224 + -7.2,-6.6,-6,-5.4,-4.8,-4.2,-3.6,-3,-2.4,-1.8,-1.2,-0.6,0,0.375,0.75,1.125,1.5,2.1,2.7,3.3,3.9,4.5,5.1,5.7,6.3,6.9,7.5,8.1,8.7,9.3 + + + Index: work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.graph.m =================================================================== --- work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.graph.m (nonexistent) +++ work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.graph.m (revision 30281) @@ -0,0 +1,27 @@ + +CSXGeomPlot( [Sim_Path '/' Sim_CSX] ); + + + % include the line above to launch csxcad omitt it to avoid launching CSXCad + RunOpenEMS( Sim_Path, Sim_CSX ); + + + %% post-processing + close all + f = linspace( 1e6, 2e9, 1601 ); + port = calcPort( port, Sim_Path, f, 'RefImpedance', 50); + + s11 = port{1}.uf.ref./ port{1}.uf.inc; + s21 = port{2}.uf.ref./ port{1}.uf.inc; + + plot(f/1e9,20*log10(abs(s11)),'k-','LineWidth',2); + hold on; + grid on; + plot(f/1e9,20*log10(abs(s21)),'r--','LineWidth',2); + legend('S_{11}','S_{21}'); + ylabel('S-Parameter (dB)','FontSize',12); + xlabel('frequency (GHz) \rightarrow','FontSize',12); + ylim([-60 2]); + print ('vias_graph.png', '-dpng'); + + Index: work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.lht =================================================================== --- work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.lht (nonexistent) +++ work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.lht (revision 30281) @@ -0,0 +1,2368 @@ +ha:pcb-rnd-board-v5 { + + ha:attributes { + {PCB::grid::unit}=mm + {openems::excitation::gaussian::f0}=1000000000.000000 Hz + {openems::excitation::user-defined::script}= + {openems::excitation::type}=gaussian + {openems::excitation::gaussian::fc}=1100000000.000000 Hz + } + + li:styles { + ha:Signal { + diameter = 2.0mm + thickness = 10.0mil + hole = 31.5mil + clearance = 20.0mil + } + ha:Power { + diameter = 2.2mm + thickness = 20.0mil + hole = 1.0mm + clearance = 20.0mil + } + ha:Fat { + diameter = 137.8mil + thickness = 80.0mil + hole = 47.24mil + clearance = 25.0mil + } + ha:Sig-tight { + diameter = 64.0mil + thickness = 10.0mil + hole = 31.5mil + clearance = 12.0mil + } + } + + ha:meta { + ha:size { + thermal_scale = 0.500000 + x = 1.797in + y = 1.7in + } + board_name = + ha:grid { + spacing = 0.05mm + offs_x = 0.0 + offs_y = 0.0 + } + } + + ha:data { + li:padstack_prototypes { + + ha:ps_proto_v4.0 { + hdia=0.0; hplated=0; htop=0; hbottom=0; + li:shape { + + ha:ps_shape_v4 { + ha:combining { } + ha:layer_mask { + copper = 1 + top = 1 + } + clearance=40.0mil + li:ps_poly { + -0.5mm + -0.5mm + 0.5mm + -0.5mm + 0.5mm + 0.5mm + -0.5mm + 0.5mm + } + } + } + } + + ha:ps_proto_v4.1 { + hdia=0.0; hplated=0; htop=0; hbottom=0; + li:shape { + + ha:ps_shape_v4 { + ha:combining { } + ha:layer_mask { + copper = 1 + top = 1 + } + clearance=40.0mil + li:ps_poly { + -0.5mm + -0.5mm + 0.5mm + -0.5mm + 0.5mm + 0.5mm + -0.5mm + 0.5mm + } + } + } + } + + ha:ps_proto_v4.2 { + hdia=0.8mm; hplated=1; htop=0; hbottom=0; + li:shape { + } + } + } + + li:objects { + ha:padstack_ref.8029 { + proto=0; x=8.55mm; y=37.0mm; rot=0.000000; xmirror=0; smirror=0; clearance=20.0mil; + ha:flags { + clearline=1 + } + + li:thermal { + } + + ha:attributes { + {openems::active}=true + {openems::resistance}=50 + {openems::vport}=1 + } + } + ha:padstack_ref.8030 { + proto=0; x=37.0mm; y=37.0mm; rot=0.000000; xmirror=0; smirror=0; clearance=20.0mil; + ha:flags { + clearline=1 + } + + li:thermal { + } + + ha:attributes { + {openems::active}=false + {openems::resistance}=50 + {openems::vport}=2 + } + } + ha:padstack_ref.8073 { + proto=2; x=20.5mm; y=8.9mm; rot=0.000000; xmirror=0; smirror=0; clearance=20.0mil; + ha:flags { + clearline=1 + } + + li:thermal { + } + } + } + li:layers { + + ha:top-sig { + lid=0 + group=3 + ha:combining { } + visible=1 + + li:objects { + ha:polygon.7986 { clearance=40.0mil; + li:geometry { + ta:contour { + { 35.479999mm; 7.609841mm } + { 35.479999mm; 33.00984mm } + { 32.94mm; 33.00984mm } + { 32.94mm; 7.609841mm } + { 30.908mm; 7.609841mm } + { 30.908mm; 33.00984mm } + { 28.367999mm; 33.00984mm } + { 28.367999mm; 7.609841mm } + { 30.908mm; 5.069841mm } + { 32.94mm; 5.069841mm } + } + } + } + ha:polygon.7997 { clearance=40.0mil; + li:geometry { + ta:contour { + { 19.224mm; 33.00984mm } + { 19.224mm; 7.609841mm } + { 856.8503937mil; 7.609841mm } + { 856.8503937mil; 33.00984mm } + { 23.795999mm; 33.00984mm } + { 23.795999mm; 7.609841mm } + { 26.336mm; 7.609841mm } + { 26.336mm; 33.00984mm } + { 23.795999mm; 35.549841mm } + { 856.8503937mil; 35.549841mm } + } + } + } + ha:polygon.8008 { clearance=40.0mil; + li:geometry { + ta:contour { + { 17.191999mm; 7.609841mm } + { 17.191999mm; 33.00984mm } + { 14.651999mm; 33.00984mm } + { 14.651999mm; 7.609841mm } + { 496.8503937mil; 7.609841mm } + { 496.8503937mil; 33.00984mm } + { 10.08mm; 33.00984mm } + { 10.08mm; 7.609841mm } + { 496.8503937mil; 5.069841mm } + { 14.651999mm; 5.069841mm } + } + } + } + ha:polygon.8019 { clearance=40.0mil; + li:geometry { + ta:contour { + { 9.826mm; 7.609841mm } + { 9.826mm; 1.4996in } + { 286.8503937mil; 1.4996in } + { 286.8503937mil; 7.609841mm } + } + } + } + ha:polygon.8024 { clearance=40.0mil; + li:geometry { + ta:contour { + { 38.274mm; 7.609841mm } + { 38.274mm; 1.4996in } + { 35.733999mm; 1.4996in } + { 35.733999mm; 7.609841mm } + } + } + } + } + color = {#8b2323} + } + + ha:bottom-sig { + lid=1 + group=6 + ha:combining { } + visible=1 + + li:objects { + ha:polygon.6872 { clearance=40.0mil; + li:geometry { + ta:contour { + { 44.627799mm; 1.016001mm } + { 44.627799mm; 1.6596in } + { 40.0mil; 1.6596in } + { 40.0mil; 1.016001mm } + } + } + } + } + color = {#3a5fcd} + } + + ha:outline { + lid=2 + group=5 + ha:combining { auto=1;} + visible=1 + + li:objects { + } + color = {#104e8b} + } + + ha:bottom-silk { + lid=3 + group=8 + ha:combining { auto=1; } + visible=1 + + li:objects { + } + color = {#cccccc} + } + + ha:top-silk { + lid=4 + group=1 + ha:combining { auto=1; } + visible=1 + + li:objects { + } + color = {#000000} + } + + ha:top-paste { + lid=5 + group=0 + ha:combining { auto=1; } + visible=0 + + li:objects { + } + color = {#8b7355} + } + + ha:top-mask { + lid=6 + group=2 + ha:combining { sub=1; auto=1; } + visible=0 + + li:objects { + } + color = {#00868b} + } + + ha:bottom-mask { + lid=7 + group=7 + ha:combining { sub=1; auto=1; } + visible=0 + + li:objects { + } + color = {#228b22} + } + + ha:bottom-paste { + lid=8 + group=9 + ha:combining { auto=1; } + visible=0 + + li:objects { + } + color = {#8b2323} + } + } + } + + ha:font { + ha:geda_pcb { + cell_width=1.270001mm; cell_height=1.397001mm; + ha:symbols { + ha:] { + width=0.127001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=10.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=50.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:&5c { + width=0.762001mm; height=1.143001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=15.0mil; x2=30.0mil; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:b { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=35.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=5.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:c { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=35.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=5.0mil; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:d { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=20.0mil; y1=10.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=35.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=5.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + } + } + ha:e { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=35.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=5.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=0.0; y1=40.0mil; x2=20.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=20.0mil; y1=40.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + } + } + ha:f { + width=0.381001mm; height=1.270001mm; delta=10.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=15.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=15.0mil; x2=10.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=10.0mil; y1=10.0mil; x2=15.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=30.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:g { + width=0.508001mm; height=1.651001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=35.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=0.0; y1=60.0mil; x2=5.0mil; y2=65.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=5.0mil; y1=65.0mil; x2=15.0mil; y2=65.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=15.0mil; y1=65.0mil; x2=20.0mil; y2=60.0mil; thickness=8.0mil; + } + ha:line.10 { + x1=20.0mil; y1=30.0mil; x2=20.0mil; y2=60.0mil; thickness=8.0mil; + } + } + } + ha:h { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=35.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:i { + width=0.001um; height=1.270001mm; delta=10.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=20.0mil; x2=0.0; y2=21.0mil; thickness=10.0mil; + } + ha:line.1 { + x1=0.0; y1=35.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:j { + width=0.127001mm; height=1.651001mm; delta=10.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=20.0mil; x2=5.0mil; y2=21.0mil; thickness=10.0mil; + } + ha:line.1 { + x1=5.0mil; y1=35.0mil; x2=5.0mil; y2=60.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=65.0mil; x2=5.0mil; y2=60.0mil; thickness=8.0mil; + } + } + } + ha:k { + width=0.381001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=35.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=35.0mil; x2=10.0mil; y2=25.0mil; thickness=8.0mil; + } + } + } + ha:l { + width=0.127001mm; height=1.270001mm; delta=10.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:m { + width=0.889001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=35.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=35.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=10.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=35.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=20.0mil; y1=35.0mil; x2=25.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=25.0mil; y1=30.0mil; x2=30.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=30.0mil; y1=30.0mil; x2=35.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=35.0mil; y1=35.0mil; x2=35.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=0.0; y1=30.0mil; x2=5.0mil; y2=35.0mil; thickness=8.0mil; + } + } + } + ha:n { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=35.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=35.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=10.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=35.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=30.0mil; x2=5.0mil; y2=35.0mil; thickness=8.0mil; + } + } + } + ha:o { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=35.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=35.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:p { + width=0.635001mm; height=1.651001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=35.0mil; x2=5.0mil; y2=65.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=30.0mil; x2=5.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=35.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=10.0mil; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=30.0mil; x2=25.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=25.0mil; y1=35.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=20.0mil; y1=50.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=10.0mil; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=5.0mil; y1=45.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:q { + width=0.508001mm; height=1.651001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=20.0mil; y1=35.0mil; x2=20.0mil; y2=65.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=35.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:r { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=35.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=35.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=10.0mil; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=30.0mil; x2=5.0mil; y2=35.0mil; thickness=8.0mil; + } + } + } + ha:s { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=20.0mil; y1=50.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=20.0mil; y1=40.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=5.0mil; y1=40.0mil; x2=20.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=5.0mil; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=20.0mil; y1=30.0mil; x2=25.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:t { + width=0.254001mm; height=1.270001mm; delta=10.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=10.0mil; x2=5.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=45.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=25.0mil; x2=10.0mil; y2=25.0mil; thickness=8.0mil; + } + } + } + ha:u { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=30.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=30.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:v { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=30.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=20.0mil; y1=30.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:w { + width=0.762001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=30.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=50.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=10.0mil; y1=50.0mil; x2=15.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=15.0mil; y1=30.0mil; x2=15.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=15.0mil; y1=45.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=20.0mil; y1=50.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=25.0mil; y1=50.0mil; x2=30.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=30.0mil; y1=30.0mil; x2=30.0mil; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:x { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=30.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=50.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:y { + width=0.508001mm; height=1.651001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=30.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=20.0mil; y1=30.0mil; x2=20.0mil; y2=60.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=65.0mil; x2=20.0mil; y2=60.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=5.0mil; y1=65.0mil; x2=15.0mil; y2=65.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=60.0mil; x2=5.0mil; y2=65.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:z { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=50.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:~ { + width=0.635001mm; height=0.889001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=30.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=10.0mil; y1=30.0mil; x2=15.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=35.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=35.0mil; x2=25.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:&7b { + width=0.254001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=15.0mil; x2=10.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=15.0mil; x2=5.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=30.0mil; x2=5.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=30.0mil; x2=5.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=5.0mil; y1=35.0mil; x2=5.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=5.0mil; y1=45.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:&7d { + width=0.254001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=5.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=15.0mil; x2=5.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=25.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=5.0mil; y1=35.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=5.0mil; y1=35.0mil; x2=5.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=50.0mil; x2=5.0mil; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:| { + width=0.001um; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:&20 { + width=0.0; height=10.0mil; delta=18.0mil; + li:objects { + } + } + ha:&23 { + width=0.508001mm; height=1.016001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=35.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=25.0mil; x2=20.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=15.0mil; y1=20.0mil; x2=15.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=5.0mil; y1=20.0mil; x2=5.0mil; y2=40.0mil; thickness=8.0mil; + } + } + } + ha:&26 { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=15.0mil; x2=0.0; y2=25.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=35.0mil; x2=15.0mil; y2=20.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=5.0mil; y1=50.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=10.0mil; y1=50.0mil; x2=20.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=0.0; y1=25.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=5.0mil; y1=10.0mil; x2=10.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=10.0mil; y1=10.0mil; x2=15.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=15.0mil; y1=15.0mil; x2=15.0mil; y2=20.0mil; thickness=8.0mil; + } + ha:line.10 { + x1=0.0; y1=35.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:! { + width=0.001um; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=45.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=10.0mil; x2=0.0; y2=35.0mil; thickness=8.0mil; + } + } + } + ha:" { + width=0.254001mm; height=0.508001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=20.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=10.0mil; y1=10.0mil; x2=10.0mil; y2=20.0mil; thickness=8.0mil; + } + } + } + ha:$ { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=15.0mil; y1=15.0mil; x2=20.0mil; y2=20.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=15.0mil; x2=15.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=20.0mil; x2=5.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=20.0mil; x2=0.0; y2=25.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=25.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=5.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=20.0mil; y1=35.0mil; x2=20.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=15.0mil; y1=45.0mil; x2=20.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=5.0mil; y1=45.0mil; x2=15.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.10 { + x1=0.0; y1=40.0mil; x2=5.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.11 { + x1=10.0mil; y1=10.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:% { + width=1.016001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=15.0mil; x2=0.0; y2=20.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=10.0mil; x2=10.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=10.0mil; y1=10.0mil; x2=15.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=15.0mil; y1=15.0mil; x2=15.0mil; y2=20.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=10.0mil; y1=25.0mil; x2=15.0mil; y2=20.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=5.0mil; y1=25.0mil; x2=10.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=0.0; y1=20.0mil; x2=5.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=0.0; y1=50.0mil; x2=40.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=35.0mil; y1=50.0mil; x2=40.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.10 { + x1=40.0mil; y1=40.0mil; x2=40.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.11 { + x1=35.0mil; y1=35.0mil; x2=40.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.12 { + x1=30.0mil; y1=35.0mil; x2=35.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.13 { + x1=25.0mil; y1=40.0mil; x2=30.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.14 { + x1=25.0mil; y1=40.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.15 { + x1=25.0mil; y1=45.0mil; x2=30.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.16 { + x1=30.0mil; y1=50.0mil; x2=35.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:' { + width=0.254001mm; height=0.508001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=20.0mil; x2=10.0mil; y2=10.0mil; thickness=8.0mil; + } + } + } + ha:( { + width=0.127001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=15.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:) { + width=0.127001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=5.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=15.0mil; x2=5.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=50.0mil; x2=5.0mil; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:* { + width=0.508001mm; height=1.016001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=20.0mil; x2=20.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=40.0mil; x2=20.0mil; y2=20.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=10.0mil; y1=20.0mil; x2=10.0mil; y2=40.0mil; thickness=8.0mil; + } + } + } + ha:+ { + width=0.508001mm; height=1.016001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=10.0mil; y1=20.0mil; x2=10.0mil; y2=40.0mil; thickness=8.0mil; + } + } + } + ha:, { + width=0.254001mm; height=1.524001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=60.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:- { + width=0.508001mm; height=0.762001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:. { + width=0.127001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=50.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:0 { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=15.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=5.0mil; y1=10.0mil; x2=15.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=15.0mil; y1=10.0mil; x2=20.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=20.0mil; y1=15.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=0.0; y1=40.0mil; x2=20.0mil; y2=20.0mil; thickness=8.0mil; + } + } + } + ha:1 { + width=0.381001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=18.0mil; x2=8.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=8.0mil; y1=10.0mil; x2=8.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:2 { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=20.0mil; y1=10.0mil; x2=25.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=25.0mil; y1=15.0mil; x2=25.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=50.0mil; x2=25.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=50.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:3 { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=10.0mil; x2=15.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=15.0mil; y1=10.0mil; x2=20.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=5.0mil; y1=28.0mil; x2=15.0mil; y2=28.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=20.0mil; y1=15.0mil; x2=20.0mil; y2=23.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=20.0mil; y1=33.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=20.0mil; y1=33.0mil; x2=15.0mil; y2=28.0mil; thickness=8.0mil; + } + ha:line.10 { + x1=20.0mil; y1=23.0mil; x2=15.0mil; y2=28.0mil; thickness=8.0mil; + } + } + } + ha:4 { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=35.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=35.0mil; x2=25.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=20.0mil; y1=10.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:5 { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=10.0mil; x2=0.0; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=30.0mil; x2=5.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=5.0mil; y1=25.0mil; x2=15.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=15.0mil; y1=25.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=20.0mil; y1=30.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:6 { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=15.0mil; y1=10.0mil; x2=20.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=10.0mil; x2=15.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=15.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=15.0mil; y1=28.0mil; x2=20.0mil; y2=33.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=0.0; y1=28.0mil; x2=15.0mil; y2=28.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=20.0mil; y1=33.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:7 { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=50.0mil; x2=25.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=10.0mil; x2=25.0mil; y2=10.0mil; thickness=8.0mil; + } + } + } + ha:8 { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=37.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=37.0mil; x2=7.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=7.0mil; y1=30.0mil; x2=13.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=13.0mil; y1=30.0mil; x2=20.0mil; y2=37.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=20.0mil; y1=37.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=0.0; y1=23.0mil; x2=7.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=0.0; y1=15.0mil; x2=0.0; y2=23.0mil; thickness=8.0mil; + } + ha:line.10 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.11 { + x1=5.0mil; y1=10.0mil; x2=15.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.12 { + x1=15.0mil; y1=10.0mil; x2=20.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.13 { + x1=20.0mil; y1=15.0mil; x2=20.0mil; y2=23.0mil; thickness=8.0mil; + } + ha:line.14 { + x1=13.0mil; y1=30.0mil; x2=20.0mil; y2=23.0mil; thickness=8.0mil; + } + } + } + ha:9 { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=50.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=20.0mil; y1=15.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=15.0mil; y1=10.0mil; x2=20.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=5.0mil; y1=10.0mil; x2=15.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=15.0mil; x2=0.0; y2=25.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=0.0; y1=25.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=5.0mil; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:< { + width=0.254001mm; height=1.016001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=30.0mil; x2=10.0mil; y2=20.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=30.0mil; x2=10.0mil; y2=40.0mil; thickness=8.0mil; + } + } + } + ha:> { + width=0.254001mm; height=1.016001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=20.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=40.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:? { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=10.0mil; y1=30.0mil; x2=10.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=10.0mil; y1=45.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=15.0mil; x2=0.0; y2=20.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=5.0mil; y1=10.0mil; x2=15.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=15.0mil; y1=10.0mil; x2=20.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=20.0mil; y1=15.0mil; x2=20.0mil; y2=20.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=10.0mil; y1=30.0mil; x2=20.0mil; y2=20.0mil; thickness=8.0mil; + } + } + } + ha:@ { + width=1.270001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=40.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=40.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=10.0mil; y1=50.0mil; x2=40.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=50.0mil; y1=35.0mil; x2=50.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=50.0mil; y1=10.0mil; x2=40.0mil; y2=0.0; thickness=8.0mil; + } + ha:line.5 { + x1=40.0mil; y1=0.0; x2=10.0mil; y2=0.0; thickness=8.0mil; + } + ha:line.6 { + x1=10.0mil; y1=0.0; x2=0.0; y2=10.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=15.0mil; y1=20.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=20.0mil; y1=35.0mil; x2=30.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.10 { + x1=30.0mil; y1=35.0mil; x2=35.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.11 { + x1=35.0mil; y1=30.0mil; x2=40.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.12 { + x1=35.0mil; y1=30.0mil; x2=35.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.13 { + x1=35.0mil; y1=20.0mil; x2=30.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.14 { + x1=20.0mil; y1=15.0mil; x2=30.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.15 { + x1=20.0mil; y1=15.0mil; x2=15.0mil; y2=20.0mil; thickness=8.0mil; + } + ha:line.16 { + x1=40.0mil; y1=35.0mil; x2=50.0mil; y2=35.0mil; thickness=8.0mil; + } + } + } + ha:A { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=20.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=20.0mil; x2=7.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=7.0mil; y1=10.0mil; x2=18.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=18.0mil; y1=10.0mil; x2=25.0mil; y2=20.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=25.0mil; y1=20.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=30.0mil; x2=25.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:B { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=20.0mil; y1=50.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=25.0mil; y1=33.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=20.0mil; y1=28.0mil; x2=25.0mil; y2=33.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=5.0mil; y1=28.0mil; x2=20.0mil; y2=28.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=5.0mil; y1=10.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=0.0; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=20.0mil; y1=10.0mil; x2=25.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=25.0mil; y1=15.0mil; x2=25.0mil; y2=23.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=20.0mil; y1=28.0mil; x2=25.0mil; y2=23.0mil; thickness=8.0mil; + } + } + } + ha:C { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=7.0mil; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=43.0mil; x2=7.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=17.0mil; x2=0.0; y2=43.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=17.0mil; x2=7.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=7.0mil; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + } + } + ha:D { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=10.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=18.0mil; y1=10.0mil; x2=25.0mil; y2=17.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=25.0mil; y1=17.0mil; x2=25.0mil; y2=43.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=18.0mil; y1=50.0mil; x2=25.0mil; y2=43.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=50.0mil; x2=18.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=10.0mil; x2=18.0mil; y2=10.0mil; thickness=8.0mil; + } + } + } + ha:E { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=28.0mil; x2=15.0mil; y2=28.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + } + } + ha:F { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=28.0mil; x2=15.0mil; y2=28.0mil; thickness=8.0mil; + } + } + } + ha:G { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=20.0mil; y1=10.0mil; x2=25.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=15.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=5.0mil; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=20.0mil; y1=50.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=25.0mil; y1=35.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=20.0mil; y1=30.0mil; x2=25.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=10.0mil; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:H { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=25.0mil; y1=10.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=30.0mil; x2=25.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:I { + width=0.254001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=10.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=10.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=50.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:J { + width=0.381001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=7.0mil; y1=10.0mil; x2=15.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=15.0mil; y1=10.0mil; x2=15.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=10.0mil; y1=50.0mil; x2=15.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=5.0mil; y1=50.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=0.0; y1=45.0mil; x2=0.0; y2=40.0mil; thickness=8.0mil; + } + } + } + ha:K { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=30.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=30.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:L { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:M { + width=0.762001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=10.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=15.0mil; y1=30.0mil; x2=30.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=30.0mil; y1=10.0mil; x2=30.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:&2f { + width=0.762001mm; height=1.143001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=45.0mil; x2=30.0mil; y2=15.0mil; thickness=8.0mil; + } + } + } + ha:&3a { + width=0.127001mm; height=0.889001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=25.0mil; x2=5.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=35.0mil; thickness=8.0mil; + } + } + } + ha:&3b { + width=0.254001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=50.0mil; x2=10.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=10.0mil; y1=25.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:&3d { + width=0.508001mm; height=0.889001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=25.0mil; x2=20.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=35.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + } + } + ha:O { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=15.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=10.0mil; x2=15.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=10.0mil; x2=20.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=15.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:P { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=5.0mil; y1=10.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=20.0mil; y1=10.0mil; x2=25.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=25.0mil; y1=15.0mil; x2=25.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=30.0mil; x2=25.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=5.0mil; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + } + } + ha:N { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=10.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=25.0mil; y1=10.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:R { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=20.0mil; y1=10.0mil; x2=25.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=25.0mil; y1=15.0mil; x2=25.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=20.0mil; y1=30.0mil; x2=25.0mil; y2=25.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=5.0mil; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=5.0mil; y1=10.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=13.0mil; y1=30.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:S { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=20.0mil; y1=10.0mil; x2=25.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=15.0mil; x2=0.0; y2=25.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=25.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=5.0mil; y1=30.0mil; x2=20.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=20.0mil; y1=30.0mil; x2=25.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=25.0mil; y1=35.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=20.0mil; y1=50.0mil; x2=25.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.9 { + x1=5.0mil; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.10 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:Q { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=15.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=10.0mil; x2=15.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=10.0mil; x2=20.0mil; y2=15.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=15.0mil; x2=20.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=10.0mil; y1=50.0mil; x2=20.0mil; y2=40.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=5.0mil; y1=50.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=10.0mil; y1=35.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:U { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=20.0mil; y1=10.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:V { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=10.0mil; y1=50.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + } + } + ha:T { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=10.0mil; y1=10.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:X { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=50.0mil; x2=25.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=10.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:Y { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=10.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=10.0mil; y1=30.0mil; x2=20.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=10.0mil; y1=30.0mil; x2=10.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:W { + width=0.762001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=0.0; y2=30.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=30.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=15.0mil; y1=30.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=25.0mil; y1=50.0mil; x2=30.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=30.0mil; y1=30.0mil; x2=30.0mil; y2=10.0mil; thickness=8.0mil; + } + } + } + ha:[ { + width=0.127001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=10.0mil; x2=0.0; y2=50.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=50.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:^ { + width=0.254001mm; height=0.381001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=15.0mil; x2=5.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=10.0mil; x2=10.0mil; y2=15.0mil; thickness=8.0mil; + } + } + } + ha:Z { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=10.0mil; x2=25.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=0.0; y1=50.0mil; x2=25.0mil; y2=10.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=50.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + ha:a { + width=0.635001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=15.0mil; y1=30.0mil; x2=20.0mil; y2=35.0mil; thickness=8.0mil; + } + ha:line.1 { + x1=5.0mil; y1=30.0mil; x2=15.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.2 { + x1=0.0; y1=35.0mil; x2=5.0mil; y2=30.0mil; thickness=8.0mil; + } + ha:line.3 { + x1=0.0; y1=35.0mil; x2=0.0; y2=45.0mil; thickness=8.0mil; + } + ha:line.4 { + x1=0.0; y1=45.0mil; x2=5.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.5 { + x1=20.0mil; y1=30.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + ha:line.6 { + x1=20.0mil; y1=45.0mil; x2=25.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.7 { + x1=5.0mil; y1=50.0mil; x2=15.0mil; y2=50.0mil; thickness=8.0mil; + } + ha:line.8 { + x1=15.0mil; y1=50.0mil; x2=20.0mil; y2=45.0mil; thickness=8.0mil; + } + } + } + ha:_ { + width=0.508001mm; height=1.270001mm; delta=12.0mil; + li:objects { + ha:line.0 { + x1=0.0; y1=50.0mil; x2=20.0mil; y2=50.0mil; thickness=8.0mil; + } + } + } + } + id = 0 + } + } + + ha:layer_stack { + li:groups { + ha:0 { + name = top_paste + ha:type { top=1; paste=1; } + li:layers { 5; } + } + ha:1 { + name = top_silk + ha:type { silk=1; top=1; } + li:layers { 4; } + } + ha:2 { + name = top_mask + ha:type { top=1; mask=1; } + li:layers { 6; } + } + ha:3 { + name = top_copper + ha:type { copper=1; top=1; } + li:layers { 0; } + } + ha:4 { + name = grp_4 + ha:type { substrate=1; intern=1; } + li:layers { } + } + ha:5 { + name = global outline + ha:type { outline=1; intern=1; } + li:layers { 2; } + } + ha:6 { + name = bottom_copper + ha:type { bottom=1; copper=1; } + li:layers { 1; } + } + ha:7 { + name = bottom_mask + ha:type { bottom=1; mask=1; } + li:layers { 7; } + } + ha:8 { + name = bottom_silk + ha:type { silk=1; bottom=1; } + li:layers { 3; } + } + ha:9 { + name = bottom_paste + ha:type { bottom=1; paste=1; } + li:layers { 8; } + } + } + } + li:pcb-rnd-conf-v1 { + ha:overwrite { + ha:design { + min_ring = 10.0mil + clearance = 20.00 mil + via_thickness = 2.0000 mm + via_drilling_hole = 31.50 mil + min_slk = 7.0mil + line_thickness = 10.00 mil + shrink = 9.0mil + poly_isle_area = 200000000.000000 + min_wid = 10.0mil + bloat = 12.0mil + min_drill = 15.0mil + text_scale = 100 + text_thickness = 0 + text_font_id = 0 + } + ha:editor { + ha:view { + flip_x = 0 + flip_y = 0 + } + grid_unit = mm + buffer_number = 0 + show_solder_side = 0 + grids_idx = 8 + grid = 50.00 um + } + } + } +} Index: work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.m =================================================================== --- work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.m (nonexistent) +++ work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.m (revision 30281) @@ -0,0 +1,156 @@ +%%% User tunables + +%% base_priority and offset: chassis for the board to sit in. +% base priority: if the board displaces the model of the chassis or the other way around. +base_priority=0; + +% offset on the whole layout to locate it relative to the simulation origin +offset.x = 0.0000; +offset.y = 0.0000; +offset.z = 0; + +% void is the material used for: fill holes, cutouts in substrate, etc +void.name = 'AIR'; +void.epsilon = 1.000000; +void.mue = 1.000000; +% void.kappa = kappa; +% void.sigma = sigma; + +% how many points should be used to describe the round end of traces. +kludge.segments = 10; + + +%%% Board mesh, part 2 +z_bottom_copper=1.5000 +mesh.y=[0.0000 0.6528 1.3057 1.9585 2.6113 3.2642 3.9170 4.5698 5.3198 5.3198 5.9165 6.5132 7.1098 7.1098 7.3598 7.8598 7.8598 8.1098 8.1098 8.8492 9.5886 10.3280 11.0674 11.8068 12.5462 13.2856 14.0250 14.7644 15.5038 16.2432 16.9826 17.7219 18.4613 19.2007 19.9401 20.6795 21.4189 22.1583 22.8977 23.6371 24.3765 25.1159 25.8553 26.5947 27.3341 28.0735 28.8128 29.5522 30.2916 31.0310 31.7704 32.5098 32.7598 32.7598 33.2598 33.5098 33.5098 33.5098 34.1065 34.7032 35.2998 36.0498 37.0000 37.8398 38.5898 38.5898 39.2456 39.9013 40.5571 41.2128 41.8685 42.5243 43.1800]; +mesh.x=[0.0000 0.6786 1.3572 2.0358 2.7144 3.3930 4.0716 4.7502 5.4288 6.1074 6.7860 7.5360 8.5500 9.5780 10.3280 10.3280 11.0087 11.6893 12.3700 13.1200 14.1520 14.9020 14.9020 15.5820 16.2620 16.9420 17.6920 18.7240 19.4740 19.4740 20.1540 20.8340 21.5140 22.2640 23.2960 24.0460 24.0460 24.7260 25.4060 26.0860 26.8360 27.8680 28.6180 28.6180 29.2980 29.9780 30.6580 31.4080 32.4400 33.1900 33.1900 33.8707 34.5513 35.2320 35.9820 37.0000 38.0240 38.7740 38.7740 39.4610 40.1480 40.8349 41.5219 42.2089 42.8959 43.5829 44.2698 44.9568 45.6438]; +mesh.z=[0.0000 0.3750 0.7500 1.1250 1.5000 -3.0000 -2.4000 -1.8000 -1.2000 -0.6000 1.5000 2.1000 2.7000 3.3000 3.9000]; +mesh.x = mesh.x .+ offset.x; +mesh.y = offset.y .- mesh.y; +mesh.z = z_bottom_copper .- mesh.z .+ offset.z; +mesh = AddPML(mesh, 8); +CSX = DefineRectGrid(CSX, unit, mesh); + +%%% Layer mapping +layers(1).number = 1; +layers(1).name = 'top_copper'; +layers(1).clearn = 0; +layer_types(1).name = 'COPPER_1'; +layer_types(1).subtype = 2; +layer_types(1).thickness = 0.07/1000; +layer_types(1).conductivity = 56*10^6; + +layers(2).number = 2; +layers(2).name = 'grp_4'; +layers(2).clearn = 0; +layer_types(2).name = 'SUBSTRATE_2'; +layer_types(2).subtype = 3; +layer_types(2).thickness = 1.5; +layer_types(2).epsilon = 4.8; +layer_types(2).mue = 0; +layer_types(2).kappa = 0; +layer_types(2).sigma = 0; + +layers(3).number = 3; +layers(3).name = 'bottom_copper'; +layers(3).clearn = 0; +layer_types(3).name = 'COPPER_3'; +layer_types(3).subtype = 2; +layer_types(3).thickness = 0.07/1000; +layer_types(3).conductivity = 56*10^6; + +%evan pick up with this here +layer_types(4).name = 'COPPER_via'; +layer_types(4).subtype = 3; +layer_types(4).thickness = 0; +layer_types(3).conductivity = 56*10^6; + + + +%%% Initialize pcb2csx +PCBRND = InitPCBRND(layers, layer_types, void, base_priority, offset, kludge); +CSX = InitPcbrndLayers(CSX, PCBRND); + +%%% Board outline +outline_xy(1, 1) = 0; outline_xy(2, 1) = 0; +outline_xy(1, 2) = 45.6438; outline_xy(2, 2) = 0; +outline_xy(1, 3) = 45.6438; outline_xy(2, 3) = -43.1800; +outline_xy(1, 4) = 0; outline_xy(2, 4) = -43.1800; +CSX = AddPcbrndPoly(CSX, PCBRND, 2, outline_xy, 1); + +%%% Copper objects +poly0_xy(1, 1) = 44.6278; poly0_xy(2, 1) = -42.1538; +poly0_xy(1, 2) = 1.0160; poly0_xy(2, 2) = -42.1538; +poly0_xy(1, 3) = 1.0160; poly0_xy(2, 3) = -1.0160; +poly0_xy(1, 4) = 44.6278; poly0_xy(2, 4) = -1.0160; +CSX = AddPcbrndPoly(CSX, PCBRND, 3, poly0_xy, 1); +poly1_xy(1, 1) = 35.4800; poly1_xy(2, 1) = -33.0098; +poly1_xy(1, 2) = 32.9400; poly1_xy(2, 2) = -33.0098; +poly1_xy(1, 3) = 32.9400; poly1_xy(2, 3) = -7.6098; +poly1_xy(1, 4) = 30.9080; poly1_xy(2, 4) = -7.6098; +poly1_xy(1, 5) = 30.9080; poly1_xy(2, 5) = -33.0098; +poly1_xy(1, 6) = 28.3680; poly1_xy(2, 6) = -33.0098; +poly1_xy(1, 7) = 28.3680; poly1_xy(2, 7) = -7.6098; +poly1_xy(1, 8) = 30.9080; poly1_xy(2, 8) = -5.0698; +poly1_xy(1, 9) = 32.9400; poly1_xy(2, 9) = -5.0698; +poly1_xy(1, 10) = 35.4800; poly1_xy(2, 10) = -7.6098; +CSX = AddPcbrndPoly(CSX, PCBRND, 1, poly1_xy, 1); +poly2_xy(1, 1) = 19.2240; poly2_xy(2, 1) = -7.6098; +poly2_xy(1, 2) = 21.7640; poly2_xy(2, 2) = -7.6098; +poly2_xy(1, 3) = 21.7640; poly2_xy(2, 3) = -33.0098; +poly2_xy(1, 4) = 23.7960; poly2_xy(2, 4) = -33.0098; +poly2_xy(1, 5) = 23.7960; poly2_xy(2, 5) = -7.6098; +poly2_xy(1, 6) = 26.3360; poly2_xy(2, 6) = -7.6098; +poly2_xy(1, 7) = 26.3360; poly2_xy(2, 7) = -33.0098; +poly2_xy(1, 8) = 23.7960; poly2_xy(2, 8) = -35.5498; +poly2_xy(1, 9) = 21.7640; poly2_xy(2, 9) = -35.5498; +poly2_xy(1, 10) = 19.2240; poly2_xy(2, 10) = -33.0098; +CSX = AddPcbrndPoly(CSX, PCBRND, 1, poly2_xy, 1); +poly3_xy(1, 1) = 17.1920; poly3_xy(2, 1) = -33.0098; +poly3_xy(1, 2) = 14.6520; poly3_xy(2, 2) = -33.0098; +poly3_xy(1, 3) = 14.6520; poly3_xy(2, 3) = -7.6098; +poly3_xy(1, 4) = 12.6200; poly3_xy(2, 4) = -7.6098; +poly3_xy(1, 5) = 12.6200; poly3_xy(2, 5) = -33.0098; +poly3_xy(1, 6) = 10.0800; poly3_xy(2, 6) = -33.0098; +poly3_xy(1, 7) = 10.0800; poly3_xy(2, 7) = -7.6098; +poly3_xy(1, 8) = 12.6200; poly3_xy(2, 8) = -5.0698; +poly3_xy(1, 9) = 14.6520; poly3_xy(2, 9) = -5.0698; +poly3_xy(1, 10) = 17.1920; poly3_xy(2, 10) = -7.6098; +CSX = AddPcbrndPoly(CSX, PCBRND, 1, poly3_xy, 1); +poly4_xy(1, 1) = 9.8260; poly4_xy(2, 1) = -38.0898; +poly4_xy(1, 2) = 7.2860; poly4_xy(2, 2) = -38.0898; +poly4_xy(1, 3) = 7.2860; poly4_xy(2, 3) = -7.6098; +poly4_xy(1, 4) = 9.8260; poly4_xy(2, 4) = -7.6098; +CSX = AddPcbrndPoly(CSX, PCBRND, 1, poly4_xy, 1); +poly5_xy(1, 1) = 38.2740; poly5_xy(2, 1) = -38.0898; +poly5_xy(1, 2) = 35.7340; poly5_xy(2, 2) = -38.0898; +poly5_xy(1, 3) = 35.7340; poly5_xy(2, 3) = -7.6098; +poly5_xy(1, 4) = 38.2740; poly5_xy(2, 4) = -7.6098; +CSX = AddPcbrndPoly(CSX, PCBRND, 1, poly5_xy, 1); +poly6_xy(1, 1) = 8.0500; poly6_xy(2, 1) = -36.5000; +poly6_xy(1, 2) = 9.0500; poly6_xy(2, 2) = -36.5000; +poly6_xy(1, 3) = 9.0500; poly6_xy(2, 3) = -37.5000; +poly6_xy(1, 4) = 8.0500; poly6_xy(2, 4) = -37.5000; +CSX = AddPcbrndPoly(CSX, PCBRND, 1, poly6_xy, 1); +poly7_xy(1, 1) = 36.5000; poly7_xy(2, 1) = -36.5000; +poly7_xy(1, 2) = 37.5000; poly7_xy(2, 2) = -36.5000; +poly7_xy(1, 3) = 37.5000; poly7_xy(2, 3) = -37.5000; +poly7_xy(1, 4) = 36.5000; poly7_xy(2, 4) = -37.5000; +CSX = AddPcbrndPoly(CSX, PCBRND, 1, poly7_xy, 1); +%%% Port(s) on terminals + + +% the following 2 lines are the only ones that matter +% x and y set just like for polygons and everything else +% this via is at x=20.5, y=9; it starts at layer 1 and stops on layer 2; the copper plated radius is 0.8mm and the air inside the copper has a radius of 0.75mm +% the matterial for the copper is ____ and the matterial for the air inside is PCBRND.void.name these are just variable names +point3(1, 1) = 20.5;point3(2, 1) = -9; +CSX = AddPcbrndVia(CSX, PCBRND, 1, 2, point3, 0.75, 0.8, PCBRND.void, layer_types(4)); + +point1(1, 1) = 8.5500; point1(2, 1) = -37.0000; +[start1, stop1] = CalcPcbrnd2PortV(PCBRND, point1, 1, 3); +[CSX, port{1}] = AddLumpedPort(CSX, 999, 1, 50.000000, start1, stop1, [0 0 -1], true); + +point2(1, 1) = 37.0000; point2(2, 1) = -37.0000; +[start2, stop2] = CalcPcbrnd2PortV(PCBRND, point2, 1, 3); +[CSX, port{2}] = AddLumpedPort(CSX, 999, 2, 50.000000, start2, stop2, [0 0 -1]); Index: work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.sim.m =================================================================== --- work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.sim.m (nonexistent) +++ work/fem/examples/koen/pcbrnd_direct/hairpinfilter_diff/vias/hairpinfilter.sim.m (revision 30281) @@ -0,0 +1,19 @@ +%%% Board mesh, part 1 +unit = 1.0e-3; +FDTD = InitFDTD(); +% Excitation begin +FDTD = SetGaussExcite(FDTD, 1100000000.000000, 1000000000.000000); +% Excitation end +BC = {'PML_8' 'PML_8' 'PML_8' 'PML_8' 'PML_8' 'PML_8'}; +FDTD = SetBoundaryCond(FDTD, BC); +physical_constants; +CSX = InitCSX(); + +run hairpinfilter.m + +Sim_Path = '.'; +Sim_CSX = 'csxcad.xml'; +WriteOpenEMS( [Sim_Path '/' Sim_CSX], FDTD, CSX ); + +run hairpinfilter.graph.m +