Автотрассировщики Печатных Плат

Аннотация к книге А. Уваров Автотрассировщики печатных плат. Но при всем этом, основной акцент дается на использование автоматизированных средств разработки печатных плат, что со стремительным ростом сложности разрабатываемых устройств, становится практически единственными средством их практической реализации. Отдельные программы, вошедшие в книгу в настоящее время не имеют популярных описаний и поэтому для них даны краткие курсы, позволяющие быстро освоить эти программы.

Настоящая книга представляет собой сборник описаний прикладных программ проектирования печатных плат. Книга рассчитана в первую очередь на разработчиков печатных плат, имеющих практический опыт подобных разработок, но может быть рекомендована и тем, кто впервые решил освоить некоторые из описанных программ. Среди описываемых программ имеются хорошо известные и недавно появившиеся; узкоспециализированные, предназначенные только для трассировки печатных проводников, и обеспечивающие полный цикл проектирования от разработки библиотечных элементов до выпуска комплекта технологических файлов. Перейти далее Наука и жизнь №07/2014 Лариса Соболева Петля Афродиты Айтматов, Чингиз Торекулович Ранние журавли Сумка. Счастье в печеньках Редакция газеты Твой день Твой день 79.

SPECCTRA программа которая великолепно трассирует очень сложные печатные платы, т.к применен новый алгоритм представления графических. Авторы: Уваров А. Наименование: Автотрассировщики печатных плат: Издатель: ДМК Пресс. Желательно возможность просмотра будущей печатной платы с компонентами в трехмерном режиме как в Ultiboard.

На написание статьи меня подтолкнула программа, на которую я наткнулся в поисках способов автоматизации разработки печатных плат (а упоминаний, тем более статей про неё я на хабре не нашёл). Но, обо всём по порядку. Итак, конструкция разработана, собрана на макетной плате, проверена в действии. Дальше — печатная плата. Если верить форумам, то многие (в том числе и мои знакомые) используют Sprint-Layout. Но ведь это ручная работа, тот же карандаш и бумажка, только в электронном виде. Зачем все эти ядра процессора и гигабайты памяти, если приходится всё равно работать ручками?

Признаюсь, меня это всегда коробило. Сейчас я расскажу, как добился удовлетворительного для меня результата в автоматическом режиме.

Красивая картинка для привлечения внимания А использовал я связку Proteus плюс TopoR Lite. Сразу скажу, что к данным продуктам имею отношение лишь как пользователь и ни в коем случае не рекламирую их. Тем более, что Proteus можно спионерить найти на просторах интернета (конечно же в ознакомительных целях), а TopoR Lite бесплатен (с некоторыми ограничениями). Почему именно эти программы? Изначально пользовался Proteus. Не помню, с чего началось, но меня вполне устроило: можно рисовать схемы, моделировать работу, разводить платы.

Первые два получались хорошо, последнее не нравилось, искал идеал. Я пытался рисовать схему в Eagle. Но то ли я рукожопый, то ли нужны особые привычка и сноровка, в общем, мне не понравилось. Сначала я долго не мог понять, как добавить элемент.

Потом оказалось, что нужно подключать библиотеки с необходимыми элементами. А откуда я знаю, как называется библиотека, если я и названия элемента-то не знаю (например, разъёмы я ищу исключительно по картинкам). В Eagle по умолчанию не оказалось нужных мне Attiny2313 и Atmega328. Пришлось гуглить/скачивать/копировать нужную библиотеку. Ну и шины питания в Proteus подключены сразу (и даже эти пины у микросхем скрыты, чего внимание отвлекать), а тут пришлось раскидывать их явно. Итогом через полчаса тыканий оказалась одна микросхема, подключенная к питанию. Я пытался рисовать в DipTrace.

В принципе, рисовать удобно. Однако нет (или не нашёл) симуляции работы, мне это нужно и для отладки схемы, и для отладки программ МК. Взгруснул и вернулся в ISIS. Зачем внешний трассировщик TopoR, если в ARES есть встроенный? Те цепи, которые не может развести, он просто бросает.

Если с двусторонней разводкой этого почти не происходит, при односторонней и минимальных габаритах платы получается ужас. А поскольку текстолит у меня односторонний, да и делать двусторонние платы сложнее, я решил — хочу с одной стороны плюс перемычки. Авторазмещение в ARES тоже ужас, но альтернатив я не нашёл, а вручную делать ничего не хочется. Как говорится, на безрыбье и щуку раком.

