Eagle Cad и негативные шаблоны. Ещё одно решение.

Во многом стараниями нашего сообщества Eagle Cad является одним из самых распространённых у самодельшиков редакторов схем и плат. Его достоинства расхваливать не буду, и так все всё знают. Недостаток (кроме ограничений бесплатной версии) один и он сильно расстраивает тех, кто использует для изготовления плат плёночные фоторезисты.
Плёночные фоторезисты, как правило, негативные. То есть, после экспонирования-проявления на плате останутся засвеченные участки. А значит, шаблон должен быть негативным, с прозрачными дорожками. Вот этого Eagle Cad не умеет. Его встроенная печаталка не имеет такой опции, как печать в негативе. Очень надеюсь, что её туда приделают.

Пока не приделали, приходится выкаблучиваться разными способами — экспорт в postscript, экспорт в gerber, экспорт тупо в картинку. Все способы имеют недостатки, иногда общие, а иногда (как у меня, например) связанные с их реализацией на Win8.1x64 :) Всё решаемо (ну или терпимо), но нашёлся способ проще.

Этот способ — TopoR. Многие знают этот трассировщик, разводящий платы плавно изогнутыми дорожками. Помимо того, что он сам по себе весьма может пригодиться любому самодельщику, у него нашлась замечательная способность. Он умеет открывать платы Eagle Cad, и печатать в негативе.

Скачал я его только что, ради полюбопытствовать. Хотел, как написано в статье DI HALT'а экспортнуть netlist из Орла и поразводить в Топоре. И обнаружил, что теперь (раньше вроде этого не было) Топор может импортировать .brd файлы Eagle Cad'а. Просто заходим в Файл — Импорт, выбираем «Eagle BRD» и указываем на нужный файл. Жмём «Импорт», Топор думает немножко, и показывает результат:

TopoR, открыта плата Eagle Cad

Много лишнего. Отключаем лишнее тыкая галочки на панели справа, во вкладках «Слои» и «Объекты». На вкладке «Слои» оставляем только группу «Металлические», а на вкладке «Объекты» только две галки в группе «Компоненты» — «На верхней стороне и „На нижней стороне“:

Topor, отключаем лишнее.

Нажимаем Ctrl-P, выбираем действительный масштаб и „Негатив“ в дропдауне „Цветовая схема“.



Ура! Негатив получен и лишний софт при этом не применялся. Не считая Топора, но он в общем не лишний, его очень даже можно применять по назначению :)

Раньше вроде в TopoR'е не было импорта файлов EagleCad. Или может я не замечал. Но в любом случае, сейчас он это умеет и это пришлось как нельзя кстати в связи с переходом на фоторезист. Надеюсь разработчики Орла возьмут с разработчиков Топора пример и допилят печаталку в своей программе, а пока я буду рубить шаблоны топором.

Собственно, всё, поделился своим открытием. Если я тормоз и его уже до меня открыли, то не обессудьте :)

Комментарии (42)

RSS свернуть / развернуть
Топор — это, конечно, хорошо. Только вот с Linux такая связка проблемотична. Хотя решение хорошее.
0
wine?
0
Подозреваю, хоть и не уверен, что под линуксом Inkscape справится. Тут, у меня, он упорно пустые страницы импортирует из игловских .ps. А вообше надо попробовать :)
0
уберите русские буквы из названия и пути к файлу
0
Не хочу :) Это если кратко. А если не кратко, то виндовые имена файлов допускают пробелы и русские буквы, и виндовый софт, который не может их понимать — это неправильный виндовый софт. Наверное, я сноб, но imho, либо пусть работает как надо, либо я поищу альтернативу.
0
Собственно, этим мне и понравился TopoR в данном случае. Он не капризничает, и он один. Не нужно заводить зоопарк всякого unixway софта ради такой незамысловатой в общем задачи.
0
Всё никак не доведу свою мысль до конца :)

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

