Index: bug_files/TODO/poly_drc.rp =================================================================== --- bug_files/TODO/poly_drc.rp (nonexistent) +++ bug_files/TODO/poly_drc.rp (revision 39935) @@ -0,0 +1,1423 @@ +ha:pcb-rnd-board-v9 { + ha:netlists { + li:input { + ha:Vcc { + li:conn { + CN1-5 + C9-1 + C8-1 + U1-16 + C1-1 + U2-16 + C2-1 + U3-16 + C3-1 + U4-16 + C4-1 + U5-16 + C5-1 + U6-5 + C6-1 + CN4-1 + CN5-1 + } + } + ha:GND { + li:conn { + CN1-6 + C9-2 + C8-2 + U1-8 + C1-2 + U2-8 + C2-2 + U3-8 + C3-2 + U4-8 + C4-2 + U5-8 + C5-2 + U6-3 + C6-2 + CN4-2 + CN5-2 + } + } + ha:anon_net_10 { + li:conn { + U2-4 + CN2-9 + } + } + ha:anon_net_11 { + li:conn { + U2-5 + CN2-10 + } + } + ha:anon_net_12 { + li:conn { + U2-6 + CN2-11 + } + } + ha:anon_net_13 { + li:conn { + U2-7 + CN2-12 + } + } + ha:anon_net_14 { + li:conn { + U2-14 + CN2-13 + } + } + ha:anon_net_15 { + li:conn { + U2-13 + CN2-14 + } + } + ha:anon_net_16 { + li:conn { + U2-12 + CN2-15 + } + } + ha:anon_net_17 { + li:conn { + U2-11 + CN2-16 + } + } + ha:anon_net_18 { + li:conn { + U3-4 + CN2-17 + } + } + ha:anon_net_19 { + li:conn { + U3-5 + CN2-18 + } + } + ha:anon_net_22 { + li:conn { + U4-1 + U5-1 + U3-14 + } + } + ha:anon_net_20 { + li:conn { + U3-6 + CN2-19 + } + } + ha:anon_net_21 { + li:conn { + U3-7 + CN2-20 + } + } + ha:anon_net_25 { + li:conn { + U6-4 + U5-4 + U5-5 + U4-6 + } + } + ha:anon_net_23 { + li:conn { + U5-2 + U4-2 + U3-13 + } + } + ha:anon_net_24 { + li:conn { + U5-3 + U4-3 + U3-12 + } + } + ha:anon_net_28 { + li:conn { + U4-15 + CN3-1 + } + } + ha:anon_net_26 { + li:conn { + U4-5 + U4-4 + U5-6 + U6-2 + U3-11 + } + } + ha:anon_net_27 { + li:conn { + U1-6 + CN2-3 + } + } + ha:anon_net_33 { + li:conn { + CN3-6 + U4-10 + } + } + ha:anon_net_1 { + li:conn { + U1-10 + U2-2 + } + } + ha:anon_net_2 { + li:conn { + U2-10 + U3-2 + } + } + ha:anon_net_3 { + li:conn { + U1-4 + CN2-1 + } + } + ha:anon_net_4 { + li:conn { + U1-5 + CN2-2 + } + } + ha:anon_net_5 { + li:conn { + U1-7 + CN2-4 + } + } + ha:anon_net_6 { + li:conn { + U1-14 + CN2-5 + } + } + ha:anon_net_7 { + li:conn { + U1-13 + CN2-6 + } + } + ha:anon_net_8 { + li:conn { + U1-12 + CN2-7 + } + } + ha:anon_net_9 { + li:conn { + U1-11 + CN2-8 + } + } + ha:anon_net_29 { + li:conn { + U4-14 + CN3-2 + } + } + ha:anon_net_35 { + li:conn { + CN3-8 + U4-7 + } + } + ha:anon_net_30 { + li:conn { + CN3-3 + U4-13 + } + } + ha:anon_net_31 { + li:conn { + CN3-4 + U4-12 + } + } + ha:anon_net_32 { + li:conn { + CN3-5 + U4-11 + } + } + ha:anon_net_39 { + li:conn { + CN3-12 + U5-12 + } + } + ha:anon_net_34 { + li:conn { + CN3-7 + U4-9 + } + } + ha:anon_net_40 { + li:conn { + CN3-13 + U5-11 + } + } + ha:anon_net_36 { + li:conn { + CN3-9 + U5-15 + } + } + ha:anon_net_37 { + li:conn { + CN3-10 + U5-14 + } + } + ha:anon_net_38 { + li:conn { + CN3-11 + U5-13 + } + } + ha:anon_net_44 { + li:conn { + U1-2 + CN1-1 + } + } + ha:anon_net_45 { + li:conn { + U1-3 + U3-3 + U2-3 + CN1-2 + } + } + ha:anon_net_46 { + li:conn { + U3-15 + U2-15 + U1-15 + CN1-4 + } + } + ha:anon_net_47 { + li:conn { + U1-1 + U2-1 + U3-1 + CN1-3 + } + } + ha:anon_net_41 { + li:conn { + CN3-14 + U5-10 + } + } + ha:anon_net_42 { + li:conn { + CN3-15 + U5-9 + } + } + ha:anon_net_43 { + li:conn { + CN3-16 + U5-7 + } + } + } + } + ha:meta { + ha:size { + y2 = 950.0mil + x1 = 0.0 + x2 = 1.1in + thermal_scale = 0.500000 + y1 = 0.0 + } + ha:grid { + spacing = 50.0mil + offs_x = 0.0 + offs_y = 0.0 + } + } + ha:layer_stack { + li:groups { + ha:0 { + ha:type { + top = 1 + paste = 1 + } + li:layers { + 7 + } + name = top_paste + } + ha:1 { + ha:type { + silk = 1 + top = 1 + } + li:layers { + 6 + } + name = top_silk + } + ha:2 { + ha:type { + top = 1 + mask = 1 + } + li:layers { + 8 + } + name = top_mask + } + ha:3 { + ha:type { + copper = 1 + top = 1 + } + li:layers { + 0 + 2 + } + name = top_copper + } + ha:4 { + ha:attributes { + thickness = {0.7375mm } + } + ha:type { + substrate = 1 + intern = 1 + } + li:layers { + } + name = grp_4 + } + ha:5 { + ha:attributes { + thickness = {0.125mm } + } + ha:type { + substrate = 1 + intern = 1 + } + li:layers { + } + name = grp_6 + } + ha:6 { + ha:attributes { + thickness = {0.7375mm } + } + ha:type { + substrate = 1 + intern = 1 + } + li:layers { + } + name = grp_8 + } + ha:7 { + purpose = uroute + ha:type { + boundary = 1 + } + li:layers { + 4 + } + name = global_outline + } + ha:8 { + ha:type { + bottom = 1 + copper = 1 + } + li:layers { + 1 + 3 + } + name = bottom_copper + } + ha:9 { + ha:type { + bottom = 1 + mask = 1 + } + li:layers { + 9 + } + name = bottom_mask + } + ha:10 { + ha:type { + silk = 1 + bottom = 1 + } + li:layers { + 5 + } + name = bottom_silk + } + ha:11 { + ha:type { + bottom = 1 + paste = 1 + } + li:layers { + 10 + } + name = bottom_paste + } + ha:12 { + purpose = proute + ha:type { + mech = 1 + } + li:layers { + 11 + } + name = pmech + } + ha:13 { + purpose = uroute + ha:type { + mech = 1 + } + li:layers { + 12 + } + name = umech + } + ha:14 { + ha:attributes { + init-invis = 1 + } + purpose = assy + ha:type { + top = 1 + doc = 1 + } + li:layers { + 13 + } + name = top_assy + } + ha:15 { + ha:attributes { + init-invis = 1 + } + purpose = assy + ha:type { + bottom = 1 + doc = 1 + } + li:layers { + 14 + } + name = bot_assy + } + ha:16 { + ha:attributes { + init-invis = 1 + } + purpose = fab + ha:type { + top = 1 + doc = 1 + } + li:layers { + 15 + } + name = fab + } + } + } + li:styles { + ha:Signal { + via_proto = 0 + thickness = 0.2mm + text_thick = 0.0 + text_scale = 100 + clearance = 0.2mm + } + ha:Power { + via_proto = 1 + thickness = 20.0mil + text_thick = 0.0 + text_scale = 100 + clearance = 0.2mm + } + ha:Fat { + via_proto = 2 + thickness = 80.0mil + text_thick = 0.0 + text_scale = 100 + clearance = 0.2mm + } + ha:Sig-tight { + via_proto = 3 + thickness = 10.0mil + text_thick = 0.0 + text_scale = 100 + clearance = 12.0mil + } + } + li:pcb-rnd-conf-v1 { + ha:overwrite { + ha:design { + via_proto = 0 + text_font_id = 0 + text_scale = 100 + text_thickness = 0 + line_thickness = 200.00 um + ha:drc { + min_ring = 0.25 mm + min_copper_overlap = 0.05 mm + min_copper_thickness = 0.199 mm + min_silk_thickness = 7mil + min_copper_clearance = 0.199 mm + min_drill = 0.3 mm + } + clearance = 200.00 um + } + ha:editor { + wireframe_draw = false + grid_unit = mil + rubber_band_keep_midlinedir = true + grids_idx = 5 + grid = 50.00 mil + line_refraction = 1 + buffer_number = 0 + all_direction_lines = false + lock_names = 1 + only_names = 0 + check_planes = false + rubber_band_mode = true + ha:view { + flip_y = 1 + } + show_solder_side = 1 + show_drc = true + } + ha:plugins { + ha:import_sch { + import_fmt = sch-rnd + li:args { + $(rc.path.design)/opi_spi_mxout.rs + } + } + } + } + } + ha:data { + li:padstack_prototypes { + ha:ps_proto_v6.0 { + htop = 0 + hdia = 0.4mm + li:shape { + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 1.0mm + } + ha:layer_mask { + copper = 1 + top = 1 + } + ha:combining { + } + } + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 1.0mm + } + ha:layer_mask { + bottom = 1 + copper = 1 + } + ha:combining { + } + } + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 1.0mm + } + ha:layer_mask { + copper = 1 + intern = 1 + } + ha:combining { + } + } + } + hbottom = 0 + hplated = 1 + } + ha:ps_proto_v6.1 { + htop = 0 + hdia = 1.0mm + li:shape { + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 2.2mm + } + ha:layer_mask { + copper = 1 + top = 1 + } + ha:combining { + } + } + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 2.2mm + } + ha:layer_mask { + bottom = 1 + copper = 1 + } + ha:combining { + } + } + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 2.2mm + } + ha:layer_mask { + copper = 1 + intern = 1 + } + ha:combining { + } + } + } + hbottom = 0 + hplated = 1 + } + ha:ps_proto_v6.2 { + htop = 0 + hdia = 1.2mm + li:shape { + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 3.5mm + } + ha:layer_mask { + copper = 1 + top = 1 + } + ha:combining { + } + } + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 3.5mm + } + ha:layer_mask { + bottom = 1 + copper = 1 + } + ha:combining { + } + } + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 3.5mm + } + ha:layer_mask { + copper = 1 + intern = 1 + } + ha:combining { + } + } + } + hbottom = 0 + hplated = 1 + } + ha:ps_proto_v6.3 { + htop = 0 + hdia = 0.8mm + li:shape { + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 64.0mil + } + ha:layer_mask { + copper = 1 + top = 1 + } + ha:combining { + } + } + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 64.0mil + } + ha:layer_mask { + bottom = 1 + copper = 1 + } + ha:combining { + } + } + ha:ps_shape_v4 { + clearance = 0.0 + ha:ps_circ { + x = 0.0 + y = 0.0 + dia = 64.0mil + } + ha:layer_mask { + copper = 1 + intern = 1 + } + ha:combining { + } + } + } + hbottom = 0 + hplated = 1 + } + } + li:objects { + ha:subc.1053603 { + ha:attributes { + openscad-param={pins=16,pad_spacing=1.27,row_spacing=6.35,body=0,pin_width=0.3048} + openscad=so.scad + value= + device=74138 + footprint=so(16) + refdes=U4 + } + ha:data { + li:padstack_prototypes { + + ha:ps_proto_v6.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=0.0 + li:ps_poly { + -20.0mil + -10.0mil + 65.0mil + -10.0mil + 65.0mil + 10.0mil + -20.0mil + 10.0mil + } + } + + ha:ps_shape_v4 { + ha:combining { sub=1; auto=1; } + ha:layer_mask { + top = 1 + mask = 1 + } + clearance=0.0 + li:ps_poly { + -25.0mil + -15.0mil + 70.0mil + -15.0mil + 70.0mil + 15.0mil + -25.0mil + 15.0mil + } + } + + ha:ps_shape_v4 { + ha:combining { auto=1; } + ha:layer_mask { + top = 1 + paste = 1 + } + clearance=0.0 + li:ps_poly { + -20.0mil + -10.0mil + 65.0mil + -10.0mil + 65.0mil + 10.0mil + -20.0mil + 10.0mil + } + } + } + } + } + + li:objects { + ha:padstack_ref.1053616 { + proto=0; x=450.0mil; y=475.0mil; rot=-180.000000; xmirror=1; smirror=1; clearance=5.0mil; + ha:flags { + clearline=1 + } + + li:thermal { + } + + ha:attributes { + term=16 + name=V+ + } + } + } + li:layers { + + ha:subc-aux { + lid=0 + ha:combining { } + + li:objects { + ha:line.1053604 { + x1=325.0mil; y1=300.0mil; x2=364.37mil; y2=300.0mil; thickness=0.1mm; clearance=0.0; + ha:flags { + selected=1 + } + + ha:attributes { + subc-role=x + } + } + ha:line.1053607 { + x1=325.0mil; y1=300.0mil; x2=325.0mil; y2=260.63mil; thickness=0.1mm; clearance=0.0; + ha:flags { + selected=1 + } + + ha:attributes { + subc-role=y + } + } + ha:line.1053610 { + x1=325.0mil; y1=300.0mil; x2=325.0mil; y2=300.0mil; thickness=0.1mm; clearance=0.0; + ha:flags { + selected=1 + } + + ha:attributes { + subc-role=origin + } + } + } + ha:type { + bottom = 1 + virtual = 1 + misc = 1 + } + } + + ha:top-silk { + lid=1 + ha:combining { } + + li:objects { + ha:line.1053613 { + x1=350.0mil; y1=500.0mil; x2=485.0mil; y2=500.0mil; thickness=10.0mil; clearance=0.0; + } + } + ha:type { + silk = 1 + bottom = 1 + } + } + } + } + uid = Prm/qzIz8gGBQ/AbtyAYDeoP + } + ha:subc.1053618 { + ha:attributes { + openscad-param={nx=16, ny=1, spacing=2.54} + footprint={connector(16, 1, pin_ringdia=1.8mm, pin_drill=1mm)} + value= + refdes=CN3 + openscad=connector.scad + } + ha:data { + li:padstack_prototypes { + + ha:ps_proto_v6.0 { + hdia=1.000001mm; hplated=1; htop=0; hbottom=0; + li:shape { + + ha:ps_shape_v4 { + ha:ps_circ { x=0.0; y=0.0; dia=1.800001mm; } + ha:combining { } + ha:layer_mask { + copper = 1 + top = 1 + } + clearance=0.0 + } + + ha:ps_shape_v4 { + ha:ps_circ { x=0.0; y=0.0; dia=1.800001mm; } + ha:combining { } + ha:layer_mask { + copper = 1 + intern = 1 + } + clearance=0.0 + } + + ha:ps_shape_v4 { + ha:ps_circ { x=0.0; y=0.0; dia=1.800001mm; } + ha:combining { } + ha:layer_mask { + bottom = 1 + copper = 1 + } + clearance=0.0 + } + + ha:ps_shape_v4 { + ha:ps_circ { x=0.0; y=0.0; dia=86.0mil; } + ha:combining { sub=1; auto=1; } + ha:layer_mask { + top = 1 + mask = 1 + } + clearance=0.0 + } + + ha:ps_shape_v4 { + ha:ps_circ { x=0.0; y=0.0; dia=86.0mil; } + ha:combining { sub=1; auto=1; } + ha:layer_mask { + bottom = 1 + mask = 1 + } + clearance=0.0 + } + } + } + } + + li:objects { + ha:padstack_ref.1053628 { + proto=0; x=700.0mil; y=500.0mil; rot=90.000000; xmirror=0; smirror=0; clearance=0.4mm; + ha:flags { + clearline=1 + } + + li:thermal { + } + + ha:attributes { + term=2 + name=2 + } + } + ha:padstack_ref.1053629 { + proto=0; x=700.0mil; y=400.0mil; rot=90.000000; xmirror=0; smirror=0; clearance=0.4mm; + ha:flags { + clearline=1 + } + + li:thermal { + } + + ha:attributes { + term=3 + name=3 + } + } + } + li:layers { + + ha:subc-aux { + lid=0 + ha:combining { } + + li:objects { + ha:line.1053619 { + x1=700.0mil; y1=600.0mil; x2=700.0mil; y2=14.239999mm; thickness=0.1mm; clearance=0.0; + ha:flags { + selected=1 + } + + ha:attributes { + subc-role=x + } + } + ha:line.1053622 { + x1=700.0mil; y1=600.0mil; x2=18.780001mm; y2=600.0mil; thickness=0.1mm; clearance=0.0; + ha:flags { + selected=1 + } + + ha:attributes { + subc-role=y + } + } + ha:line.1053625 { + x1=700.0mil; y1=600.0mil; x2=700.0mil; y2=600.0mil; thickness=0.1mm; clearance=0.0; + ha:flags { + selected=1 + } + + ha:attributes { + subc-role=origin + } + } + } + ha:type { + top = 1 + misc = 1 + virtual = 1 + } + } + + ha:top-silk { + lid=1 + ha:combining { } + + li:objects { + } + ha:type { + silk = 1 + top = 1 + } + } + } + } + uid = Prm/CkC/iq9H8xHvOx1APAAA + } + ha:subc.1053631 { + ha:attributes { + openscad-param={nx=2, ny=1, spacing=2.54} + footprint={connector(2, 1, pin_ringdia=1.8mm, pin_drill=1mm)} + value= + refdes=CN4 + openscad=connector.scad + } + ha:data { + li:padstack_prototypes { + } + + li:objects { + } + li:layers { + + ha:subc-aux { + lid=0 + ha:combining { } + + li:objects { + ha:line.1053632 { + x1=700.0mil; y1=700.0mil; x2=700.0mil; y2=18.780001mm; thickness=0.1mm; clearance=0.0; + ha:flags { + selected=1 + } + + ha:attributes { + subc-role=x + } + } + ha:line.1053635 { + x1=700.0mil; y1=700.0mil; x2=16.779999mm; y2=700.0mil; thickness=0.1mm; clearance=0.0; + ha:flags { + selected=1 + } + + ha:attributes { + subc-role=y + } + } + ha:line.1053638 { + x1=700.0mil; y1=700.0mil; x2=700.0mil; y2=700.0mil; thickness=0.1mm; clearance=0.0; + ha:flags { + selected=1 + } + + ha:attributes { + subc-role=origin + } + } + } + ha:type { + top = 1 + misc = 1 + virtual = 1 + } + } + + ha:top-silk { + lid=1 + ha:combining { } + + li:objects { + } + ha:type { + silk = 1 + top = 1 + } + } + } + } + uid = Prm/CkC/iq9H8xIZOx1APAAA + } + } + li:layers { + ha:top-sig { + ha:attributes { + {pcb-rnd::key::vis} = {l; Shiftt} + {pcb-rnd::key::select} = {l; t} + } + lid = 0 + li:objects { + } + color = {#8b2323} + group = 3 + ha:combining { + } + } + ha:bottom-sig { + ha:attributes { + {pcb-rnd::key::vis} = {l; Shiftb} + {pcb-rnd::key::select} = {l; b} + } + lid = 1 + li:objects { + ha:line.1053591 { + x1=750.0mil; y1=350.0mil; x2=400.0mil; y2=350.0mil; thickness=0.2mm; clearance=0.4mm; + ha:flags { + clearline=1 + } + } + ha:polygon.1053594 { clearance=40.0mil; + li:geometry { + ta:contour { + { 870.0mil; 645.0mil } + { 475.0mil; 645.0mil } + { 475.0mil; 265.0mil } + { 870.0mil; 265.0mil } + } + } + + ha:flags { + clearpoly=1 + } + } + } + color = {#3a5fcd} + group = 8 + ha:combining { + } + } + ha:top-gnd { + lid = 2 + li:objects { + } + color = {#104e8b} + group = 3 + ha:combining { + } + } + ha:bottom-gnd { + lid = 3 + li:objects { + ha:line.1053599 { + x1=700.0mil; y1=575.0mil; x2=500.0mil; y2=575.0mil; thickness=20.0mil; clearance=40.0mil; + ha:flags { + clearline=1 + } + } + } + color = {#cd3700} + group = 8 + ha:combining { + } + } + ha:outline { + lid = 4 + li:objects { + } + color = {#00868b} + group = 7 + ha:combining { + } + } + ha:bottom-silk { + ha:attributes { + {pcb-rnd::key::vis} = {l; Shiftx} + {pcb-rnd::key::select} = {l; x} + } + lid = 5 + li:objects { + } + color = {#000000} + group = 10 + ha:combining { + auto = 1 + } + } + ha:top-silk { + ha:attributes { + {pcb-rnd::key::vis} = {l; Shifts} + {pcb-rnd::key::select} = {l; s} + } + lid = 6 + li:objects { + } + color = {#000000} + group = 1 + ha:combining { + auto = 1 + } + } + ha:top-paste { + lid = 7 + li:objects { + } + color = {#cd00cd} + group = 0 + ha:combining { + auto = 1 + } + } + ha:top-mask { + lid = 8 + li:objects { + } + color = {#ff0000} + group = 2 + ha:combining { + sub = 1 + auto = 1 + } + } + ha:bottom-mask { + lid = 9 + li:objects { + } + color = {#ff0000} + group = 9 + ha:combining { + sub = 1 + auto = 1 + } + } + ha:bottom-paste { + lid = 10 + li:objects { + } + color = {#cd00cd} + group = 11 + ha:combining { + auto = 1 + } + } + ha:slot-plated { + lid = 11 + li:objects { + } + color = {#8b7355} + group = 12 + ha:combining { + auto = 1 + } + } + ha:slot-unplated { + lid = 12 + li:objects { + } + color = {#00868b} + group = 13 + ha:combining { + auto = 1 + } + } + ha:top-assy { + lid = 13 + li:objects { + } + color = {#444444} + group = 14 + ha:combining { + } + } + ha:bot-assy { + lid = 14 + li:objects { + } + color = {#444444} + group = 15 + ha:combining { + } + } + ha:fab { + lid = 15 + li:objects { + } + color = {#222222} + group = 16 + ha:combining { + auto = 1 + } + } + } + } + ha:pixmaps { + } +}