Итак, предлагаю рассмотреть средства автоматизации на стандартном примере из Proteus 8 — Thermo. Переходим в ARES, удаляем всю ту красоту, что наделали хитрые создатели Proteus и нажимаем на Auto-placer. Тут открывается ещё один недостаток этого инструмента: он умеет помещать компоненты только на одну сторону платы (я полчаса потратил в поисках решения, пока в справке не прочёл, что это невозможно).

Если вы используете и SMD корпуса, и обычные и хотите, чтобы они были с разных сторон платы — придётся ручками перемещать компоненты с одной стороны на другую, причём каждый по-отдельности. Итогом авторазмещения становится такая картина: Дабы посмотреть, как в ARES работает автороутер, идём в Design Rule Manager, выставляем дороги POWER и SIGNAL только с одной стороны (у меня Top Copper), ширину T25 (чтоб с ЛУТ проблем не было) и запускаем Auto-router. Вот что получается: То есть 43 дорожки он не развёл и придётся делать перемычки. Что ж, давайте опробуем TopoR. Опять же нажимаем Auto-router, там Export Design File и сохраняем. В TopoR Импорт - Specctra и открываем файл.

Теперь надо немного настроить. В Параметрах дизайна (F4) удаляем лишние 14 слоёв, в Ширине проводников ставим от 0,3 до 0,6 мм. Нажимаем кнопку Автотрассировка, в настройках галки Переназначить функционально эквивалентные контакты компонентов (на всякий случай: мне показалось, что данная опция не совсем работает или даже совсем не работает), Однослойная трассировка и жмём кнопку Запустить. Трассировщик автоматически сохраняет лучшие варианты, которые потом можно добавить в проект. Трассировка закончится только после нажатия кнопки Остановить.

Плат

Обращу внимание, что перемычки расставляются автоматически, и даже размещаются контактные площадки под них. Я дождался, пока количество переходов не достигло 30 (т.е. 15 перемычек): 15 перемычек против 43 в ARES — гораздо лучше! Потратив 5 минут и чуть переместив компоненты/раздвинув границы платы можно получить 10 переходов (5 перемычек), что уже допустимо: А как по мне — 5 минут перемещать уже накиданное гораздо веселей, чем с нуля всё раскладывать по плате. Белые кружочки — нарушения DRC (дорожки/компоненты расположились слишком близко).

Не беда — вручную чуть передвинем эти самые компоненты и дорожки и нажмём F7 — они аккуратно перепроложатся, ошибки устранены (впрочем, я видел, как эта самая F7 глючит: после очередного нажатия ложит одну из дорог поверх нескольких других, а потом ругается об ошибке). Специфичная для TopoR кривизна дорожек веет тёплой ламповостью и напоминает про времена, когда платы разводили карандашом на листочке в клеточку, а на текстолите рисовали нитрокраской/нитролаком и иголкой/шприцем/пастиком гелевой ручки. Лично меня это прёт.

Когда результат получится удовлетворительный, можно либо экспортировать плату, либо распечатать прямо из программы (есть даже галочка Зеркальное отображение, видимо специально для ЛУТ). Пример реальной платы: Полигоны в TopoR рисовать можно, причём сплошные/штрих/сетка, но я про них забыл. На этой плате нарисовал их маркером для дисков. Штрихованные пятачки — как раз перемычки.

Уваров

Буду рад, если статья помогла кому автоматизировать нудные процессы. Буду благодарен, если расскажете про более удобные инструменты для авторазмещения и автотрассировки (особенно авторазмещения).

Метки:. Добавить метки Пометьте публикацию своими метками Метки необходимо разделять запятой.

