# Машина постоянного тока
# Шаг 6: Отрезки и дуги
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмоточная область", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Линейная сталь", 1000, 1000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Нелинейная сталь", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Обмотка возбуждения", complex(2, 0), 1)
mi_addcircprop("Обмотка якоря", complex(3, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-170, -170, 0),
    (170, -170, 0),
    (170, 170, 0),
    (-170, 170, 0),
    (80, 0, 0),
    (79.561751629461867, 8.3622770614122786, 0),
    (73.083636611408068, 32.538931446064019, 0),
    (69.282032302755098, 39.999999999999993, 0),
    (64.721359549995796, 47.022820183397855, 0),
    (57.547184027092094, 55.57266963671978, 0),
    (47.022820183397855, 64.721359549995796, 0),
    (44.73543227765974, 66.323005804403337, 0),
    (32.538931446064019, 73.083636611408068, 0),
    (8.3622770614122768, 79.561751629461867, 0),
    (4.898425415289509e-15, 80, 0),
    (-8.3622770614122839, 79.561751629461867, 0),
    (-32.538931446064019, 73.083636611408068, 0),
    (-44.735432277659733, 66.323005804403337, 0),
    (-47.02282018339784, 64.721359549995796, 0),
    (-57.547184027092094, 55.572669636719773, 0),
    (-64.721359549995782, 47.022820183397862, 0),
    (-69.282032302755098, 39.999999999999993, 0),
    (-73.083636611408053, 32.538931446064034, 0),
    (-79.561751629461867, 8.3622770614122981, 0),
    (-80, 9.7968508305790181e-15, 0),
    (-79.561751629461867, -8.3622770614122803, 0),
    (-73.083636611408068, -32.538931446064019, 0),
    (-69.282032302755084, -40.000000000000007, 0),
    (-64.72135954999581, -47.02282018339784, 0),
    (-57.547184027092086, -55.572669636719787, 0),
    (-47.022820183397862, -64.721359549995782, 0),
    (-44.735432277659726, -66.323005804403351, 0),
    (-32.538931446064005, -73.083636611408082, 0),
    (-8.3622770614122679, -79.561751629461867, 0),
    (-1.4695276245868527e-14, -80, 0),
    (8.3622770614122395, -79.561751629461867, 0),
    (32.538931446063984, -73.083636611408082, 0),
    (44.735432277659761, -66.323005804403323, 0),
    (47.022820183397833, -64.72135954999581, 0),
    (57.547184027092072, -55.572669636719809, 0),
    (64.721359549995782, -47.022820183397869, 0),
    (69.28203230275507, -40.000000000000036, 0),
    (73.083636611408082, -32.538931446064012, 0),
    (79.561751629461867, -8.3622770614122732, 0),
    (100, 0, 0),
    (99.452189536827333, 10.452846326765346, 0),
    (91.354545764260081, 40.673664307580019, 0),
    (86.602540378443877, 49.999999999999993, 0),
    (80.901699437494742, 58.778525229247315, 0),
    (71.933980033865126, 69.465837045899718, 0),
    (58.778525229247315, 80.901699437494742, 0),
    (55.919290347074678, 82.903757255504175, 0),
    (40.673664307580019, 91.354545764260081, 0),
    (10.452846326765346, 99.452189536827333, 0),
    (6.1230317691118863e-15, 100, 0),
    (-10.452846326765355, 99.452189536827333, 0),
    (-40.673664307580026, 91.354545764260081, 0),
    (-55.919290347074671, 82.903757255504175, 0),
    (-58.7785252292473, 80.901699437494742, 0),
    (-71.933980033865126, 69.465837045899718, 0),
    (-80.901699437494727, 58.778525229247322, 0),
    (-86.602540378443877, 49.999999999999993, 0),
    (-91.354545764260081, 40.67366430758004, 0),
    (-99.452189536827333, 10.452846326765373, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.452189536827333, -10.45284632676535, 0),
    (-91.354545764260081, -40.673664307580019, 0),
    (-86.602540378443862, -50.000000000000014, 0),
    (-80.901699437494756, -58.7785252292473, 0),
    (-71.933980033865112, -69.465837045899733, 0),
    (-58.778525229247322, -80.901699437494727, 0),
    (-55.919290347074657, -82.903757255504189, 0),
    (-40.673664307580012, -91.354545764260095, 0),
    (-10.452846326765336, -99.452189536827333, 0),
    (-1.8369095307335659e-14, -100, 0),
    (10.452846326765298, -99.452189536827333, 0),
    (40.673664307579976, -91.354545764260109, 0),
    (55.9192903470747, -82.903757255504161, 0),
    (58.778525229247293, -80.901699437494756, 0),
    (71.933980033865083, -69.465837045899761, 0),
    (80.901699437494727, -58.778525229247336, 0),
    (86.602540378443834, -50.000000000000043, 0),
    (91.354545764260095, -40.673664307580012, 0),
    (99.452189536827333, -10.452846326765341, 0),
    (18, 0, 2),
    (17.901394116628918, 1.8815123388177626, 2),
    (16.443818237566816, 7.3212595753644036, 2),
    (15.588457268119896, 8.9999999999999982, 2),
    (14.562305898749054, 10.580134541264517, 2),
    (12.948116406095721, 12.503850668261951, 2),
    (10.580134541264517, 14.562305898749054, 2),
    (10.065472262473442, 14.922676305990752, 2),
    (7.3212595753644036, 16.443818237566816, 2),
    (1.8815123388177621, 17.901394116628918, 2),
    (1.1021457184401395e-15, 18, 2),
    (-1.8815123388177639, 17.901394116628918, 2),
    (-7.3212595753644045, 16.443818237566816, 2),
    (-10.06547226247344, 14.922676305990752, 2),
    (-10.580134541264515, 14.562305898749054, 2),
    (-12.948116406095721, 12.503850668261949, 2),
    (-14.562305898749052, 10.580134541264519, 2),
    (-15.588457268119896, 8.9999999999999982, 2),
    (-16.443818237566813, 7.3212595753644081, 2),
    (-17.901394116628918, 1.8815123388177672, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.901394116628918, -1.881512338817763, 2),
    (-16.443818237566816, -7.3212595753644036, 2),
    (-15.588457268119894, -9.0000000000000018, 2),
    (-14.562305898749056, -10.580134541264515, 2),
    (-12.948116406095719, -12.503850668261952, 2),
    (-10.580134541264519, -14.562305898749052, 2),
    (-10.065472262473438, -14.922676305990754, 2),
    (-7.3212595753644019, -16.443818237566816, 2),
    (-1.8815123388177604, -17.901394116628921, 2),
    (-3.3064371553204186e-15, -18, 2),
    (1.8815123388177537, -17.901394116628921, 2),
    (7.3212595753643956, -16.44381823756682, 2),
    (10.065472262473445, -14.922676305990748, 2),
    (10.580134541264513, -14.562305898749056, 2),
    (12.948116406095716, -12.503850668261956, 2),
    (14.562305898749052, -10.58013454126452, 2),
    (15.588457268119891, -9.0000000000000071, 2),
    (16.443818237566816, -7.3212595753644027, 2),
    (17.901394116628918, -1.8815123388177615, 2),
    (58, 0, 2),
    (57.682269931359848, 6.0626508695239014, 2),
    (52.98563654327085, 23.590725298396411, 2),
    (50.229473419497445, 28.999999999999996, 2),
    (46.92298567374695, 34.091544632963441, 2),
    (41.721708419641772, 40.290185486621837, 2),
    (34.091544632963441, 46.92298567374695, 2),
    (32.433188401303312, 48.084179208192424, 2),
    (23.590725298396411, 52.98563654327085, 2),
    (6.0626508695239005, 57.682269931359848, 2),
    (3.551358426084894e-15, 58, 2),
    (-6.0626508695239059, 57.682269931359848, 2),
    (-23.590725298396414, 52.98563654327085, 2),
    (-32.433188401303305, 48.084179208192424, 2),
    (-34.091544632963434, 46.92298567374695, 2),
    (-41.721708419641772, 40.290185486621837, 2),
    (-46.922985673746943, 34.091544632963448, 2),
    (-50.229473419497445, 28.999999999999996, 2),
    (-52.985636543270843, 23.590725298396425, 2),
    (-57.682269931359848, 6.0626508695239165, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.682269931359848, -6.0626508695239032, 2),
    (-52.98563654327085, -23.590725298396411, 2),
    (-50.229473419497438, -29.000000000000007, 2),
    (-46.922985673746958, -34.091544632963434, 2),
    (-41.721708419641764, -40.290185486621844, 2),
    (-34.091544632963448, -46.922985673746943, 2),
    (-32.433188401303298, -48.084179208192424, 2),
    (-23.590725298396407, -52.985636543270857, 2),
    (-6.0626508695238952, -57.682269931359855, 2),
    (-1.0654075278254682e-14, -58, 2),
    (6.062650869523873, -57.682269931359855, 2),
    (23.590725298396386, -52.985636543270864, 2),
    (32.433188401303326, -48.084179208192417, 2),
    (34.091544632963426, -46.922985673746958, 2),
    (41.72170841964175, -40.290185486621859, 2),
    (46.922985673746943, -34.091544632963455, 2),
    (50.229473419497424, -29.000000000000025, 2),
    (52.985636543270857, -23.590725298396407, 2),
    (57.682269931359848, -6.0626508695238979, 2),
    (51.961524227066306, -30.000000000000028, 0),
    (54.812727458556061, -24.404198584548009, 0),
    (59.6713137220964, -6.2717077960592054, 0),
    (60, -1.4695276245868527e-14, 0),
    (59.671313722096407, 6.2717077960591761, 0),
    (54.812727458556047, 24.40419858454803, 0),
    (51.961524227066313, 30, 0),
    (-51.96152422706632, 29.999999999999996, 0),
    (-54.812727458556047, 24.404198584548027, 0),
    (-59.6713137220964, 6.271707796059224, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.6713137220964, -6.2717077960592098, 0),
    (-54.812727458556054, -24.404198584548013, 0),
    (-51.961524227066313, -30.000000000000007, 0),
    (46.757087022012328, 45.15279407983482, 0),
    (38.206041399010751, 52.586104634371587, 0),
    (36.34753872559854, 53.887442216077716, 0),
    (55.389164626076145, 53.488694525342787, 0),
    (45.259464426520431, 62.294308566870953, 0),
    (43.057853567247506, 63.835893086738217, 0),
    (-36.347538725598532, 53.887442216077716, 0),
    (-38.206041399010743, 52.586104634371587, 0),
    (-46.757087022012328, 45.152794079834813, 0),
    (-43.057853567247491, 63.835893086738217, 0),
    (-45.259464426520424, 62.294308566870953, 0),
    (-55.389164626076145, 53.48869452534278, 0),
    (-46.757087022012321, -45.152794079834827, 0),
    (-38.206041399010758, -52.58610463437158, 0),
    (-36.347538725598525, -53.887442216077723, 0),
    (-55.389164626076131, -53.488694525342794, 0),
    (-45.259464426520438, -62.294308566870946, 0),
    (-43.057853567247484, -63.835893086738224, 0),
    (36.347538725598554, -53.887442216077709, 0),
    (38.206041399010736, -52.586104634371594, 0),
    (46.757087022012307, -45.152794079834841, 0),
    (43.05785356724752, -63.835893086738203, 0),
    (45.259464426520417, -62.29430856687096, 0),
    (55.389164626076116, -53.488694525342815, 0),
    (42.764441500835751, -4.494723920509097, 2),
    (43, -1.0531614642872444e-14, 2),
    (42.764441500835758, 4.4947239205090757, 2),
    (39.282454678631836, 17.489675652259407, 2),
    (37.239092362730865, 21.499999999999996, 2),
    (34.787730758122741, 25.274765848576344, 2),
    (25.274765848576344, 34.787730758122741, 2),
    (24.045294849242111, 35.648615619866796, 2),
    (17.489675652259407, 39.282454678631836, 2),
    (4.4947239205090987, 42.764441500835751, 2),
    (2.6329036607181111e-15, 43, 2),
    (-4.4947239205091032, 42.764441500835751, 2),
    (-17.489675652259411, 39.282454678631836, 2),
    (-24.045294849242108, 35.648615619866796, 2),
    (-25.27476584857634, 34.787730758122741, 2),
    (-34.787730758122734, 25.274765848576351, 2),
    (-37.239092362730865, 21.499999999999996, 2),
    (-39.282454678631829, 17.489675652259418, 2),
    (-42.764441500835751, 4.4947239205091103, 2),
    (-43, 5.2658073214362222e-15, 2),
    (-42.764441500835751, -4.4947239205091005, 2),
    (-39.282454678631836, -17.489675652259407, 2),
    (-37.239092362730858, -21.500000000000004, 2),
    (-34.787730758122748, -25.27476584857634, 2),
    (-25.274765848576351, -34.787730758122734, 2),
    (-24.045294849242104, -35.648615619866803, 2),
    (-17.489675652259404, -39.282454678631844, 2),
    (-4.4947239205090943, -42.764441500835758, 2),
    (-7.8987109821543333e-15, -43, 2),
    (4.4947239205090783, -42.764441500835758, 2),
    (17.48967565225939, -39.282454678631844, 2),
    (24.045294849242122, -35.648615619866789, 2),
    (25.274765848576337, -34.787730758122748, 2),
    (34.787730758122734, -25.274765848576354, 2),
    (37.239092362730851, -21.500000000000018, 2),
    (39.282454678631844, -17.489675652259407, 2),
]
for x, y, group in _nodes:
    mi_addnode(x, y)
    if group:
        mi_selectnode(x, y)
        mi_setnodeprop('', group)
        mi_clearselected()
