Доброго времени суток, уважаемое Хабросообщество.
В своем первом посте я хочу описать процесс экспорта таких объектов PCB редактора Altium Designer, как полигоны. С данной проблемой я сталкивался не раз в процессе выполнения курсовых и дипломных проектов в университете. В них требуется оформлять документацию по ЕСКД, а это значит, что в комплект документации должен входить чертеж «Платы печатной». Опытный пользователь отметит, что чертеж можно оформить и в самом Altium при помощи использования механических слоев для рамок, дублирования слоев и их переноса и тп. Но я предпочитаю использовать AutoCAD, как более привычную среду для оформления чертежей.
Суть проблемы и решение далее.
В Altium есть целый набор экспортеров, среди которых и экспортер в .DXF. В релизах он есть с давних времен и в целом работает неплохо — посадочные места экспортируются в виде блоков или примитивов, переходные отверстия и пады с отверстиями на отдельных слоях, поддержка разных версий Автокада, возможность слоев по одному, стеками и тп. Все это замечательно работает при экспорте трассировки платы без объектов заливки полигонами. При попытке же экспортировать что-то на подобии изображенного на рис. 1. в .DXF получается нечто, изображенное на рис. 2.
Рис. 1
Рис. 2
Экпортер вместо полигонов передает только их очертания — крупный план на рис. 3.
Рис. 3
Как же восстановить полигоны? Будучи всего лишь начинающим конструктором и перерыв интернет за некоторое не приемлимое для решения такой задачи время, я решил попробовать решить проблему своими силами. И вот мой план действий выглядит следующим образом.
Шаг 1. Собственно экспорт
Делаем все как обычно. Идем в File>Save As... В поле Save as type выбираем в выпадающем списке .dwg, .dxf. Далее задаем параметры экспорта из окна на рис. 4.
Рис. 4
Тут выбираем единицы измерения Metric, переходные отверстия и пады с отверстиями на разных слоях, посадочные места экспортируем блоками, и в поле Layers выбираем Currently Visible Layers. Тогда у нас экспортируются только видимые слои. Поскольку для чертежа платы мне не нужны механические и другие слои, я оставил видимыми только Top, Bottom и 2 внутренних слоя. Плата в Altium'e и результаты экспорта в AutoCAD'e на рисунках 1 и 2 в начале поста.
Шаг 2. Выделение областей полигонов.
Создать заливку а AutoCAD не составляет труда, но для этого необходимо выбрать все линии, которые ее ограничивают. На исходной плате после экпорта это сделать проблематично. Значит нужно придумать, как выделить все линии разом. Начав рассматривать картинку, я заметил, что трассы, отверстия и контактные площадки переносятся с типом линии «Полилиния», в то время, как очертания полигонов (рис. 3), с типом «Отрезки». Этого оказалось достаточно для того, чтобы использовать выделение с фильтром. В Автокаде на Главной вкладке находим раздел Утилиты и жмем «Быстрый выбор» — иконка с молнией, рис. 5.
Рис. 5
Устанавливаем параметры выбора, как на рисунке 6. В данном случаем выберутся все отрезки на слое TOP LAYER, если нужно на другом, выберите другой.
Рис. 6
Результатом будет выделение всех линий, которые ограничивают полигон. Нажимаем Ctrl+C и вставляем этот контур на свободное место на чертеже — результат на рис. 7.
Рис. 7
Шаг 3. Заливка и перенос.
Теперь все просто — создаем штриховку (Главная вкладка AutoCAD, панель Рисование). Из диалога настройки выбираем тип штриховки Solid, или любой другой по душе. Нажимаем кнопку «Добавить: выбрать объекты». Выделяем весь контур полностью и жмем Enter. В диалоге настройки жмем ОК. Получается наш полигон — рис 8.
Рис. 8
Теперь нужно поместить заливку в исходный контур. Делаем выделение заливки, нажимаем Перенести из панели Редактирование. Не забываем включить привязку — рис. 9.
Рис. 9
Выбираем базовую точку на заливке и ту же базовую точку на контуре на плате, объектная привязка позволит сделать перенос заливки четко на тоже место, где находится контур — рис 10.
Результат наших действий на рисунке 11. Аналогично создаем заливки для всех требуемых слоев.
Рис. 11
Спасибо за внимание, надеюсь, этот пост будет кому-то полезен, как был бы полезен мне некоторое время назад. Извините за возможные неточности и недочеты.
Автор: romanjoe