Fixup Altium import rectangle handling

Ensure we have positive sizes
Keep rectangles when rotating by multiples of 90

(cherry picked from commit d033f93d89)
This commit is contained in:
Seth Hillbrand 2024-06-27 16:40:25 -07:00
parent 8832b22952
commit 0a29c0dea3
2 changed files with 103 additions and 91 deletions

View File

@ -2506,6 +2506,7 @@ void ALTIUM_PCB::ConvertShapeBasedRegions6ToFootprintItemOnLayer( FOOTPRINT*
LSET padLayers; LSET padLayers;
padLayers.set( aLayer ); padLayers.set( aLayer );
pad->SetKeepTopBottom( false );
pad->SetAttribute( PAD_ATTRIB::SMD ); pad->SetAttribute( PAD_ATTRIB::SMD );
pad->SetShape( PAD_SHAPE::CUSTOM ); pad->SetShape( PAD_SHAPE::CUSTOM );
pad->SetThermalSpokeAngle( ANGLE_90 ); pad->SetThermalSpokeAngle( ANGLE_90 );
@ -4312,11 +4313,23 @@ void ALTIUM_PCB::ConvertFills6ToFootprintItemOnLayer( FOOTPRINT* aFootprint, con
LSET padLayers; LSET padLayers;
padLayers.set( aLayer ); padLayers.set( aLayer );
pad->SetKeepTopBottom( false );
pad->SetAttribute( PAD_ATTRIB::SMD ); pad->SetAttribute( PAD_ATTRIB::SMD );
if( aElem.rotation == 0. ) EDA_ANGLE rotation( aElem.rotation, DEGREES_T );
// Handle rotation multiples of 90 degrees
if( rotation.IsCardinal() )
{ {
pad->SetShape( PAD_SHAPE::RECTANGLE ); pad->SetShape( PAD_SHAPE::RECTANGLE );
pad->SetSize( { aElem.pos2.x - aElem.pos1.x, aElem.pos2.y - aElem.pos1.y } );
int width = std::abs( aElem.pos2.x - aElem.pos1.x );
int height = std::abs( aElem.pos2.y - aElem.pos1.y );
// Swap width and height for 90 or 270 degree rotations
if( rotation.IsCardinal90() )
std::swap( width, height );
pad->SetSize( { width, height } );
pad->SetPosition( ( aElem.pos1 + aElem.pos2 ) / 2 ); pad->SetPosition( ( aElem.pos1 + aElem.pos2 ) / 2 );
} }
else else
@ -4364,7 +4377,6 @@ void ALTIUM_PCB::ConvertFills6ToFootprintItemOnLayer( FOOTPRINT* aFootprint, con
if( aElem.rotation != 0. ) if( aElem.rotation != 0. )
{ {
// TODO: Do we need SHAPE_T::POLY for non 90° rotations?
VECTOR2I center( aElem.pos1.x / 2 + aElem.pos2.x / 2, VECTOR2I center( aElem.pos1.x / 2 + aElem.pos2.x / 2,
aElem.pos1.y / 2 + aElem.pos2.y / 2 ); aElem.pos1.y / 2 + aElem.pos2.y / 2 );
fill->Rotate( center, EDA_ANGLE( aElem.rotation, DEGREES_T ) ); fill->Rotate( center, EDA_ANGLE( aElem.rotation, DEGREES_T ) );

View File

@ -1,305 +1,305 @@
(footprint "Espressif ESP32-WROOM-32" (version 20240108) (generator "pcbnew") (generator_version "8.0") (footprint "Espressif ESP32-WROOM-32" (version 20240108) (generator "pcbnew") (generator_version "8.0")
(layer "F.Cu") (layer "F.Cu")
(descr "39-SMD Module") (descr "39-SMD Module")
(property "Reference" "REF**" (at -0.7949 -15.8 0) (layer "F.SilkS")(uuid "f7ddddee-76f3-4a42-9d8f-38560a8d1a7b") (property "Reference" "REF**" (at -0.7949 -15.8 0) (layer "F.SilkS")(uuid "a9e28ad2-541a-456b-b8fd-b5e31aeeaf30")
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(property "Value" "Espressif ESP32-WROOM-32" (at -0.7949 11.7 0) (layer "F.Fab")(uuid "59df7c48-e724-4ab5-a33b-9e60bc4d2ba8") (property "Value" "Espressif ESP32-WROOM-32" (at -0.7949 11.7 0) (layer "F.Fab")(uuid "3776acda-e167-434c-9fc8-54c2ca059a7c")
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(property "Footprint" "" (at 0 0 0) (layer "F.Fab")(hide yes) (property "Footprint" "" (at 0 0 0) (layer "F.Fab")(hide yes)
(uuid "21c0c3f7-dd20-42d2-b8ca-f18a3d492892") (uuid "54e47da8-57f3-49e6-9c3b-5e64a3c7a624")
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(property "Datasheet" "" (at 0 0 0) (layer "F.Fab")(hide yes) (property "Datasheet" "" (at 0 0 0) (layer "F.Fab")(hide yes)
(uuid "63ad61c5-c2ee-4242-9854-ca508f48c883") (uuid "9e963690-f258-4231-8262-4ef328a656e5")
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(property "Description" "" (at 0 0 0) (layer "F.Fab")(hide yes) (property "Description" "" (at 0 0 0) (layer "F.Fab")(hide yes)
(uuid "9cd8cbf3-6cd7-4067-b1fe-7847b84b98ec") (uuid "f31ed8cb-5f57-4f47-88b9-b926c6eaa73c")
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(fp_line (start -9 -15) (end 9 -15) (fp_line (start -9 -15) (end 9 -15)
(stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "ccbcb558-12da-48bb-b4bf-f72362e39ef0")) (stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "73b0c419-ec19-4532-895a-ede9b4b7bfdc"))
(fp_line (start -9 -8.3) (end -9 -15) (fp_line (start -9 -8.3) (end -9 -15)
(stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "6b3b48a7-1e14-4cc2-a554-0e552e218af5")) (stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "217f4089-e645-4e4e-adf6-cdc60309819e"))
(fp_line (start -9 10.5) (end -9 9.6) (fp_line (start -9 10.5) (end -9 9.6)
(stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "61a88ea9-bff4-4f16-8f96-19cf448eb981")) (stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "2ef6d37c-1cef-410f-9951-56265fe3961d"))
(fp_line (start -9 10.5) (end -6.4 10.5) (fp_line (start -9 10.5) (end -6.4 10.5)
(stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "bbe9eb65-c5be-4c38-8c0a-723591cb90a0")) (stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "5d295a73-2c92-468d-a050-d20865c26a6b"))
(fp_line (start 6.4 10.5) (end 9 10.5) (fp_line (start 6.4 10.5) (end 9 10.5)
(stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "974d2cde-b3ad-48f6-a99d-d5b30540f52b")) (stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "d5f8ec12-7c10-4dac-8d35-845f8bcf43c3"))
(fp_line (start 9 -8.3) (end 9 -15) (fp_line (start 9 -8.3) (end 9 -15)
(stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "80816d7f-d18b-40cd-aa36-206caee69797")) (stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "f2e2e234-beca-4ea0-9572-afd9c7b1c5bb"))
(fp_line (start 9 10.5) (end 9 9.6) (fp_line (start 9 10.5) (end 9 9.6)
(stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "69ed6f45-b0ca-499f-b17a-9d0db8d1c36c")) (stroke (width 0.2) (type solid)) (layer "F.SilkS")(uuid "54ffb931-d093-4684-9f73-c669b72bb7de"))
(fp_circle (center -10.4648 -7.62) (end -10.4648 -7.87) (fp_circle (center -10.4648 -7.62) (end -10.4648 -7.87)
(stroke (width 0.75) (type solid)) (fill none) (layer "F.SilkS")(uuid "6efc53fe-bbe2-48ea-b62e-f4b1a3f8e999")) (stroke (width 0.75) (type solid)) (fill none) (layer "F.SilkS")(uuid "11effb3c-3364-40df-a144-ad3f636eb9c7"))
(fp_line (start -9.7 -15.2) (end 9.7 -15.2) (fp_line (start -9.7 -15.2) (end 9.7 -15.2)
(stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "bbe7a210-7838-4f44-b687-409f584a73a3")) (stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "3f7de60c-d99e-416a-a5d3-9b7f9f96c6f7"))
(fp_line (start -9.7 11.2) (end -9.7 -15.2) (fp_line (start -9.7 11.2) (end -9.7 -15.2)
(stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "8c2a6103-7821-4cec-83e7-f99c2304180a")) (stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "d7c87cd0-f2e3-4efc-ab39-5333819d55ab"))
(fp_line (start -9.7 11.2) (end 9.7 11.2) (fp_line (start -9.7 11.2) (end 9.7 11.2)
(stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "3b8ffe4a-6551-4c47-a257-203ce0555572")) (stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "1fb4fa6e-6401-4b04-81eb-28bebb9a95d6"))
(fp_line (start -0.5 -0.001) (end 0.5 -0.001) (fp_line (start -0.5 -0.001) (end 0.5 -0.001)
(stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "886a6591-8f27-42b6-98a3-0245528e1261")) (stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "46834397-ce4d-4b7c-93b9-ce2cfa0726cb"))
(fp_line (start 0 0.499) (end 0 -0.501) (fp_line (start 0 0.499) (end 0 -0.501)
(stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "140c57d5-c796-4b32-b7a9-0c9f8afc69ae")) (stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "cee2d845-a4b2-4a4f-aa94-e1a9300a64b9"))
(fp_line (start 9.7 11.2) (end 9.7 -15.2) (fp_line (start 9.7 11.2) (end 9.7 -15.2)
(stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "5d90805d-b24d-42dd-9e39-79a2736359c1")) (stroke (width 0.05) (type solid)) (layer "Eco2.User")(uuid "278ec41e-b73a-4b8e-90dc-373e50690ccb"))
(fp_line (start -9 -15) (end 9 -15) (fp_line (start -9 -15) (end 9 -15)
(stroke (width 0.1) (type solid)) (layer "B.Fab")(uuid "b11cb1a3-7de6-4a46-9c80-38f6ea31f285")) (stroke (width 0.1) (type solid)) (layer "B.Fab")(uuid "a2711009-d7f4-4eaa-bbb1-a14a0b2b54c9"))
(fp_line (start -9 10.5) (end -9 -15) (fp_line (start -9 10.5) (end -9 -15)
(stroke (width 0.1) (type solid)) (layer "B.Fab")(uuid "dfc474f7-1d8e-4a86-9bc6-4064b5e59255")) (stroke (width 0.1) (type solid)) (layer "B.Fab")(uuid "a4e9ee63-dbfa-4aec-9dbf-635c05314cc0"))
(fp_line (start -9 10.5) (end 9 10.5) (fp_line (start -9 10.5) (end 9 10.5)
(stroke (width 0.1) (type solid)) (layer "B.Fab")(uuid "e4bdee17-dd3e-4905-925a-54c1554c5c54")) (stroke (width 0.1) (type solid)) (layer "B.Fab")(uuid "ffbc8516-9879-47cb-8306-8957a86a46aa"))
(fp_line (start 9 10.5) (end 9 -15) (fp_line (start 9 10.5) (end 9 -15)
(stroke (width 0.1) (type solid)) (layer "B.Fab")(uuid "83c47a1b-af42-44c3-b12e-c2dc8f003731")) (stroke (width 0.1) (type solid)) (layer "B.Fab")(uuid "646d0231-9565-4f18-9c48-248950c7b102"))
(fp_circle (center -7.9 -7.6) (end -7.9 -8.1) (fp_circle (center -7.9 -7.6) (end -7.9 -8.1)
(stroke (width 0.1) (type solid)) (fill none) (layer "B.Fab")(uuid "e97379b3-1161-4400-a6d3-0a66e2be5354")) (stroke (width 0.1) (type solid)) (fill none) (layer "B.Fab")(uuid "e05da49a-f7ba-425f-ba85-03babdf6d972"))
(pad "1" smd roundrect (at -8.5 -7.51) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "1" smd roundrect (at -8.5 -7.51) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "f99e4362-5f85-458c-b0b6-2594153a82cb") (uuid "f6f6d1cb-bf98-4860-979a-27cc0542abef")
) )
(pad "2" smd roundrect (at -8.5 -6.24) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "2" smd roundrect (at -8.5 -6.24) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "ee3fbcaf-49b9-435d-9ad3-1b9fff5d8576") (uuid "b814280d-aa9a-4f3e-926f-9c00fad6300f")
) )
(pad "3" smd roundrect (at -8.5 -4.97) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "3" smd roundrect (at -8.5 -4.97) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "64937670-ff1a-4818-9c7a-aa6ebce42f3d") (uuid "e62721bf-34c6-4499-8978-46a4acac839c")
) )
(pad "4" smd roundrect (at -8.5 -3.7) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "4" smd roundrect (at -8.5 -3.7) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "17b9021b-75cf-4616-87d6-cb34ade5d27e") (uuid "ba171663-2744-417b-9ef9-2bb3775feaad")
) )
(pad "5" smd roundrect (at -8.5 -2.43) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "5" smd roundrect (at -8.5 -2.43) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "678ecd60-e2f8-40ed-bddb-5c81316a0417") (uuid "4d6d8d71-36ca-4491-9a2c-1e67790713e8")
) )
(pad "6" smd roundrect (at -8.5 -1.16) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "6" smd roundrect (at -8.5 -1.16) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "84882a6a-d30e-4a7b-9785-39bfd974e13b") (uuid "cda3af83-9164-49e9-a42e-47d649aafd92")
) )
(pad "7" smd roundrect (at -8.5 0.11) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "7" smd roundrect (at -8.5 0.11) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "9138158d-d4d6-46c4-9aaf-66b5ea6370b3") (uuid "7e77369a-0a38-45db-b031-a22f836f83e6")
) )
(pad "8" smd roundrect (at -8.5 1.38) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "8" smd roundrect (at -8.5 1.38) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "d981b7a5-883e-45a7-8c70-fbeacbe86360") (uuid "5cdfd2b7-7fa3-4355-872f-85f6ff6f3def")
) )
(pad "9" smd roundrect (at -8.5 2.65) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "9" smd roundrect (at -8.5 2.65) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "7b64850b-05b8-41a8-82e4-e53811dc073c") (uuid "8defc684-74ee-499a-bea2-5f62dda117ec")
) )
(pad "10" smd roundrect (at -8.5 3.92) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "10" smd roundrect (at -8.5 3.92) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "65d9a089-a670-47b8-8581-33aecbbe1cc8") (uuid "1a710ecc-7d04-4990-a3e6-c10b4eac6f4c")
) )
(pad "11" smd roundrect (at -8.5 5.19 180) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "11" smd roundrect (at -8.5 5.19 180) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "f19f9267-31fc-479f-834b-63dce70df920") (uuid "10e1f0e8-e24a-49d1-935b-7b13717f46a1")
) )
(pad "12" smd roundrect (at -8.5 6.46 180) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "12" smd roundrect (at -8.5 6.46 180) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "b274ec92-f21f-4607-8bb9-b8706cfd34a9") (uuid "ac8e29c3-eb37-406f-811c-fc964dc2e706")
) )
(pad "13" smd roundrect (at -8.5 7.73 180) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "13" smd roundrect (at -8.5 7.73 180) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "dab42302-674a-4981-874c-5c6329116647") (uuid "5cee5b27-e2bd-4b2b-9306-00060a92fef9")
) )
(pad "14" smd roundrect (at -8.5 9 180) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "14" smd roundrect (at -8.5 9 180) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "70db9bc8-38bc-4f9e-8704-d1e5633bf5e3") (uuid "8cebe92c-9c4e-47cf-84b9-02c60093d09c")
) )
(pad "15" smd roundrect (at -5.715 10 270) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "15" smd roundrect (at -5.715 10 270) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "8530e9b8-ccf1-4af1-9c95-867dbd5f3cb2") (uuid "525ec8ba-db33-4cb9-82ac-1b93e107107f")
) )
(pad "16" smd roundrect (at -4.445 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "16" smd roundrect (at -4.445 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "0ad92815-dcf5-4ada-9d73-3d5c509aedc6") (uuid "0db33a92-e0fe-45bb-acb5-13c8a6c7e54c")
) )
(pad "17" smd roundrect (at -3.175 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "17" smd roundrect (at -3.175 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "90ce394f-743c-4f8e-98d6-b465adb9f46b") (uuid "40d66729-7dc4-49cd-bbbb-6e3aaae88494")
) )
(pad "18" smd roundrect (at -1.905 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "18" smd roundrect (at -1.905 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "7af065a4-9e6b-4cba-bc0b-d16883fe3f1f") (uuid "ef366181-46d5-4a84-bcba-d4cebc2f5b42")
) )
(pad "19" smd roundrect (at -0.635 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "19" smd roundrect (at -0.635 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "b44f6a1d-e3f0-46c8-a919-2e168a6b9784") (uuid "9b3b7adf-fb03-4a24-80b8-36891117ce50")
) )
(pad "20" smd roundrect (at 0.635 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "20" smd roundrect (at 0.635 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "903c19e8-7a26-4db4-a48d-f5ece8811cd6") (uuid "d8cef205-3ccd-4be0-81d3-8d8801ed6338")
) )
(pad "21" smd roundrect (at 1.905 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "21" smd roundrect (at 1.905 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "4626dc20-5baa-47cc-964d-c23f1b175877") (uuid "1420f0bc-647b-40fe-a3b0-741628dd7682")
) )
(pad "22" smd roundrect (at 3.175 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "22" smd roundrect (at 3.175 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "281bc41e-0612-45cb-987b-5dbdb3753486") (uuid "428aa2e7-600b-4476-a336-884222af9a95")
) )
(pad "23" smd roundrect (at 4.445 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "23" smd roundrect (at 4.445 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "3ca9ac34-c65d-48f3-a321-c281200db675") (uuid "fddc087b-0582-4857-9ca8-63c41c746391")
) )
(pad "24" smd roundrect (at 5.715 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "24" smd roundrect (at 5.715 10 90) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "38cd3a21-a95d-413c-aa86-a15cbfbcf5f7") (uuid "34790349-92ef-453b-8746-77df6bf54fb7")
) )
(pad "25" smd roundrect (at 8.5 9) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "25" smd roundrect (at 8.5 9) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "e1170e16-4a60-4f2e-8032-be726e1d75c2") (uuid "99bcfffb-5516-4c49-9e7e-06751b58717a")
) )
(pad "26" smd roundrect (at 8.5 7.73) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "26" smd roundrect (at 8.5 7.73) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "dbf16cd6-5c85-46c7-baf9-2b3bf931a622") (uuid "dd15b0f5-889d-4842-b201-78452fea53f1")
) )
(pad "27" smd roundrect (at 8.5 6.46) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "27" smd roundrect (at 8.5 6.46) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "80e16a54-aa17-4664-8c41-357ecebd92f0") (uuid "00a827d7-4674-4fc8-bdea-e8d682bc6da2")
) )
(pad "28" smd roundrect (at 8.5 5.19) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "28" smd roundrect (at 8.5 5.19) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "5ee6db82-b066-4aa8-af96-9a1bedef52ed") (uuid "d1d7fab9-d2ed-4e5b-86c2-a33a6955f29f")
) )
(pad "29" smd roundrect (at 8.5 3.92) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "29" smd roundrect (at 8.5 3.92) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "c573abb6-48ad-458e-a2b4-42bd0aa7b381") (uuid "3ca89ed5-98bf-4b7b-8cef-0f2e43f79c8e")
) )
(pad "30" smd roundrect (at 8.5 2.65) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05) (pad "30" smd roundrect (at 8.5 2.65) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.05)
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "5c31c709-7405-4fec-8f20-7838f1730803") (uuid "d5c28c90-ac45-4fab-a5f4-a2b1f606b230")
) )
(pad "31" smd rect (at 8.5 1.38) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (pad "31" smd rect (at 8.5 1.38) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "b028670b-34db-4bc0-9768-3092d98559f7") (uuid "92fe9796-b27d-4dcd-a59f-993dc984cffe")
) )
(pad "32" smd rect (at 8.5 0.11) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (pad "32" smd rect (at 8.5 0.11) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "4ae610e6-d9db-4585-9c85-5dd47400f9bd") (uuid "32605388-59d1-4fc0-b984-191b4e342d2c")
) )
(pad "33" smd rect (at 8.5 -1.16) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (pad "33" smd rect (at 8.5 -1.16) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "8e4ff640-19e0-4c88-9457-bc80caa7282c") (uuid "46eb5c11-2ad2-4185-8b1f-e448f8753f56")
) )
(pad "34" smd rect (at 8.5 -2.43) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (pad "34" smd rect (at 8.5 -2.43) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "9199e8e2-8371-4589-aecb-0fefd05aef73") (uuid "dec35879-3add-4f6c-9d69-845319545379")
) )
(pad "35" smd rect (at 8.5 -3.7) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (pad "35" smd rect (at 8.5 -3.7) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "61b3f64c-58a6-41fe-a25e-b357af19bd97") (uuid "2a7f39ae-132b-4138-92ed-04401a96c93b")
) )
(pad "36" smd rect (at 8.5 -4.97) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (pad "36" smd rect (at 8.5 -4.97) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "6eab4fbe-e494-48be-bcb7-7033bdc34e13") (uuid "5e1b2fef-4920-4d4f-a791-86dc10c72d5d")
) )
(pad "37" smd rect (at 8.5 -6.24) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (pad "37" smd rect (at 8.5 -6.24) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "3a7357a7-7e01-4d2c-9ff8-f51c0acef7f9") (uuid "f059803c-fda8-4a9b-9940-27aa8b464a59")
) )
(pad "38" smd rect (at 8.5 -7.51) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask") (pad "38" smd rect (at 8.5 -7.51) (size 2 0.9) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "3511aaa5-4035-46da-b5aa-a378777c87f9") (uuid "ebf1ce72-b467-4771-b875-4d72e4610f46")
) )
(pad "39" smd rect (at -2.835 -1.835) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask") (pad "39" smd rect (at -2.835 -1.835) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "33fbc71b-cee0-49df-8a17-5c23951cd06d") (uuid "a113758d-4f76-4fa5-ad8d-c6ce01fdd6dc")
) )
(pad "39" thru_hole circle (at -2.835 -0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at -2.835 -0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "91f24b80-3551-4147-b396-a65fa2b228c6") (uuid "af630e74-fafa-420d-9a76-00c573b06f2a")
) )
(pad "39" smd rect (at -2.835 0 90) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask") (pad "39" smd rect (at -2.835 0 90) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "4541feab-e3dd-42f1-98e6-f68d3bc4d2f9") (uuid "5f8202b2-23c3-4d76-9b2d-91cdeb7a33c6")
) )
(pad "39" thru_hole circle (at -2.835 0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at -2.835 0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "82ed68d5-649e-43b2-ae52-084af4e141d3") (uuid "1f85847b-ef66-4926-8686-8b5162a2a029")
) )
(pad "39" smd rect (at -2.835 1.835 180) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask") (pad "39" smd rect (at -2.835 1.835 180) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "0a8d9ed5-c8f5-46fb-8601-a6cb60e77880") (uuid "674a919d-693c-4436-83e9-6206968f207a")
) )
(pad "39" thru_hole circle (at -1.9175 -1.835) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at -1.9175 -1.835) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "a060a74a-409c-44e2-a812-da2ee7230dbd") (uuid "92388daa-b7b4-49dd-8335-7e0d19b2c671")
) )
(pad "39" thru_hole circle (at -1.9175 0) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at -1.9175 0) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "55316ebd-0b01-4e2e-997a-c93e96595335") (uuid "472f02f3-2a6b-4481-9c9a-bf83a3cb09ed")
) )
(pad "39" thru_hole circle (at -1.9175 1.835) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at -1.9175 1.835) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "14619631-75cd-4baa-938a-3b8c14c4b089") (uuid "4ed24f49-ddf0-4338-94f4-c5a0773f05ea")
) )
(pad "39" smd rect (at -1 -1.835) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask") (pad "39" smd rect (at -1 -1.835) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "4a031b07-5fe8-4710-94f6-81a3a6b51307") (uuid "2dabe535-767d-4cc8-a95d-1c4d0b1e86bb")
) )
(pad "39" thru_hole circle (at -1 -0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at -1 -0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "12a4f942-4f1a-4c93-985a-51d459fcf0e7") (uuid "6ee8f870-9e29-4c4d-b3fe-06a8be2ce2ea")
) )
(pad "39" smd rect (at -1 0) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask") (pad "39" smd rect (at -1 0) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "cdc5900b-6e40-47e1-9131-d89e7a98a22d") (uuid "c70d3752-9379-484f-b2f3-6eecdc1cd67f")
) )
(pad "39" smd rect (at -1 0) (size 6 -6) (layers "F.Cu") (pad "39" smd rect (at -1 0) (size 6 6) (layers "F.Cu")
(uuid "597e6e56-6aff-40bd-a617-3606896d64a1") (uuid "083037b2-7089-43b6-9491-6b34bc46b727")
) )
(pad "39" smd rect (at -1 0) (size 6 -6) (layers "B.Cu") (pad "39" smd rect (at -1 0) (size 6 6) (layers "B.Cu")
(uuid "e1a84642-9b3b-47ee-884d-e09a9e2b8553") (uuid "6a2fa5c3-e93e-47db-9481-82567b87b0e5")
) )
(pad "39" thru_hole circle (at -1 0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at -1 0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "d3be3a9e-7acf-4778-a1e9-0b97b634358c") (uuid "9e19f968-1970-47a1-a2e2-b0b8025fb397")
) )
(pad "39" smd rect (at -1 1.835 180) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask") (pad "39" smd rect (at -1 1.835 180) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "94019a7f-4ec3-450b-9817-70390ef95172") (uuid "13d45cd3-52ca-4048-8b27-5eb5c8bc6e5f")
) )
(pad "39" thru_hole circle (at -0.0825 -1.835) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at -0.0825 -1.835) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "6637b83b-a4f1-43ba-b285-4986426c9f93") (uuid "b43b3ee7-855d-4ed1-8431-bd6973a8bba2")
) )
(pad "39" thru_hole circle (at -0.0825 0) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at -0.0825 0) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "11777650-ceb9-4c35-9143-d23c370ccafd") (uuid "1b3b14fd-d06b-49aa-9972-db12d4b8fd00")
) )
(pad "39" thru_hole circle (at -0.0825 1.835) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at -0.0825 1.835) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "1b551e05-c1f6-4d84-a9e5-a1e00ec3b0ae") (uuid "cb34da9c-8d8e-4167-ba20-a59dfc1e7e5d")
) )
(pad "39" smd rect (at 0.835 -1.835) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask") (pad "39" smd rect (at 0.835 -1.835) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "284967cd-1c5e-498d-8a9c-3f4b1d1bd67b") (uuid "9631ef6a-2a91-4cdd-8b1e-667f8d3d1f94")
) )
(pad "39" thru_hole circle (at 0.835 -0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at 0.835 -0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "f03f9897-611a-4d8b-a3e2-5c842a54c72d") (uuid "c44fd524-3606-4d7b-b2ef-33e2f648fd65")
) )
(pad "39" smd rect (at 0.835 0 270) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask") (pad "39" smd rect (at 0.835 0 270) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "9a82cbde-bf24-4f76-bcba-5ebe97c65a0f") (uuid "4efcdd3a-5266-4cf6-92f6-d7f7a7d6def1")
) )
(pad "39" thru_hole circle (at 0.835 0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no) (pad "39" thru_hole circle (at 0.835 0.9175) (size 0.6 0.6) (drill 0.3) (layers "*.Cu" "*.Mask")(remove_unused_layers no)
(uuid "b1f952db-dbfa-485d-a45e-4747e199b57c") (uuid "ec625853-6605-4524-9c7f-8a491a165154")
) )
(pad "39" smd rect (at 0.835 1.835 180) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask") (pad "39" smd rect (at 0.835 1.835 180) (size 1.33 1.33) (layers "F.Cu" "F.Paste" "F.Mask")
(solder_mask_margin 0.05) (solder_mask_margin 0.05)
(uuid "9fc18859-4958-4808-bd37-76c1540986ea") (uuid "b0fb677f-0eaf-451d-8268-e23ecab75595")
) )
(zone (net 0) (net_name "") (layers "*.Cu")(uuid "29f6a6bd-8842-4382-9864-e9399823aab5") (zone (net 0) (net_name "") (layers "*.Cu")(uuid "ec85f480-d8a7-4eb8-87b5-d5f843d5249c")
(hatch edge 0.5) (hatch edge 0.5)
(connect_pads (clearance 0)) (connect_pads (clearance 0))
(min_thickness 0.25) (filled_areas_thickness no) (min_thickness 0.25) (filled_areas_thickness no)