Например: php, javascript, адронный коллайдер, задача трех тел. Увы, автомат очень многое не понимает если ему не указать. У вас на плате просто масса досадных ошибок, которые не сделал бы специалист. И схема эта будет работать скорее вопреки чем благодаря Трассировщик не знает где силовые линии а где сигнальные, где надо толще провод сделать где всеми силами надо сделать шину как можно КОРОЧЕ и т.д. И уж точно никто не поведет шину питания прямо вокруг по всей плате — это же какой прекрасный контур получается для излучения ЭМИ а так же для его приёма Недостаточно так же просто соединить все общие провода в схеме, для того чтобы узлы не влияли друг на друга через земляную шину разводка этой шины должна напоминать подключение типа «звезда», трассировщику сие соответственно не ведомо, у него одна задача — просто соединить все указанные точки а как — это дело десятое, пофиг что из-за этого схема будет фонить в эфир и глючить от любого чиха. Чтобы учесть все эти требования трассировщику надо много чего объяснять, и порой проще вручную развести чем доверять это дело целиком трассировщику. Ладно там второстепенные шины доверить трассировщику, а все критичные части надо развести вручную!

Автотрассировщики

Автороутеры и автоплейсеры просто падают кверху лапками, когда на схеме больше 300 переходных отверстий. Если машина слабая, то и сотня переходных отверстий может с ума свести программу для разводки. Да и качество установки, ровно как и разводки плат, практически у всех программ страдает. То есть работать-то оно будет, может даже как задумано (если правила разводки грамотно заданы).

Многие программы (Altium или Mentor, например) умеют даже в автоматическом режиме учитывать такие вещи как особенности высокочастотных схем или наличие на плате аналоговых цифровых цепей и разной «земли». Однако, это всё равно, в большинстве случаев, эстетически не красиво. Ну знаете, когда смотришь на готовую плату, если давно разводкой занимаешься, то видишь что какие-то места ты сделал бы по другому и это было бы просто красивое решение (затрудняюсь дать более точное определение).

Ни один автотрейсер не разведёт плату так как разведёт инженер с опытом разводки плат. Для простеньких плат на 10-20 элементов, вполне уже можно добиться отличных результатов, это факт. Иногда так и делаешь, чтобы не тратить своё время. А с другой стороны, если время есть, то и простые платы руками рисуешь — просто, опять же чтобы было красиво и правильно. Учитывая всё вышесказанное, я лично пришёл к тому, что пользуюсь автоплейсером, при этом оптимально располагаю несколько элементов и группирую их, а автоплейсер уже может поворачивать группу и остальные элементы, подбирая оптимальное расположение для них. Примерно также и с автороутером.

Получается очень удобно. По итогу, для себя я остановился на DipTrace. В нём всё нравится, кроме пары мелочей, вроде кривого экспорта-импорта в P-CAD, но ребята постоянно обновляют программу, я думаю они это решат. К тому же, насколько я знаю, косяки эскпорта-импорта в основном растут из самого формата P-CAD'а и правок, которые в формат вносились по выходу новых версий. В целом единственные недостатки DipTrace это не слишком продвинутый автоматический режим и отсутствие эмуляции работы схем.

Над этим вопросом я задумывался не раз. Действительно, автоматическая трассировка, даже если она существует у программ-рисовальщиков плат не оптимальна по сравнению с тем, что можно сделать работая самостоятельно. Пожеланий на каждый день. Неизвестно, почему так, может потому, что авторы программ делают автотрассировку как дополнительную опцию, не прилагая на нее основных сил.

Может быть стоит действительно подумать над тем, как накодить оптимальный автотрассировщик, позволяющий достигнуть оптимальность, близкую к человеческой по необходимому критерию (минимальная площадь платы, жесткая геометрия, минимальное число перемычек и т.д.). Чтобы более вообще не приходилось вручную корректировать. Это достойная и интересная задача. Это вероятно означает необходимость выражения этой уймы информации и опыта (а это тоже информация) в виде баз и алгоритмов. Система моделирования физики работы схемы тоже должна быть, наподобие тому, что есть у протеуса, но посовершеннее. Я в общем-то не верю, что есть нечто невозможное для современных вычислительных систем, особенно на примере такой задачи. Компьютеру заменить в таком применении человека легче, чем распознавать речь или текст, что однако успешно решается.

Автотрассировщики Печатных Плат Скачать

Может быть это еще не высокоактуально или еще нет умений перекладывать такие задачи на код. Для этого нужно сначала изобрести работающий ИИ. Опыт — это чисто эмпирическая вещь его очень сложно переводить на конкретные количественные правила, а часто даже вопреки правил. Конечно, невозможного ничего нет проблема только в сложности поставленной задачи.

