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;
padLayers.set( aLayer );
pad->SetKeepTopBottom( false );
pad->SetAttribute( PAD_ATTRIB::SMD );
pad->SetShape( PAD_SHAPE::CUSTOM );
pad->SetThermalSpokeAngle( ANGLE_90 );
@ -4312,11 +4313,23 @@ void ALTIUM_PCB::ConvertFills6ToFootprintItemOnLayer( FOOTPRINT* aFootprint, con
LSET padLayers;
padLayers.set( aLayer );
pad->SetKeepTopBottom( false );
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->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 );
}
else
@ -4364,7 +4377,6 @@ void ALTIUM_PCB::ConvertFills6ToFootprintItemOnLayer( FOOTPRINT* aFootprint, con
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,
aElem.pos1.y / 2 + aElem.pos2.y / 2 );
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")
(layer "F.Cu")
(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)))
)
(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)))
)
(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)))
)
(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)))
)
(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)))
)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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)
(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")
(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")
(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")
(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")
(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")
(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")
(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")
(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")
(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")
(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)
(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")
(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)
(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")
(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)
(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)
(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)
(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")
(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)
(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")
(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")
(uuid "597e6e56-6aff-40bd-a617-3606896d64a1")
(pad "39" smd rect (at -1 0) (size 6 6) (layers "F.Cu")
(uuid "083037b2-7089-43b6-9491-6b34bc46b727")
)
(pad "39" smd rect (at -1 0) (size 6 -6) (layers "B.Cu")
(uuid "e1a84642-9b3b-47ee-884d-e09a9e2b8553")
(pad "39" smd rect (at -1 0) (size 6 6) (layers "B.Cu")
(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)
(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")
(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)
(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)
(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)
(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")
(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)
(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")
(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)
(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")
(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)
(connect_pads (clearance 0))
(min_thickness 0.25) (filled_areas_thickness no)