В статье рассказано, как организованы трёхмерная визуализация и STEP-экспорт трёхмерной модели электронной печатной платы из двух очень популярных САПР среднего уровня. Этот материал носит обучающий и справочный характер, поэтому в статье отсутствуют какие-либо рекомендации по преимущественному использованию тех или иных методов.
Возможность увидеть разрабатываемую электронную плату в трёхмерном изображении ещё до её изготовления позволяет заблаговременно выявлять возможные недостатки конструкции готового устройства и облегчает взаимодействие инженеров-электрон-щиков с конструкторами-механиками, разрабатывающими корпус изделия. Сегодня для обмена трёхмерной информацией общепринят формат STEP, который поддерживается большинством трёхмерных САПР, с которыми работают конструкторы-механики.
Почему EAGLE и DipTrace?
Из рассмотрения исключаем про-граммы-«тяжеловесы»фирм Mentor, Cadence и Altium. Их пользователям о проблемах трёхмерного отображения беспокоиться не стоит, но цена (особенно САПР Xpedition или Allegro) для радиолюбителей и небольших компаний — неподъёмная. Кстати, многим имеющиеся в этих системах возможности и не нужны. В легендарной системе разработки печатных плат P-CAD трёхмерной визуализации нет, есть лишь IDF-экспорт. Система Target 3001 или Easy-PC в наших краях редкость, а бесплатные САПР с поддержкой трёхмерности, вроде KiCAD или DesignSpark, полностью лишены возможности экспорта модели платы, да и не очень-то популярны. Остаются только близкие конкуренты — DipTrace и EAGLE.
DipTrace
Эта программа позволяет вращать модель платы вокруг трёх осей в реальном времени и сохранять её со всеми установленными корпусами компонентов в формате STEP или VRML. Трёхмерный модуль DipTrace можно сравнить с аналогичным в Altium Designer. Конечно, DipTrace значительно слабее. Нет режимов просмотра отдельных слоёв и платы в разрезе, зато есть полноценный STEP-экспорт. Он обеспечивает сравнительно простую интеграцию с механическими САПР. А вот формат VRML мне показался бесполезным для практических задач, зато для визуализации он очень удобен и, главное, эффектен. Ведь плата экспортируется со всеми печатными проводниками, сплошными участками металлизации и выглядит практически как фотоснимок (рис. 1).
Разработчикам предлагают стандартную библиотеку трёхмерных моделей элементов бесплатно. Эти модели «прикреплены» к соответствующим корпусам. Если у какого-либо корпуса модели нет, то при запуске программа попробует найти соответствие в библиотеке, а пользователь может назначать критерии поиска и указывать папки, в которых он должен вестись.
Но в стандартной библиотеке моделей не так уж много. Я часто сталкивался с тем, что вместо некоторых компонентов на плате виднелись лишь их посадочные места. Это особенно часто случается при использовании малораспространённых деталей. Кстати, в DipTrace нельзя для грубой оценки размеров быстро установить высоту компонента прямо в программе, как обычно делают в Altium Designer. Поэтому я просто выбирал похожие модели из стандартной библиотеки и изменял их масштаб. Получалось чуть дольше и неточно, но красивее, чем в Altium (DipTrace позволяет выбрать вообще любую модель для любого корпуса).
Но это перестало быть проблемой, когда я обнаружил, что можно прикрепить к корпусу не только модель из стандартной библиотеки, но и вообще любой STEP-файл. Производители нередко выкладывают такие файлы на своих сайтах в общий доступ как раз для этих целей. Кстати, в качестве трёхмерных моделей корпусов можно подключать не только STEP-файлы, но и файлы в форматах IGES, VRML и 3DS (рис. 2).
В качестве трёхмерных моделей корпусов можно подключать STEP-файлы, файлы в форматах IGES, VRML и 3DS.
Для корректного подключения модели из файла к посадочному месту достаточно ввести нужные значения в соответствующие поля (углы поворота по осям, высота от опорной поверхности и пр.). Связь корпуса и модели программа запоминает, поэтому ситуации с пустыми посадочными местами с течением времени должны возникать всё реже.
В этой системе встроенного трёхмерного модуля нет, зато EAGLE поддерживает множество ULP — специальных пользовательских «скриптов», которые значительно расширяют функциональные возможности программы. Фирма CadSoft (разработчик EAGLE) официально предлагает три способа трёхмерной визуализации плат: Eagle’up, IDF-экспорт, IDF-to-3D.
Чтобы увидеть модель платы, применяя Eagle’up, необходимо установить в компьютере трёхмерный редактор SketchUp (бесплатную версию), eagleUP — специальный плагин для SketchUp (файл с расширением *.rbz) и ImageMagick — бесплатный пакет программ для преобразования растровых изображений в векторные.
После импорта платы в SketchUp все модели электронных компонентов нужно закрепить на ней вручную. Модели в формате STEP или iGEs, скачанные с сайтов производителей, использовать не удастся, потому что SketchUp из распространённых форматов импортирует только 3DS, который не очень популярен для хранения образов электронных компонентов. В итоге наверняка придётся самостоятельно рисовать каждую модель корпуса.
STEP-экспорта даже в платной (довольно дорогой) версии SketchUp нет. Есть специальные плагины, но их немного, и они тоже платные, поэтому я ими не пользовался.
Начиная с версии 7, в EAGLE появилась возможность сохранить плату в формате IDF (Intermediate Data Format). Работает эта функция тоже через специальный ULP-скрипт, но никаких других «плагинов» не требуется. Нужна только трёхмерная САПР, поддерживающая IDF-импорт (Solidworks, FreeCAD и другие). Просто запустите скрипт eagleIDFexporter.ulp (он поставляется вместе с программой) и нажмите «Generate IDF Files». В указанной при этом папке появятся файлы *.emn и *.emp. Высота компонента экспортируется в IDF-формат, а по умолчанию скрипт назначает 1 мм. Её можно изменить в EAGLE, назначив атрибут HEIGHT для компонента или открыв файл *.emp в любом текстовом редакторе и изменив значения в соответствующих строках. Затем следует запустить трёхмерную САПР и импортировать в неё модель платы (рис. 3).
К сожалению, IDF-формат не содержит трёхмерных моделей компонентов. Чтобы плата стала «реальной», необходимо нарисовать или скачать из Интернета модель каждого компонента и в трёхмерной САПР вручную расположить её в нужном месте платы. Иногда этот процесс занимает часы, всё зависит от сложности проекта. Не стоит забывать об ограничениях, ведь не все механические САПР распознают распространённые форматы.
Способ IDF-to-3D также работает на основе IDF-экспорта из EAGLE, но связан с «облачным» сервисом компании Simplified Solutions. Туда можно вручную загрузить IDF-файлы из EAGLE либо нажать «Build 3D PCB» в диалоговом окне IDF-экспорта. Чтобы пользоваться IDF-to-3D, необходима регистрация. Сайт предоставляет достаточно обширную библиотеку трёхмерных моделей компонентов, поддерживает поиск в Интернете и импорт STEP-файлов. В IDF-to-3D имеются все инструменты, необходимые для того, чтобы правильно расположить модель на посадочном месте. Изменения сохраняются. Плату со всеми установленными компонентами можно сохранить в трёхмерном PDF (рис. 4) или STEP (рис. 5) формате.
Но для многих такой подход к организации рабочего процесса неприемлем. Они опасаются, безопасно ли отсылать ценные разработки по Интернету на сторонние ресурсы. Кроме того, бесплатный профиль на IDF-to-3D позволяет сохранять лишь трёхмерные PDF файлы. Это неплохой формат для визуализации и демонстрации (нужен лишь вездесущий Adobe Reader), но функции экспорта в форматы STEP и STL доступны лишь для платных пользователей. Это стоит недёшево, к тому же подписка действует ограниченное время.
Выводы
САПР EAGLE и DipTrace доступны, не требуют регулярных платежей, зато имеют бесплатные версии для любителей. Рассмотрев в этом обзоре особенности трёхмерного изображения печатных плат, я не брал во внимание преимущества и недостатки этих программ в других аспектах их разработки. Как и было обещано, обойдусь без умозаключений, каждый сделает выводы сам для себя.
Автор: В. Хоменко, г. Днепропетровск, Украина