Представь что платку на 30 элементов трассировщик будет разводить сутки на кластере вычислительных машин зато сделает он это идеально в соответствии всех правил, которые вводились оператором двое суток в результате многочисленных уточнений. И после этого взгляд опытного проектировщика выявит что какой-то параметр забыли указать или целью оптимизации указали не то что требуется А протеус это вообще отдельная тема.

Сейчас все симуляторы работают практически на одних и тех же принципах и у всех одни и те же недостатки — ресурсоемкость и идеализация. Более подробные модели еще более ресурсоемки и всеравно не отражают реальную физику. Топор действительно офигенная вещь.

Очень хорошо топологию раскидывает. Опять же куча правил, как в лучших домах.

Можно, например, дифпару указать он ее разведет как надо, а не расшвыряет по всей плате. Вещь шикарная, но напрягает проблема конверта из формата в формат. Ему бы свой схемный редактор и цены бы не было. А что до формы дорожек Вообще вот такая вот гладкая форма дорожек считается высшим пилотажем в схемотехнике, особенно в ВЧ. А тут все из коробки.

А вообще лулзы с ним ловить можно. Я как то одну плату забацал топором, да еще детали расположил не по сетке, а словно их насыпали на плату как придется, под разными углами. Совершенно наркоманская вещь получилась. Там был штучный прототип поэтому было пофигу. Отправил на производство в общем они мне на следующий день позвонили и жаловались, что мол мой файл у них не открывается, все перекосило и раскорячило. Я конешн поржал, долго им объяснял, что это не баг, а фича. Но проблемы с топором могут быть, например микроаппертуры.

Если производитель криво с ними работает можете получить неправильную плату. Дорожки могут налезть друг на друга или пады поплыть. Иногда глюки бывают при конверсии, когда внезапно на плате возникает круговая дорожка поверх всего. Хотя это давно было, может уже пофиксили. Пример из опыта. Компания, которая занимается разработкой и производством электроники более 20 лет.

Разработка силовой, аналоговой электроники, импульсных схем. Даже в страшном сне не приснится, авто-установка и авто-трассировка печатной платы.

Конечно это можно делать, когда разрабатываешь мигалку на 555 таймере. Но все более-менее серьезное, требует внимательного подхода в расположению проводников, токовых петель, последовательности подключения элементов к дорожке. Все это не могут учитывать современные САПР. Во всяком случае те, которые доступны на нашем рынке. Порой, когда ты руками разводишь плату, думаешь о работе схемы и вносишь налету коррективы. Плату в вашем примере можно развести компактнее и логичней.

Вы (как и многие здесь) рассматриваете автотрассировку с точки зрения инженера-проектировщика, получающего за это деньги. Я же развожу платы в сободное время в качестве хобби и поместил статью в хаб «Электроника для начинающих». Конечно, работу руками никто не отменял — я переставляю компоненты после автоплейсера и перекладываю дороги после автороутера.

Бывает, переставляю раз по 15-20 после того, как посмотрю как развелись дорожки. И опять в автороутер. Но трачу на всё это в разы меньше времени, чем если бы делал от начала до конца вручную. Если есть критичные участки, особые требования к шинам питания — никто не запрещает проложить их вручную, а уж потом запустить автороутер.

Программа Автотрассировщики Печатных Плат

В TopoR, кстати, предлагается несколько вариантов разводки и можно выбирать минимальное количество перемычек/минимальную длинну проводников и т.д. Присоединюсь ко мнению тех, кто против авто-размещения. Чаще всего такой подход (почти полная автоматизация) подойдет только там, где именно 5-7 деталек и плата произвольной формы прячется куда-то лишь бы «оно работало».

А если более сложные проекты с ВЧ, хитрым питанием, да просто хитрой 3D-формы, куда надо вместить плату, обеспечив нужную мощность и соблюдение допусков на сертификации, то как в 199х годах было — так и осталось — без ручной работы опытного инженера никуда не денешься. А авто-трассировка с небольшим числом обязательных правил — тоже используется итерационно, для оценки разводимости платы для текущего варианта размещения компонент. И чаще всего после 10-15 вариантов быстрой авто-трассировки (Specctra), когда размещение выбрано и разводимость (за единицы-десятки секунд работы автотрассировщика) доказана — начинается ручная коррекция трассировки, которая уже займет больше времени, чем автоматизированный подготовительный этап трассировки. Ну, а после завершения, и получения опытных образцов — еще разок устраняется глупая лажа:-) предыдущей работы (буквально одно соединение или контакт), и потом минимум еще разок придется что-то в плате менять из-за изменения комплектации или других внешних изменившихся факторов. Но это всё, конечно, не для такой простой схемы, как у автора статьи. Ну а такую схему как у автора и в ручную развести можно очень быстро.

