anykey/stencil/topRegister.scad

497 lines
123 KiB
OpenSCAD

// Generated by SolidPython 1.0.1 on 2020-11-05 18:59:27
scale(v = 0.0000010000) {
translate(v = [-63500109, -68500031, 0]) {
difference() {
linear_extrude(convexity = 10, height = 2850000) {
polygon(paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172]], points = [[80001218.0000000000, 63009785.5137788802], [80015627.6691428125, 63303101.0675021708], [80058681.8398301899, 63593348.7100457773], [80129977.9368273765, 63877978.6841679215], [80228829.3397457898, 64154249.8476228938], [80354284.0555377603, 64419501.5580817536], [80505133.8867095560, 64671179.2965711951], [80679926.0669242144, 64906859.2688886970], [80876977.2519350350, 65124271.7480649576], [81094389.7311113030, 65321322.9330757931], [81330069.7034288049, 65496115.1132904440], [81581747.4419182539, 65646964.9444622472], [81846999.1523770988, 65772419.6602542102], [82123270.3158320785, 65871271.0631726235], [82407900.2899542153, 65942567.1601698101], [82698147.9324978292, 65985621.3308571875], [82991463.4862211198, 66000031.0000000000], [115963291.6128613353, 66000031.0000000000], [115963537.0251465589, 66000034.0118130371], [116036636.7745253891, 66001828.5099367946], [116036882.0389834344, 66001837.5435617045], [116171594.6941683739, 66008455.5519350246], [116172084.1888283938, 66008491.6592303589], [116317513.4785090685, 66022815.1940602437], [116318000.6118503213, 66022875.2762273178], [116414986.0440139025, 66037261.7060841322], [116415469.6424895227, 66037345.6183797419], [116558794.6984669864, 66065854.7445690408], [116559273.5970458537, 66065962.2848411277], [116654381.9011306912, 66089785.6748202890], [116654854.9461041987, 66089916.5839949176], [116794695.4697400331, 66132336.7430737615], [116795161.5215014070, 66132490.7057792544], [116887476.7525474578, 66165521.6236120015], [116887934.6883371770, 66165698.2689387128], [117022943.9389442652, 66221620.9315859899], [117023392.6555549204, 66221819.8339798674], [117112025.7674228251, 66263740.1738710254], [117112464.1838567853, 66263960.8541587815], [117241341.9485479593, 66332847.4545626640], [117241769.0086216182, 66333089.3811061457], [117325866.4159923047, 66383495.4272665754], [117326281.0908805728, 66383758.0172435492], [117447786.2063303888, 66464945.1397850439], [117448187.4970451295, 66465227.7605932653], [117526939.2959129363, 66523634.0752434880], [117527326.2357096523, 66523936.0460246652], [117640288.5412348956, 66616641.8143323362], [117640660.1979417205, 66616962.4076124132], [117713307.9654338062, 66682806.5060144141], [117713663.4436971992, 66683144.9494560957], [117816995.0505438745, 66786476.5563027710], [117817333.4939855635, 66786832.0345661715], [117883177.5923875868, 66859479.8020582646], [117883498.1856676638, 66859851.4587650970], [117976203.9539753050, 66972813.7642903104], [117976505.9247564822, 66973200.7040870190], [118034912.2394067645, 67051952.5029549226], [118035194.8602149934, 67052353.7936696559], [118116381.9827564061, 67173858.9091193676], [118116644.5727333874, 67174273.5840076357], [118167050.6188938320, 67258370.9913783222], [118167292.5454373062, 67258798.0514519960], [118236179.1458412409, 67387675.8161432743], [118236399.8261289895, 67388114.2325772345], [118278320.1660200953, 67476747.3444450349], [118278519.0684139729, 67477196.0610556901], [118334441.7310612798, 67612205.3116627932], [118334618.3763879836, 67612663.2474525124], [118367649.2942207605, 67704978.4784986228], [118367803.2569262534, 67705444.5302599967], [118410223.4160051197, 67845285.0538959056], [118410354.3251797408, 67845758.0988694280], [118434177.7151588500, 67940866.4029540569], [118434285.2554309368, 67941345.3015329242], [118462794.3816202730, 68084670.3575105518], [118462878.2939158827, 68085153.9559861571], [118477264.7237726897, 68182139.3881496042], [118477324.8059397638, 68182626.5214908719], [118491648.3407696486, 68328055.8111715615], [118491684.4480649680, 68328545.3058315814], [118496495.3686155230, 68426473.8433445543], [118496507.4140534699, 68426964.5200878233], [118496507.4140534699, 68573097.4799121916], [118496495.3686155230, 68573588.1566554606], [118491684.4480649829, 68671516.6941684186], [118491648.3407696486, 68672006.1888284385], [118477324.8059397638, 68817435.4785090834], [118477264.7237726897, 68817922.6118503511], [118462878.2939158827, 68914908.0440138429], [118462794.3816202730, 68915391.6424894482], [118434285.2554309517, 69058716.6984670311], [118434177.7151588649, 69059195.5970458984], [118410354.3251797408, 69154303.9011305869], [118410223.4160051197, 69154776.9461041093], [118367803.2569262534, 69294617.4697399884], [118367649.2942207605, 69295083.5215013623], [118334618.3763879836, 69387398.7525475025], [118334441.7310612649, 69387856.6883372217], [118278519.0684139878, 69522865.9389442950], [118278320.1660201102, 69523314.6555549502], [118236399.8261289895, 69611947.7674227804], [118236179.1458412409, 69612386.1838567406], [118167292.5454373211, 69741263.9485480040], [118167050.6188938320, 69741691.0086216778], [118116644.5727334470, 69825788.4159922600], [118116381.9827564806, 69826203.0908805281], [118035194.8602149636, 69947708.2063303888], [118034912.2394067347, 69948109.4970451146], [117976505.9247563779, 70026861.2959131151], [117976203.9539752007, 70027248.2357098311], [117883498.1856677681, 70140210.5412347913], [117883177.5923876911, 70140582.1979416162], [117817333.4939855486, 70213229.9654338360], [117816995.0505438596, 70213585.4436972290], [117713663.4436972439, 70316917.0505438596], [117713307.9654338360, 70317255.4939855486], [117640660.1979417205, 70383099.5923875868], [117640288.5412348956, 70383420.1856676638], [117527326.2357096523, 70476125.9539753348], [117526939.2959129512, 70476427.9247565120], [117448187.4970451891, 70534834.2394067049], [117447786.2063304484, 70535116.8602149189], [117326281.0908805877, 70616303.9827564210], [117325866.4159923345, 70616566.5727334023], [117241769.0086214691, 70666972.6188939512], [117241341.9485477954, 70667214.5454374403], [117112464.1838567406, 70736101.1458412558], [117112025.7674227953, 70736321.8261290044], [117023392.6555551142, 70778242.1660200506], [117022943.9389444590, 70778441.0684139282], [116887934.6883372664, 70834363.7310612500], [116887476.7525475323, 70834540.3763879687], [116795161.5215013921, 70867571.2942207605], [116794695.4697400182, 70867725.2569262534], [116654854.9461040646, 70910145.4160051197], [116654381.9011305571, 70910276.3251797408], [116559273.5970459878, 70934099.7151588500], [116558794.6984671056, 70934207.2554309368], [116415469.6424892992, 70962716.3816203028], [116414986.0440136939, 70962800.2939159125], [116318000.6118504256, 70977186.7237726748], [116317513.4785091579, 70977246.8059397489], [116172084.1888285279, 70991570.3407696337], [116171594.6941685081, 70991606.4480649680], [116036882.0389833748, 70998224.4564383030], [116036636.7745253295, 70998233.4900632054], [115963537.0251464844, 71000027.9881869555], [115963291.6128612608, 71000031.0000000000], [82991463.4862211198, 71000031.0000000000], [82698147.9324978292, 71014440.6691428125], [82407900.2899542451, 71057494.8398301899], [82123270.3158321381, 71128790.9368273765], [81846999.1523770392, 71227642.3397458196], [81581747.4419182539, 71353097.0555377603], [81330069.7034288049, 71503946.8867095560], [81094389.7311113030, 71678739.0669241995], [80876977.2519350350, 71875790.2519350499], [80679926.0669242144, 72093202.7311113179], [80505133.8867095560, 72328882.7034288198], [80354284.0555377603, 72580560.4419182390], [80228829.3397457898, 72845812.1523771137], [80129977.9368273765, 73122083.3158320785], [80058681.8398301899, 73406713.2899542153], [80015627.6691428125, 73696960.9324978292], [80001218.0000000000, 73990276.4862211049], [80001218.0000000000, 86470568.5466027260], [80001216.6952777207, 86470730.0790869296], [80000439.1825917661, 86518857.3177621514], [80000435.2687653601, 86519018.8080953658], [79995740.1068004072, 86664293.7397352159], [79995733.5848911852, 86664455.1457774043], [79993401.8583308756, 86712532.1535853148], [79993392.7300406694, 86712693.4332184792], [79992982.3497945070, 86719035.6733866483], [79992963.0586487800, 86719285.2777216882], [79986285.2515892237, 86793572.0392948687], [79986259.7181662619, 86793821.0824973136], [79960489.9332856238, 87017532.0075892508], [79960458.1735883802, 87017780.3335726112], [79952021.0773221701, 87077771.5888517946], [79951943.4234529734, 87078242.0963734388], [79942249.9830158055, 87129357.1409927458], [79942205.2522540241, 87129579.2390420586], [79899704.9345226288, 87328909.0632000417], [79899655.1837615073, 87329130.0909049213], [79886978.9395114183, 87382611.5357800424], [79886865.7328017652, 87383045.5435035825], [79864778.9433379322, 87460559.4637607783], [79864945.3519859165, 87460980.7936351895], [79865211.6707627773, 87461908.2648636997], [79865387.3575414866, 87462857.0866206437], [79865470.7764522731, 87463818.4241555184], [79865461.1507578045, 87464783.3261798918], [79865358.5700856745, 87465742.8082153499], [79865163.9895938486, 87466687.9362505078], [79807311.3421269059, 87692028.5027124435], [79762760.7267030329, 87978361.6593921632], [79746137.0538258851, 88267662.6919668913], [79757596.4654436707, 88557214.2691239417], [79797031.3262059987, 88844296.7062486112], [79864127.3870227337, 89126449.6439970583], [79898181.4853128940, 89244016.5574929118], [79898309.1115361154, 89244502.5407385677], [79932658.6121673286, 89390096.7069384158], [79932761.6661736816, 89390588.4874175638], [79966739.0381688476, 89575795.9956761897], [79966781.2668425292, 89576043.6723679602], [79971300.9624251276, 89604722.2965795249], [79971372.2708817422, 89605274.2469182312], [79978858.2370342314, 89679398.0547881722], [79978887.3431585878, 89679747.4077965021], [79997993.1608523726, 89970606.3958367705], [79998009.2879399955, 89970933.9510122389], [80001212.6223762035, 90068571.4982177019], [80001218.0000000000, 90068899.4060661793], [80001218.0000000000, 94955578.1788692921], [80001216.5184065402, 94955750.3115910143], [80000333.6199782491, 95007034.4375722408], [80000329.1756369174, 95007206.5192878246], [79994997.8096320331, 95161999.7555582672], [79994990.4038597643, 95162171.7352766842], [79993972.5408178270, 95181864.0554139167], [79993945.4887934327, 95182245.6606695056], [79989112.1670882404, 95235863.4609039724], [79989087.0377667099, 95236108.4515429288], [79969833.7792604268, 95403480.6169502884], [79969771.2432024777, 95403933.0026406497], [79948079.0915395021, 95538177.6820454895], [79947995.9661881924, 95538626.7407803684], [79920010.5792399645, 95672634.8859937042], [79919907.0379645228, 95673079.6812001467], [79886059.7269885391, 95804785.9564188719], [79885935.9857383370, 95805225.5604161173], [79845843.2528723776, 95936122.2282020599], [79845699.5697266012, 95936555.7241363078], [79799979.3248483688, 96064625.4028295279], [79799815.9994776994, 96065051.8865861893], [79747950.2216376960, 96191745.6352685243], [79747767.5946793705, 96192164.2173578292], [79690555.6401237547, 96315529.4298297018], [79690354.0924710780, 96315939.2372418940], [79611327.5896933526, 96467767.9320814461], [79611219.8504495025, 96467969.2774231732], [79595972.9631144702, 96495697.1799646467], [79595736.4299678504, 96496104.3300090134], [79571413.5060510337, 96535790.3785353899], [79571274.1408612728, 96536011.2450275272], [79469235.4163830876, 96693138.1518369615], [79468950.5515045375, 96693553.5194462985], [79381054.6616408229, 96815039.7839775234], [79380749.2441121489, 96815440.2816468030], [79286217.3325299025, 96933131.9607566595], [79285892.1371289343, 96933516.5725103766], [79186223.6368579417, 97045546.8808135241], [79185879.4885346889, 97045914.6309753507], [79079990.2474137247, 97153502.1871982217], [79079628.0191976428, 97153852.1428659707], [78969197.6163555384, 97255290.4297832549], [78968818.2271408141, 97255621.7031954974], [78852645.4469508231, 97352014.1239666492], [78852249.8591653705, 97352325.8747548014], [78732177.3947556913, 97442143.4855852574], [78731766.6119196713, 97442434.9229053706], [78606488.3653608263, 97526654.7221112102], [78606063.4295409769, 97526925.1066502035], [78477566.5217713416, 97604211.2284205705], [78477128.5109373927, 97604459.8742716759], [78310689.3321829140, 97693476.7174646705], [78310465.7696472406, 97693592.6890707463], [78275146.3932465017, 97711353.5571052581], [78274704.8313594162, 97711562.2533913106], [78236891.5474738479, 97728316.9199072868], [78236656.7154784650, 97728417.4034475386], [78067545.3216641247, 97798237.8537707925], [78067086.1034109443, 97798414.3570602536], [77929112.5760008693, 97847585.3065256625], [77928645.2326709032, 97847739.0108755678], [77787478.6637557894, 97890348.8583007306], [77787004.3264826089, 97890479.3916930258], [77644867.4703169763, 97925857.2188826948], [77644387.2871619016, 97925964.2653811425], [77499717.4338392317, 97954499.0304318219], [77499232.5670126975, 97954582.3309466243], [77354307.6321509331, 97975824.7364721149], [77353819.2551994622, 97975884.0893870294], [77170302.5125245452, 97993618.4149121791], [77170057.3768864274, 97993639.0638529658], [77112279.5056166053, 97997790.9341765791], [77111931.6128238291, 97997809.8484592438], [77103119.6988235712, 97998135.0979649872], [77102986.5005482137, 97998139.1258351058], [76999288.8736622036, 98000583.4656792879], [76999171.0555665493, 98000585.5483990908], [76964060.0522447824, 98000999.3057279289], [76963942.2177872956, 98001000.0000000000], [68990354.4862211198, 98001000.0000000000], [68697038.9324978292, 98015409.6691428125], [68406791.2899542451, 98058463.8398301899], [68122161.3158321381, 98129759.9368273765], [67845890.1523770392, 98228611.3397458196], [67580638.4419182539, 98354066.0555377603], [67328960.7034288049, 98504915.8867095560], [67093280.7311113030, 98679708.0669241995], [66875868.2519350424, 98876759.2519350499], [66678817.0669242069, 99094171.7311113179], [66504024.8867095560, 99329851.7034288198], [66353175.0555377528, 99581529.4419182390], [66227720.3397457898, 99846781.1523771137], [66128868.9368273765, 100123052.3158320785], [66057572.8398301899, 100407682.2899542153], [66014518.6691428125, 100697929.9324978292], [66000109.0000000000, 100991245.4862211049], [66000109.0000000000, 120963213.6128613204], [66000105.9881869629, 120963459.0251465440], [65998311.4900632054, 121036558.7745254040], [65998302.4564382955, 121036804.0389834493], [65991684.4480649754, 121171516.6941683441], [65991648.3407696411, 121172006.1888283640], [65977324.8059397563, 121317435.4785090685], [65977264.7237726822, 121317922.6118503362], [65962878.2939158678, 121414908.0440139025], [65962794.3816202581, 121415391.6424895078], [65934285.2554309368, 121558716.6984670907], [65934177.7151588500, 121559195.5970459580], [65910354.3251797482, 121654303.9011305720], [65910223.4160051197, 121654776.9461040944], [65867803.2569262385, 121794617.4697400331], [65867649.2942207530, 121795083.5215014070], [65834618.3763879910, 121887398.7525475025], [65834441.7310612723, 121887856.6883372217], [65778519.0684139952, 122022865.9389442950], [65778320.1660201177, 122023314.6555549502], [65736399.8261290193, 122111947.7674227208], [65736179.1458412632, 122112386.1838566810], [65667292.5454372838, 122241263.9485480636], [65667050.6188938022, 122241691.0086217374], [65616644.5727334619, 122325788.4159922451], [65616381.9827564880, 122326203.0908805132], [65535194.8602150157, 122447708.2063303143], [65534912.2394067943, 122448109.4970450401], [65476505.9247564748, 122526861.2959129810], [65476203.9539752975, 122527248.2357096970], [65383498.1856676266, 122640210.5412349403], [65383177.5923875496, 122640582.1979417652], [65317333.4939854890, 122713229.9654339105], [65316995.0505438074, 122713585.4436973035], [65213663.4436973110, 122816917.0505438000], [65213307.9654339105, 122817255.4939854890], [65140660.1979416534, 122883099.5923876464], [65140288.5412348211, 122883420.1856677234], [65027326.2357097268, 122976125.9539752752], [65026939.2959130183, 122976427.9247564524], [64948187.4970450476, 123034834.2394067943], [64947786.2063303143, 123035116.8602150083], [64826281.0908806324, 123116303.9827564061], [64825866.4159923717, 123116566.5727333874], [64741769.0086217225, 123166972.6188938022], [64741341.9485480487, 123167214.5454372913], [64612464.1838567480, 123236101.1458412409], [64612025.7674227878, 123236321.8261289895], [64523392.6555549279, 123278242.1660201252], [64522943.9389442801, 123278441.0684140027], [64387934.6883373037, 123334363.7310612500], [64387476.7525475696, 123334540.3763879687], [64295161.5215013698, 123367571.2942207605], [64294695.4697399959, 123367725.2569262534], [64154854.9461041242, 123410145.4160051048], [64154381.9011306092, 123410276.3251797259], [64059273.5970459878, 123434099.7151588351], [64058794.6984671205, 123434207.2554309219], [63915469.6424892619, 123462716.3816203028], [63914986.0440136567, 123462800.2939159125], [63818000.6118504405, 123477186.7237726748], [63817513.4785091802, 123477246.8059397489], [63672084.1888285354, 123491570.3407696337], [63671594.6941685155, 123491606.4480649680], [63573666.1566553563, 123496417.3686155230], [63573175.4799120799, 123496429.4140534699], [63427042.5200879350, 123496429.4140534699], [63426551.8433446586, 123496417.3686155230], [63328623.3058314994, 123491606.4480649680], [63328133.8111714795, 123491570.3407696337], [63182704.5214908347, 123477246.8059397489], [63182217.3881495744, 123477186.7237726748], [63085231.9559863582, 123462800.2939159125], [63084748.3575107530, 123462716.3816203028], [62941423.3015328944, 123434207.2554309219], [62940944.4029540271, 123434099.7151588351], [62845836.0988694057, 123410276.3251797259], [62845363.0538958907, 123410145.4160051048], [62705522.5302600190, 123367725.2569262534], [62705056.4784986451, 123367571.2942207605], [62612741.2474523634, 123334540.3763879389], [62612283.3116626292, 123334363.7310612202], [62477274.0610558465, 123278441.0684140623], [62476825.3444451988, 123278242.1660201848], [62388192.2325772047, 123236321.8261289895], [62387753.8161432445, 123236101.1458412409], [62258876.0514519513, 123167214.5454372913], [62258448.9913782775, 123166972.6188938022], [62174351.5840077549, 123116566.5727334619], [62173936.9091194943, 123116303.9827564806], [62052431.7936696261, 123035116.8602149636], [62052030.5029548928, 123034834.2394067496], [61973278.7040869296, 122976427.9247564226], [61972891.7642902210, 122976125.9539752454], [61859929.4587652534, 122883420.1856677979], [61859557.8020584211, 122883099.5923877209], [61786910.0345660821, 122817255.4939854741], [61786554.5563026816, 122816917.0505437851], [61683222.9494561777, 122713585.4436972737], [61682884.5060144961, 122713229.9654338807], [61617040.4076123387, 122640582.1979416460], [61616719.8143322617, 122640210.5412348211], [61524014.0460247621, 122527248.2357097864], [61523712.0752435848, 122526861.2959130704], [61465305.7605932504, 122448109.4970450997], [61465023.1397850290, 122447708.2063303739], [61383836.0172435269, 122326203.0908805281], [61383573.4272665530, 122325788.4159922600], [61333167.3811061382, 122241691.0086216331], [61332925.4545626566, 122241263.9485479593], [61264038.8541588336, 122112386.1838568896], [61263818.1738710776, 122111947.7674229294], [61221897.8339799047, 122023314.6555549800], [61221698.9315860271, 122022865.9389443249], [61165776.2689387426, 121887856.6883372366], [61165599.6236120313, 121887398.7525475174], [61132568.7057792619, 121795083.5215014070], [61132414.7430737689, 121794617.4697400331], [61089994.5839948878, 121654776.9461040944], [61089863.6748202592, 121654303.9011305720], [61066040.2848411426, 121559195.5970459282], [61065932.7445690557, 121558716.6984670609], [61037423.6183797121, 121415391.6424894184], [61037339.7060841024, 121414908.0440138131], [61022953.2762273252, 121317922.6118504703], [61022893.1940602511, 121317435.4785092026], [61008569.6592303514, 121172006.1888283938], [61008533.5519350171, 121171516.6941683739], [61001915.5435617119, 121036804.0389836729], [61001906.5099368021, 121036558.7745256275], [61000110.4109848589, 120963393.8146360666], [61000107.3991812766, 120963148.8371531814], [60999239.0104980171, 100991115.4735236466], [60984817.3853681162, 100697808.6395223886], [60941752.9689121097, 100407570.7213074416], [60870448.4020907655, 100122951.2351775914], [60771590.3488763273, 99846691.0707508624], [60646130.8136990517, 99581450.6172609776], [60495277.9736311361, 99329784.1439715624], [60320484.5436249971, 99094115.2025280744], [60123433.7868475839, 98876713.2881209552], [59906023.3048329502, 98679671.9842158705], [59670346.7635529339, 98504888.8013156205], [59418673.7313847691, 98354046.9039075077], [59153427.8231356293, 98228598.9015657604], [58877163.3605988175, 98129752.8603013754], [58592540.7743986994, 98058460.6688692421], [58302300.9840070754, 98015408.8720664978], [58008993.5232277960, 98001000.0000000000], [50041420.3296497315, 98001000.0000000000], [50041269.6560047269, 98000998.8648082018], [49996376.5723956823, 98000322.3675585091], [49996225.9329593778, 98000318.9622408450], [49860704.3051488250, 97996233.6633810848], [49860553.7341221422, 97996227.9887107015], [49848987.7733999193, 97995704.8068866581], [49848615.7793971300, 97995681.0255211741], [49788285.8763613403, 97990693.6214165390], [49788029.0043571889, 97990669.0453839749], [49611835.0945552886, 97971514.6945865899], [49611359.1880829036, 97971451.3651731610], [49470155.6882192492, 97949199.5756057054], [49469683.3698026985, 97949113.4774149209], [49328770.6493920237, 97919915.3163898587], [49328303.0077138692, 97919806.6478759646], [49189883.6207769066, 97884118.5009259433], [49189421.7337398976, 97883987.5125672370], [49051957.8187323660, 97841412.8786673844], [49051502.7509749979, 97841259.8723888695], [48917142.9549315274, 97792464.2197158933], [48916695.7553739697, 97792289.5481933504], [48783947.3194537461, 97736730.7492354065], [48783509.0188801885, 97736534.8150824904], [48654446.8842283338, 97675081.2886433750], [48654018.4929110259, 97674864.5434835404], [48495465.1724641472, 97589803.7004051358], [48495255.0023037791, 97589687.6779772192], [48463890.2740629762, 97571878.5506059825], [48463481.7801533639, 97571633.5591083765], [48427142.8537361175, 97548645.3729395866], [48426929.0687510371, 97548506.2828167081], [48275057.8482883275, 97446917.9012579471], [48274656.3144421279, 97446634.7904681563], [48157214.7420303226, 97359433.2035443187], [48156827.5979905576, 97359130.7128148526], [48043051.7722476125, 97265642.5102612972], [48042679.9525070041, 97265321.3697477728], [47934360.6023929715, 97167017.9716191441], [47934005.0044542849, 97166678.9564941972], [47829950.5129525959, 97062478.9308776110], [47829611.9951622188, 97062122.8594598621], [47731460.0861930251, 96953666.2208513469], [47731139.4656690955, 96953293.9526300728], [47637810.3738447726, 96839387.5737062693], [47637508.4245047867, 96839000.0072667748], [47550471.0656213909, 96721436.6717781574], [47550188.5163141340, 96721034.7426327765], [47468485.3957235664, 96598521.1408330500], [47468222.9284698218, 96598105.8191629648], [47393139.9796577990, 96472570.2047328353], [47392898.2280040085, 96472142.4930462688], [47306263.7271687537, 96309675.0321789682], [47306150.8040416390, 96309456.8516087234], [47289237.5137697905, 96275771.1100320518], [47289031.5928966552, 96275335.0716016740], [47271901.0800927579, 96236673.5474739522], [47271800.5965525061, 96236438.7154785693], [47201980.1462292522, 96067327.3216641992], [47201803.6429397911, 96066868.1034110188], [47152632.6934743673, 95928894.5760009289], [47152478.9891244620, 95928427.2326709628], [47109869.1416991949, 95787260.6637554765], [47109738.6083068997, 95786786.3264822960], [47074360.7811173201, 95644649.4703170061], [47074253.7346188724, 95644169.2871619314], [47045718.9695682079, 95499499.4338393807], [47045635.6690534055, 95499014.5670128465], [47024393.2635278702, 95354089.6321507394], [47024333.9106129557, 95353601.2551992685], [47006599.5850878209, 95170084.5125245750], [47006578.9361470342, 95169839.3768864423], [47002427.0658234209, 95112061.5056166202], [47002408.1515407562, 95111713.6128238440], [47002082.9020349979, 95102901.6988235116], [47002078.8741648793, 95102768.5005481690], [46999634.5343207121, 94999070.8736622036], [46999632.4516009092, 94998953.0555665493], [46999218.6942720711, 94963842.0522447973], [46999218.0000000000, 94963724.2177873105], [46999218.0000000000, 90037210.8253765702], [46999218.6813745797, 90037094.0905178785], [46999624.7528580576, 90002310.6659834832], [46999626.7968889177, 90002193.9470328093], [47002079.2439773828, 89897171.9427270740], [47002082.6503860056, 89897055.2555903047], [47002229.3591848612, 89892867.8321722895], [47002245.7239958942, 89892547.5803949684], [47006194.0007274896, 89833785.0923246592], [47006212.6967799813, 89833548.7564695626], [47020974.3648680151, 89671417.9802671969], [47021024.0245077908, 89670979.7953899056], [47038685.2526676208, 89540854.1599207371], [47038754.1828316599, 89540418.5905244499], [47062292.2483189553, 89410330.4607321173], [47062380.3149573654, 89409898.3538776040], [47091435.7545199394, 89281834.3799494058], [47091542.7863676697, 89281406.5759638399], [47142021.1288547218, 89097013.7623902857], [47141941.8083202839, 89096889.9253132045], [47141497.2226921767, 89096018.6514444649], [47141139.8854443282, 89095108.1106016785], [47140873.2154885530, 89094167.0146077573], [47140699.7642550617, 89093204.3676295280], [47140621.1912810951, 89092229.3800281584], [47140638.2483328581, 89091251.3802367002], [47140750.7722128183, 89090279.7255081534], [47140957.6863211393, 89089323.7123875022], [47185908.5646375567, 88921748.6398820430], [47233844.1251074225, 88631363.4323632568], [47252998.4514729530, 88337672.2706218809], [47243185.9543360770, 88043520.7763144523], [47204501.7085849494, 87751759.0313340127], [47137264.2581629306, 87464973.9396095574], [47112925.0226271451, 87380181.5688745975], [47112800.9791783988, 87379705.5829256028], [47099819.3853847533, 87324346.5318751931], [47099766.4885488451, 87324107.8699862808], [47054811.7889102101, 87108858.9310733378], [47054764.7416197062, 87108619.0475079715], [47043814.4658838809, 87048932.1951428205], [47043735.7617570907, 87048432.2209081054], [47035044.3006604463, 86982376.3300135732], [47035013.5572541058, 86982116.4241182655], [47010422.5976769775, 86747999.4658015221], [47010398.6664183736, 86747738.8443781734], [47004324.9535027444, 86670506.7244265378], [47004301.8661916107, 86670114.8978754431], [47002812.5926832408, 86632169.4893639386], [47002808.3177718669, 86632038.7541471720], [46999730.9780258089, 86514372.0310332775], [46999728.4135267437, 86514241.2510840744], [46999219.1315580159, 86475267.1736189425], [46999218.2779100835, 86475136.3713137209], [46999394.9190280735, 73990318.7923707217], [46984989.1405179948, 73697000.4013537169], [46941938.3039559573, 73406749.5945891142], [46870644.9631860256, 73122116.2077245563], [46771795.7244114280, 72845841.4652130157], [46646342.5769734383, 72580586.0917440951], [46495493.7250091136, 72328904.6875500530], [46320701.9515744597, 72093221.1257646382], [46123650.6272991747, 71875805.2087819874], [45906237.4983136207, 71678750.8084227741], [45670556.4095888138, 71503955.7004429400], [45418877.1397010237, 71353103.2875858843], [45153623.5412292331, 71227646.3872016668], [44877350.1973112524, 71128793.2395709306], [44592717.8191670477, 71057495.8716800213], [44302467.6215353310, 71014440.9285162985], [44009149.4343674332, 71000031.0000000000], [11036926.3871387392, 71000031.0000000000], [11036680.9748535156, 71000027.9881869555], [10963581.2254746854, 70998233.4900632054], [10963335.9610166401, 70998224.4564383030], [10828623.3058315367, 70991606.4480649680], [10828133.8111715168, 70991570.3407696337], [10682704.5214908421, 70977246.8059397489], [10682217.3881495744, 70977186.7237726748], [10585231.9559861124, 70962800.2939158827], [10584748.3575105071, 70962716.3816202730], [10441423.3015331328, 70934207.2554309964], [10440944.4029542655, 70934099.7151589096], [10345836.0988694578, 70910276.3251797557], [10345363.0538959354, 70910145.4160051346], [10205522.5302599967, 70867725.2569262534], [10205056.4784986228, 70867571.2942207605], [10112741.2474523634, 70834540.3763879389], [10112283.3116626441, 70834363.7310612202], [9977274.0610558093, 70778441.0684140325], [9976825.3444451541, 70778242.1660201550], [9888192.2325772047, 70736321.8261289895], [9887753.8161432445, 70736101.1458412409], [9758876.0514519513, 70667214.5454372913], [9758448.9913782775, 70666972.6188938022], [9674351.5840077698, 70616566.5727334619], [9673936.9091195017, 70616303.9827564806], [9552431.7936696112, 70535116.8602149487], [9552030.5029548854, 70534834.2394067347], [9473278.7040870488, 70476427.9247564971], [9472891.7642903477, 70476125.9539753199], [9359929.4587651640, 70383420.1856677085], [9359557.8020583242, 70383099.5923876315], [9286910.0345660448, 70317255.4939854443], [9286554.5563026518, 70316917.0505437553], [9183222.9494562596, 70213585.4436973631], [9182884.5060145706, 70213229.9654339701], [9117040.4076123387, 70140582.1979416460], [9116719.8143322617, 70140210.5412348062], [9024014.0460247695, 70027248.2357097715], [9023712.0752435923, 70026861.2959130704], [8965305.7605932504, 69948109.4970450997], [8965023.1397850364, 69947708.2063303739], [8883836.0172435343, 69826203.0908805281], [8883573.4272665530, 69825788.4159922600], [8833167.3811062127, 69741691.0086217523], [8832925.4545627236, 69741263.9485480785], [8764038.8541587740, 69612386.1838567853], [8763818.1738710254, 69611947.7674228251], [8721897.8339798003, 69523314.6555547565], [8721698.9315859228, 69522865.9389441013], [8665776.2689387947, 69387856.6883374006], [8665599.6236120760, 69387398.7525476813], [8632568.7057792991, 69295083.5215015560], [8632414.7430738062, 69294617.4697401822], [8589994.5839947909, 69154776.9461037964], [8589863.6748201698, 69154303.9011302739], [8566040.2848411500, 69059195.5970459878], [8565932.7445690632, 69058716.6984671205], [8537423.6183797419, 68915391.6424895227], [8537339.7060841322, 68914908.0440139174], [8522953.2762273252, 68817922.6118504703], [8522893.1940602511, 68817435.4785092026], [8508569.6592303663, 68672006.1888285428], [8508533.5519350320, 68671516.6941685230], [8501915.5435616970, 68536804.0389833599], [8501906.5099367946, 68536558.7745253146], [8501015.8279369473, 68500276.4122852236], [8501015.8279369473, 68499785.5877147764], [8501906.5099367946, 68463503.2254746854], [8501915.5435616970, 68463257.9610166401], [8508533.5519350320, 68328545.3058315367], [8508569.6592303663, 68328055.8111715168], [8522893.1940602511, 68182626.5214908421], [8522953.2762273252, 68182139.3881495744], [8537339.7060841024, 68085153.9559862167], [8537423.6183797121, 68084670.3575106114], [8565932.7445690632, 67941345.3015329242], [8566040.2848411500, 67940866.4029540569], [8589863.6748202592, 67845758.0988694131], [8589994.5839948803, 67845285.0538958907], [8632414.7430737019, 67705444.5302601159], [8632568.7057791948, 67704978.4784987420], [8665599.6236120611, 67612663.2474523485], [8665776.2689387798, 67612205.3116626292], [8721698.9315859675, 67477196.0610557944], [8721897.8339798450, 67476747.3444451392], [8763818.1738710105, 67388114.2325771898], [8764038.8541587591, 67387675.8161432296], [8832925.4545627087, 67258798.0514519364], [8833167.3811061978, 67258370.9913782626], [8883573.4272665381, 67174273.5840077549], [8883836.0172435194, 67173858.9091194868], [8965023.1397850364, 67052353.7936696187], [8965305.7605932504, 67051952.5029548854], [9023712.0752435774, 66973200.7040869221], [9024014.0460247546, 66972813.7642902136], [9116719.8143321872, 66859851.4587652758], [9117040.4076122642, 66859479.8020584434], [9182884.5060144216, 66786832.0345661864], [9183222.9494561106, 66786476.5563027933], [9286554.5563028157, 66683144.9494560808], [9286910.0345662087, 66682806.5060143918], [9359557.8020583987, 66616962.4076123014], [9359929.4587652236, 66616641.8143322244], [9472891.7642901242, 66523936.0460248291], [9473278.7040868402, 66523634.0752436519], [9552030.5029549599, 66465227.7605932057], [9552431.7936696857, 66464945.1397849843], [9673936.9091194868, 66383758.0172435120], [9674351.5840077549, 66383495.4272665381], [9758448.9913782626, 66333089.3811061978], [9758876.0514519364, 66332847.4545627162], [9887753.8161432296, 66263960.8541587815], [9888192.2325771898, 66263740.1738710254], [9976825.3444451541, 66221819.8339798525], [9977274.0610558093, 66221620.9315859750], [10112283.3116627932, 66165698.2689387277], [10112741.2474525124, 66165521.6236120164], [10205056.4784985483, 66132490.7057792693], [10205522.5302599221, 66132336.7430737764], [10345363.0538958162, 66089916.5839949101], [10345836.0988693386, 66089785.6748202816], [10440944.4029541761, 66065962.2848411277], [10441423.3015330434, 66065854.7445690408], [10584748.3575104475, 66037345.6183797494], [10585231.9559860528, 66037261.7060841396], [10682217.3881496787, 66022875.2762273178], [10682704.5214909464, 66022815.1940602437], [10828133.8111715913, 66008491.6592303589], [10828623.3058316112, 66008455.5519350246], [10963356.7729024440, 66001836.5211393163], [10963601.8985100091, 66001827.4909239635], [11036660.2767883241, 66000032.9930670410], [11036905.5501393825, 66000029.9778483063], [44009055.5757331997, 65999114.0621231273], [44302365.5586939901, 65984696.7545088008], [44592606.9886415750, 65941636.0379679948], [44877230.2622676641, 65870334.5297282115], [45153494.3987261653, 65771478.8780241162], [45418738.9173858911, 65646021.0831768885], [45670409.4588088691, 65495169.3296344504], [45906082.3837582767, 65320376.3509060815], [46123488.1133445203, 65123325.4394389763], [46320532.9855381846, 64905914.2361645848], [46495319.4175668806, 64670236.4558255076], [46646164.1800297499, 64418561.7240693718], [46771614.6067429632, 64153313.7204869390], [46870462.5842151642, 63877046.8380768001], [46941756.1860297322, 63592421.5839139745], [46984808.8400924206, 63302178.9579178765], [46999218.0000000000, 63008868.5745796412], [46999218.0000000000, 50524646.4904387146], [46999218.8403335512, 50524516.8526162952], [46999719.6369057447, 50485889.6619367450], [46999722.1577651948, 50485760.0459021330], [47002746.5959778726, 50369139.9240154475], [47002750.7969395220, 50369010.3515527770], [47004227.7708600461, 50331053.6357848942], [47004250.7053980827, 50330662.0751456991], [47010331.3543816209, 50252981.3175925687], [47010355.2838199586, 50252719.8022447154], [47034965.4826166779, 50017800.8962433636], [47034996.2708106935, 50017540.0994215086], [47043628.2181754261, 49951842.7283253297], [47043707.5285324901, 49951338.9321533665], [47054728.8457455486, 49891333.2994869351], [47054776.5520283580, 49891090.5077612624], [47100387.8488543183, 49673242.6255432442], [47100441.5475726128, 49673001.0884671509], [47113791.0985998958, 49616276.7558286116], [47113914.9398372173, 49615802.8924187273], [47137860.1104074419, 49532567.9613426030], [47202707.3453868032, 49259573.4230839685], [47241667.7321743071, 48981937.7623034269], [47254453.0011458844, 48701873.4683043361], [47240950.7460880876, 48421842.8253666610], [47201279.6768510491, 48144307.8219140097], [47135733.7265876830, 47871480.2019643560], [47102831.6311956942, 47758202.7861117125], [47102703.7775095403, 47757717.4485300556], [47068277.5552672595, 47612314.4085399657], [47068174.2138178498, 47611823.2673402503], [47034077.8448339850, 47426853.2376079857], [47034035.4499778450, 47426605.8767841682], [47029560.1720511019, 47398370.4102309942], [47029488.1644319594, 47397816.4168190956], [47021890.2895115316, 47323082.9921458513], [47021860.8094006479, 47322731.5295118168], [47002487.5463601649, 47029831.5341563895], [47002471.1956556886, 47029501.7205931917], [46999223.4522165954, 46931190.6287638843], [46999218.0000000000, 46930860.4551650956], [46999218.0000000000, 42041202.3296497241], [46999219.1351917982, 42041051.6560047194], [46999895.6324414909, 41996158.5723956823], [46999899.0377591550, 41996007.9329593778], [47003984.3366189152, 41860486.3051488772], [47003990.0112892985, 41860335.7341222018], [47004513.1931133419, 41848769.7733999044], [47004536.9744788259, 41848397.7793971077], [47009524.3785834610, 41788067.8763613626], [47009548.9546160251, 41787811.0043572038], [47028703.3054133952, 41611617.0945553258], [47028766.6348268241, 41611141.1880829409], [47051018.4243942946, 41469937.6882192418], [47051104.5225850791, 41469465.3698026985], [47080302.6836101711, 41328552.6493918896], [47080411.3521240652, 41328085.0077137277], [47116099.4990740865, 41189665.6207767278], [47116230.4874327928, 41189203.7337397337], [47158805.1213325113, 41051739.8187326491], [47158958.1276110262, 41051284.7509752735], [47207753.7802841663, 40916924.9549313784], [47207928.4518067092, 40916477.7553738281], [47263487.2507646531, 40783729.3194535971], [47263683.1849175692, 40783291.0188800395], [47325136.7113565505, 40654228.8842284828], [47325353.4565163851, 40653800.4929111600], [47410414.2995948493, 40495247.1724641696], [47410530.3220227659, 40495037.0023038164], [47427860.1082826108, 40464516.4706022367], [47428108.5595407784, 40464102.5115361661], [47452152.1724115759, 40426149.5610861629], [47452295.0125333816, 40425930.4780018255], [47556779.4338670522, 40270166.8023151830], [47557070.8077652007, 40269755.2494413927], [47646878.6737101972, 40149456.0581253096], [47647190.4233834147, 40149059.7165331095], [47743591.4278042167, 40032664.1856970564], [47743922.7605525106, 40032284.0631821230], [47845387.2506130487, 39921639.1108630896], [47845737.3239416927, 39921276.1739801094], [47953368.3808122426, 39815178.9127106071], [47953736.3045739681, 39814834.0843155831], [48065826.0814081430, 39714968.0232828259], [48066210.9200665802, 39714642.1801864952], [48183978.0118834674, 39619921.6156984195], [48184378.7868919820, 39619615.5864367336], [48305954.5122699887, 39531543.5067761540], [48306370.2045598626, 39531258.0695035458], [48433076.2859394997, 39448876.9904053286], [48433505.8385111839, 39448612.8709160388], [48563331.7541359961, 39373229.9826116562], [48563774.0747467428, 39372987.8524942324], [48731768.6365012378, 39286457.7870347574], [48731994.2345403582, 39286345.1626169086], [48769759.5728743374, 39268082.8342642561], [48770190.3226787597, 39267886.9706240520], [48803883.9033252448, 39253518.3824859783], [48804105.5423818678, 39253426.9890071526], [48963239.6788454354, 39190028.6838421896], [48963671.5600244552, 39189868.0520522818], [49093337.0315702856, 39145013.5679246262], [49093775.8539823145, 39144873.0018710494], [49226253.6085727364, 39105778.5883023888], [49226698.4404928088, 39105658.3864404932], [49359941.7637057006, 39072928.0323822051], [49360391.6606492251, 39072828.4499293193], [49495905.2030344754, 39046092.5477789789], [49496359.2097626030, 39046013.7961724550], [49632049.3555094898, 39025685.4021196440], [49632506.5080573261, 39025627.6485679969], [49804296.3655517995, 39007935.3634130806], [49804525.8183864206, 39007914.4009773582], [49854174.2202117443, 39003954.7802861407], [49854529.5210686922, 39003932.8001031950], [49872681.8692708611, 39003133.8556474596], [49872838.8968987763, 39003128.1800354421], [49997622.3316213340, 38999599.3976752833], [49997763.6572607458, 38999596.4005870894], [50039880.7880596370, 38999000.9990959466], [50040022.1419442743, 38999000.0000000000], [58009863.5137788951, 38999000.0000000000], [58303179.0675021708, 38984590.3308571875], [58593426.7100457847, 38941536.1601698101], [58878056.6841679215, 38870240.0631726235], [59154327.8476228863, 38771388.6602542102], [59419579.5580817610, 38645933.9444622472], [59671257.2965711802, 38495084.1132904515], [59906937.2688886970, 38320291.9330757931], [60124349.7480649576, 38123240.7480649576], [60321400.9330757931, 37905828.2688886970], [60496193.1132904440, 37670148.2965711951], [60647042.9444622472, 37418470.5580817536], [60772497.6602542102, 37153218.8476228938], [60871349.0631726235, 36876947.6841679215], [60942645.1601698101, 36592317.7100457773], [60985699.3308571875, 36302070.0675021708], [61000109.0000000000, 36008754.5137788802], [61000109.0000000000, 16036848.3871387467], [61000112.0118130371, 16036602.9748535175], [61001906.5099368021, 15963503.2254743762], [61001915.5435617119, 15963257.9610163309], [61008533.5519350171, 15828545.3058316540], [61008569.6592303514, 15828055.8111716323], [61022893.1940602511, 15682626.5214908123], [61022953.2762273252, 15682139.3881495558], [61037339.7060841098, 15585153.9559861813], [61037423.6183797196, 15584670.3575105723], [61065932.7445690408, 15441345.3015330378], [61066040.2848411277, 15440866.4029541686], [61089863.6748202592, 15345758.0988694094], [61089994.5839948878, 15345285.0538958963], [61132414.7430737913, 15205444.5302598830], [61132568.7057792842, 15204978.4784985054], [61165599.6236120015, 15112663.2474525440], [61165776.2689387128, 15112205.3116628155], [61221698.9315859899, 14977196.0610557329], [61221897.8339798674, 14976747.3444450796], [61263818.1738710552, 14888114.2325771060], [61264038.8541588113, 14887675.8161431495], [61332925.4545626566, 14758798.0514520425], [61333167.3811061382, 14758370.9913783707], [61383573.4272665754, 14674273.5840076972], [61383836.0172435492, 14673858.9091194328], [61465023.1397850215, 14552353.7936696354], [61465305.7605932429, 14551952.5029549077], [61523712.0752435476, 14473200.7040869799], [61524014.0460247248, 14472813.7642902676], [61616719.8143322915, 14359851.4587651528], [61617040.4076123685, 14359479.8020583186], [61682884.5060143992, 14286832.0345662162], [61683222.9494560808, 14286476.5563028213], [61786554.5563028157, 14183144.9494560845], [61786910.0345662162, 14182806.5060144011], [61859557.8020582721, 14116962.4076124169], [61859929.4587651044, 14116641.8143323381], [61972891.7642902210, 14023936.0460247677], [61973278.7040869296, 14023634.0752435885], [62052030.5029549226, 13965227.7605932318], [62052431.7936696559, 13964945.1397850122], [62173936.9091194496, 13883758.0172435418], [62174351.5840077102, 13883495.4272665661], [62258448.9913782403, 13833089.3811062165], [62258876.0514519140, 13832847.4545627348], [62387753.8161433041, 13763960.8541587405], [62388192.2325772643, 13763740.1738709901], [62476825.3444450870, 13721819.8339798748], [62477274.0610557348, 13721620.9315859955], [62612283.3116627857, 13665698.2689387258], [62612741.2474525124, 13665521.6236120090], [62705056.4784985930, 13632490.7057792488], [62705522.5302599743, 13632336.7430737577], [62845363.0538958609, 13589916.5839948989], [62845836.0988693759, 13589785.6748202741], [62940944.4029541165, 13565962.2848411370], [62941423.3015329838, 13565854.7445690501], [63084748.3575105518, 13537345.6183797289], [63085231.9559861571, 13537261.7060841136], [63182217.3881496564, 13522875.2762273084], [63182704.5214909166, 13522815.1940602344], [63328133.8111715242, 13508491.6592303570], [63328623.3058315441, 13508455.5519350283], [63426551.8433445022, 13503644.6313844845], [63427042.5200877786, 13503632.5859465357], [63573175.4799121991, 13503632.5859465338], [63573666.1566554755, 13503644.6313844826], [63671594.6941684261, 13508455.5519350246], [63672084.1888284460, 13508491.6592303533], [63817513.4785091057, 13522815.1940602362], [63818000.6118503660, 13522875.2762273103], [63914986.0440138355, 13537261.7060841117], [63915469.6424894407, 13537345.6183797270], [64058794.6984670162, 13565854.7445690501], [64059273.5970458835, 13565962.2848411370], [64154381.9011306241, 13589785.6748202723], [64154854.9461041391, 13589916.5839948971], [64294695.4697400108, 13632336.7430737521], [64295161.5215013921, 13632490.7057792433], [64387476.7525474802, 13665521.6236120053], [64387934.6883372068, 13665698.2689387221], [64522943.9389442354, 13721620.9315859824], [64523392.6555548832, 13721819.8339798618], [64612025.7674227059, 13763740.1738709752], [64612464.1838566661, 13763960.8541587256], [64741341.9485480785, 13832847.4545627311], [64741769.0086217523, 13833089.3811062127], [64825866.4159922972, 13883495.4272665698], [64826281.0908805579, 13883758.0172435455], [64947786.2063303813, 13964945.1397850346], [64948187.4970451146, 13965227.7605932541], [65026939.2959129959, 14023634.0752435196], [65027326.2357097045, 14023936.0460246988], [65140288.5412348658, 14116641.8143323064], [65140660.1979416981, 14116962.4076123852], [65213307.9654337913, 14182806.5060144085], [65213663.4436971918, 14183144.9494560920], [65316995.0505438745, 14286476.5563027747], [65317333.4939855561, 14286832.0345661696], [65383177.5923876166, 14359479.8020583056], [65383498.1856676936, 14359851.4587651398], [65476203.9539753124, 14472813.7642903123], [65476505.9247564897, 14473200.7040870246], [65534912.2394067273, 14551952.5029548611], [65535194.8602149487, 14552353.7936695889], [65616381.9827564433, 14673858.9091194272], [65616644.5727334172, 14674273.5840076916], [65667050.6188938469, 14758370.9913783465], [65667292.5454373285, 14758798.0514520183], [65736179.1458412558, 14887675.8161432873], [65736399.8261290118, 14888114.2325772457], [65778320.1660201102, 14976747.3444450460], [65778519.0684139878, 14977196.0610556975], [65834441.7310612723, 15112205.3116627857], [65834618.3763879836, 15112663.2474525142], [65867649.2942207307, 15204978.4784985483], [65867803.2569262236, 15205444.5302599259], [65910223.4160050899, 15345285.0538958367], [65910354.3251797184, 15345758.0988693479], [65934177.7151588723, 15440866.4029541686], [65934285.2554309592, 15441345.3015330397], [65962794.3816202506, 15584670.3575104494], [65962878.2939158604, 15585153.9559860583], [65977264.7237726822, 15682139.3881496619], [65977324.8059397563, 15682626.5214909185], [65991648.3407696411, 15828055.8111716043], [65991684.4480649754, 15828545.3058316261], [65998302.4564382955, 15963257.9610165562], [65998311.4900632054, 15963503.2254746016], [66000107.5890194550, 16036668.1855396368], [66000110.6008230373, 16036913.1630213540], [66000978.9891515151, 36008884.5268269107], [66015400.6143136397, 36302191.3608045653], [66058465.0307972655, 36592429.2789932862], [66129769.5976414382, 36877048.7650948763], [66228627.6508738250, 37153308.9294919893], [66354087.1860641316, 37418549.3829516023], [66504940.0261400640, 37670215.8562105075], [66679733.4561496004, 37905884.7976243049], [66876784.2129258811, 38123286.7120029703], [67094194.6949351206, 38320328.0158813894], [67329871.2362058461, 38495111.1987573579], [67581544.2683613449, 38645953.0961441025], [67846790.1765948832, 38771401.0984677598], [68123054.6391136646, 38870247.1397177279], [68407677.2252938151, 38941539.3311393037], [68697917.0156642050, 38984591.1279356405], [68991224.4764218479, 38999000.0000000000], [76955796.1788692921, 38999000.0000000000], [76955968.3115910143, 38999001.4815934524], [77007252.4375722259, 38999884.3800217509], [77007424.5192878097, 38999888.8243630752], [77162217.7555582225, 39005220.1903679743], [77162389.7352766395, 39005227.5961402357], [77182082.0554139912, 39006245.4591821656], [77182463.6606695950, 39006272.5112065673], [77236081.4609038234, 39011105.8329117596], [77236326.4515427649, 39011130.9622332752], [77403698.6169502586, 39030384.2207395658], [77404151.0026406348, 39030446.7567975223], [77538395.6820456088, 39052138.9084605277], [77538844.7407805026, 39052222.0338118300], [77672852.8859936595, 39080207.4207600206], [77673297.6812000871, 39080310.9620354623], [77805003.9564188421, 39114158.2730114460], [77805443.5604160726, 39114282.0142616481], [77936340.2282020152, 39154374.7471275926], [77936773.7241362631, 39154518.4302733764], [78064843.4028295279, 39200238.6751516312], [78065269.8865861893, 39200402.0005223006], [78191963.6352683902, 39252267.7783622369], [78192382.2173576951, 39252450.4053205699], [78315747.4298297167, 39309662.3598762453], [78316157.2372419238, 39309863.9075289294], [78467985.9320814908, 39388890.4103066847], [78468187.2774232328, 39388998.1495505273], [78495064.4482931644, 39403777.2405951917], [78495477.1125928164, 39404017.1557918042], [78536790.7703489661, 39429374.3926568776], [78537016.9828915894, 39429517.4385201633], [78698071.7026541531, 39534403.7818764225], [78698497.1819403470, 39534696.7987901643], [78822866.9916200340, 39625170.7877500728], [78823276.7704663277, 39625485.3872285411], [78943610.9109163582, 39722911.5771443695], [78944003.8956577033, 39723246.9195481837], [79058377.8205768019, 39826067.1390418857], [79058752.9623701870, 39826422.3293705583], [79168395.6204392165, 39935741.3824715912], [79168751.9180629551, 39936115.4727522060], [79271909.7556250095, 40050184.9813318849], [79272246.2581509054, 40050576.9731491357], [79370027.7069442868, 40170622.6149327010], [79370343.5162755847, 40171031.4620936289], [79461184.7231418192, 40295133.3048405647], [79461478.9964101315, 40295557.9161667004], [79546356.0507984757, 40425049.4351082817], [79546628.0026133657, 40425488.6773479432], [79624183.4358908534, 40558298.8690019920], [79624432.3404359519, 40558751.5698548183], [79713292.9820690155, 40730748.1563130245], [79713408.5815676451, 40730979.1774661094], [79732496.4036975652, 40770389.4071524963], [79732694.9601567984, 40770825.7211474702], [79746699.6175139546, 40803665.9033250809], [79746791.0109927654, 40803887.5423816964], [79810189.3161578178, 40963021.6788454354], [79810349.9479477108, 40963453.5600244552], [79855204.4320753366, 41093119.0315701887], [79855344.9981289208, 41093557.8539822176], [79894439.4116975963, 41226035.6085727215], [79894559.6135594994, 41226480.4404927939], [79927289.9676177800, 41359723.7637056336], [79927389.5500706583, 41360173.6606491581], [79954125.4522210360, 41495687.2030345723], [79954204.2038275599, 41496141.2097627074], [79974532.5978803635, 41631831.3555095270], [79974590.3514319956, 41632288.5080573559], [79992282.6365869045, 41804078.3655515611], [79992303.5990226269, 41804307.8183861822], [79996263.2197138667, 41853956.2202118710], [79996285.1998968124, 41854311.5210688189], [79997084.1443525404, 41872463.8692708984], [79997089.8199645579, 41872620.8968988061], [80000618.6023247242, 41997404.3316213191], [80000621.5994129181, 41997545.6572607383], [80001217.0009040534, 42039662.7880596295], [80001218.0000000000, 42039804.1419442669], [80001218.0000000000, 46930860.4551649764], [80001212.5477834046, 46931190.6287637651], [79997964.8043442965, 47029501.7205931470], [79997948.4536398351, 47029831.5341563448], [79978352.5631210804, 47326097.3841546476], [79978325.3317582607, 47326426.4780392498], [79971994.9683739692, 47390115.1203653291], [79971924.1333449185, 47390669.7418828905], [79965805.4200069904, 47429831.2285705060], [79965759.6038126796, 47430100.3300380930], [79932261.7861821651, 47611823.2673401907], [79932158.4447327554, 47612314.4085399061], [79897732.2224904001, 47757717.4485302642], [79897604.3688042462, 47758202.7861119211], [79865112.4529657364, 47870068.0098443180], [79799846.9715697467, 48141430.3932979107], [79760180.1675841510, 48417461.8381174058], [79746402.4777979851, 48695988.2984973341], [79758633.7504056245, 48974586.9521873742], [79796767.5890547335, 49250834.3489488289], [79860525.6303755343, 49522554.8641522080], [79866577.4923992306, 49543830.8403613195], [79866659.9314469695, 49544139.2935474440], [79886998.2072813958, 49625416.9101131409], [79887065.3717068732, 49625703.1204373762], [79943677.6073359698, 49883957.6858475208], [79943736.3294808865, 49884245.7468123212], [79957262.6737657636, 49955970.3748758882], [79957350.4670377374, 49956519.2753253281], [79965393.4680270851, 50017657.5603401735], [79965424.2292709053, 50017917.6931003407], [79990025.8713487089, 50252238.9353840873], [79990049.8085697889, 50252499.7846058160], [79996126.3721714467, 50329835.6572727114], [79996149.4313662052, 50330227.4500539154], [79997635.8957824558, 50368163.9058406875], [79997640.1553805321, 50368294.3786428124], [80000706.8046727926, 50485724.9091596082], [80000709.3607220352, 50485855.4264491946], [80001217.1479351819, 50524751.2249937505], [80001218.0000000000, 50524881.7645289674], [80001218.0000000000, 63009785.5137788802]]);
}
translate(v = [0, 0, -3000000]) {
linear_extrude(convexity = 10, height = 9000000) {
polygon(paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412]], points = [[76001218.0000000000, 94001000.0000000000], [50999218.0000000000, 94001000.0000000000], [50999218.0000000000, 91000000.0000000000], [53708918.0000000000, 91000000.0000000000], [53757765.6668304652, 90998806.2401913702], [53835465.6668304652, 90995006.2401913702], [53933634.0216996372, 90985334.1109089404], [54010334.0216996372, 90973934.1109089404], [54105853.6250363290, 90954942.5001453310], [54181053.6250363290, 90936142.5001453310], [54275181.2285776734, 90907625.1220754832], [54348181.2285776734, 90881525.1220754832], [54439548.9236951321, 90843664.0888864100], [54509648.9236951321, 90810464.0888864100], [54595164.6770586520, 90764761.6589045376], [54661664.6770586520, 90724961.6589045376], [54744394.4753475040, 90669679.1507925242], [54806594.4753475040, 90623479.1507925242], [54881771.0828299671, 90561747.0683823973], [54939271.0828299671, 90509647.0683823973], [55008925.3986293077, 90439986.4935317785], [55060925.3986293077, 90382586.4935317785], [55123055.3204999268, 90306859.1365505010], [55169255.3204999268, 90244559.1365505010], [55223510.9257125407, 90163395.7554275244], [55263410.9257125407, 90096895.7554275244], [55310180.4818124324, 90009377.0063907504], [55343280.4818124324, 89939277.0063907504], [55380643.1220754832, 89848963.2285776734], [55406743.1220754832, 89775963.2285776734], [55434956.2870173603, 89683049.2503274977], [55453856.2870173603, 89607849.2503274977], [55473152.1109089404, 89511116.0216996372], [55484552.1109089404, 89434416.0216996372], [55494221.1670332253, 89336310.4643650353], [55498021.1670332253, 89258710.4643650353], [55499218.0000000000, 89209800.0000000000], [55499218.0000000000, 87791200.0000000000], [55498021.1670332253, 87742289.5356349647], [55494221.1670332253, 87664689.5356349647], [55484552.1109089404, 87566583.9783003628], [55473152.1109089404, 87489883.9783003628], [55453856.2870173603, 87393150.7496725023], [55434956.2870173603, 87317950.7496725023], [55406743.1220754832, 87225036.7714223266], [55380643.1220754832, 87152036.7714223266], [55343280.4818124324, 87061722.9936092496], [55310180.4818124324, 86991622.9936092496], [55263410.9257125407, 86904104.2445724756], [55223510.9257125407, 86837604.2445724756], [55169255.3204999268, 86756440.8634494990], [55123055.3204999268, 86694140.8634494990], [55060925.3986293077, 86618413.5064682215], [55008925.3986293077, 86561013.5064682215], [54939271.0828299671, 86491352.9316176027], [54881771.0828299671, 86439252.9316176027], [54806594.4753475040, 86377520.8492074758], [54744394.4753475040, 86331320.8492074758], [54661664.6770586520, 86276038.3410954624], [54595164.6770586520, 86236238.3410954624], [54509648.9236951321, 86190535.9111135900], [54439548.9236951321, 86157335.9111135900], [54348181.2285776734, 86119474.8779245168], [54275181.2285776734, 86093374.8779245168], [54181053.6250363290, 86064857.4998546690], [54105853.6250363290, 86046057.4998546690], [54010334.0216996372, 86027065.8890910596], [53933634.0216996372, 86015665.8890910596], [53835465.6668304652, 86005993.7598086298], [53757765.6668304652, 86002193.7598086298], [53708918.0000000000, 86001000.0000000000], [50999224.9866165966, 86001000.0000000000], [50999404.0208394974, 73347040.1594450027], [51000798.1283358932, 73346991.5031894445], [51067757.7836503685, 73342400.8134627044], [51147857.7836503685, 73334200.8134627044], [51243699.2343947738, 73319666.3564400077], [51327999.2343947738, 73302666.3564400077], [51426936.7283679992, 73277395.9842749834], [51509036.7283679992, 73251895.9842749834], [51603386.1576699317, 73217304.2045146227], [51682486.1576699317, 73183704.2045146227], [51776789.6953798234, 73137663.4150987715], [51856789.6953798234, 73093263.4150987715], [51942728.0104375482, 73039703.9497809112], [52008828.0104375482, 72993703.9497809112], [52086683.4227729738, 72933632.5922822952], [52152083.4227729738, 72877832.5922822952], [52225659.8571476936, 72808322.6459673643], [52285059.8571476936, 72746222.6459673643], [52353005.0916774720, 72667349.6145772934], [52409005.0916774720, 72595049.6145772934], [52468757.4086635560, 72508934.6340499818], [52514057.4086635560, 72435734.6340499818], [52561840.7866848111, 72349244.7669245154], [52597240.7866848111, 72276944.7669245154], [52636655.4461099803, 72185084.3732356727], [52668455.4461099803, 72099384.3732356727], [52699746.6761221886, 71999231.7022977471], [52721046.6761221886, 71915931.7022977471], [52740675.6741729826, 71819697.2817199826], [52752875.6741729826, 71740097.2817199826], [52762987.2409383059, 71642074.0222155601], [52767587.2409383059, 71556174.0222155601], [52767751.1703002155, 71452380.4755380005], [52763151.1703002155, 71361080.4755380005], [52752368.9446420968, 71256632.6553151906], [52739068.9446420968, 71171732.6553151906], [52719181.8643313944, 71075796.2812885344], [52698981.8643313944, 70997796.2812885344], [52669756.7087444812, 70904142.8032362312], [52640156.7087444812, 70823442.8032362312], [52599001.3382072449, 70727158.8486022949], [52558701.3382072449, 70645058.8486022949], [52507968.9057946950, 70554028.8956755847], [52462268.9057946950, 70481228.8956755847], [52406138.6249619126, 70400852.0123921186], [52356838.6249619126, 70337152.0123921186], [52290935.5319819897, 70260364.3361257017], [52227935.5319819897, 70194064.3361257017], [52152083.4227729738, 70122167.4077177048], [52086683.4227729738, 70066367.4077177048], [52008828.0104375482, 70006296.0502190888], [51942728.0104375482, 69960296.0502190888], [51856789.6953798234, 69906736.5849012285], [51776789.6953798234, 69862336.5849012285], [51685287.3757047653, 69817490.7317933142], [51611287.3757047653, 69785790.7317933142], [51520097.1324268430, 69751875.7328554541], [51438197.1324268430, 69725875.7328554541], [51340222.1391196698, 69700155.1980752498], [51256022.1391196698, 69682555.1980752498], [51156102.7845180482, 69666894.5470785946], [51070602.7845180482, 69657894.5470785946], [51000798.1283358932, 69653008.4968105555], [50999218.0000000000, 69652953.3481736481], [50999218.0000000000, 50999000.0000000000], [53708918.0000000000, 50999000.0000000000], [53757765.6668304652, 50997806.2401913702], [53835465.6668304652, 50994006.2401913702], [53933634.0216996372, 50984334.1109089404], [54010334.0216996372, 50972934.1109089404], [54105853.6250363290, 50953942.5001453310], [54181053.6250363290, 50935142.5001453310], [54275181.2285776734, 50906625.1220754758], [54348181.2285776734, 50880525.1220754758], [54439548.9236951321, 50842664.0888864174], [54509648.9236951321, 50809464.0888864174], [54595164.6770586520, 50763761.6589045376], [54661664.6770586520, 50723961.6589045376], [54744394.4753475040, 50668679.1507925242], [54806594.4753475040, 50622479.1507925242], [54881771.0828299671, 50560747.0683823973], [54939271.0828299671, 50508647.0683823973], [55008925.3986293077, 50438986.4935317785], [55060925.3986293077, 50381586.4935317785], [55123055.3204999268, 50305859.1365505084], [55169255.3204999268, 50243559.1365505084], [55223510.9257125407, 50162395.7554275244], [55263410.9257125407, 50095895.7554275244], [55310180.4818124324, 50008377.0063907504], [55343280.4818124324, 49938277.0063907504], [55380643.1220754832, 49847963.2285776734], [55406743.1220754832, 49774963.2285776734], [55434956.2870173603, 49682049.2503275052], [55453856.2870173603, 49606849.2503275052], [55473152.1109089404, 49510116.0216996297], [55484552.1109089404, 49433416.0216996297], [55494221.1670332253, 49335310.4643650278], [55498021.1670332253, 49257710.4643650278], [55499218.0000000000, 49208800.0000000000], [55499218.0000000000, 47790200.0000000000], [55498021.1670332253, 47741289.5356349722], [55494221.1670332253, 47663689.5356349722], [55484552.1109089404, 47565583.9783003703], [55473152.1109089404, 47488883.9783003703], [55453856.2870173603, 47392150.7496724948], [55434956.2870173603, 47316950.7496724948], [55406743.1220754832, 47224036.7714223266], [55380643.1220754832, 47151036.7714223266], [55343280.4818124324, 47060722.9936092496], [55310180.4818124324, 46990622.9936092496], [55263410.9257125407, 46903104.2445724756], [55223510.9257125407, 46836604.2445724756], [55169255.3204999268, 46755440.8634494916], [55123055.3204999268, 46693140.8634494916], [55060925.3986293077, 46617413.5064682215], [55008925.3986293077, 46560013.5064682215], [54939271.0828299671, 46490352.9316176027], [54881771.0828299671, 46438252.9316176027], [54806594.4753475040, 46376520.8492074758], [54744394.4753475040, 46330320.8492074758], [54661664.6770586520, 46275038.3410954624], [54595164.6770586520, 46235238.3410954624], [54509648.9236951321, 46189535.9111135826], [54439548.9236951321, 46156335.9111135826], [54348181.2285776734, 46118474.8779245242], [54275181.2285776734, 46092374.8779245242], [54181053.6250363290, 46063857.4998546690], [54105853.6250363290, 46045057.4998546690], [54010334.0216996372, 46026065.8890910596], [53933634.0216996372, 46014665.8890910596], [53835465.6668304652, 46004993.7598086298], [53757765.6668304652, 46001193.7598086298], [53708918.0000000000, 46000000.0000000000], [50999218.0000000000, 46000000.0000000000], [50999218.0000000000, 42999000.0000000000], [76001218.0000000000, 42999000.0000000000], [76001218.0000000000, 46000000.0000000000], [73291418.0000000000, 46000000.0000000000], [73242507.5356349647, 46001196.8329667747], [73164907.5356349647, 46004996.8329667747], [73066801.9783003628, 46014665.8890910596], [72990101.9783003628, 46026065.8890910596], [72894582.3749636710, 46045057.4998546690], [72819382.3749636710, 46063857.4998546690], [72725254.7714223266, 46092374.8779245242], [72652254.7714223266, 46118474.8779245242], [72560887.0763048679, 46156335.9111135826], [72490787.0763048679, 46189535.9111135826], [72405271.3229413331, 46235238.3410954624], [72338771.3229413331, 46275038.3410954624], [72256658.8634494841, 46329862.6795000732], [72194358.8634494841, 46376062.6795000732], [72117923.2884987444, 46438834.8092097491], [72060523.2884987444, 46490934.8092097491], [71992152.8092097491, 46559305.2884987444], [71940052.8092097491, 46616705.2884987444], [71877280.6795000732, 46693140.8634494916], [71831080.6795000732, 46755440.8634494916], [71776256.3410954624, 46837553.3229413405], [71736456.3410954624, 46904053.3229413405], [71690753.9111135900, 46989569.0763048679], [71657553.9111135900, 47059669.0763048679], [71619692.8779245317, 47151036.7714223266], [71593592.8779245317, 47224036.7714223266], [71565075.4998546690, 47318164.3749636635], [71546275.4998546690, 47393364.3749636635], [71527283.8890910596, 47488883.9783003703], [71515883.8890910596, 47565583.9783003703], [71506214.8329667747, 47663689.5356349722], [71502414.8329667747, 47741289.5356349722], [71501218.0000000000, 47790200.0000000000], [71501218.0000000000, 49208800.0000000000], [71502414.8329667747, 49257710.4643650278], [71506214.8329667747, 49335310.4643650278], [71515883.8890910596, 49433416.0216996297], [71527283.8890910596, 49510116.0216996297], [71546275.4998546690, 49605635.6250363365], [71565075.4998546690, 49680835.6250363365], [71593592.8779245317, 49774963.2285776734], [71619692.8779245317, 49847963.2285776734], [71657553.9111135900, 49939330.9236951321], [71690753.9111135900, 50009430.9236951321], [71736456.3410954624, 50094946.6770586595], [71776256.3410954624, 50161446.6770586595], [71831080.6795000732, 50243559.1365505084], [71877280.6795000732, 50305859.1365505084], [71940052.8092097491, 50382294.7115012556], [71992152.8092097491, 50439694.7115012556], [72060523.2884987444, 50508065.1907902509], [72117923.2884987444, 50560165.1907902509], [72194358.8634494841, 50622937.3204999268], [72256658.8634494841, 50669137.3204999268], [72338771.3229413331, 50723961.6589045376], [72405271.3229413331, 50763761.6589045376], [72490787.0763048679, 50809464.0888864174], [72560887.0763048679, 50842664.0888864174], [72652254.7714223266, 50880525.1220754758], [72725254.7714223266, 50906625.1220754758], [72819382.3749636710, 50935142.5001453310], [72894582.3749636710, 50953942.5001453310], [72990101.9783003628, 50972934.1109089404], [73066801.9783003628, 50984334.1109089404], [73164907.5356349647, 50994003.1670332253], [73242507.5356349647, 50997803.1670332253], [73291418.0000000000, 50999000.0000000000], [76001218.0000000000, 50999000.0000000000], [76001218.0000000000, 69652953.3481736481], [75999637.8716641068, 69653008.4968105555], [75929833.2154819667, 69657894.5470785946], [75844333.2154819667, 69666894.5470785946], [75744413.8608803451, 69682555.1980752498], [75660213.8608803451, 69700155.1980752498], [75562574.1392660737, 69725769.3623006791], [75480574.1392660737, 69751769.3623006791], [75389048.6242952347, 69785790.7317933142], [75315048.6242952347, 69817490.7317933142], [75223082.1848059297, 69862594.3325674236], [75143182.1848059297, 69906994.3325674236], [75054519.5874746144, 69962524.1246601939], [74984119.5874746144, 70011924.1246601939], [74907522.0263880193, 70071418.8170287758], [74846422.0263880193, 70123818.8170287758], [74772500.4680180103, 70194064.3361257017], [74709500.4680180103, 70260364.3361257017], [74643597.3750380874, 70337152.0123921186], [74594297.3750380874, 70400852.0123921186], [74538167.0942053050, 70481228.8956755847], [74492467.0942053050, 70554028.8956755847], [74442907.5842479765, 70642677.3431886882], [74404807.5842479765, 70719777.3431886882], [74363780.5538900197, 70814915.6267643273], [74331980.5538900197, 70900615.6267643273], [74300689.3238778114, 71000768.2977022529], [74279389.3238778114, 71084068.2977022529], [74259760.3258270174, 71180302.7182800174], [74247560.3258270174, 71259902.7182800174], [74237284.8296997845, 71361080.4755380005], [74232684.8296997845, 71452380.4755380005], [74232848.7590616941, 71556174.0222155601], [74237448.7590616941, 71642074.0222155601], [74247560.3258270174, 71740097.2817199826], [74259760.3258270174, 71819697.2817199826], [74280103.0999442339, 71918706.5673590600], [74303003.0999442339, 72007206.5673590600], [74334836.6290153414, 72107950.8994252980], [74365036.6290153414, 72188450.8994252980], [74403195.2133151889, 72276944.7669245154], [74438595.2133151889, 72349244.7669245154], [74486378.5913364589, 72435734.6340499818], [74531678.5913364589, 72508934.6340499818], [74590901.4780962765, 72594365.4712920785], [74646801.4780962765, 72666665.4712920785], [74715857.1934492290, 72746829.5972587913], [74775357.1934492290, 72808929.5972587913], [74846422.0263880193, 72876181.1829712242], [74907522.0263880193, 72928581.1829712242], [74984119.5874746144, 72988075.8753398061], [75054519.5874746144, 73037475.8753398061], [75143182.1848059297, 73093005.6674325764], [75223082.1848059297, 73137405.6674325764], [75315048.6242952347, 73182509.2682066858], [75389048.6242952347, 73214209.2682066858], [75480574.1392660737, 73248230.6376993209], [75562574.1392660737, 73274230.6376993209], [75660213.8608803451, 73299844.8019247502], [75744413.8608803451, 73317444.8019247502], [75844333.2154819667, 73333105.4529214054], [75929833.2154819667, 73342105.4529214054], [75999637.8716641068, 73346991.5031894445], [76001218.0000000000, 73347046.6518263519], [76001218.0000000000, 86001000.0000000000], [73291418.0000000000, 86001000.0000000000], [73242507.5356349647, 86002196.8329667747], [73164907.5356349647, 86005996.8329667747], [73066801.9783003628, 86015665.8890910596], [72990101.9783003628, 86027065.8890910596], [72894582.3749636710, 86046057.4998546690], [72819382.3749636710, 86064857.4998546690], [72725254.7714223266, 86093374.8779245168], [72652254.7714223266, 86119474.8779245168], [72560887.0763048679, 86157335.9111135900], [72490787.0763048679, 86190535.9111135900], [72405271.3229413331, 86236238.3410954624], [72338771.3229413331, 86276038.3410954624], [72256658.8634494841, 86330862.6795000732], [72194358.8634494841, 86377062.6795000732], [72117923.2884987444, 86439834.8092097491], [72060523.2884987444, 86491934.8092097491], [71992152.8092097491, 86560305.2884987444], [71940052.8092097491, 86617705.2884987444], [71877280.6795000732, 86694140.8634494990], [71831080.6795000732, 86756440.8634494990], [71776256.3410954624, 86838553.3229413480], [71736456.3410954624, 86905053.3229413480], [71690753.9111135900, 86990569.0763048679], [71657553.9111135900, 87060669.0763048679], [71619692.8779245317, 87152036.7714223266], [71593592.8779245317, 87225036.7714223266], [71565075.4998546690, 87319164.3749636710], [71546275.4998546690, 87394364.3749636710], [71527283.8890910596, 87489883.9783003628], [71515883.8890910596, 87566583.9783003628], [71506214.8329667747, 87664689.5356349647], [71502414.8329667747, 87742289.5356349647], [71501218.0000000000, 87791200.0000000000], [71501218.0000000000, 89209800.0000000000], [71502414.8329667747, 89258710.4643650353], [71506214.8329667747, 89336310.4643650353], [71515883.8890910596, 89434416.0216996372], [71527283.8890910596, 89511116.0216996372], [71546275.4998546690, 89606635.6250363290], [71565075.4998546690, 89681835.6250363290], [71593592.8779245317, 89775963.2285776734], [71619692.8779245317, 89848963.2285776734], [71657553.9111135900, 89940330.9236951321], [71690753.9111135900, 90010430.9236951321], [71736456.3410954624, 90095946.6770586520], [71776256.3410954624, 90162446.6770586520], [71831080.6795000732, 90244559.1365505010], [71877280.6795000732, 90306859.1365505010], [71940052.8092097491, 90383294.7115012556], [71992152.8092097491, 90440694.7115012556], [72060523.2884987444, 90509065.1907902509], [72117923.2884987444, 90561165.1907902509], [72194358.8634494841, 90623937.3204999268], [72256658.8634494841, 90670137.3204999268], [72338771.3229413331, 90724961.6589045376], [72405271.3229413331, 90764761.6589045376], [72490787.0763048679, 90810464.0888864100], [72560887.0763048679, 90843664.0888864100], [72652254.7714223266, 90881525.1220754832], [72725254.7714223266, 90907625.1220754832], [72819382.3749636710, 90936142.5001453310], [72894582.3749636710, 90954942.5001453310], [72990101.9783003628, 90973934.1109089404], [73066801.9783003628, 90985334.1109089404], [73164907.5356349647, 90995003.1670332253], [73242507.5356349647, 90998803.1670332253], [73291418.0000000000, 91000000.0000000000], [76001218.0000000000, 91000000.0000000000], [76001218.0000000000, 94001000.0000000000]]);
}
}
translate(v = [0, 0, 1400000]) {
linear_extrude(convexity = 10, height = 3000000) {
polygon(paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586]], points = [[77051218.0000000000, 72360100.0000000000], [77051218.0000000000, 86494800.0000000000], [77051113.6562594324, 86498028.5424638391], [77046713.6562594324, 86566028.5424638391], [77046140.9045981020, 86571000.6757042557], [77039240.9045981020, 86612500.6757042557], [77038296.3318481743, 86616930.7959997654], [77027696.3318481743, 86657530.7959997654], [77026385.5447392017, 86661771.4620653689], [77008785.5447392017, 86710871.4620653689], [77007318.5886178911, 86714508.2012302727], [76998818.5886178911, 86733408.2012302727], [76997649.0328527391, 86735832.1459885091], [76978449.0328527391, 86773032.1459885091], [76976122.9760273844, 86777066.1082422584], [76953322.9760273844, 86812666.1082422584], [76950492.5836113691, 86816643.6113301814], [76911492.5836113691, 86866143.6113301814], [76907092.3800592422, 86871029.8425266296], [76862092.3800592422, 86914829.8425266296], [76858365.6863422394, 86918112.9343763143], [76825465.6863422394, 86944312.9343763143], [76821803.2336867899, 86946967.9533755630], [76787003.2336867899, 86969867.9533755630], [76782792.2697004378, 86972352.7781038880], [76726892.2697004378, 87001752.7781038880], [76721554.0296331644, 87004172.2491529882], [76673154.0296331644, 87022772.2491529882], [76668484.0829107612, 87024307.9977203459], [76627784.0829107612, 87035507.9977203459], [76622994.7746617347, 87036576.2041084170], [76560794.7746617347, 87047276.2041084170], [76554927.6785366237, 87047931.8493342251], [76497527.6785366237, 87050931.8493342251], [76494918.0000000000, 87051000.0000000000], [73292641.4937679321, 87051000.0000000000], [73218728.0914532393, 87054619.4707318991], [73146879.9383739233, 87065298.3357267380], [73076433.0733111501, 87082910.0519924462], [73008082.2175702751, 87107347.8237025291], [72942412.8977980316, 87138449.4130953699], [72880115.8899383545, 87175733.9381001145], [72821789.5493822694, 87218987.1794113666], [72768014.7289591730, 87267796.7289591730], [72719205.1794112921, 87321571.5493823439], [72675951.9381001592, 87379897.8899382800], [72638667.4130953848, 87442194.8977980018], [72607565.8237025440, 87507864.2175702453], [72583128.0519924015, 87576215.0733112842], [72565516.3357267678, 87646661.9383737892], [72554837.4707318991, 87718510.0914533138], [72551218.0000000000, 87792423.4937679321], [72551218.0000000000, 89208576.5062320679], [72554837.4707318991, 89282489.9085466862], [72565516.3357267678, 89354338.0616262108], [72583128.0519924015, 89424784.9266887158], [72607565.8237025440, 89493135.7824297547], [72638667.4130953848, 89558805.1022019982], [72675951.9381001592, 89621102.1100617200], [72719205.1794112921, 89679428.4506176561], [72768014.7289591730, 89733203.2710408270], [72821789.5493822694, 89782012.8205886334], [72880115.8899383545, 89825266.0618998855], [72942412.8977980316, 89862550.5869046301], [73008082.2175702751, 89893652.1762974709], [73076433.0733111501, 89918089.9480075538], [73146879.9383739233, 89935701.6642732620], [73218728.0914532393, 89946380.5292681009], [73292641.4937679321, 89950000.0000000000], [76981618.0000000000, 89950000.0000000000], [76985058.1045807600, 89950118.4835788459], [76996658.1045807600, 89950918.4835788459], [77001347.3195505142, 89951465.2843968272], [77005964.0608945489, 89952451.9087070376], [77010467.1699424088, 89953869.5606637001], [77014816.5010659397, 89955705.6017702371], [77018973.2795812637, 89957943.6635526270], [77022900.4474285096, 89960563.7934857905], [77029000.4474285096, 89965063.7934857905], [77032887.7195464224, 89968244.9877941608], [77036436.1942146868, 89971800.1543549746], [77039610.0589753985, 89975693.4131733626], [77042377.2820659876, 89979885.4721082300], [77044709.9356950223, 89984334.0234222263], [77046584.4778993428, 89988994.1707665175], [77047981.9901378900, 89993818.8822904825], [77048888.3682242334, 89998759.4653037488], [77050788.3682242334, 90013159.4653037488], [77051218.0000000000, 90019700.0000000000], [77051218.0000000000, 94981400.0000000000], [77051099.5164211392, 94984840.1045807749], [77050299.5164211392, 94996440.1045807749], [77049777.7544454336, 95000975.8787031621], [77048844.4213117063, 95005445.1484097391], [77047507.2993317991, 95009810.6480672359], [77045777.5376867950, 95014035.9772970229], [77043669.5594630837, 95018085.9044885933], [77040769.5594630837, 95023085.9044885933], [77038027.2871294469, 95027308.6617958546], [77034874.2224812508, 95031234.2089108676], [77031342.3397845626, 95034822.7380586863], [77027467.4547836334, 95038037.8590606898], [77023288.8615043759, 95040846.9683562517], [77018848.9337856472, 95043221.5796255767], [77013548.9337856472, 95045721.5796255767], [77009002.9339780957, 95047598.4712209553], [77004294.5309623480, 95049019.6599319875], [76999469.2810543478, 95049971.3949982375], [76994573.8711261451, 95050444.4678741992], [76983973.8711261451, 95050944.4678741992], [76981618.0000000000, 95051000.0000000000], [50018818.0000000000, 95051000.0000000000], [50015806.2373018116, 95050909.2104270309], [50004206.2373018116, 95050209.2104270309], [49999434.7170633823, 95049690.4900434166], [49994734.9165898561, 95048716.6565199941], [49990150.1426180005, 95047296.6833339185], [49985722.6419624537, 95045443.6549565643], [49981493.2122286260, 95043174.6462856233], [49976493.2122286260, 95040174.6462856233], [49972410.7708695829, 95037443.8549664468], [49968615.9519677162, 95034325.6987514794], [49965145.3733224124, 95030850.2660380453], [49962032.5240028203, 95027051.0927342176], [49959307.4411977977, 95022964.8386568725], [49956996.4203744233, 95018630.9337856472], [49954496.4203744233, 95013330.9337856472], [49952619.5287790447, 95008784.9339780957], [49951198.3400680125, 95004076.5309623480], [49950246.6050017625, 94999251.2810543478], [49949773.5321258008, 94994355.8711261451], [49949273.5321258008, 94983755.8711261451], [49949218.0000000000, 94981400.0000000000], [49949218.0000000000, 90019700.0000000000], [49949272.5006811023, 90017366.0981626660], [49949772.5006811023, 90006666.0981626660], [49950172.2615868151, 90002275.4327207953], [49950957.2455990314, 89997937.0514668226], [49952121.3493879586, 89993684.6857519746], [49953655.5219294280, 89989551.3981479853], [49955555.5219294280, 89985051.3981479853], [49957677.1061155945, 89980642.1324372888], [49960219.5165235251, 89976461.3558486253], [49963158.4042410105, 89972549.1080867052], [49966465.6232540607, 89968942.8571295142], [49970109.5000039935, 89965677.1403938085], [49974055.1367281526, 89962783.2339669317], [49979655.1367281526, 89959083.2339669317], [49984090.5714399815, 89956470.3028636426], [49988771.1614278108, 89954327.2752392143], [49993647.2915203571, 89952676.8676065207], [49998667.2737828046, 89951536.5746099800], [50003777.8954192251, 89950918.4835788459], [50015377.8954192251, 89950118.4835788459], [50018818.0000000000, 89950000.0000000000], [53707696.0789890587, 89950000.0000000000], [53781709.4670737088, 89946380.2976226360], [53853556.0616260767, 89935701.6642732620], [53924002.9266888499, 89918089.9480075538], [53992353.7824296951, 89893652.1762974858], [54058023.1022019982, 89862550.5869046003], [54120303.5778858513, 89825275.9563449472], [54178549.6099620163, 89782012.8264105618], [54232418.1049916446, 89733203.2856967598], [54281116.5492408723, 89679447.6953139603], [54324400.5782148689, 89621079.8380611390], [54361765.4230575711, 89558805.0966566205], [54392760.3403048217, 89493163.2930604964], [54417218.5038046390, 89424755.4028119594], [54434924.2739037424, 89354307.0477086455], [54445598.5292681009, 89282489.9085467607], [54449218.0000000000, 89208576.5062320679], [54449218.0000000000, 87792423.4937679321], [54445598.5292681009, 87718510.0914532393], [54434924.2739037424, 87646692.9522913545], [54417218.5038046390, 87576244.5971880406], [54392760.3403048217, 87507836.7069395036], [54361765.4230575711, 87442194.9033433795], [54324400.5782148689, 87379920.1619388610], [54281116.5492408723, 87321552.3046860397], [54232418.1049916446, 87267796.7143032402], [54178549.6099620163, 87218987.1735894382], [54120303.5778858513, 87175724.0436550528], [54058023.1022019982, 87138449.4130953997], [53992353.7824296951, 87107347.8237025142], [53924002.9266888499, 87082910.0519924462], [53853556.0616260767, 87065298.3357267380], [53781709.4670737088, 87054619.7023773640], [53707696.0789890587, 87051000.0000000000], [50505418.0000000000, 87051000.0000000000], [50502179.9736953676, 87050895.0416940451], [50434379.9736953676, 87046495.0416940451], [50429474.6141058058, 87045932.3957068622], [50387674.6141058058, 87039032.3957068622], [50383158.0139560848, 87038070.7013942152], [50342658.0139560848, 87027470.7013942152], [50338446.5379346311, 87026167.5447392017], [50289346.5379346311, 87008567.5447392017], [50285778.8537703007, 87007131.5822802633], [50266578.8537703007, 86998531.5822802633], [50263995.2140529007, 86997284.1337330639], [50226595.2140529007, 86977884.1337330639], [50222392.0913763195, 86975437.4522308558], [50178492.0913763195, 86946937.4522308558], [50174260.8560211062, 86943864.4836925864], [50133860.8560211062, 86911164.4836925864], [50130200.7359802723, 86907891.8216416240], [50100200.7359802723, 86878291.8216416240], [50097126.9649883211, 86874971.4245848656], [50063326.9649883211, 86834971.4245848656], [50061040.2902409583, 86832052.2573691308], [50048640.2902409583, 86814952.2573691308], [50047028.1988774687, 86812589.7877254635], [50024328.1988774687, 86777189.7877254635], [50021832.2697524577, 86772829.9062811434], [49998332.2697524577, 86726529.9062811434], [49996014.3625885695, 86721221.9166831374], [49974114.3625885695, 86661921.9166831374], [49972632.0903004259, 86657201.7356957197], [49962032.0903004259, 86616501.7356957197], [49961032.9476572275, 86611717.7109886259], [49952832.9476572275, 86559917.7109886259], [49952286.3882582933, 86554714.2205100358], [49949286.3882582933, 86497414.2205100358], [49949218.0000050068, 86494799.2925762981], [49949418.0000050068, 72358999.2925762981], [49949660.9579804838, 72354076.9146393239], [49950387.3321522772, 72349202.3671018928], [49951590.0654079467, 72344423.0087926686], [49953257.4725525677, 72339785.2737262547], [49955373.3538365811, 72335334.2199718952], [49958973.3538365811, 72328634.2199718952], [49961431.1314141899, 72324541.5353229642], [49964268.0271665305, 72320701.9050351828], [49967458.1791142076, 72317150.3323120922], [49970972.5048899800, 72313919.1943394393], [49974778.9668622911, 72311037.9471251518], [49978842.8641997427, 72308532.8569696397], [49983127.1492141485, 72306426.7610145658], [49987592.7650981247, 72304738.8590525687], [49994992.7650981247, 72302338.8590525687], [50000039.9775673449, 72300988.8903173655], [50005200.5046301931, 72300172.9676929563], [50010418.0000000000, 72299900.0000000000], [50899145.7314051986, 72299900.0000000000], [50962496.1486226618, 72297688.9839210957], [51038512.3421935886, 72289907.0514955968], [51117928.2031482756, 72273891.9905676097], [51195184.8209392130, 72249896.3297433853], [51269551.5249622613, 72218306.9333442152], [51345038.0760011226, 72176411.8975176513], [51407037.1847949475, 72133265.7703691423], [51468637.2592611164, 72080707.9086686522], [51524484.5001085103, 72022322.1568736583], [51577281.8557419777, 71954156.9995111376], [51619899.4868827164, 71885291.4233632088], [51653111.5718789250, 71817459.9616336673], [51683127.3066621572, 71736568.5002838671], [51703167.5516563207, 71658195.1477949619], [51714621.4359640330, 71583463.2469020188], [51718950.5940858573, 71502620.9245836735], [51714613.6162790954, 71416541.3433320373], [51702099.9953408539, 71336661.1615533829], [51683130.4458713382, 71263412.4061760455], [51655278.7510502040, 71187478.9003629982], [51617283.4019292742, 71110073.9831712246], [51574275.0953605026, 71041561.8449172676], [51528027.2940015495, 70981805.5579686761], [51468574.3716835380, 70919238.4349578172], [51407037.1847949475, 70866734.2296308577], [51345038.0760011226, 70823588.1024823487], [51269484.7759368867, 70781656.0209466964], [51200067.9923438430, 70751919.3717588782], [51122905.8093919158, 70727423.4406630248], [51043665.9527275711, 70710860.2402201146], [50962424.6007658839, 70702308.5189609975], [50899145.7314051986, 70700100.0000000000], [50010418.0000000000, 70700100.0000000000], [50006039.5160761029, 70699907.9198374003], [50001694.6729483753, 70699333.1551411301], [49997416.8529437929, 70698380.1219470501], [49993238.9234368205, 70697056.1426060200], [49985038.9234368205, 70694056.1426060200], [49980294.8589210957, 70692037.4663864672], [49975783.8917802870, 70689540.9934217930], [49971553.9847855717, 70686593.2674126774], [49967650.1123415232, 70683225.6299990863], [49964113.7822966576, 70679473.8875209093], [49960982.5946120024, 70675377.9303077161], [49958289.8415802717, 70670981.3085456192], [49956064.1538461596, 70666330.7692307681], [49953064.1538461596, 70659130.7692307681], [49951393.8153467327, 70654489.2892989963], [49950188.9662154615, 70649705.8067569137], [49949461.3336665928, 70644826.8808983266], [49949218.0000000000, 70639900.0000000000], [49949218.0000000000, 50505200.0000000000], [49949285.2125623822, 50502608.3328319564], [49952285.2125623822, 50444808.3328319564], [49952832.2002115548, 50439587.0121428445], [49960932.2002115548, 50388387.0121428445], [49961945.9398031533, 50383545.2067455649], [49972645.9398031533, 50342645.2067455649], [49974098.1384139061, 50338022.0779970139], [49995898.1384139061, 50278822.0779970139], [49998291.0594386011, 50273354.6364231780], [50021891.0594386011, 50227154.6364231780], [50024259.3242693692, 50223017.9230594039], [50046959.3242693692, 50187417.9230594039], [50049604.1802993864, 50183662.4731306881], [50081704.1802993864, 50142262.4731306881], [50084124.3161709160, 50139373.0165390968], [50098224.3161709160, 50123773.0165390968], [50100200.7359802723, 50121708.1783583835], [50130200.7359802723, 50092108.1783583835], [50133932.2421175539, 50088777.8443281427], [50174732.2421175539, 50055877.8443281427], [50178851.6519127339, 50052888.8289118037], [50222351.6519127339, 50024588.8289118037], [50226595.2140529007, 50022115.8662669361], [50263995.2140529007, 50002715.8662669361], [50268119.8107814640, 50000808.9809546098], [50316619.8107814640, 49981008.9809546098], [50320133.2876559943, 49979725.7356747091], [50340233.2876559943, 49973225.7356747091], [50343016.2643042803, 49972414.0903004259], [50383716.2643042803, 49961814.0903004259], [50388519.8713263422, 49960811.8517335430], [50439819.8713263422, 49952711.8517335430], [50444940.1877277195, 49952171.7582781613], [50502740.1877277195, 49949071.7582781613], [50505418.0000000000, 49949000.0000000000], [53707696.0789892077, 49949000.0000000000], [53781709.4670735598, 49945380.2976226434], [53853556.0616262108, 49934701.6642732248], [53924002.9266887158, 49917089.9480075985], [53992353.7824297547, 49892652.1762974486], [54058023.1022019982, 49861550.5869046077], [54120303.5778859109, 49824275.9563449100], [54178549.6099620163, 49781012.8264105693], [54232418.1049915999, 49732203.2856968045], [54281116.5492408425, 49678447.6953139901], [54324400.5782148987, 49620079.8380611017], [54361765.4230575711, 49557805.0966566205], [54392760.3403048217, 49492163.2930604964], [54417218.5038046539, 49423755.4028119370], [54434924.2739037424, 49353307.0477086604], [54445598.5292681009, 49281489.9085467607], [54449218.0000000000, 49207576.5062320679], [54449218.0000000000, 47791423.4937679321], [54445598.5292681009, 47717510.0914532393], [54434924.2739037424, 47645692.9522913396], [54417218.5038046539, 47575244.5971880630], [54392760.3403048217, 47506836.7069395036], [54361765.4230575711, 47441194.9033433795], [54324400.5782148987, 47378920.1619388983], [54281116.5492408425, 47320552.3046860099], [54232418.1049915999, 47266796.7143031955], [54178549.6099620163, 47217987.1735894307], [54120303.5778859109, 47174724.0436550900], [54058023.1022019982, 47137449.4130953923], [53992353.7824297547, 47106347.8237025514], [53924002.9266887158, 47081910.0519924015], [53853556.0616262108, 47064298.3357267752], [53781709.4670735598, 47053619.7023773566], [53707696.0789892077, 47050000.0000000000], [50018818.0000000000, 47050000.0000000000], [50015377.8954192251, 47049881.5164211467], [50003777.8954192251, 47049081.5164211467], [49999088.6804494709, 47048534.7156031653], [49994471.9391054511, 47047548.0912929624], [49989968.8300575912, 47046130.4393362999], [49985619.4989340454, 47044294.3982297555], [49981462.7204187363, 47042056.3364473730], [49977535.5525714904, 47039436.2065142021], [49971435.5525714904, 47034936.2065142021], [49967552.4808138162, 47031758.8170583248], [49964007.4010798484, 47028208.2593965754], [49960836.0109754205, 47024320.2862954438], [49958070.2451937944, 47020134.0481666774], [49955737.9539454281, 47015691.6988375112], [49953862.6225169450, 47011037.9710776508], [49952463.1347832382, 47006219.7261572704], [49951553.5830539912, 47001285.4819718450], [49949653.5830539912, 46986985.4819718450], [49949218.0000000000, 46980400.0000000000], [49949218.0000000000, 42018600.0000000000], [49949308.7895729691, 42015588.2373018190], [49950008.7895729691, 42003988.2373018190], [49950527.5099565834, 41999216.7170633823], [49951501.3434800059, 41994516.9165898636], [49952921.3166660815, 41989932.1426180080], [49954774.3450434357, 41985504.6419624537], [49957043.3537143767, 41981275.2122286260], [49960043.3537143767, 41976275.2122286260], [49962851.5093727708, 41972088.8594530746], [49966066.9214803576, 41968206.5389174297], [49969656.9069322050, 41964667.7125274166], [49973584.9752669632, 41961508.3507373333], [49977811.1995746940, 41958760.5669278130], [49982292.6223345995, 41956452.2909888998], [49987592.6223345995, 41954052.2909888998], [49991872.1430243701, 41952347.3497067913], [49996290.4146848917, 41951043.5101294294], [50000809.9330431819, 41950151.8398323730], [50005392.3343988657, 41949679.9077133238], [50015992.3343988657, 41949079.9077133238], [50018818.0000000000, 41949000.0000000000], [76981618.0000000000, 41949000.0000000000], [76985058.1045807600, 41949118.4835788533], [76996658.1045807600, 41949918.4835788533], [77001193.8787031621, 41950440.2455545738], [77005663.1484097391, 41951373.5786882862], [77010028.6480672359, 41952710.7006682009], [77014253.9772970080, 41954440.4623132125], [77018303.9044885933, 41956548.4405369088], [77023303.9044885933, 41959448.4405369088], [77027631.5217090845, 41962266.7866640687], [77031645.3396472931, 41965516.4960754812], [77035302.5367328674, 41969162.8991218880], [77038564.0960187316, 41973167.0940128118], [77041395.2214347571, 41977486.3618417755], [77043765.7090111077, 41982074.6223345995], [77046165.7090111077, 41987374.6223345995], [77047870.6502932012, 41991654.1430243701], [77049174.4898705781, 41996072.4146848843], [77050066.1601676345, 42000591.9330431744], [77050538.0922866762, 42005174.3343988657], [77051138.0922866762, 42015774.3343988657], [77051218.0000000000, 42018600.0000000000], [77051218.0000000000, 46980400.0000000000], [77050782.4169460237, 46986985.4819718450], [77048882.4169460237, 47001285.4819718450], [77047972.8652167618, 47006219.7261572704], [77046573.3774830550, 47011037.9710776508], [77044698.0460545719, 47015691.6988375112], [77042365.7548062056, 47020134.0481666774], [77039599.9890245795, 47024320.2862954438], [77036428.5989201367, 47028208.2593965754], [77032883.5191861838, 47031758.8170583248], [77029000.4474285096, 47034936.2065142021], [77022900.4474285096, 47039436.2065142021], [77018973.2795812637, 47042056.3364473805], [77014816.5010659546, 47044294.3982297555], [77010467.1699424088, 47046130.4393362999], [77005964.0608945489, 47047548.0912929624], [77001347.3195505142, 47048534.7156031653], [76996658.1045807600, 47049081.5164211467], [76985058.1045807600, 47049881.5164211467], [76981618.0000000000, 47050000.0000000000], [73292641.4937679321, 47050000.0000000000], [73218728.0914533138, 47053619.4707318991], [73146879.9383737743, 47064298.3357267752], [73076433.0733112842, 47081910.0519924015], [73008082.2175702155, 47106347.8237025589], [72942412.8977980316, 47137449.4130953774], [72880115.8899383098, 47174733.9381001443], [72821789.5493823141, 47217987.1794113293], [72768014.7289591730, 47266796.7289591730], [72719205.1794113219, 47320571.5493823141], [72675951.9381001443, 47378897.8899383098], [72638667.4130953848, 47441194.8977980316], [72607565.8237025589, 47506864.2175702155], [72583128.0519924015, 47575215.0733112842], [72565516.3357267678, 47645661.9383737817], [72554837.4707318991, 47717510.0914533138], [72551218.0000000000, 47791423.4937679321], [72551218.0000000000, 49207576.5062320679], [72554837.4707318991, 49281489.9085466862], [72565516.3357267678, 49353338.0616262183], [72583128.0519924015, 49423784.9266887158], [72607565.8237025589, 49492135.7824297845], [72638667.4130953848, 49557805.1022019684], [72675951.9381001443, 49620102.1100616902], [72719205.1794113219, 49678428.4506176859], [72768014.7289591730, 49732203.2710408270], [72821789.5493823141, 49781012.8205886707], [72880115.8899383098, 49824266.0618998557], [72942412.8977980316, 49861550.5869046226], [73008082.2175702155, 49892652.1762974411], [73076433.0733112842, 49917089.9480075985], [73146879.9383737743, 49934701.6642732248], [73218728.0914533138, 49945380.5292681009], [73292641.4937679321, 49949000.0000000000], [76495018.0000000000, 49949000.0000000000], [76497609.6671680510, 49949067.2125623822], [76555409.6671680510, 49952067.2125623822], [76560725.0466015339, 49952629.1724391729], [76611925.0466015339, 49960829.1724391729], [76616562.0009916127, 49961799.0905134827], [76657462.0009916127, 49972399.0905134827], [76662265.6570751965, 49973905.8767647669], [76721465.6570751965, 49995805.8767647669], [76726786.8290392756, 49998134.0467398241], [76772986.8290392756, 50021634.0467398241], [76777284.1082422584, 50024095.0239726156], [76812884.1082422584, 50046895.0239726156], [76816861.6113301814, 50049725.4163886234], [76866361.6113301814, 50088725.4163886234], [76870773.3390593231, 50092644.6609406695], [76907473.3390593231, 50129344.6609406695], [76910741.8573711365, 50132947.8718544021], [76937541.8573711365, 50165547.8718544021], [76940483.9371255338, 50169510.2020360678], [76975583.9371255338, 50222010.2020360678], [76978603.7302475423, 50227170.0937188491], [77002103.7302475423, 50273470.0937188491], [77004071.3950374126, 50277857.7027079836], [77019471.3950374126, 50317157.7027079836], [77021044.7306412756, 50321842.0577600375], [77038144.7306412756, 50382542.0577600375], [77039403.0523427725, 50388282.2890113741], [77047603.0523427725, 50440082.2890113741], [77048149.8493342251, 50445290.3214633688], [77051149.8493342251, 50502690.3214633688], [77051218.0000000000, 50505300.0000000000], [77051218.0000000000, 70639900.0000000000], [77050974.6663334072, 70644826.8808983266], [77050247.0337845385, 70649705.8067569137], [77049042.1846532673, 70654489.2892989963], [77047371.8461538553, 70659130.7692307681], [77044371.8461538553, 70666330.7692307681], [77042146.1584197283, 70670981.3085456192], [77039453.4053879976, 70675377.9303077161], [77036322.2177033424, 70679473.8875209093], [77032785.8876584768, 70683225.6299990863], [77028882.0152144432, 70686593.2674126774], [77024652.1082197130, 70689540.9934217930], [77020141.1410789043, 70692037.4663864672], [77015397.0765631795, 70694056.1426060200], [77007197.0765631795, 70697056.1426060200], [77003019.1470562220, 70698380.1219470501], [76998741.3270516247, 70699333.1551411301], [76994396.4839238971, 70699907.9198374003], [76990018.0000000000, 70700100.0000000000], [76101290.2685948014, 70700100.0000000000], [76038011.3992341012, 70702308.5189609975], [75956770.0472724438, 70710860.2402201146], [75877521.5610497892, 70727425.2444661856], [75800259.9053207934, 70751922.8426241577], [75730863.4558894634, 70781650.7810967714], [75655494.0719049871, 70823533.1421594769], [75589225.0735149682, 70870034.3995524794], [75531905.4950371385, 70919192.2704565376], [75472408.7059984505, 70981805.5579686761], [75426160.9046394527, 71041561.8449173272], [75383117.2190379202, 71110130.3418930769], [75347292.5751833618, 71182625.8810318261], [75317308.6933378279, 71263431.4997161329], [75297268.4483436644, 71341804.8522051126], [75285826.5576673895, 71416458.4995682985], [75281485.4059141427, 71502620.9245838225], [75285814.5640359521, 71583463.2469020188], [75297257.5695950538, 71658124.1684187502], [75318861.1434951425, 71741613.9627488106], [75347284.8302124143, 71817379.0879388601], [75380536.5131172538, 71885291.4233631492], [75423165.5561060756, 71954175.4398483932], [75475853.6052866727, 72022321.1635649949], [75531826.7681703418, 72080740.2125578672], [75589225.0735149682, 72129965.6004475206], [75655494.0719049871, 72176466.8578405231], [75730863.4558894634, 72218349.2189032286], [75800259.9053207934, 72248077.1573758423], [75877521.5610497892, 72272574.7555338144], [75956770.0472724438, 72289139.7597798854], [76038011.3992341012, 72297691.4810390025], [76101290.2685948014, 72299900.0000000000], [76990018.0000000000, 72299900.0000000000], [76994396.4839238971, 72300092.0801625997], [76998741.3270516247, 72300666.8448588699], [77003019.1470562220, 72301619.8780529499], [77007197.0765631795, 72302943.8573939800], [77015397.0765631795, 72305943.8573939800], [77020141.1410789043, 72307962.5336135328], [77024652.1082197130, 72310459.0065782070], [77028882.0152144432, 72313406.7325873226], [77032785.8876584768, 72316774.3700009137], [77036322.2177033424, 72320526.1124790907], [77039453.4053879976, 72324622.0696922839], [77042146.1584197283, 72329018.6914543808], [77044371.8461538553, 72333669.2307692319], [77047371.8461538553, 72340869.2307692319], [77049042.1846532673, 72345510.7107010037], [77050247.0337845385, 72350294.1932430863], [77050974.6663334072, 72355173.1191016734], [77051218.0000000000, 72360100.0000000000]]);
}
}
translate(v = [63500109, 121000031, 2850000]) {
union() {
cylinder(d = 4500000, h = 300000);
translate(v = [0, 0, -2250000.0]) {
cylinder(d1 = 0, d2 = 4500000, h = 2250000.0);
}
translate(v = [0, 0, -10000000]) {
cylinder(d = 2000000, h = 10000000);
}
}
}
translate(v = [63500109, 16000031, 2850000]) {
union() {
cylinder(d = 4500000, h = 300000);
translate(v = [0, 0, -2250000.0]) {
cylinder(d1 = 0, d2 = 4500000, h = 2250000.0);
}
translate(v = [0, 0, -10000000]) {
cylinder(d = 2000000, h = 10000000);
}
}
}
translate(v = [116000109, 68500031, 2850000]) {
union() {
cylinder(d = 4500000, h = 300000);
translate(v = [0, 0, -2250000.0]) {
cylinder(d1 = 0, d2 = 4500000, h = 2250000.0);
}
translate(v = [0, 0, -10000000]) {
cylinder(d = 2000000, h = 10000000);
}
}
}
translate(v = [11000109, 68500031, 2850000]) {
union() {
cylinder(d = 4500000, h = 300000);
translate(v = [0, 0, -2250000.0]) {
cylinder(d1 = 0, d2 = 4500000, h = 2250000.0);
}
translate(v = [0, 0, -10000000]) {
cylinder(d = 2000000, h = 10000000);
}
}
}
}
}
}
/***********************************************
********* SolidPython code: **********
************************************************
import pcbnew
from pcbnew import wxPoint
import numpy as np
from kikit.common import *
from kikit.defs import *
from kikit.substrate import Substrate, extractRings, toShapely, linestringToKicad
from kikit.export import gerberImpl, pasteDxfExport
import solid
import solid.utils
import subprocess
from kikit.common import removeComponents, parseReferences
from shapely.geometry import Point
from kikit import pcbnew_compatibility
OUTER_BORDER = fromMm(7.5)
INNER_BORDER = fromMm(5)
MOUNTING_HOLES_COUNT = 3
MOUNTING_HOLE_R = fromMm(1)
HOLE_SPACING = fromMm(20)
def addBottomCounterpart(board, item):
item = item.Duplicate()
item.SetLayer(Layer.B_Paste)
board.Add(item)
def addRoundedCorner(board, center, start, end, thickness):
corner = pcbnew.PCB_SHAPE()
corner.SetShape(STROKE_T.S_ARC)
corner.SetCenter(wxPoint(center[0], center[1]))
corner.SetArcStart(wxPoint(start[0], start[1]))
if np.cross(start - center, end - center) > 0:
corner.SetAngle(fromDegrees(90))
else:
corner.SetAngle(fromDegrees(-90))
corner.SetWidth(thickness)
corner.SetLayer(Layer.F_Paste)
board.Add(corner)
addBottomCounterpart(board, corner)
def addLine(board, start, end, thickness):
line = pcbnew.PCB_SHAPE()
line.SetShape(STROKE_T.S_SEGMENT)
line.SetStart(wxPoint(start[0], start[1]))
line.SetEnd(wxPoint(end[0], end[1]))
line.SetWidth(thickness)
line.SetLayer(Layer.F_Paste)
board.Add(line)
addBottomCounterpart(board, line)
def addBite(board, origin, direction, normal, thickness):
"""
Adds a bite to the stencil, direction points to the bridge, normal points
inside the stencil
"""
direction = normalize(direction) * thickness
normal = normalize(normal) * thickness
center = wxPoint(origin[0], origin[1]) + wxPoint(normal[0], normal[1])
start = origin
end = center + wxPoint(direction[0], direction[1])
# addLine(board, end, end + normal / 2, thickness)
addRoundedCorner(board, center, start, end, thickness)
def numberOfCuts(length, bridgeWidth, bridgeSpacing):
"""
Return number of bridges which fit inside the length and cut length
"""
count = int(np.floor((length + bridgeWidth) / (bridgeWidth + bridgeSpacing)))
cutLength = (length - (count - 1) * bridgeWidth) / count
return count, cutLength
def addFrame(board, rect, bridgeWidth, bridgeSpacing, clearance):
"""
Add rectangular frame to the board
"""
R=fromMm(1)
corners = [
(tl(rect), wxPoint(R, 0), wxPoint(0, R)), # TL
(tr(rect), wxPoint(0, R), wxPoint(-R, 0)), # TR
(br(rect), wxPoint(-R, 0), wxPoint(0, -R)), # BR
(bl(rect), wxPoint(0, -R), wxPoint(R, 0)) # BL
]
for c, sOffset, eOffset in corners:
addRoundedCorner(board, c + sOffset + eOffset, c + sOffset, c + eOffset, clearance)
count, cutLength = numberOfCuts(rect.GetWidth() - 2 * R, bridgeWidth, bridgeSpacing)
for i in range(count):
start = rect.GetX() + R + i * bridgeWidth + i * cutLength
end = start + cutLength
y1, y2 = rect.GetY(), rect.GetY() + rect.GetHeight()
addLine(board, wxPoint(start, y1), wxPoint(end, y1), clearance)
if i != 0:
addBite(board, wxPoint(start, y1), wxPoint(-1, 0), wxPoint(0, 1), clearance)
if i != count - 1:
addBite(board, wxPoint(end, y1), wxPoint(1, 0), wxPoint(0, 1), clearance)
addLine(board, wxPoint(start, y2), wxPoint(end, y2), clearance)
if i != 0:
addBite(board, wxPoint(start, y2), wxPoint(-1, 0), wxPoint(0, -1), clearance)
if i != count - 1:
addBite(board, wxPoint(end, y2), wxPoint(1, 0), wxPoint(0, -1), clearance)
count, cutLength = numberOfCuts(rect.GetHeight() - 2 * R, bridgeWidth, bridgeSpacing)
for i in range(count):
start = rect.GetY() + R + i * bridgeWidth + i * cutLength
end = start + cutLength
x1, x2 = rect.GetX(), rect.GetX() + rect.GetWidth()
addLine(board, wxPoint(x1, start), wxPoint(x1, end), clearance)
if i != 0:
addBite(board, wxPoint(x1, start), wxPoint(0, -1), wxPoint(1, 0), clearance)
if i != count - 1:
addBite(board, wxPoint(x1, end), wxPoint(0, 1), wxPoint(1, 0), clearance)
addLine(board, wxPoint(x2, start), wxPoint(x2, end), clearance)
if i != 0:
addBite(board, wxPoint(x2, start), wxPoint(0, -1), wxPoint(-1, 0), clearance)
if i != count - 1:
addBite(board, wxPoint(x2, end), wxPoint(0, 1), wxPoint(-1, 0), clearance)
def addHole(board, position, radius):
circle = pcbnew.PCB_SHAPE()
circle.SetShape(STROKE_T.S_CIRCLE)
circle.SetCenter(wxPoint(position[0], position[1]))
circle.SetArcStart(wxPoint(position[0], position[1]) + wxPoint(radius/2, 0))
circle.SetWidth(radius)
circle.SetLayer(Layer.F_Paste)
board.Add(circle)
addBottomCounterpart(board, circle)
def addJigFrame(board, jigFrameSize, bridgeWidth=fromMm(2),
bridgeSpacing=fromMm(10), clearance=fromMm(0.5)):
"""
Given a Pcbnew board finds the board outline and creates a stencil for
KiKit's stencil jig.
Mainly, adds mounting holes and mouse bites to define the panel outline.
jigFrameSize is a tuple (width, height).
"""
bBox = findBoardBoundingBox(board)
frameSize = rectByCenter(rectCenter(bBox),
jigFrameSize[0] + 2 * (OUTER_BORDER + INNER_BORDER),
jigFrameSize[1] + 2 * (OUTER_BORDER + INNER_BORDER))
cutSize = rectByCenter(rectCenter(bBox),
jigFrameSize[0] + 2 * (OUTER_BORDER + INNER_BORDER) - fromMm(1),
jigFrameSize[1] + 2 * (OUTER_BORDER + INNER_BORDER) - fromMm(1))
addFrame(board, cutSize, bridgeWidth, bridgeSpacing, clearance)
for i in range(MOUNTING_HOLES_COUNT):
x = frameSize.GetX() + OUTER_BORDER / 2 + (i + 1) * (frameSize.GetWidth() - OUTER_BORDER) / (MOUNTING_HOLES_COUNT + 1)
addHole(board, wxPoint(x, OUTER_BORDER / 2 + frameSize.GetY()), MOUNTING_HOLE_R)
addHole(board, wxPoint(x, - OUTER_BORDER / 2 +frameSize.GetY() + frameSize.GetHeight()), MOUNTING_HOLE_R)
for i in range(MOUNTING_HOLES_COUNT):
y = frameSize.GetY() + OUTER_BORDER / 2 + (i + 1) * (frameSize.GetHeight() - OUTER_BORDER) / (MOUNTING_HOLES_COUNT + 1)
addHole(board, wxPoint(OUTER_BORDER / 2 + frameSize.GetX(), y), MOUNTING_HOLE_R)
addHole(board, wxPoint(- OUTER_BORDER / 2 +frameSize.GetX() + frameSize.GetWidth(), y), MOUNTING_HOLE_R)
PIN_TOLERANCE = fromMm(0.05)
addHole(board, tl(frameSize) + wxPoint(OUTER_BORDER / 2, OUTER_BORDER / 2), MOUNTING_HOLE_R + PIN_TOLERANCE)
addHole(board, tr(frameSize) + wxPoint(-OUTER_BORDER / 2, OUTER_BORDER / 2), MOUNTING_HOLE_R + PIN_TOLERANCE)
addHole(board, br(frameSize) + wxPoint(-OUTER_BORDER / 2, -OUTER_BORDER / 2), MOUNTING_HOLE_R + PIN_TOLERANCE)
addHole(board, bl(frameSize) + wxPoint(OUTER_BORDER / 2, -OUTER_BORDER / 2), MOUNTING_HOLE_R + PIN_TOLERANCE)
def jigMountingHoles(jigFrameSize, origin=wxPoint(0, 0)):
""" Get list of all mounting holes in a jig of given size """
w, h = jigFrameSize
holes = [
wxPoint(0, (w + INNER_BORDER) / 2),
wxPoint(0, -(w + INNER_BORDER) / 2),
wxPoint((h + INNER_BORDER) / 2, 0),
wxPoint(-(h + INNER_BORDER) / 2, 0),
]
return [x + origin for x in holes]
def createOuterPolygon(board, jigFrameSize, outerBorder):
bBox = findBoardBoundingBox(board)
centerpoint = rectCenter(bBox)
holes = jigMountingHoles(jigFrameSize, centerpoint)
outerSubstrate = Substrate(collectEdges(board, "Edge.Cuts"))
outerSubstrate.substrates = outerSubstrate.substrates.buffer(outerBorder)
tabs = []
for hole in holes:
tab, _ = outerSubstrate.tab(hole, centerpoint - hole, INNER_BORDER, fromMm(1000))
tabs.append(tab)
outerSubstrate.union(tabs)
outerSubstrate.union([Point(x).buffer(INNER_BORDER / 2) for x in holes])
outerSubstrate.millFillets(fromMm(3))
return outerSubstrate.exterior(), holes
def createOffsetPolygon(board, offset):
outerSubstrate = Substrate(collectEdges(board, "Edge.Cuts"))
outerSubstrate.substrates = outerSubstrate.substrates.buffer(offset)
return outerSubstrate.exterior()
def m2countersink():
HEAD_DIA = fromMm(4.5)
HOLE_LEN = fromMm(10)
SINK_EXTRA = fromMm(0.3)
sinkH = np.sqrt(HEAD_DIA**2 / 4)
sink = solid.cylinder(d1=0, d2=HEAD_DIA, h=sinkH)
sinkE = solid.cylinder(d=HEAD_DIA, h=SINK_EXTRA)
hole = solid.cylinder(h=HOLE_LEN, d=fromMm(2))
return sinkE + solid.utils.down(sinkH)(sink) + solid.utils.down(HOLE_LEN)(hole)
def mirrorX(linestring, origin):
return [(2 * origin - x, y) for x, y in linestring]
def makeRegister(board, jigFrameSize, jigThickness, pcbThickness,
outerBorder, innerBorder, tolerance, topSide):
bBox = findBoardBoundingBox(board)
centerpoint = rectCenter(bBox)
top = jigThickness - fromMm(0.15)
pcbBottom = jigThickness - pcbThickness
outerPolygon, holes = createOuterPolygon(board, jigFrameSize, outerBorder)
outerRing = outerPolygon.exterior.coords
if topSide:
outerRing = mirrorX(outerRing, centerpoint[0])
body = solid.linear_extrude(height=top, convexity=10)(solid.polygon(
outerRing))
innerRing = createOffsetPolygon(board, - innerBorder).exterior.coords
if topSide:
innerRing = mirrorX(innerRing, centerpoint[0])
innerCutout = solid.utils.down(jigThickness)(
solid.linear_extrude(height=3 * jigThickness, convexity=10)(solid.polygon(innerRing)))
registerRing = createOffsetPolygon(board, tolerance).exterior.coords
if topSide:
registerRing = mirrorX(registerRing, centerpoint[0])
registerCutout = solid.utils.up(jigThickness - pcbThickness)(
solid.linear_extrude(height=jigThickness, convexity=10)(solid.polygon(registerRing)))
register = body - innerCutout - registerCutout
for hole in holes:
register = register - solid.translate([hole[0], hole[1], top])(m2countersink())
return solid.scale(toMm(1))(
solid.translate([-centerpoint[0], -centerpoint[1], 0])(register))
def makeTopRegister(board, jigFrameSize, jigThickness, pcbThickness,
outerBorder=fromMm(3), innerBorder=fromMm(1),
tolerance=fromMm(0.05)):
"""
Create a SolidPython representation of the top register
"""
print("Top")
return makeRegister(board, jigFrameSize, jigThickness, pcbThickness,
outerBorder, innerBorder, tolerance, True)
def makeBottomRegister(board, jigFrameSize, jigThickness, pcbThickness,
outerBorder=fromMm(3), innerBorder=fromMm(1),
tolerance=fromMm(0.05)):
"""
Create a SolidPython representation of the top register
"""
print("Bottom")
return makeRegister(board, jigFrameSize, jigThickness, pcbThickness,
outerBorder, innerBorder, tolerance, False)
def renderScad(infile, outfile):
infile = os.path.abspath(infile)
outfile = os.path.abspath(outfile)
subprocess.check_call(["openscad", "-o", outfile, infile])
def shapelyToSHAPE_POLY_SET(polygon):
p = pcbnew.SHAPE_POLY_SET()
print(polygon.exterior)
p.AddOutline(linestringToKicad(polygon.exterior))
return p
def cutoutComponents(board, components):
topCutout = extractComponentPolygons(components, "F.CrtYd")
for polygon in topCutout:
zone = pcbnew.PCB_SHAPE()
zone.SetShape(STROKE_T.S_POLYGON)
zone.SetPolyShape(shapelyToSHAPE_POLY_SET(polygon))
zone.SetLayer(Layer.F_Paste)
board.Add(zone)
bottomCutout = extractComponentPolygons(components, "B.CrtYd")
for polygon in bottomCutout:
zone = pcbnew.PCB_SHAPE()
zone.SetShape(STROKE_T.S_POLYGON)
zone.SetPolyShape(shapelyToSHAPE_POLY_SET(polygon))
zone.SetLayer(Layer.B_Paste)
board.Add(zone)
from pathlib import Path
import os
def create(inputboard, outputdir, jigsize, jigthickness, pcbthickness,
registerborder, tolerance, ignore, cutout):
board = pcbnew.LoadBoard(inputboard)
refs = parseReferences(ignore)
removeComponents(board, refs)
Path(outputdir).mkdir(parents=True, exist_ok=True)
jigsize = (fromMm(jigsize[0]), fromMm(jigsize[1]))
addJigFrame(board, jigsize)
cutoutComponents(board, getComponents(board, parseReferences(cutout)))
stencilFile = os.path.join(outputdir, "stencil.kicad_pcb")
board.Save(stencilFile)
plotPlan = [
# name, id, comment
("PasteBottom", pcbnew.B_Paste, "Paste Bottom"),
("PasteTop", pcbnew.F_Paste, "Paste top"),
]
gerberDir = os.path.join(outputdir, "gerber")
gerberImpl(stencilFile, gerberDir, plotPlan, False)
gerbers = [os.path.join(gerberDir, x) for x in os.listdir(gerberDir)]
subprocess.check_call(["zip", "-j",
os.path.join(outputdir, "gerbers.zip")] + gerbers)
jigthickness = fromMm(jigthickness)
pcbthickness = fromMm(pcbthickness)
outerBorder, innerBorder = fromMm(registerborder[0]), fromMm(registerborder[1])
tolerance = fromMm(tolerance)
topRegister = makeTopRegister(board, jigsize,jigthickness, pcbthickness,
outerBorder, innerBorder, tolerance)
bottomRegister = makeBottomRegister(board, jigsize,jigthickness, pcbthickness,
outerBorder, innerBorder, tolerance)
topRegisterFile = os.path.join(outputdir, "topRegister.scad")
solid.scad_render_to_file(topRegister, topRegisterFile)
renderScad(topRegisterFile, os.path.join(outputdir, "topRegister.stl"))
bottomRegisterFile = os.path.join(outputdir, "bottomRegister.scad")
solid.scad_render_to_file(bottomRegister, bottomRegisterFile)
renderScad(bottomRegisterFile, os.path.join(outputdir, "bottomRegister.stl"))
def printedStencilSubstrate(outlineDxf, thickness, frameHeight, frameWidth, frameClearance):
bodyOffset = solid.utils.up(0) if frameWidth + frameClearance == 0 else solid.offset(r=frameWidth + frameClearance)
body = solid.linear_extrude(height=thickness + frameHeight)(
bodyOffset(solid.import_dxf(outlineDxf)))
boardOffset = solid.utils.up(0) if frameClearance == 0 else solid.offset(r=frameClearance)
board = solid.utils.up(thickness)(
solid.linear_extrude(height=thickness + frameHeight)(
boardOffset(solid.import_dxf(outlineDxf))))
return body - board
def getComponents(board, references):
"""
Return a list of components based on designator
"""
return [m for m in board.GetModules() if m.GetReference() in references]
def collectModuleEdges(module, layerName):
"""
Return all edges on given layer in given module
"""
return [e for e in module.GraphicalItems() if e.GetLayerName() == layerName]
def extractComponentPolygons(modules, srcLayer):
"""
Return a list of shapely polygons with holes for already placed components.
The source layer defines the geometry on which the cutout is computed.
Usually it a font or back courtyard
"""
polygons = []
for m in modules:
edges = collectModuleEdges(m, srcLayer)
for ring in extractRings(edges):
polygons.append(toShapely(ring, edges))
return polygons
def printedStencil(outlineDxf, holesDxf, extraHoles, thickness, frameHeight, frameWidth,
frameClearance, enlargeHoles, front):
zScale = -1 if front else 1
xRotate = 180 if front else 0
substrate = solid.scale([1, 1, zScale])(printedStencilSubstrate(outlineDxf,
thickness, frameHeight, frameWidth, frameClearance))
holesOffset = solid.utils.up(0) if enlargeHoles == 0 else solid.offset(delta=enlargeHoles)
holes = solid.linear_extrude(height=4*thickness, center=True)(
holesOffset(solid.import_dxf(holesDxf)))
substrate -= holes
for h in extraHoles:
substrate -= solid.scale([toMm(1), -toMm(1), 1])(
solid.linear_extrude(height=4*thickness, center=True)(
solid.polygon(h.exterior.coords)))
return solid.rotate(a=xRotate, v=[1, 0, 0])(substrate)
def createPrinted(inputboard, outputdir, pcbthickness, thickness, framewidth,
ignore, cutout, frameclearance, enlargeholes):
"""
Create a 3D printed self-registering stencil.
"""
board = pcbnew.LoadBoard(inputboard)
refs = parseReferences(ignore)
cutoutComponents = getComponents(board, parseReferences(cutout))
removeComponents(board, refs)
Path(outputdir).mkdir(parents=True, exist_ok=True)
# We create the stencil based on DXF export. Using it avoids the necessity
# to interpret KiCAD PAD shapes which constantly change with newer and newer
# versions.
height = min(pcbthickness, max(0.5, pcbthickness - 0.3))
bottomPaste, topPaste, outline = pasteDxfExport(board, outputdir)
topCutout = extractComponentPolygons(cutoutComponents, "F.CrtYd")
bottomCutout = extractComponentPolygons(cutoutComponents, "B.CrtYd")
topStencil = printedStencil(outline, topPaste, topCutout, thickness, height,
framewidth, frameclearance, enlargeholes, True)
bottomStencil = printedStencil(outline, bottomPaste, bottomCutout, thickness,
height, framewidth, frameclearance, enlargeholes, False)
bottomStencilFile = os.path.join(outputdir, "bottomStencil.scad")
solid.scad_render_to_file(bottomStencil, bottomStencilFile,
file_header=f'$fa = 0.4; $fs = 0.4;', include_orig_code=True)
renderScad(bottomStencilFile, os.path.join(outputdir, "bottomStencil.stl"))
topStencilFile = os.path.join(outputdir, "topStencil.scad")
solid.scad_render_to_file(topStencil, topStencilFile,
file_header=f'$fa = 0.4; $fs = 0.4;', include_orig_code=True)
renderScad(topStencilFile, os.path.join(outputdir, "topStencil.stl"))
************************************************/