# Отрезки: индексы узлов, локальный размер, имя границы, видимость, группа.
_segments = [
    (0, 1, -1, "Нулевой потенциал", 0, 0),
    (1, 2, -1, "Нулевой потенциал", 0, 0),
    (2, 3, -1, "Нулевой потенциал", 0, 0),
    (3, 0, -1, "Нулевой потенциал", 0, 0),
    (164, 41, -1, "", 0, 0),
    (170, 7, -1, "", 0, 0),
    (171, 21, -1, "", 0, 0),
    (177, 27, -1, "", 0, 0),
    (178, 181, -1, "", 0, 0),
    (180, 183, -1, "", 0, 0),
    (184, 187, -1, "", 0, 0),
    (186, 189, -1, "", 0, 0),
    (190, 193, -1, "", 0, 0),
    (192, 195, -1, "", 0, 0),
    (196, 199, -1, "", 0, 0),
    (198, 201, -1, "", 0, 0),
    (202, 163, -1, "", 0, 2),
    (204, 125, -1, "", 0, 2),
    (205, 126, -1, "", 0, 2),
    (207, 128, -1, "", 0, 2),
    (208, 130, -1, "", 0, 2),
    (210, 132, -1, "", 0, 2),
    (211, 133, -1, "", 0, 2),
    (213, 135, -1, "", 0, 2),
    (214, 136, -1, "", 0, 2),
    (216, 138, -1, "", 0, 2),
    (217, 140, -1, "", 0, 2),
    (219, 142, -1, "", 0, 2),
    (220, 143, -1, "", 0, 2),
    (222, 145, -1, "", 0, 2),
    (223, 146, -1, "", 0, 2),
    (225, 148, -1, "", 0, 2),
    (226, 150, -1, "", 0, 2),
    (228, 152, -1, "", 0, 2),
    (229, 153, -1, "", 0, 2),
    (231, 155, -1, "", 0, 2),
    (232, 156, -1, "", 0, 2),
    (234, 158, -1, "", 0, 2),
    (235, 160, -1, "", 0, 2),
    (237, 162, -1, "", 0, 2),
]
for a, b, size, boundary, hidden, group in _segments:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addsegment(x0, y0, x1, y1)
    mi_selectsegment((x0+x1)/2, (y0+y1)/2)
    mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
    mi_clearselected()