Авторазмещение и автотрассировка даже на такой простой плате цепей кварцевого резонатора и элементов блокировки это конечно просто песня! Самое смешное, мне приходилось подобные плюшки видеть в проектах, которые выполнялись на заказ и за немаленькие деньги. Особо запомнилось два случая. Один раз ко мне пришли с разведённым китайскими кудесниками счётчиком электроэнергии, а во второй раз с генератором волн Шумана, который проектировали наши Кулибины! Не, я понимаю, хочется как проще, схеме по-большей части пофиг на конфиг дорожек, т.к. Подобная «кухонная» техника в принципе не работает с частотами, когда дорожки могут создавать наводку, или разница в длине проводников создаст рассинхронизацию передачи байта по параллельной шине, но вот вызывает отторжение и хоть ты тресни! Вот привыкли мы к тому, что «нормальная плата должна быть красивой» и всё тут!

Параллельные дорожки с поворотами в 45 градусов и т.п. Ладно-бы схема получилась «в виде котёнка», но так — некрасиво. Подобная «автотрассировка» возможно годится для простейшей конструкции выходного дня не содержащей аналоговых и уж тем более силовых цепей, но не для чего то более серьёзного.

Простые и средней степени сложности проекты до сих пор приходится трассировать в ручную. Для сложных плат с большим количеством элементов и слоёв можно применять и автоматическую трассировку, но приходится задавать огромное число правил, чтобы получить что то более менее приличное. Для простых плат это просто не имеет смысл делать, быстрее развести руками, чем правила создавать! Комментарий от Полубасова Олега Борисовича, автора TopoR'a: Я глубоко убеждён, что споры, кто лучше разводит: человек или машина лишены смысла. Разводит всегда человек, даже если при этом он пользуется какими-то программами. Даже если результат работы автотрассировщика человек только проверил и убедился, что всё в порядке, всё равно отвечает за разводку человек. Программа – только инструмент, позволяющий освободить человека от рутинной работы и сосредоточиться на главном.

Английская народная песня

Автомат и разведённость цепей проверит, и соблюдение зазоров, и задержки на сигналах выровняет. Понятно, что конструктор, вооружённый хорошим инструментом и умеющий им пользоваться, имеет преимущество перед голоруким. Но сказать я хотел про однослойную разводку. В программе TopoR есть специальные возможности, значительно облегчающие разводку однослойных плат. Буду говорить про TopoR 6.0, поскольку его интерфейс отличается от интерфейса предыдущих версий. Сценарий однослойной разводки таков.

После импорта проекта необходимо тщательно проверить правила разводки. Номинальный зазор сделать раза в полтора больше минимально допустимого. Разместить компоненты. Обязательно закрепить компоненты, положение которых жёстко задано, и не закреплять компоненты, которые можно перемещать! Автотрассировка – Настройки. a.

Установить флажок «Однослойная трассировка», выбрать, на каком слое. В примере Сергея Морозова – на верхнем. Установить флажок «Ослабленный контроль зазоров».

Дело в том, что при однослойной разводке проводники идут, в основном, между компонентами. Заранее трудно предсказать, между какими компонентами требуется оставить место для проводников, и сколько именно. Если не выставить флажок «Ослабленный контроль зазоров», то TopoR будет стараться строго соблюдать установленные правила зазоров.

В результате, если например, между компонентами требуется проложить четыре проводника, а помещается только три, то четвёртый проводник пойдёт в обход, отнимая место у других проводников, или проложится с перемычкой. Если же выставить флажок «Ослабленный контроль зазоров», то TopoR будет считать, что незакреплённые компоненты можно будет слегка раздвинуть после авторазводки, поэтому он проложит в требуемом месте все четыре проводника. Если нужно, установить флажок «Переназначать функционально эквивалентные контакты компонентов».