В общем, просто ещё один способ. Чем их больше, тем лучше :)
0
Если б это были капризы только опенсорса. AVRStudio 5 аналогичным образом выделывается, причем не сама студия и не тулчейн, а атмеловские куски (ЕМНИП — симулятор).
0
Топор в wine не работает. Уже давно проверял.
0
Может с тех пор изменилось что… wine на месте не стоит, и топор тоже :)
+1
Debian работает! вот только шрифты едут с панелями, но вполне работоспособно. Весна этого года.
0
Чтож, надо новую версию попробовать.
0
Imagemagick: convert -trim -negate in out
0
А белый фон листа вокруг платы при этом чёрным не становится?
0
нет, если обрезать плату по контуру (ключ -trim)
0
Для себя я допилил цепочку: экспорт через герберы => панелизация => конвертация в svg и предпросмотр => сборка на лист и печать в Inkscape. Причем первые три этапа автоматически из скрипта.
0
  • avatar
  • evsi
  • 17 августа 2013, 10:42
А зачем так далеко, если можно сразу импортировать ps в Inkscape (опустим танцы с русскими буквами в именах, можно — факт), там разместить как надо и напечатать? Какие преимущества дают герберы и svg?

Чую, по итогам этой беседы можно будет писать обзорную статью по методам получения шаблонов :)
0
«Далеко» в данном случае не критично, почти все делает скрипт (включая экспорт из .brd файла нужных слоев по .cam файлу), а из ручных операций только сборка нескольких слоев на один лист и печать. В качестве бонуса мой подход дает автоматизированную панелизацию (можно и автоматическую, при желании). В качестве второго бонуса на выходе имеется полный комплект герберов всей панели, который при необходимости можно отдавать изготовителю плат. При необходимости можно даже файлик для скрайбирования панели на отдельные платы сгенерить (правда, на практике пользоваться не приходилось). В качестве третего бонуса все слои в панели совместимы между собой, чего при ручном размещении отдельных плат добиться не просто и весьма трудоемко. Тут же они такими получаются «искаропки» просто потому, что gerbmerge оперирует слоями, а не просто картинками.

P.S. да, если чо, я платы по одной практически никогда не делаю, обычно минимум пара (пусть и одинаковых) плат на одной заготовке.
0
Спасибо за статью, все к топору никак не подберусь, только один вопрос:
почему все так не любят перегонять в PS (или же PS_INVERTED), ведь дублировать плату при печати все равно никто не умеет? Такую функцию встречал только у Sprint'a (с Pcad и люминием не работал)
Файл ведь при печати все равно в PS конвертируется, разве нет?
тот же Inkscape PS нормально понимает, при небольшой доработке ;) blagin.ru/kak-otkryt-eps-fajl-v-inkscape-legko/
0
Может кто-нить расскажет в чем приколы с PS? нигде ничего толком так и не смог нагуглить в свое время.
0
Если PS — это PostScript, то прикол в том, что он изначально создавался как язык описания страниц, и является стандартом де-факто в профессиональной печати и также в мире Юниксов. При этом PS — ещё и полноценный язык программирования, поэтому, к примеру, масштабирование, сдвиг и зеркальное отображение страниц делается парой операторов на постскрипте.
ru:PostScript
en:PostScript
0
Для панелизации (то, что вы называете «дублировать платы») существует gerbmerge. Так что ps просто не нужен — для обработки слоев герберы все равно «роднее», а в качестве промежуточного формата svg ничем не хуже ps. И inkscape допиливать не нужно.

P.S. в принципе, даже готовые фотошаблоны (скажем, на одном листе паре верх+низ меди или верх+низ маски) можно генерировать автоматически, но все руки не доходят допилить скрипт.
0
А как в этом гербермерже собрать несколько разных плат? Сколько думал — простого решения не нашел…
0
Уточню: я пользуюсь gerbmerge (не gerbermerge, кажется такая тулза тоже существует). Среди всего прочего ему на вход дают файл размещения плат типа такого:

Row {
    Col {
        Row {
        Board1 Rotate
        Board1 Rotate
        Board1 Rotate
        Board1 Rotate
        Col {
        Board3 Rotate
        Board3 Rotate
        }
        }
        Row {
        Board2 Rotate
        Board2 Rotate
        }
    }
}


