Move some DRC regression tests

The RegressionZoneFillTests handle issues that are resolved by the zone
filler, so Clipper2 problematic fill belongs there.  Otherwise, the
remaining tests should not refill the zones before running DRC because
we expect the DRC to catch errors without needing a refill

(cherry picked from commit 998e749918)
This commit is contained in:
Seth Hillbrand 2023-07-07 11:03:09 -07:00
parent cadea90109
commit d128b30279
5 changed files with 478 additions and 558 deletions

View File

@ -1,4 +1,4 @@
(kicad_pcb (version 20230620) (generator pcbnew) (kicad_pcb (version 20221018) (generator pcbnew)
(general (general
(thickness 1.6) (thickness 1.6)
@ -57,8 +57,6 @@
(hpglpennumber 1) (hpglpennumber 1)
(hpglpenspeed 20) (hpglpenspeed 20)
(hpglpendiameter 15.000000) (hpglpendiameter 15.000000)
(pdf_front_fp_property_popups true)
(pdf_back_fp_property_popups true)
(dxfpolygonmode true) (dxfpolygonmode true)
(dxfimperialunits true) (dxfimperialunits true)
(dxfusepcbnewfont true) (dxfusepcbnewfont true)
@ -78,446 +76,382 @@
) )
(net 0 "") (net 0 "")
(net 1 "A") (net 1 "B")
(net 2 "B") (net 2 "A")
(footprint "TestPoint:TestPoint_Pad_1.0x1.0mm" (layer "F.Cu") (footprint "Connector_Wire:SolderWirePad_1x01_SMD_1x2mm" (layer "F.Cu")
(tstamp 0662cfad-e2af-4a28-8e06-54487b2d060f) (tstamp 14e4fc23-3658-47ca-97a3-d345edc2ddf0)
(at 126.383886 85.958221) (at 110.5 88.1)
(descr "SMD rectangular pad as test Point, square 1.0mm side length") (descr "Wire Pad, Square, SMD Pad, 5mm x 10mm,")
(tags "test point SMD pad rectangle square") (tags "MesurementPoint Square SMDPad 5mmx10mm ")
(property "Reference" "REF**" (at 0 -1.448 0 unlocked) (layer "F.SilkS") (tstamp a9c377d9-d9a8-4957-9ef2-653acbec4dad)
(effects (font (size 1 1) (thickness 0.1)))
)
(property "Value" "TestPoint_Pad_1.0x1.0mm" (at 0 1.55 0 unlocked) (layer "F.Fab") (tstamp 8722d65f-d023-4ca1-9653-ede49a60bc5e)
(effects (font (size 1 1) (thickness 0.15)))
)
(property "Footprint" "TestPoint:TestPoint_Pad_1.0x1.0mm" (at 0 0 0 unlocked) (layer "F.Fab") hide (tstamp 1f52001b-ae94-49e9-b2b5-6673a1b966af)
(effects (font (size 1 1) (thickness 0.15)))
)
(property "Datasheet" "" (at 0 0 0 unlocked) (layer "F.Fab") hide (tstamp 2cc1d293-3904-4185-9d78-14af283b2a39)
(effects (font (size 1 1) (thickness 0.15)))
)
(property "Description" "" (at 0 0 0 unlocked) (layer "F.Fab") hide (tstamp 8d2540c1-292c-4170-86dd-0959865683a2)
(effects (font (size 1 1) (thickness 0.15)))
)
(attr exclude_from_pos_files exclude_from_bom) (attr exclude_from_pos_files exclude_from_bom)
(fp_line (start -0.7 -0.7) (end 0.7 -0.7) (fp_text reference "REF**" (at 0 -2.54) (layer "F.SilkS")
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp de5cbed9-338f-4fba-aa6e-c8a10dd46598)) (effects (font (size 1 1) (thickness 0.15)))
(fp_line (start -0.7 0.7) (end -0.7 -0.7) (tstamp 37d110c2-aca2-4e4a-8b90-9b2242dedb40)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0004140c-4466-41de-a8de-f1da559892df))
(fp_line (start 0.7 -0.7) (end 0.7 0.7)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6d11ed56-9675-4b43-9e47-1493d54e3ac3))
(fp_line (start 0.7 0.7) (end -0.7 0.7)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 20542c66-768b-43a3-a7a6-10c5c62bb528))
(fp_line (start -1 -1) (end -1 1)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 78bcf185-2b20-4fc4-9289-1b0fa982c740))
(fp_line (start -1 -1) (end 1 -1)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 058a4358-6342-4f80-80a8-3dbc570a4ca7))
(fp_line (start 1 1) (end -1 1)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1b5c24fb-0c0f-45c4-a0b6-2789970f4a7a))
(fp_line (start 1 1) (end 1 -1)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2a79ab99-848f-4e4a-9a6a-b6833477e773))
(fp_text user "${REFERENCE}" (at 0 -1.45 0) (layer "F.Fab") (tstamp a858b269-27f4-4723-ba2d-fa8cdd0a9779)
(effects (font (size 1 1) (thickness 0.15)))
) )
(pad "1" smd rect (at 0 0) (size 1 1) (layers "F.Cu" "F.Mask") (fp_text value "SolderWirePad_1x01_SMD_1x2mm" (at 0 2.54) (layer "F.Fab")
(net 1 "A") (effects (font (size 1 1) (thickness 0.15)))
(tstamp ff356f6c-417c-45fd-8338-965175a521e8) (tstamp 42f33c17-751d-4d40-ac4d-475db02974ef)
) )
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 08ea6f67-ea30-4b51-a928-876f69b1b464)
)
(fp_line (start -0.63 -1.27) (end -0.63 1.27)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9c8ef792-2c06-42c8-ae39-dd5f9be909f5))
(fp_line (start -0.63 1.27) (end 0.63 1.27)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 490e408b-825d-4d23-a98e-940bdb4feffd))
(fp_line (start 0.63 -1.27) (end -0.63 -1.27)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7fb0fe36-5ec3-4cba-9720-cfe3a5145fd9))
(fp_line (start 0.63 1.27) (end 0.63 -1.27)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8a222231-048b-4967-b965-5b8be98117d5))
(fp_line (start -0.63 -1.27) (end 0.63 -1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp aa5316fc-74a5-489c-aa57-636bca3488ce))
(fp_line (start -0.63 1.27) (end -0.63 -1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 873013c9-0c4f-4cb3-a7eb-ac0fcdf11500))
(fp_line (start 0.63 -1.27) (end 0.63 1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 903046ad-dcdc-4af2-870e-6e5675e97ce5))
(fp_line (start 0.63 1.27) (end -0.63 1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d2abe098-97c5-443c-bc26-30fdbb745983))
(pad "1" smd roundrect (at 0 0) (size 1 2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(net 2 "A") (tstamp a12e9126-efe3-4227-81b6-dca380dd91cb))
) )
(footprint "TestPoint:TestPoint_Pad_1.0x1.0mm" (layer "B.Cu") (footprint "Connector_Wire:SolderWirePad_1x01_SMD_1x2mm" (layer "F.Cu")
(tstamp 42ed20a1-6256-4072-835a-a4bd28a9f9a8) (tstamp ffbace06-ea73-4039-a659-050df6c1c0ae)
(at 128.622292 85.304594 180) (at 114.5 88.15)
(descr "SMD rectangular pad as test Point, square 1.0mm side length") (descr "Wire Pad, Square, SMD Pad, 5mm x 10mm,")
(tags "test point SMD pad rectangle square") (tags "MesurementPoint Square SMDPad 5mmx10mm ")
(property "Reference" "REF**" (at 0 1.448 0 unlocked) (layer "B.SilkS") (tstamp 3467d764-46ee-4a7d-803e-52e5934180a2)
(effects (font (size 1 1) (thickness 0.1)) (justify mirror))
)
(property "Value" "TestPoint_Pad_1.0x1.0mm" (at 0 -1.55 0 unlocked) (layer "B.Fab") (tstamp a61e917b-111f-4d17-9565-6ae0b5832d32)
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
)
(property "Footprint" "TestPoint:TestPoint_Pad_1.0x1.0mm" (at 0 0 0 unlocked) (layer "B.Fab") hide (tstamp dd971483-3b14-41dd-be84-dd65b929cd2b)
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
)
(property "Datasheet" "" (at 0 0 0 unlocked) (layer "B.Fab") hide (tstamp 093cf8e6-f50b-4ee6-900c-63d6c741c2dd)
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
)
(property "Description" "" (at 0 0 0 unlocked) (layer "B.Fab") hide (tstamp ed3395ab-2567-4809-9ce8-0af0ac4a06cd)
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
)
(attr exclude_from_pos_files exclude_from_bom) (attr exclude_from_pos_files exclude_from_bom)
(fp_line (start 0.7 0.7) (end -0.7 0.7) (fp_text reference "REF**" (at 0.2 2.65) (layer "F.SilkS")
(stroke (width 0.12) (type solid)) (layer "B.SilkS") (tstamp 477ea467-832b-4e6a-9280-640c8709aedd)) (effects (font (size 1 1) (thickness 0.15)))
(fp_line (start 0.7 -0.7) (end 0.7 0.7) (tstamp 395e06d8-020b-4547-a6d9-b5d0302f0b0d)
(stroke (width 0.12) (type solid)) (layer "B.SilkS") (tstamp 6f8c6994-cad2-429a-a1c5-43413d1196e8))
(fp_line (start -0.7 0.7) (end -0.7 -0.7)
(stroke (width 0.12) (type solid)) (layer "B.SilkS") (tstamp 585c91fb-6706-4683-bcd7-6beb6cecefd8))
(fp_line (start -0.7 -0.7) (end 0.7 -0.7)
(stroke (width 0.12) (type solid)) (layer "B.SilkS") (tstamp 30b86a99-e8ac-45bd-b9f8-3f1f188d9521))
(fp_line (start 1 1) (end 1 -1)
(stroke (width 0.05) (type solid)) (layer "B.CrtYd") (tstamp fcf86568-6d87-4044-8c2f-405cf9649f0e))
(fp_line (start 1 1) (end -1 1)
(stroke (width 0.05) (type solid)) (layer "B.CrtYd") (tstamp bdcd4fd5-3c51-46b9-952d-edfef4ece6f5))
(fp_line (start -1 -1) (end 1 -1)
(stroke (width 0.05) (type solid)) (layer "B.CrtYd") (tstamp d8a94b9c-85fe-4c07-80d1-074ae82400dd))
(fp_line (start -1 -1) (end -1 1)
(stroke (width 0.05) (type solid)) (layer "B.CrtYd") (tstamp 2bdb98a7-177c-4399-b91b-0e73fdfb39e3))
(fp_text user "${REFERENCE}" (at 0 1.45 180) (layer "B.Fab") (tstamp 3361ae7f-450d-488d-bc3e-4c7d82969fd2)
(effects (font (size 1 1) (thickness 0.15)) (justify mirror))
) )
(pad "1" smd rect (at 0 0 180) (size 1 1) (layers "B.Cu" "B.Mask") (fp_text value "SolderWirePad_1x01_SMD_1x2mm" (at 0 2.54) (layer "F.Fab")
(net 2 "B") (effects (font (size 1 1) (thickness 0.15)))
(tstamp 8285774c-eb9a-4524-aae8-d1d472cd8c36) (tstamp fb6fcbdc-5d42-4bde-a9f3-a2a0d7c3c1b3)
) )
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 64c77947-2e94-4f33-ae16-67646f14373a)
)
(fp_line (start -0.63 -1.27) (end -0.63 1.27)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp daca5520-3dcf-4a91-a3bd-0dabbd49be0a))
(fp_line (start -0.63 1.27) (end 0.63 1.27)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 769612fe-9a66-44ef-87bf-afbd3c532d40))
(fp_line (start 0.63 -1.27) (end -0.63 -1.27)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4b27475a-fed3-47e6-9e92-ebbe1560675c))
(fp_line (start 0.63 1.27) (end 0.63 -1.27)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1ab17efc-dbdc-4cdc-9fb6-83ab996a85e5))
(fp_line (start -0.63 -1.27) (end 0.63 -1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7083d127-4fa0-44c4-b576-5c847559a284))
(fp_line (start -0.63 1.27) (end -0.63 -1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 15551a65-ab7f-46bd-8d9c-b9de495c20ac))
(fp_line (start 0.63 -1.27) (end 0.63 1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 0fe2953e-a03d-4d9d-b83b-aa756a56c1f9))
(fp_line (start 0.63 1.27) (end -0.63 1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a1ad806c-08e2-45af-a928-1c8c81e9ab88))
(pad "1" smd roundrect (at 0 0) (size 1 2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25)
(net 1 "B") (tstamp bc1674fb-cb23-488e-8a8b-7ffaed7b6607))
) )
(gr_rect (start 120.188564 80.549407) (end 134.184964 91.096551) (gr_rect (start 105.85 83.05) (end 117.6 93.15)
(stroke (width 0.05) (type default)) (fill none) (layer "Edge.Cuts") (tstamp 24026c1a-e66c-43d9-874c-745b91ba08d9)) (stroke (width 0.05) (type default)) (fill none) (layer "Edge.Cuts") (tstamp 91198da8-c29f-4255-b403-c535f3377d59))
(gr_text "Without refilling, \nthe inner zone \nis located too close" (at 122.336593 82.233874 0) (layer "Cmts.User") (tstamp 5bc9367f-80d0-476c-b99a-6c82dbf59fbc)
(effects (font (size 0.5 0.5) (thickness 0.125)) (justify left bottom))
)
(via (at 131.802386 81.865308) (size 0.6) (drill 0.3) (layers "F.Cu" "B.Cu") (free) (net 2) (tstamp 2b81f30e-99a8-4345-9760-67513bc8c623)) (via (at 115.4 84.1) (size 0.6) (drill 0.3) (layers "F.Cu" "B.Cu") (free) (net 1) (tstamp fad445de-b5a2-47ff-8eeb-aeb413202314))
(zone (net 1) (net_name "A") (layer "F.Cu") (tstamp fd8091a8-712f-4b09-81f9-cc203a1012a5) (hatch edge 0.5) (zone (net 2) (net_name "A") (layer "F.Cu") (tstamp a12f7e9c-96a2-4547-a06f-145ae4e6583c) (hatch edge 0.5)
(priority 1) (priority 1)
(connect_pads (clearance 0.5)) (connect_pads (clearance 0.5))
(min_thickness 0.25) (filled_areas_thickness no) (min_thickness 0.25) (filled_areas_thickness no)
(fill yes (thermal_gap 0.5) (thermal_bridge_width 0.5)) (fill yes (thermal_gap 0.5) (thermal_bridge_width 0.5))
(polygon (polygon
(pts (pts
(xy 122.70769 82.894624) (xy 108.290335 85.75)
(xy 127.682194 82.784966) (xy 107.740335 92.05)
(xy 127.742008 89.07537) (xy 113.240335 92.1)
(xy 122.647877 88.736426) (xy 113.190335 85.65)
) )
) )
(filled_polygon (filled_polygon
(layer "F.Cu") (layer "F.Cu")
(pts (pts
(xy 127.624117 82.805935) (xy 113.132209 85.670874)
(xy 127.671025 82.857718) (xy 113.179032 85.722734)
(xy 127.683387 82.910524) (xy 113.191308 85.775575)
(xy 127.706143 85.303649) (xy 113.239357 91.973897)
(xy 127.687097 85.370873) (xy 113.220193 92.041087)
(xy 127.634731 85.417127) (xy 113.167745 92.08725)
(xy 127.56567 85.427728) (xy 113.114234 92.098853)
(xy 127.501841 85.399309) (xy 107.874398 92.051218)
(xy 127.465967 85.348161) (xy 107.80754 92.030925)
(xy 127.413944 85.20868) (xy 107.762267 91.977707)
(xy 127.41394 85.208673) (xy 107.751995 91.916439)
(xy 127.32778 85.093579) (xy 107.95514 89.589505)
(xy 127.327777 85.093576) (xy 108.06335 88.35)
(xy 127.212683 85.007416) (xy 109.540336 88.35)
(xy 127.212676 85.007412) (xy 109.540336 88.899986)
(xy 127.077969 84.95717) (xy 109.550829 89.002697)
(xy 127.077962 84.957168) (xy 109.605976 89.169119)
(xy 127.018434 84.950767) (xy 109.605978 89.169124)
(xy 126.72059 84.950767) (xy 109.698019 89.318345)
(xy 126.72059 86.950767) (xy 109.821989 89.442315)
(xy 127.018418 86.950767) (xy 109.97121 89.534356)
(xy 127.018434 86.950766) (xy 109.971215 89.534358)
(xy 127.077962 86.944365) (xy 110.137637 89.589505)
(xy 127.077969 86.944363) (xy 110.137644 89.589506)
(xy 127.212676 86.894121) (xy 110.240354 89.599999)
(xy 127.212683 86.894117) (xy 110.290334 89.599998)
(xy 127.327777 86.807957) (xy 110.290335 89.599998)
(xy 127.32778 86.807954) (xy 110.290335 88.35)
(xy 127.41394 86.69286) (xy 110.790335 88.35)
(xy 127.413944 86.692853) (xy 110.790335 89.599999)
(xy 127.464186 86.558146) (xy 110.840307 89.599999)
(xy 127.464188 86.558139) (xy 110.840321 89.599998)
(xy 127.470358 86.500757) (xy 110.943032 89.589505)
(xy 127.497096 86.436205) (xy 111.109454 89.534358)
(xy 127.554488 86.396357) (xy 111.109459 89.534356)
(xy 127.624313 86.393864) (xy 111.25868 89.442315)
(xy 127.684402 86.429517) (xy 111.38265 89.318345)
(xy 127.715677 86.491996) (xy 111.474691 89.169124)
(xy 127.717641 86.512833) (xy 111.474693 89.169119)
(xy 127.740735 88.941582) (xy 111.52984 89.002697)
(xy 127.721689 89.008806) (xy 111.529841 89.00269)
(xy 127.669323 89.05506) (xy 111.540334 88.899986)
(xy 127.608509 89.066487) (xy 111.540335 88.899973)
(xy 122.764839 88.744208) (xy 111.540335 88.35)
(xy 122.699254 88.720117) (xy 110.790335 88.35)
(xy 122.657106 88.664391) (xy 110.290335 88.35)
(xy 122.649077 88.619212) (xy 109.540336 88.35)
(xy 122.66616 86.950766) (xy 108.06335 88.35)
(xy 122.673839 86.200767) (xy 108.107001 87.85)
(xy 125.47059 86.200767) (xy 109.540335 87.85)
(xy 125.47059 86.498611) (xy 110.290335 87.85)
(xy 125.476991 86.558139) (xy 110.290335 86.6)
(xy 125.476993 86.558146) (xy 110.790335 86.6)
(xy 125.527235 86.692853) (xy 110.790335 87.85)
(xy 125.527239 86.69286) (xy 111.540334 87.85)
(xy 125.613399 86.807954) (xy 111.540334 87.300028)
(xy 125.613402 86.807957) (xy 111.540333 87.300013)
(xy 125.728496 86.894117) (xy 111.52984 87.197302)
(xy 125.728503 86.894121) (xy 111.474693 87.03088)
(xy 125.86321 86.944363) (xy 111.474691 87.030875)
(xy 125.863217 86.944365) (xy 111.38265 86.881654)
(xy 125.922745 86.950766) (xy 111.25868 86.757684)
(xy 125.922762 86.950767) (xy 111.109459 86.665643)
(xy 126.220589 86.950767) (xy 111.109454 86.665641)
(xy 126.22059 86.200767) (xy 110.943032 86.610494)
(xy 125.47059 86.200767) (xy 110.943025 86.610493)
(xy 122.673839 86.200767) (xy 110.840321 86.6)
(xy 122.678958 85.700767) (xy 110.790335 86.6)
(xy 125.47059 85.700767) (xy 110.290335 86.6)
(xy 126.220589 85.700767) (xy 110.290334 86.599999)
(xy 126.22059 84.950767) (xy 110.240364 86.6)
(xy 125.922745 84.950767) (xy 110.240346 86.600001)
(xy 125.863217 84.957168) (xy 110.137637 86.610494)
(xy 125.86321 84.95717) (xy 109.971215 86.665641)
(xy 125.728503 85.007412) (xy 109.97121 86.665643)
(xy 125.728496 85.007416) (xy 109.821989 86.757684)
(xy 125.613402 85.093576) (xy 109.698019 86.881654)
(xy 125.613399 85.093579) (xy 109.605978 87.030875)
(xy 125.527239 85.208673) (xy 109.605976 87.03088)
(xy 125.527235 85.20868) (xy 109.550829 87.197302)
(xy 125.476993 85.343387) (xy 109.550828 87.197309)
(xy 125.476991 85.343394) (xy 109.540335 87.300013)
(xy 125.47059 85.402922) (xy 109.540335 87.85)
(xy 125.47059 85.700767) (xy 108.107001 87.85)
(xy 122.678958 85.700767) (xy 108.280651 85.860915)
(xy 122.70646 83.014675) (xy 108.306091 85.795844)
(xy 122.72683 82.947844) (xy 108.362675 85.754855)
(xy 122.7801 82.902632) (xy 108.401649 85.747728)
(xy 122.82772 82.891978) (xy 113.064783 85.652562)
(xy 127.55666 82.787733)
) )
) )
) )
(zone (net 2) (net_name "B") (layers "F&B.Cu") (tstamp cbf3ce30-83db-44ed-be70-44935fea7e57) (hatch edge 0.5) (zone (net 1) (net_name "B") (layers "F&B.Cu") (tstamp 7977dc01-5f71-4851-87d5-d32499ce7c1a) (hatch edge 0.5)
(connect_pads (clearance 0.5)) (connect_pads (clearance 0.5))
(min_thickness 0.25) (filled_areas_thickness no) (min_thickness 0.25) (filled_areas_thickness no)
(fill yes (thermal_gap 0.5) (thermal_bridge_width 0.5)) (fill yes (thermal_gap 0.5) (thermal_bridge_width 0.5))
(polygon (polygon
(pts (pts
(xy 118.583563 79.871518) (xy 103.6 81.2)
(xy 118.513781 92.023664) (xy 102.75 95.25)
(xy 135.590585 92.063539) (xy 119.8 94)
(xy 135.002417 80.190525) (xy 119.25 82.05)
) )
) )
(filled_polygon (filled_polygon
(layer "F.Cu") (layer "F.Cu")
(pts (pts
(xy 133.627503 81.069592) (xy 117.042539 83.570185)
(xy 133.673258 81.122396) (xy 117.088294 83.622989)
(xy 133.684464 81.173907) (xy 117.0995 83.6745)
(xy 133.684464 90.472051) (xy 117.0995 92.5255)
(xy 133.664779 90.53909) (xy 117.079815 92.592539)
(xy 133.611975 90.584845) (xy 117.027011 92.638294)
(xy 133.560464 90.596051) (xy 116.9755 92.6495)
(xy 120.813064 90.596051) (xy 113.582273 92.6495)
(xy 120.746025 90.576366) (xy 113.515234 92.629815)
(xy 120.70027 90.523562) (xy 113.469479 92.577011)
(xy 120.689064 90.472051) (xy 113.459535 92.507853)
(xy 120.689064 88.6215) (xy 113.48856 92.444297)
(xy 122.056899 88.6215) (xy 113.500341 92.432424)
(xy 122.064671 88.715117) (xy 113.512501 92.42172)
(xy 122.072702 88.760304) (xy 113.513646 92.420769)
(xy 122.097652 88.850836) (xy 113.513838 92.420542)
(xy 122.097653 88.850838) (xy 113.513841 92.420541)
(xy 122.097654 88.850841) (xy 113.513843 92.42054)
(xy 122.167233 88.976779) (xy 113.607218 92.311075)
(xy 122.167235 88.976782) (xy 113.665972 92.179737)
(xy 122.167237 88.976785) (xy 113.685136 92.112547)
(xy 122.189915 89.006769) (xy 113.704507 91.969979)
(xy 122.209381 89.032505) (xy 113.686575 89.656798)
(xy 122.209388 89.032515) (xy 113.705738 89.589613)
(xy 122.311632 89.133746) (xy 113.758186 89.54345)
(xy 122.438254 89.202072) (xy 113.827265 89.532971)
(xy 122.503839 89.226163) (xy 113.875667 89.550303)
(xy 122.644575 89.256047) (xy 113.930875 89.584356)
(xy 127.488245 89.578326) (xy 113.93088 89.584358)
(xy 127.488246 89.578325) (xy 114.097302 89.639505)
(xy 127.488248 89.578326) (xy 114.097309 89.639506)
(xy 127.522856 89.576259) (xy 114.200019 89.649999)
(xy 127.615155 89.570747) (xy 114.249999 89.649998)
(xy 127.675969 89.55932) (xy 114.25 89.649998)
(xy 127.796972 89.520317) (xy 114.25 88.4)
(xy 127.917267 89.441382) (xy 114.75 88.4)
(xy 127.940871 89.420532) (xy 114.75 89.649999)
(xy 127.969625 89.395136) (xy 114.799972 89.649999)
(xy 127.969636 89.395125) (xy 114.799986 89.649998)
(xy 128.062819 89.285496) (xy 114.902697 89.639505)
(xy 128.121342 89.154055) (xy 115.069119 89.584358)
(xy 128.140388 89.086831) (xy 115.069124 89.584356)
(xy 128.159508 88.94423) (xy 115.218345 89.492315)
(xy 128.157329 88.715115) (xy 115.342315 89.368345)
(xy 128.136313 86.504804) (xy 115.434356 89.219124)
(xy 128.135208 86.483479) (xy 115.434358 89.219119)
(xy 128.132242 86.452014) (xy 115.489505 89.052697)
(xy 128.132241 86.452014) (xy 115.489506 89.05269)
(xy 128.126441 86.409695) (xy 115.499999 88.949986)
(xy 128.081003 86.273178) (xy 115.5 88.949973)
(xy 128.049728 86.210699) (xy 115.5 88.4)
(xy 128.049724 86.210693) (xy 114.75 88.4)
(xy 127.967674 86.092518) (xy 114.25 88.4)
(xy 127.96767 86.092514) (xy 114.25 86.65)
(xy 127.864369 86.009269) (xy 114.75 86.65)
(xy 127.824521 85.951877) (xy 114.75 87.9)
(xy 127.822027 85.882052) (xy 115.499999 87.9)
(xy 127.857679 85.821963) (xy 115.499999 87.350028)
(xy 127.874151 85.809042) (xy 115.499998 87.350013)
(xy 127.882675 85.803449) (xy 115.489505 87.247302)
(xy 127.909751 85.779533) (xy 115.434358 87.08088)
(xy 127.935033 85.757203) (xy 115.434356 87.080875)
(xy 127.935044 85.757192) (xy 115.342315 86.931654)
(xy 128.028227 85.647563) (xy 115.218345 86.807684)
(xy 128.08675 85.516122) (xy 115.069124 86.715643)
(xy 128.105796 85.448898) (xy 115.069119 86.715641)
(xy 128.124916 85.306296) (xy 114.902697 86.660494)
(xy 128.10216 82.913171) (xy 114.90269 86.660493)
(xy 128.088876 82.802755) (xy 114.799986 86.65)
(xy 128.076514 82.749949) (xy 114.75 86.65)
(xy 128.0394 82.645096) (xy 114.25 86.65)
(xy 127.958963 82.5258) (xy 114.249999 86.649999)
(xy 127.954746 82.521145) (xy 114.200029 86.65)
(xy 127.924494 82.487748) (xy 114.200011 86.650001)
(xy 127.919398 82.4801) (xy 114.097302 86.660494)
(xy 127.801268 82.382215) (xy 113.93088 86.715641)
(xy 127.801267 82.382214) (xy 113.930871 86.715646)
(xy 127.669103 82.325344) (xy 113.852431 86.764027)
(xy 127.669102 82.325343) (xy 113.785038 86.782467)
(xy 127.669096 82.325341) (xy 113.718375 86.761544)
(xy 127.669094 82.32534) (xy 113.673606 86.707901)
(xy 127.601645 82.307141) (xy 113.66334 86.659454)
(xy 127.458816 82.28981) (xy 113.656458 85.771657)
(xy 127.458815 82.28981) (xy 113.64336 85.661184)
(xy 123.267027 82.382214) (xy 113.631084 85.608343)
(xy 122.729875 82.394055) (xy 113.594136 85.503405)
(xy 122.729861 82.394056) (xy 113.513896 85.383977)
(xy 122.630671 82.406123) (xy 113.467073 85.332117)
(xy 122.630635 82.406129) (xy 113.46707 85.332114)
(xy 122.583048 82.416776) (xy 113.356433 85.240132)
(xy 122.583034 82.416779) (xy 113.224362 85.183045)
(xy 122.583029 82.416781) (xy 113.22436 85.183044)
(xy 122.583022 82.416783) (xy 113.224353 85.183041)
(xy 122.583023 82.416783) (xy 113.156934 85.164732)
(xy 122.488125 82.44814) (xy 113.156935 85.164732)
(xy 122.366292 82.524685) (xy 113.01413 85.147166)
(xy 122.313028 82.569892) (xy 108.351 85.242333)
(xy 122.31301 82.569909) (xy 108.270383 85.250473)
(xy 122.217699 82.677654) (xy 108.270383 85.250474)
(xy 122.217693 82.677663) (xy 108.231407 85.257601)
(xy 122.15659 82.807909) (xy 108.17433 85.272851)
(xy 122.156587 82.807916) (xy 108.153138 85.278514)
(xy 122.156588 82.807916) (xy 108.153137 85.278514)
(xy 122.136218 82.874747) (xy 108.153135 85.278515)
(xy 122.136216 82.874755) (xy 108.025794 85.345476)
(xy 122.12896 82.921791) (xy 107.979009 85.379367)
(xy 122.114282 83.016951) (xy 107.972645 85.383978)
(xy 122.08678 85.703046) (xy 107.96921 85.386466)
(xy 122.085536 85.824418) (xy 107.969207 85.386468)
(xy 122.081661 86.203046) (xy 107.865883 85.486599)
(xy 122.056899 88.621498) (xy 107.794959 85.611777)
(xy 122.056899 88.6215) (xy 107.794955 85.611786)
(xy 120.689064 88.6215) (xy 107.769522 85.67684)
(xy 120.689064 81.173907) (xy 107.769513 85.676864)
(xy 120.708749 81.106868) (xy 107.736731 85.816951)
(xy 120.761553 81.061113) (xy 107.73673 85.816954)
(xy 120.813064 81.049907) (xy 107.563081 87.806036)
(xy 133.560464 81.049907) (xy 107.51943 88.306036)
(xy 107.208074 91.872469)
(xy 107.213117 92.000018)
(xy 107.213118 92.000026)
(xy 107.223387 92.061278)
(xy 107.223389 92.061287)
(xy 107.22339 92.061291)
(xy 107.238837 92.112547)
(xy 107.260224 92.183513)
(xy 107.260225 92.183514)
(xy 107.336898 92.305241)
(xy 107.336903 92.305247)
(xy 107.336906 92.305252)
(xy 107.382179 92.35847)
(xy 107.382181 92.358472)
(xy 107.443392 92.412494)
(xy 107.466094 92.432529)
(xy 107.503332 92.491649)
(xy 107.502696 92.561516)
(xy 107.464389 92.619948)
(xy 107.400572 92.648393)
(xy 107.384042 92.6495)
(xy 106.4745 92.6495)
(xy 106.407461 92.629815)
(xy 106.361706 92.577011)
(xy 106.3505 92.5255)
(xy 106.3505 83.6745)
(xy 106.370185 83.607461)
(xy 106.422989 83.561706)
(xy 106.4745 83.5505)
(xy 116.9755 83.5505)
) )
) )
(filled_polygon (filled_polygon
(layer "B.Cu") (layer "B.Cu")
(pts (pts
(xy 133.627503 81.069592) (xy 117.042539 83.570185)
(xy 133.673258 81.122396) (xy 117.088294 83.622989)
(xy 133.684464 81.173907) (xy 117.0995 83.6745)
(xy 133.684464 90.472051) (xy 117.0995 92.5255)
(xy 133.664779 90.53909) (xy 117.079815 92.592539)
(xy 133.611975 90.584845) (xy 117.027011 92.638294)
(xy 133.560464 90.596051) (xy 116.9755 92.6495)
(xy 120.813064 90.596051) (xy 106.4745 92.6495)
(xy 120.746025 90.576366) (xy 106.407461 92.629815)
(xy 120.70027 90.523562) (xy 106.361706 92.577011)
(xy 120.689064 90.472051) (xy 106.3505 92.5255)
(xy 120.689064 85.554594) (xy 106.3505 83.6745)
(xy 127.622292 85.554594) (xy 106.370185 83.607461)
(xy 127.622292 85.852438) (xy 106.422989 83.561706)
(xy 127.628693 85.911966) (xy 106.4745 83.5505)
(xy 127.628695 85.911973) (xy 116.9755 83.5505)
(xy 127.678937 86.04668)
(xy 127.678941 86.046687)
(xy 127.765101 86.161781)
(xy 127.765104 86.161784)
(xy 127.880198 86.247944)
(xy 127.880205 86.247948)
(xy 128.014912 86.29819)
(xy 128.014919 86.298192)
(xy 128.074447 86.304593)
(xy 128.074464 86.304594)
(xy 128.372292 86.304594)
(xy 128.372292 85.554594)
(xy 128.872292 85.554594)
(xy 128.872292 86.304594)
(xy 129.17012 86.304594)
(xy 129.170136 86.304593)
(xy 129.229664 86.298192)
(xy 129.229671 86.29819)
(xy 129.364378 86.247948)
(xy 129.364385 86.247944)
(xy 129.479479 86.161784)
(xy 129.479482 86.161781)
(xy 129.565642 86.046687)
(xy 129.565646 86.04668)
(xy 129.615888 85.911973)
(xy 129.61589 85.911966)
(xy 129.622291 85.852438)
(xy 129.622292 85.852421)
(xy 129.622292 85.554594)
(xy 128.872292 85.554594)
(xy 128.372292 85.554594)
(xy 127.622292 85.554594)
(xy 120.689064 85.554594)
(xy 120.689064 85.054594)
(xy 127.622292 85.054594)
(xy 128.372292 85.054594)
(xy 128.372292 84.304594)
(xy 128.872292 84.304594)
(xy 128.872292 85.054594)
(xy 129.622292 85.054594)
(xy 129.622292 84.756766)
(xy 129.622291 84.756749)
(xy 129.61589 84.697221)
(xy 129.615888 84.697214)
(xy 129.565646 84.562507)
(xy 129.565642 84.5625)
(xy 129.479482 84.447406)
(xy 129.479479 84.447403)
(xy 129.364385 84.361243)
(xy 129.364378 84.361239)
(xy 129.229671 84.310997)
(xy 129.229664 84.310995)
(xy 129.170136 84.304594)
(xy 128.872292 84.304594)
(xy 128.372292 84.304594)
(xy 128.074447 84.304594)
(xy 128.014919 84.310995)
(xy 128.014912 84.310997)
(xy 127.880205 84.361239)
(xy 127.880198 84.361243)
(xy 127.765104 84.447403)
(xy 127.765101 84.447406)
(xy 127.678941 84.5625)
(xy 127.678937 84.562507)
(xy 127.628695 84.697214)
(xy 127.628693 84.697221)
(xy 127.622292 84.756749)
(xy 127.622292 85.054594)
(xy 120.689064 85.054594)
(xy 120.689064 81.173907)
(xy 120.708749 81.106868)
(xy 120.761553 81.061113)
(xy 120.813064 81.049907)
(xy 133.560464 81.049907)
) )
) )
) )