Переназначение работает, но только в самом начале трассировки. Когда начинается поиск вариантов – уже не производится. Не было спроса – вот и не сделали. Будет спрос – сделаем. Перестановка функционально эквивалентных вентилей не производится. Флажок «Использовать имеющуюся разводку в качестве начального варианта» выставлять не надо. Запустить автотрассировку, подождать, пока новые варианты разводки не перестанут активно появляться (около минуты).

Программа и сама выдаёт подсказку: «Автотрассировку целесообразно остановить». Выбрать вариант разводки. При однослойной разводке лучше выбирать вариант с наименьшим числом переходов (число переходов равно удвоенному числу перемычек), так как потом при редактировании разводки проще добавить перемычку, укоротив слишком длинный проводник, чем убрать перемычку. Открыть в редакторе. Так как применялся ослабленный контроль зазоров, то могут быть нарушения зазоров между компонентами.

На панели инструментов кликнуть правой кнопкой мыши на треугольник, выбрать «Подвижка переходов и компонентов с перекладкой проводников». Компоненты раздвинутся в узких местах и сдвинутся в свободных. Можно повторить несколько раз. На панели инструментов кликнуть правой кнопкой мыши на треугольник, выбрать «Подвижка переходов с перекладкой проводников». Переходы расставятся более рационально. Эту операцию (клавишей F7) имеет смысл производить после каждого небольшого ручного редактирования. Исправить неудачно разведённые цепи, переставить некоторые компоненты в более оптимальное положение, если надо, изменить ориентацию компонентов.

Цепи, которые должны иметь определённую топологию, правильно развести вручную и установить для этих цепей признак «Гибкая фиксация». Этот признак фиксирует геометрию цепей, в том числе, расположение переходов, но оставляет геометрию цепей гибкой. Автотрассировщик понимает этот признак и не изменяет топологию гибко фиксированных цепей (ГФЦ), в том числе, не дотрассировывает их, если цепь разведена не полностью. Можно задать любую топологию, хоть «звезда», хоть «цепочка», хоть контуров в цепи наделать.

Пункты 3-7 повторяются несколько раз (около пяти). Постепенно разводка сходится к какому-то варианту.

Обычно, если после первой итерации было 18 перемычек, то после пятой может не остаться ни одной. Весь процесс больше похож на увлекательную логическую игру, чем на обычный напряжённый труд конструктора. Олег Полубасов, автор САПР TopoR. Ретранслирую: Отлично! Прям захотелось уже попробовать.

Автотрассировщики Печатных Плат

Один только вопрос реализована ли печать шаблонов для использования с ЛУТ / Фоторезистом (инверсия, отразить, коррекция масштаба и т.п.)? Поскольку TopoRом пользуется много любителей, то всё это есть. Расписание уроков картинки. Меню – Файл - Печать. Можно выбрать печатаемый фрагмент, масштаб, зеркальность.

Для ЛУТ в списке «Цветовая схема» надо выбрать «Фотошаблон» или «Негатив». Для профессиональных пользователей есть экспорт в GERBER, DRILL, DXF, хотя многие предпочитают экспортировать обратно в свою САПР.

Заодно, предупрежу о некоторых типичных ошибках. Должен быть задан контур платы. Лучше описать его одним многоугольником, чем набором линий. Чтобы при автоматической подвижке компоненты не наезжали друг на друга, должны быть заданы очертания компонентов. Если очертания компонентов описаны в нестандартных слоях, то в редакторе параметров дизайна в разделе «Слои» необходимо для этих слоёв выставить флажок «Учитывать при размещении».

Уваров А.с. Автотрассировщики Печатных Плат

Некоторые САПР (например, Proteus) импортируют из формата DSN (файл SES) только проводники и переходы, а изменившееся расположение компонентов игнорируют. Есть и другие отличия, поэтому в TopoRe есть панель Экспорт - Specctra – Настройки. Несколько слов о редактировании в САПР TopoR. При редактировании проводников не обязательно соблюдать зазоры. По нажатию клавиши F7 все зазоры будут соблюдены автоматически, если это возможно.

Для любителей совсем уж «тёплых» проводников можно включить дугообразные сегменты проводников: на панели инструментов кликнуть правой кнопкой мыши на окружность, выбрать « Рассчитать форму проводников с использованием дуг». Этот флаг « Использовать дуги» можно включить и в настройках автотрассировки.

Вид психоделический, рекомендую. Олег Полубасов, автор САПР TopoR.

Posted on