Что бы избежать полосатости при печати я всегда поворачиваю платы (Rotate после имени платы). Еще он умеет делать авторазмещение, но я, обычно, панели описываю, все-таки, руками. Авторазмещалка делает прямым перебором (собственно, других вариантов тут и нет), поэтому занимает немало времени (есть возможность ограничить время на перебор). В последних версиях (может и раньше, но раньше я не замечал) есть еще возможность автоматически добавить на панель fiducials, но я как-то ихним вариантом не впечатлился, поэтому при необходимости добавляю их сам прямо на плату.
А вообще один из ранних вариантов автоматизации я описывал у себя в блоге, вместе со скриптами. Сейчас это дело заметно модернизировалось (в частности я таки допилил экспорт герберов из скрипта по CAM job файлу). В нынешнем варианте есть две проблемы, которые я не решил — верхнюю сторону нужно потом при сборке в Inkscape зеркалить (есть отзеркалить прямо в CAM-job-е, то на каком-то этапе вылазят глюки в виде свернутых конвертом рамок контура платы, которые, обычно я добавляю к фотошаблонам, разбираться было некогда так что я забил) ну и то, что я писал выше — пока нет укладывания на один лист нескольких шаблонов.
0
Эххх… Херово вам — линуксоидам. ;)))
Я просто в альтиуме делаю проект платы, на него кидаю несколько массивов из плат (из других проектов) — и все это вывожу в герберы, а дальше на виртуальный PDF, и собираю в страницы под печать.
(есличо — все честно купленное. пусть и не все мной. ;) )
0
Хороший у вас спонсор :)
0
угу.
0
Заметь, я делаю практически тоже самое и количество действий практически тоже самое. Оставшиеся операции тоже можно автоматизировать, просто руки не дошли скрипт допилить. Так что нам линуксоидам хорошо, виндузятникам плохо, все в гуйне и все руками :)
0
Да собсно, проще руками в гуе разложить несколько плат, чем судорожно высчитывать (и пересчитывать каждый раз) координаты. Особенно если с определенного момента это начинает напоминать мозаику…
В гуе оно таки нагляднее. И проще. И удобнее в итоге.
0
А там не надо высчитывать или пересчитывать координаты, в файле описания указывается только относительное расположение плат. Его тоже можно не задавать, gerbmerge умеет делать это полностью автоматически. Но тогда расположение плат на панели будет полностью на его усмотрение, что не всегда удобно с точки зрения последующей порезки руками (если пилить на станке то это будет пофиг).
0
угу. задал пяток плат, а оно тебе выдало порезку буквой Зю. спасибо. я уж лучше в позорной винде позорно руками в гуе разложу как мне удобнее. ;)))
0
В моем варианте эта раскладка делается не мышкой, а с клавиатуры, только и всего. Зато если одинаковых плат на панели больше одной подряд, то их расставлять не нужно, просто скопипастил имя платы еще раз и готово. Ну они гарантировано будут выровнены и все расстояния между всеми платами будут проверены и выдержаны. При расстановке в гуе это куда менее удобно делать.
0
Я обычно на панель собираю по несколько экземпляров _разных_ плат. Потому в итоге руками получается удобнее.
0
Я и говорю, как только есть больше одной одинаковой платы на панели, разница в затратах времени не различима на глаз. В случае last minute changes, когда одна плата-две платы просто чуть изменились уже после того, как панель собрана, а остальное осталось так же, времени на панелизацию вообще не уходит — скрипт запустил и можно печатать.
0
В случае last minute change ...
Альтиум это умеет автоматом. Пока в проекте панели — вообще автоматом перезагружает последнее состояние _всех_ плат. На уровне герберов — приходится отдельно попросить перезагрузить. Не без глюков, впрочем, да. Надеюсь только пока… ;)
0
В моем варианте «уровень глючности» процесса одинаков, что первый, что последующие разы (с точки зрения скрипта они ничем не отличаются).
0
А в чем проблема с Linux? Тот софт, который не идет в wine, запускаю через virtualbox. Очень удобно.
0
  • avatar
  • jpint
  • 18 августа 2013, 22:01
Один я делаю экспорт в PNG и инвертирую цвет в любом графредакторе?
+1
Нет, не один. Я такой же.
+1
Я до сих пор вообще не знал, что у людей есть проблема с созданием негативов из орла.
+1
Собственно, проблемы нет. Речь только о том, как делать это эффективно, быстро и удобно.
0
Вау, надо обновить топор.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.