View File

@ -125,6 +125,9 @@
}, },
"teardrop_options": [ "teardrop_options": [
{ {
"td_allow_use_two_tracks": true,
"td_curve_segcount": 5,
"td_on_pad_in_zone": false,
"td_onpadsmd": true, "td_onpadsmd": true,
"td_onroundshapesonly": false, "td_onroundshapesonly": false,
"td_ontrackend": false, "td_ontrackend": false,
@ -133,35 +136,29 @@
], ],
"teardrop_parameters": [ "teardrop_parameters": [
{ {
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0, "td_curve_segcount": 0,
"td_height_ratio": 1.0, "td_height_ratio": 1.0,
"td_length_ratio": 0.5, "td_length_ratio": 0.5,
"td_maxheight": 2.0, "td_maxheight": 2.0,
"td_maxlen": 1.0, "td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape", "td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9 "td_width_to_size_filter_ratio": 0.9
}, },
{ {
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0, "td_curve_segcount": 0,
"td_height_ratio": 1.0, "td_height_ratio": 1.0,
"td_length_ratio": 0.5, "td_length_ratio": 0.5,
"td_maxheight": 2.0, "td_maxheight": 2.0,
"td_maxlen": 1.0, "td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape", "td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9 "td_width_to_size_filter_ratio": 0.9
}, },
{ {
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0, "td_curve_segcount": 0,
"td_height_ratio": 1.0, "td_height_ratio": 1.0,
"td_length_ratio": 0.5, "td_length_ratio": 0.5,
"td_maxheight": 2.0, "td_maxheight": 2.0,
"td_maxlen": 1.0, "td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end", "td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9 "td_width_to_size_filter_ratio": 0.9
} }

View File

@ -190,16 +190,94 @@
(filled_polygon (filled_polygon
(layer "F.Cu") (layer "F.Cu")
(pts (pts
(xy 137.4375 55.017113) (xy 130.25 66.330633)
(xy 137.482887 55.0625) (xy 130.463483 66.273433)
(xy 130.463492 66.273429)
(xy 130.677578 66.1736)
(xy 130.871082 66.038105)
(xy 131.037636 65.871551)
(xy 131.098959 65.838066)
(xy 131.16865 65.84305)
(xy 131.224584 65.884921)
(xy 131.249001 65.950386)
(xy 131.249317 65.959232)
(xy 131.249318 66.89428)
(xy 131.229634 66.961319)
(xy 131.17683 67.007074)
(xy 131.125318 67.01828)
(xy 129.123318 67.01828)
(xy 129.056279 66.998595)
(xy 129.010524 66.945791)
(xy 128.999318 66.89428)
(xy 128.999318 66.185557)
(xy 129.019001 66.118522)
(xy 129.071805 66.072767)
(xy 129.140964 66.062823)
(xy 129.194441 66.083987)
(xy 129.322414 66.173595)
(xy 129.32242 66.173599)
(xy 129.536507 66.273429)
(xy 129.536516 66.273433)
(xy 129.75 66.330634)
(xy 129.75 65.435501)
(xy 129.857685 65.48468)
(xy 129.964237 65.5)
(xy 130.035763 65.5)
(xy 130.142315 65.48468)
(xy 130.25 65.435501)
)
)
(filled_polygon
(layer "F.Cu")
(pts
(xy 130.193039 64.269685)
(xy 130.238794 64.322489)
(xy 130.25 64.374)
(xy 130.25 64.564498)
(xy 130.142315 64.51532)
(xy 130.035763 64.5)
(xy 129.964237 64.5)
(xy 129.857685 64.51532)
(xy 129.75 64.564498)
(xy 129.75 64.374)
(xy 129.769685 64.306961)
(xy 129.822489 64.261206)
(xy 129.874 64.25)
(xy 130.126 64.25)
)
)
(filled_polygon
(layer "F.Cu")
(pts
(xy 130.25 63.126)
(xy 130.230315 63.193039)
(xy 130.177511 63.238794)
(xy 130.126 63.25)
(xy 129.874 63.25)
(xy 129.806961 63.230315)
(xy 129.761206 63.177511)
(xy 129.75 63.126)
(xy 129.749999 62.895501)
(xy 129.857685 62.94468)
(xy 129.964237 62.96)
(xy 130.035763 62.96)
(xy 130.142315 62.94468)
(xy 130.25 62.895501)
)
)
(filled_polygon
(layer "F.Cu")
(pts
(xy 137.442539 55.020185)
(xy 137.488294 55.072989)
(xy 137.4995 55.1245) (xy 137.4995 55.1245)
(xy 137.4995 72.3755) (xy 137.4995 72.3755)
(xy 137.482887 72.4375) (xy 137.479815 72.442539)
(xy 137.4375 72.482887) (xy 137.427011 72.488294)
(xy 137.3755 72.4995) (xy 137.3755 72.4995)
(xy 122.6245 72.4995) (xy 122.6245 72.4995)
(xy 122.5625 72.482887) (xy 122.557461 72.479815)
(xy 122.517113 72.4375) (xy 122.511706 72.427011)
(xy 122.5005 72.3755) (xy 122.5005 72.3755)
(xy 122.5005 60.26828) (xy 122.5005 60.26828)
(xy 127.499318 60.26828) (xy 127.499318 60.26828)
@ -208,92 +286,65 @@
(xy 132.499321 68.01828) (xy 132.499321 68.01828)
(xy 132.499318 65.5) (xy 132.499318 65.5)
(xy 131.425249 65.5) (xy 131.425249 65.5)
(xy 131.370405 65.487212) (xy 131.35821 65.480315)
(xy 131.326873 65.451486) (xy 131.312455 65.427511)
(xy 131.303632 65.400191) (xy 131.302511 65.358353)
(xy 131.305474 65.343906) (xy 131.305474 65.343906)
(xy 131.330636 65.25) (xy 131.330636 65.25)
(xy 130.25 65.25) (xy 130.433686 65.25)
(xy 130.25 66.330635) (xy 130.459493 65.209844)
(xy 130.463492 66.27343) (xy 130.5 65.071889)
(xy 130.677576 66.1736) (xy 130.5 64.928111)
(xy 130.871081 66.038106) (xy 130.459493 64.790156)
(xy 131.037637 65.871551) (xy 130.433686 64.75)
(xy 131.087 65.841301)
(xy 131.144716 65.836759)
(xy 131.198203 65.858914)
(xy 131.235803 65.902937)
(xy 131.249318 65.959232)
(xy 131.249318 66.89428)
(xy 131.232705 66.95628)
(xy 131.187318 67.001667)
(xy 131.125318 67.01828)
(xy 129.123318 67.01828)
(xy 129.061318 67.001667)
(xy 129.015931 66.95628)
(xy 128.999318 66.89428)
(xy 128.999318 66.185562)
(xy 129.017309 66.121234)
(xy 129.066061 66.075573)
(xy 129.131428 66.061828)
(xy 129.194442 66.083987)
(xy 129.322423 66.1736)
(xy 129.536507 66.27343)
(xy 129.749999 66.330635)
(xy 129.75 66.330636)
(xy 129.75 64.374)
(xy 129.766613 64.312)
(xy 129.812 64.266613)
(xy 129.874 64.25)
(xy 130.126 64.25)
(xy 130.188 64.266613)
(xy 130.233387 64.312)
(xy 130.25 64.374)
(xy 130.25 64.75)
(xy 131.330636 64.75) (xy 131.330636 64.75)
(xy 131.330635 64.749999) (xy 131.330635 64.749999)
(xy 131.27343 64.536507) (xy 131.273432 64.536513)
(xy 131.173599 64.322421) (xy 131.273429 64.536507)
(xy 131.038109 64.128921) (xy 131.1736 64.322422)
(xy 131.173599 64.32242)
(xy 131.038113 64.128926)
(xy 131.038108 64.12892)
(xy 130.915665 64.006477) (xy 130.915665 64.006477)
(xy 130.884369 63.953731) (xy 130.88218 63.945154)
(xy 130.88218 63.892438) (xy 130.887164 63.875462)
(xy 130.909633 63.837593) (xy 130.929036 63.819529)
(xy 130.960013 63.802614) (xy 130.960013 63.802614)
(xy 131.092088 63.753352) (xy 131.092086 63.753354)
(xy 131.207188 63.667188) (xy 131.092093 63.75335)
(xy 131.293352 63.552089) (xy 131.207187 63.66719)
(xy 131.343597 63.417375) (xy 131.20719 63.667187)
(xy 131.35 63.357824) (xy 131.29335 63.552093)
(xy 131.293354 63.552086)
(xy 131.343596 63.417379)
(xy 131.343598 63.417372)
(xy 131.349999 63.357844)
(xy 131.35 63.357827)
(xy 131.35 62.71) (xy 131.35 62.71)
(xy 130.25 62.71) (xy 130.433686 62.71)
(xy 130.25 63.126) (xy 130.459493 62.669844)
(xy 130.233387 63.188) (xy 130.5 62.531889)
(xy 130.188 63.233387) (xy 130.5 62.388111)
(xy 130.126 63.25) (xy 130.459493 62.250156)
(xy 129.874 63.25) (xy 130.433686 62.21)
(xy 129.812 63.233387)
(xy 129.766613 63.188)
(xy 129.75 63.126)
(xy 129.75 62.334)
(xy 129.766613 62.272)
(xy 129.812 62.226613)
(xy 129.874 62.21)
(xy 131.35 62.21) (xy 131.35 62.21)
(xy 131.35 61.562176) (xy 131.349999 62.209999)
(xy 131.343597 61.502624) (xy 131.35 61.562172)
(xy 131.318604 61.435614) (xy 131.349999 61.562155)
(xy 131.311753 61.376827) (xy 131.343598 61.502627)
(xy 131.33293 61.32156) (xy 131.343596 61.502619)
(xy 131.377311 61.282404) (xy 131.318605 61.435613)
(xy 131.434786 61.26828) (xy 131.313621 61.365921)
(xy 131.347106 61.304598)
(xy 131.40843 61.271114)
(xy 131.434787 61.26828)
(xy 132.499318 61.26828) (xy 132.499318 61.26828)
(xy 132.499318 60.26828) (xy 132.499318 60.26828)
(xy 127.499318 60.26828) (xy 127.499318 60.26828)
(xy 122.5005 60.26828) (xy 122.5005 60.26828)
(xy 122.5005 55.1245) (xy 122.5005 55.1245)
(xy 122.517113 55.0625) (xy 122.520185 55.057461)
(xy 122.5625 55.017113) (xy 122.572989 55.011706)
(xy 122.6245 55.0005) (xy 122.6245 55.0005)
(xy 137.3755 55.0005) (xy 137.3755 55.0005)
) )

View File

@ -61,18 +61,13 @@ BOOST_FIXTURE_TEST_CASE( DRCFalsePositiveRegressions, DRC_REGRESSION_TEST_FIXTUR
"issue10906", // Soldermask bridge for only one object "issue10906", // Soldermask bridge for only one object
"issue11814", // Bad cache hit in isInsideArea "issue11814", // Bad cache hit in isInsideArea
"issue12609", // Arc collison edge case "issue12609", // Arc collison edge case
// issue14294 is currently disabled, until Clipper2 is updated in stable branch
// because, currently, issue14294 always fails.
// "issue14294", // Bad Clipper2 fill
"issue14412" // Solder mask bridge between pads in a net-tie pad group "issue14412" // Solder mask bridge between pads in a net-tie pad group
}; };
for( const wxString& relPath : tests ) for( const wxString& relPath : tests )
{ {
KI_TEST::LoadBoard( m_settingsManager, relPath, m_board ); KI_TEST::LoadBoard( m_settingsManager, relPath, m_board );
KI_TEST::FillZones( m_board.get() ); // Do not refill zones here because this is testing the DRC engine, not the zone filler
std::vector<DRC_ITEM> violations; std::vector<DRC_ITEM> violations;
BOARD_DESIGN_SETTINGS& bds = m_board->GetDesignSettings(); BOARD_DESIGN_SETTINGS& bds = m_board->GetDesignSettings();
@ -122,7 +117,7 @@ BOOST_FIXTURE_TEST_CASE( DRCFalsePositiveRegressions, DRC_REGRESSION_TEST_FIXTUR
BOOST_FIXTURE_TEST_CASE( DRCFalseNegativeRegressions, DRC_REGRESSION_TEST_FIXTURE ) BOOST_FIXTURE_TEST_CASE( DRCFalseNegativeRegressions, DRC_REGRESSION_TEST_FIXTURE )
{ {
// These documents at one time failed to catch DRC errors that they should have. // These documents at one time failed to catch DRC errors that they should have
std::vector< std::pair<wxString, int> > tests = std::vector< std::pair<wxString, int> > tests =
{ {
@ -135,78 +130,19 @@ BOOST_FIXTURE_TEST_CASE( DRCFalseNegativeRegressions, DRC_REGRESSION_TEST_FIXTUR
{ "issue6945", 2 }, { "issue6945", 2 },
{ "issue7241", 1 }, { "issue7241", 1 },
{ "issue7267", 4 }, { "issue7267", 4 },
{ "issue7325", 2 }, { "issue7325", 4 },
{ "issue8003", 2 }, { "issue8003", 2 },
{ "issue9081", 2 }, { "issue9081", 2 },
{ "issue12109", 8 }, // Pads fail annular width test { "issue12109", 8 }, // Pads fail annular width test
{ "issue14334", 2 }, // Thermal spoke to otherwise unconnected island { "issue14334", 2 }, // Thermal spoke to otherwise unconnected island
{ "reverse_via", 3 } // Via/track ordering { "reverse_via", 3 }, // Via/track ordering
};
for( const std::pair<wxString, int>& entry : tests )
{
KI_TEST::LoadBoard( m_settingsManager, entry.first, m_board );
KI_TEST::FillZones( m_board.get() );
std::vector<DRC_ITEM> violations;
BOARD_DESIGN_SETTINGS& bds = m_board->GetDesignSettings();
// Disable DRC tests not useful in this testcase
bds.m_DRCSeverities[ DRCE_COPPER_SLIVER ] = SEVERITY::RPT_SEVERITY_IGNORE;
bds.m_DRCSeverities[ DRCE_LIB_FOOTPRINT_ISSUES ] = SEVERITY::RPT_SEVERITY_IGNORE;
bds.m_DRCSeverities[ DRCE_LIB_FOOTPRINT_MISMATCH ] = SEVERITY::RPT_SEVERITY_IGNORE;
bds.m_DRCEngine->SetViolationHandler(
[&]( const std::shared_ptr<DRC_ITEM>& aItem, VECTOR2I aPos, int aLayer )
{
PCB_MARKER temp( aItem, aPos );
if( bds.m_DrcExclusions.find( temp.Serialize() ) == bds.m_DrcExclusions.end() )
violations.push_back( *aItem );
} );
bds.m_DRCEngine->RunTests( EDA_UNITS::MILLIMETRES, true, false );
if( violations.size() == entry.second )
{
BOOST_CHECK_EQUAL( 1, 1 ); // quiet "did not check any assertions" warning
BOOST_TEST_MESSAGE( wxString::Format( "DRC regression: %s, passed", entry.first ) );
}
else
{
BOOST_CHECK_EQUAL( violations.size(), entry.second );
UNITS_PROVIDER unitsProvider( pcbIUScale, EDA_UNITS::INCHES );
std::map<KIID, EDA_ITEM*> itemMap;
m_board->FillItemMap( itemMap );
for( const DRC_ITEM& item : violations )
{
BOOST_TEST_MESSAGE( item.ShowReport( &unitsProvider, RPT_SEVERITY_ERROR,
itemMap ) );
}
BOOST_ERROR( wxString::Format( "DRC regression: %s, failed", entry.first ) );
}
}
}
BOOST_FIXTURE_TEST_CASE( DRCFalseNegativeRegressionsNoFill, DRC_REGRESSION_TEST_FIXTURE )
{
// These documents at one time failed to catch DRC errors that they should have but only
// when the zones were filled. In other words, refilling the zone will fix the error, but
// DRC should have caught it regardless
std::vector< std::pair<wxString, int> > tests =
{
{ "intersectingzones", 1 } // zones are too close to each other { "intersectingzones", 1 } // zones are too close to each other
}; };
for( const std::pair<wxString, int>& entry : tests ) for( const std::pair<wxString, int>& entry : tests )
{ {
KI_TEST::LoadBoard( m_settingsManager, entry.first, m_board ); KI_TEST::LoadBoard( m_settingsManager, entry.first, m_board );
// Do not refill zones here because this is testing the DRC engine, not the zone filler
std::vector<DRC_ITEM> violations; std::vector<DRC_ITEM> violations;
BOARD_DESIGN_SETTINGS& bds = m_board->GetDesignSettings(); BOARD_DESIGN_SETTINGS& bds = m_board->GetDesignSettings();

View File

@ -192,7 +192,9 @@ BOOST_FIXTURE_TEST_CASE( RegressionZoneFillTests, ZONE_FILL_TEST_FIXTURE )
"issue6039", "issue6039",
"issue6260", "issue6260",
"issue6284", "issue6284",
"issue7086" }; "issue7086",
"issue14294" // Bad Clipper2 fill
};
for( const wxString& relPath : tests ) for( const wxString& relPath : tests )
{ {