# Дуги: угол против часовой стрелки и максимальный угол элемента в градусах.
_arcs = [
    (4, 5, 6, 10, "", 0, 0),
    (5, 6, 18, 10, "", 0, 0),
    (6, 7, 6, 10, "", 0, 0),
    (7, 8, 6, 10, "", 0, 0),
    (8, 9, 8, 10, "", 0, 0),
    (9, 10, 10, 10, "", 0, 0),
    (10, 11, 2, 10, "", 0, 0),
    (11, 12, 10, 10, "", 0, 0),
    (12, 13, 18, 10, "", 0, 0),
    (13, 14, 6, 10, "", 0, 0),
    (14, 15, 6, 10, "", 0, 0),
    (15, 16, 18, 10, "", 0, 0),
    (16, 17, 10, 10, "", 0, 0),
    (17, 18, 2, 10, "", 0, 0),
    (18, 19, 10, 10, "", 0, 0),
    (19, 20, 8, 10, "", 0, 0),
    (20, 21, 6, 10, "", 0, 0),
    (21, 22, 6, 10, "", 0, 0),
    (22, 23, 18, 10, "", 0, 0),
    (23, 24, 6, 10, "", 0, 0),
    (24, 25, 6, 10, "", 0, 0),
    (25, 26, 18, 10, "", 0, 0),
    (26, 27, 6, 10, "", 0, 0),
    (27, 28, 6, 10, "", 0, 0),
    (28, 29, 8, 10, "", 0, 0),
    (29, 30, 10, 10, "", 0, 0),
    (30, 31, 2, 10, "", 0, 0),
    (31, 32, 10, 10, "", 0, 0),
    (32, 33, 18, 10, "", 0, 0),
    (33, 34, 6, 10, "", 0, 0),
    (34, 35, 6, 10, "", 0, 0),
    (35, 36, 18, 10, "", 0, 0),
    (36, 37, 10, 10, "", 0, 0),
    (37, 38, 2, 10, "", 0, 0),
    (38, 39, 10, 10, "", 0, 0),
    (39, 40, 8, 10, "", 0, 0),
    (40, 41, 6, 10, "", 0, 0),
    (41, 42, 6, 10, "", 0, 0),
    (42, 43, 18, 10, "", 0, 0),
    (43, 4, 6, 10, "", 0, 0),
    (44, 45, 6, 10, "", 0, 0),
    (45, 46, 18, 10, "", 0, 0),
    (46, 47, 6, 10, "", 0, 0),
    (47, 48, 6, 10, "", 0, 0),
    (48, 49, 8, 10, "", 0, 0),
    (49, 50, 10, 10, "", 0, 0),
    (50, 51, 2, 10, "", 0, 0),
    (51, 52, 10, 10, "", 0, 0),
    (52, 53, 18, 10, "", 0, 0),
    (53, 54, 6, 10, "", 0, 0),
    (54, 55, 6, 10, "", 0, 0),
    (55, 56, 18, 10, "", 0, 0),
    (56, 57, 10, 10, "", 0, 0),
    (57, 58, 2, 10, "", 0, 0),
    (58, 59, 10, 10, "", 0, 0),
    (59, 60, 8, 10, "", 0, 0),
    (60, 61, 6, 10, "", 0, 0),
    (61, 62, 6, 10, "", 0, 0),
    (62, 63, 18, 10, "", 0, 0),
    (63, 64, 6, 10, "", 0, 0),
    (64, 65, 6, 10, "", 0, 0),
    (65, 66, 18, 10, "", 0, 0),
    (66, 67, 6, 10, "", 0, 0),
    (67, 68, 6, 10, "", 0, 0),
    (68, 69, 8, 10, "", 0, 0),
    (69, 70, 10, 10, "", 0, 0),
    (70, 71, 2, 10, "", 0, 0),
    (71, 72, 10, 10, "", 0, 0),
    (72, 73, 18, 10, "", 0, 0),
    (73, 74, 6, 10, "", 0, 0),
    (74, 75, 6, 10, "", 0, 0),
    (75, 76, 18, 10, "", 0, 0),
    (76, 77, 10, 10, "", 0, 0),
    (77, 78, 2, 10, "", 0, 0),
    (78, 79, 10, 10, "", 0, 0),
    (79, 80, 8, 10, "", 0, 0),
    (80, 81, 6, 10, "", 0, 0),
    (81, 82, 6, 10, "", 0, 0),
    (82, 83, 18, 10, "", 0, 0),
    (83, 44, 6, 10, "", 0, 0),
    (84, 85, 6, 10, "", 0, 2),
    (85, 86, 18, 10, "", 0, 2),
    (86, 87, 6, 10, "", 0, 2),
    (87, 88, 6, 10, "", 0, 2),
    (88, 89, 8, 10, "", 0, 2),
    (89, 90, 10, 10, "", 0, 2),
    (90, 91, 2, 10, "", 0, 2),
    (91, 92, 10, 10, "", 0, 2),
    (92, 93, 18, 10, "", 0, 2),
    (93, 94, 6, 10, "", 0, 2),
    (94, 95, 6, 10, "", 0, 2),
    (95, 96, 18, 10, "", 0, 2),
    (96, 97, 10, 10, "", 0, 2),
    (97, 98, 2, 10, "", 0, 2),
    (98, 99, 10, 10, "", 0, 2),
    (99, 100, 8, 10, "", 0, 2),
    (100, 101, 6, 10, "", 0, 2),
    (101, 102, 6, 10, "", 0, 2),
    (102, 103, 18, 10, "", 0, 2),
    (103, 104, 6, 10, "", 0, 2),
    (104, 105, 6, 10, "", 0, 2),
    (105, 106, 18, 10, "", 0, 2),
    (106, 107, 6, 10, "", 0, 2),
    (107, 108, 6, 10, "", 0, 2),
    (108, 109, 8, 10, "", 0, 2),
    (109, 110, 10, 10, "", 0, 2),
    (110, 111, 2, 10, "", 0, 2),
    (111, 112, 10, 10, "", 0, 2),
    (112, 113, 18, 10, "", 0, 2),
    (113, 114, 6, 10, "", 0, 2),
    (114, 115, 6, 10, "", 0, 2),
    (115, 116, 18, 10, "", 0, 2),
    (116, 117, 10, 10, "", 0, 2),
    (117, 118, 2, 10, "", 0, 2),
    (118, 119, 10, 10, "", 0, 2),
    (119, 120, 8, 10, "", 0, 2),
    (120, 121, 6, 10, "", 0, 2),
    (121, 122, 6, 10, "", 0, 2),
    (122, 123, 18, 10, "", 0, 2),
    (123, 84, 6, 10, "", 0, 2),
    (124, 125, 6, 10, "", 0, 2),
    (125, 126, 18, 10, "", 0, 2),
    (126, 127, 6, 10, "", 0, 2),
    (127, 128, 6, 10, "", 0, 2),
    (128, 129, 8, 10, "", 0, 2),
    (129, 130, 10, 10, "", 0, 2),
    (130, 131, 2, 10, "", 0, 2),
    (131, 132, 10, 10, "", 0, 2),
    (132, 133, 18, 10, "", 0, 2),
    (133, 134, 6, 10, "", 0, 2),
    (134, 135, 6, 10, "", 0, 2),
    (135, 136, 18, 10, "", 0, 2),
    (136, 137, 10, 10, "", 0, 2),
    (137, 138, 2, 10, "", 0, 2),
    (138, 139, 10, 10, "", 0, 2),
    (139, 140, 8, 10, "", 0, 2),
    (140, 141, 6, 10, "", 0, 2),
    (141, 142, 6, 10, "", 0, 2),
    (142, 143, 18, 10, "", 0, 2),
    (143, 144, 6, 10, "", 0, 2),
    (144, 145, 6, 10, "", 0, 2),
    (145, 146, 18, 10, "", 0, 2),
    (146, 147, 6, 10, "", 0, 2),
    (147, 148, 6, 10, "", 0, 2),
    (148, 149, 8, 10, "", 0, 2),
    (149, 150, 10, 10, "", 0, 2),
    (150, 151, 2, 10, "", 0, 2),
    (151, 152, 10, 10, "", 0, 2),
    (152, 153, 18, 10, "", 0, 2),
    (153, 154, 6, 10, "", 0, 2),
    (154, 155, 6, 10, "", 0, 2),
    (155, 156, 18, 10, "", 0, 2),
    (156, 157, 10, 10, "", 0, 2),
    (157, 158, 2, 10, "", 0, 2),
    (158, 159, 10, 10, "", 0, 2),
    (159, 160, 8, 10, "", 0, 2),
    (160, 161, 6, 10, "", 0, 2),
    (161, 162, 6, 10, "", 0, 2),
    (162, 163, 18, 10, "", 0, 2),
    (163, 124, 6, 10, "", 0, 2),
    (164, 165, 6, 10, "", 0, 0),
    (165, 166, 18, 10, "", 0, 0),
    (166, 167, 6, 10, "", 0, 0),
    (167, 168, 6, 10, "", 0, 0),
    (168, 169, 18, 10, "", 0, 0),
    (169, 170, 6, 10, "", 0, 0),
    (171, 172, 6, 10, "", 0, 0),
    (172, 173, 18, 10, "", 0, 0),
    (173, 174, 6, 10, "", 0, 0),
    (174, 175, 6, 10, "", 0, 0),
    (175, 176, 18, 10, "", 0, 0),
    (176, 177, 6, 10, "", 0, 0),
    (178, 179, 10, 10, "", 0, 0),
    (179, 180, 2, 10, "", 0, 0),
    (181, 182, 10, 10, "", 0, 0),
    (182, 183, 2, 10, "", 0, 0),
    (184, 185, 2, 10, "", 0, 0),
    (185, 186, 10, 10, "", 0, 0),
    (187, 188, 2, 10, "", 0, 0),
    (188, 189, 10, 10, "", 0, 0),
    (190, 191, 10, 10, "", 0, 0),
    (191, 192, 2, 10, "", 0, 0),
    (193, 194, 10, 10, "", 0, 0),
    (194, 195, 2, 10, "", 0, 0),
    (196, 197, 2, 10, "", 0, 0),
    (197, 198, 10, 10, "", 0, 0),
    (199, 200, 2, 10, "", 0, 0),
    (200, 201, 10, 10, "", 0, 0),
    (202, 203, 6, 10, "", 0, 2),
    (203, 204, 6, 10, "", 0, 2),
    (205, 206, 6, 10, "", 0, 2),
    (206, 207, 6, 10, "", 0, 2),
    (208, 209, 2, 10, "", 0, 2),
    (209, 210, 10, 10, "", 0, 2),
    (211, 212, 6, 10, "", 0, 2),
    (212, 213, 6, 10, "", 0, 2),
    (214, 215, 10, 10, "", 0, 2),
    (215, 216, 2, 10, "", 0, 2),
    (217, 218, 6, 10, "", 0, 2),
    (218, 219, 6, 10, "", 0, 2),
    (220, 221, 6, 10, "", 0, 2),
    (221, 222, 6, 10, "", 0, 2),
    (223, 224, 6, 10, "", 0, 2),
    (224, 225, 6, 10, "", 0, 2),
    (226, 227, 2, 10, "", 0, 2),
    (227, 228, 10, 10, "", 0, 2),
    (229, 230, 6, 10, "", 0, 2),
    (230, 231, 6, 10, "", 0, 2),
    (232, 233, 10, 10, "", 0, 2),
    (233, 234, 2, 10, "", 0, 2),
    (235, 236, 6, 10, "", 0, 2),
    (236, 237, 6, 10, "", 0, 2),
]
for a, b, angle, max_angle, boundary, hidden, group in _arcs:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addarc(x0, y0, x1, y1, angle, max_angle)
    half = math.radians(angle)/2
    cx = (x0+x1)/2 - (y1-y0)/(2*math.tan(half))
    cy = (y0+y1)/2 + (x1-x0)/(2*math.tan(half))
    xm = cx + (x0-cx)*math.cos(half) - (y0-cy)*math.sin(half)
    ym = cy + (x0-cx)*math.sin(half) + (y0-cy)*math.cos(half)
    mi_selectarcsegment(xm, ym)
    mi_setarcsegmentprop(max_angle, boundary, hidden, group)
    mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 6. Модель неполная: переходите к следующему этапу, не запускайте решение.")
