Что такое файл Gerber (GBR) и как вы его открываете?
Sprint Layout — Разводка платы и экспорт гербер файлов для PCBWay (Октябрь 2022)
Файл с расширением .GBR-файла, скорее всего, является файлом Gerber, который хранит проекты печатных плат. Это промышленный стандартный формат файлов, используемый машинами PCB, чтобы понять, как сверлить в доску.
Если файл GBR не является файлом Gerber, это может быть файл GIMP Brush, используемый программным обеспечением для редактирования изображений GIMP. Этот вид файла содержит изображение, которое программа использует для рисования повторяющихся штрихов на холсте.
Другое использование для расширения файла GBR — это файлы Gameboy Tileset, которые могут быть включены в стандартный Gameboy, а также Super Gameboy и Gameboy Color.
Как открыть файлы GBR
Вы можете открывать файлы Gerber с помощью ряда программ, большинство из которых бесплатны. Эти бесплатные зрители Gerber включают GraphiCode GC-Prevue, PentaLogix ViewMate, PTC Creo View Express и Gerbv. Некоторые из них поддерживают печать и просмотр измерений. Вы также можете использовать Altium Designer для открытия файла Gerber, но он не является бесплатным.
Еще один способ просмотра файлов GBR — онлайн. Создатели формата Ucamco имеют бесплатный просмотрщик ссылок Gerber, который позволяет загружать файл GBR онлайн, чтобы просмотреть его в вашем браузере.
Файлы GIMP Brush используются с GIMP, который работает на Windows, MacOS и Linux.
Если ваш файл GBR находится в формате Gameboy Tileset, вы можете открыть его с помощью Gameboy Tile Designer (GBTD).
Как конвертировать файл GBR
Чтобы преобразовать файл GBR, вы должны знать, в каком формате он находится. Это важно, чтобы вы знали, какая программа конвертера будет использоваться, поскольку три упомянутых выше формата не имеют ничего общего друг с другом. Это означает, что вы не можете преобразовать, скажем, файл GIMP Brush в формат файла Gerber; это просто не работает.
Когда дело доходит до конвертирования Gerber-файлов, очень возможно, что некоторые из упомянутых выше программ способны не только открыть его, но и сохранить файл GBR в новый формат файла. Однако, если нет, GerbView может конвертировать файлы Gerber в DXF, PDF, DWG, TIFF, SVG и другие форматы файлов.
Online Gerber Viewer также может работать для сохранения файла GBR в формате изображения PNG. FlatCAM может преобразовать файл Gerber в G-Code.
Чтобы преобразовать файлы GBR GIMP в ABR для использования в Adobe Photoshop, вам сначала нужно преобразовать GBR в PNG с помощью такой программы, как XnView. Затем откройте PNG-файл в Photoshop и выберите, какая часть изображения должна быть превращена в кисть. Сделайте кисть через редактировать > Определить настройку кисти … меню.
Вы можете конвертировать файлы Gameboy Tileset в другие форматы файлов с помощью программы Gameboy Tile Designer, упомянутой выше. Он поддерживает сохранение GBR до Z80, OBJ, C, BIN и S через файл > Экспортировать в… пункт меню.
Дополнительная информация о файлах GBR
Формат Gerber хранит двоичные, 2D-изображения в векторном формате ASCII. Не все файлы Gerber используют расширение GBR; некоторые из них — файлы GBX, PHO, GER, ART, 001 или 274, и есть, скорее всего, и другие. Вы можете больше узнать о формате от Ucamco в формате PDF формата PDF Gerber на этой странице.
Вы можете создавать свои собственные файлы GIMP Brush, но по умолчанию также предоставляются некоторые опции, когда GIMP впервые установлен. Эти файлы GBR по умолчанию обычно хранятся в каталоге установки программы, в share gimp (версия) щетки .
Не удается открыть файл?
Дважды проверьте расширение файла, если вы не можете открыть файл. Вероятно, если он не работает ни с одной из вышеперечисленных программ, вы неправильно читаете расширение файла. Это важно, потому что даже если два формата файлов разделяют большинство или даже все одинаковые буквы расширения файлов, это не обязательно означает, что они связаны или могут быть открыты с помощью одних и тех же программных средств.
Например, файлы GRB имеют все три одинаковые буквы расширения файлов с файлами GBR, но они являются файлами метеорологических данных GRIB, хранящимися в двоичном формате GRIdded. Они не имеют ничего общего с любыми форматами файлов GBR, упомянутыми на этой странице, и поэтому не могут быть просмотрены или преобразованы с помощью программ, о которых говорилось выше.
То же самое верно для файлов шрифтов Symbian OS, в которых используется расширение файла GDR. Множество других примеров можно было бы дать, но идея состоит в том, чтобы внимательно изучить буквы расширения файлов и убедиться, что они говорят .GBR, иначе вы, вероятно, имеете дело с чем-то совершенно иным, чем то, что описано в этой статье.
Файл NEF (что это такое и как его открыть)
Файл NEF представляет собой файл изображения Nikon Raw. Узнайте, как открыть файл .NEF или преобразовать файл NEF в другой формат файла, например JPG, DNG, PNG, PDF и т. Д.
Файл AZW (что это такое и как его открыть)
Файл AZW является файлом формата Kindle eBook Format. Узнайте, как открыть .AZW-файл или преобразовать AZW-файл в другой формат.
Файл NOMEDIA (что это такое и как его использовать)
Файл NOMEDIA представляет собой файл Android No Media. Они используются, чтобы приложения не отображали мультимедийные файлы. Вот как сделать или удалить файлы NOMEDIA.
Пишем бесплатный Gerber-вьювер с открытым исходным кодом под Android с нуля
Привет, Хабр! Меня зовут Велеско Сергей, я Android разработчик в настоящее время и инженер-конструктор печатных плат в прошлой жизни. В этой статье я расскажу, как мне удалось применить знания, полученные в прошлой профессии, и написать простое Android приложение для просмотра Gerber-файлов.
Как будет идти повествование
Расскажу немного предыстории, затем пройдусь по требованиям и расскажу, почему выбрал те или иные технологии. Далее опишу сам процесс и в конце подведу итоги. Ссылку на репозиторий оставлю в конце статьи.
Немного предыстории
Идея написать просмотрщик/конвертер возникала у меня еще в 2018 году, когда на прошлой работе на шестерых конструкторов была единственная лицензия на софтину для чтения герберов с очень неудобным экспортом в растровое изображение. Экспорт фотошаблонов в растр был необходим для документации и требовал неприличное количество ручных операций и времени. С этим нужно было что-то делать. И нужно было делать что-то с выгоранием от основной работы.
В общем, я взялся писать десктопный конвертер gerber -> bmp/png на Qt, который бы быстро (в многопоточном режиме) и за один раз конвертил все слои платы в изображения, обрезанные по размеру платы, и имеющие осмысленные названия файлов. Пришлось вспоминать С++ практически с нуля (за 6 лет после универа без практики забылись даже те примитивные навыки программирования, которые были), сидя вечерами с учебником и выполняя упражнения. Потом знакомство с Qt и изучение спецификации Gerber. За пол года приложение было написано, и успешно использовалось по назначению.
Мне так зашел процесс, что я стал всерьез интересоваться разработкой, и где-то через год Qt привел меня в андроид. Да так удачно привёл, что я сменил профессию конструктора на андроид-разработчика. На момент публикации чуть больше полугода профессионально занимаюсь нативной разработкой под андроид на kotlin. Тут еще на одну статью тянет, но вернемся к главной теме.
Зачем gerber viewer под андроид?
Во-первых решил отдать дань уважения печатным платам, так сказать, попрощаться достойно со всем, что связано с проектированием электроники. Во-вторых «обкатать» некоторые актуальные технологии в андроиде. В третьих — в маркете я нашел всего два аналогичных приложения, одно из которых платное, второе — с рекламой. Посчитал это возмутительным. Ближе к делу…
Требования
Как должно выглядеть приложение? Максимально просто. Два экрана. Первый — со списком открытых файлов, второй — с изображением содержимого открытых файлов.
Что должно делать приложение?
Открывать гербер файлы
Отображать список открытых файлов
Каждый элемент списка должен содержать имя файла, переключатель видимости и цвет слоя на экране с изображением.
Элемент должен удаляться из списка по свайпу.
Парсинг и вообще вся обработка должна производиться в отдельном потоке.
Изображение должно иметь зум, панораму и управление ими с помощью привычных жестов.
Архитектура проекта
MVVM, потому что 1) подходит под задачу 2) имеет поддержку от гугл в виде architecture components. Также я решил делать проект многомодульным, т.к. сразу можно было выделить относительно независимые части приложения, выполняющие свою функцию. + в планах было выделить в отдельную kotlin библиотеку парсер. Ниже приведена примерная схема приложения с модулями и зависимостями.
Кратко по каждому модулю:
app — главный модуль приложения с экранами, вью моделями и репозиторием.
File Reader — модуль, который читает файлы и загружает их в оперативную память. На выходе список строк.
Syntax Parser — парсит строки из гербера. На выходе список команд.
Graphics Processor — обрабатывает команды. На выходе список графических объектов.
Logger — служебный модуль — обертка над timber.
Многопоточность
Логично было бы выполнять парсинг файлов и генерацию графических объектов в фоне, начиная сразу после добавления файла в список, показывая какой-нибудь лоадинг. Сначала я посматривал в сторону RxJava, которая предлагала относительно удобный способ работы с многопоточностью и плюшки в виде производительности при использовании rx источников/подписчиков вместо больших коллекций с командами гербера и графическими объектами. Но учитывая, что Rx теряет популярность, поднадоела за время учебы и используется на работе, было решено использовать корутины, с которыми у меня до этого не было опыта.
Долго не сомневался при выборе, Single Activity (звучит громко, учитывая всего 2 экрана в приложении), экраны на Fragment. Compose показался слишком экспериментальным, отпугнул потенциально большими ресурсами на его параллельное освоение.
Koin. Потому что простой и было интересно попробовать что-то кроме dagger. На работе пользуемся Hilt, но даже он показался чересчур сложным для такого простого проекта.
Рисование
View и Canvas. Смотрел в сторону SurfaceView но после непродолжительных экспериментов решил, что и производительности обычной View должно хватить. Естественно с учетом того, что на канве должны отрисовываться полностью готовые объекты, чтобы ничего не создавалось в методе onDraw.
Сборка
В качестве эксперимента перевел все билд скрипты на Kotlin. Для удобства управления версиями запилил builsSrc.
Тестирование
JUnit для тестов. По плану должно быть много юнит-тестов.
Реализация
Модуль File Reader. Самый простой платформенно зависимый модуль. Все, что он делает — читает файл в список строк.
Модуль Syntax Parser. Gerber-файл представляет собой текстовый файл, описывающий поток gerber команд. Более подробно про Gerber вот тут. Как правило одна команда занимает одну строку. Поэтому было решено читать файл в список строк, и дальше работать с ним, используя регулярные выражения для парсинга конкретных команд. Учитывая относительно большое количество команд, хотелось сделать их последующую обработку в потоке удобной, т.е. без огромного условного оператора, чтобы команды сами могли позаботиться о своей обработке — тут ничего нового. Я завел вот такой интерфейс для команд:
Каждая команда реализует этот интерфейс, предоставляя номер строки в файле (необходимо для информативных сообщений о синтаксических ошибках) и реализацию единственного метода perform, в котором команда сообщает некоему CommandProcessor, что она делает.
Использование абстракций позволило выполнить модуль простой kotlin-библиотекой, без зависимостей на платформу. (спасибо дяде Бобу)
В целом работа над парсером была не сильно сложной, но довольно рутинной. И таки осложнялась тотальным несоблюдением спецификации Gerber разработчиками САПР’ов (не буду показывать пальцем). Самой интересным этапом в разработке парсера оказалась реализация парсинга макро шаблонов — таких параметризованных моделей, с определениями кастомных графических примитивов и переменными с выражениями внутри. Вот пример описания макро шаблона:
Тут пришлось вспомнить реализованный когда-то на С++ парсер математических выражений, основанный на переводе в постфиксную форму и алгоритме сортировочной станции.
Модуль GraphicsProcessor. Тут уже все просто. Нужно, чтобы кто-то реализовал интерфейсы парсера, которые описывают все действия гербер команд, чтобы на выходе получить поток графических объектов или служебных объектов, меняющих настройки рисования. Интерфейс для графических объектов:
По ходу выполнения программы эти объекты дойдут до самого метода onDraw() в View. Они либо рисуют на канве графический примитив (прямая, дуга), либо добавляют готовый Path (все flash операции, контуры в регионах реализованы с помощью Path), либо меняют настройки канвы (поворот, начало координат) или пера (цвет, размер, способ заливки).
App модуль. Все остальное осталось в апп модуле, т.е. весь UI, View Model, Repository и DI.
В Ui все стандартно. На экране со списком — RecyclerView с DiffUtils и Floating button для добавления файлов. На экране с графикой — кастомная View, в которую сеттится набор графических объектов для отрисовки. Все данные экраны получают из вью моделей, которые в свою очередь берут данные из центрального репозитория. Интерфейс репозитория:
Cхема взаимодействия экранов, view model’ей и репозитория:
Что в итоге
После нескольких месяцев работы вечерами после работы и по выходным проект был завершен. Выглядит это все вот так:
Часть функционала по спецификации Gerber осталась не реализована, т.к. он либо не влияет на изображение, либо я не встречал его в реальных файлах за 9 лет работы конструктором и пока отказался от реализации (а время немного поджимало, т.к. перспектива выгореть из-за пет проекта на самом старте профессии — ну такое 🙂 ). В репозитории я отметил все эти моменты в виде небольшой roadmap в readme.
Большое спасибо тем, кто дочитал статью до конца, с радостью отвечу на вопросы в комментариях. Приветствую конструктивную критику. До встречи!
Расширение файла GBR
Стандартное расширение файла для формата Gerber — .GBR. Это открытый двухуровневый векторный формат изображения. Это стандарт defacto, который используется отраслевой программой PCB (Печатная плата) для определения изображений печатных плат, таких как просверленные отверстия, условные обозначения, паяльная маска, медные слои и т. Д.
Gerber Systems Corp первоначально разработала формат файла .GBR. Это было одно из подразделений Gerber Scientific, основанного Джозефом Гербером. Теперь Ucamco владеет расширением файлов Gerber, так как приобрело Barco ETS, которое ранее было приобретено Gerber Systems Corp. Время от времени к файлу было сделано несколько изменений.
Программы, которые поддерживают GBR расширение файла
Ниже приведена таблица со списком программ, которые поддерживают GBR файлы. Файлы с суффиксом GBR могут быть скопированы на любое мобильное устройство или системную платформу, но может быть невозможно открыть их должным образом в целевой системе.
Программы, обслуживающие файл GBR
Windows
Updated: 05/31/2020
Как открыть файл GBR?
Проблемы с доступом к GBR могут быть вызваны разными причинами. К счастью, наиболее распространенные проблемы с файлами GBR могут быть решены без глубоких знаний в области ИТ, а главное, за считанные минуты. Приведенный ниже список проведет вас через процесс решения возникшей проблемы.
Шаг 1. Скачайте и установите GIMP
Наиболее распространенной причиной таких проблем является отсутствие соответствующих приложений, поддерживающих файлы GBR, установленные в системе. Эта проблема может быть решена путем загрузки и установки # РЕКОМЕНДОВАННОЙ # или другой совместимой программы, такой как XnView. Полный список программ, сгруппированных по операционным системам, можно найти выше. Самый безопасный способ загрузки GIMP установлен — для этого зайдите на сайт разработчика (The GIMP Team) и загрузите программное обеспечение, используя предоставленные ссылки.
Шаг 2. Обновите GIMP до последней версии
Вы по-прежнему не можете получить доступ к файлам GBR, хотя GIMP установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Причиной того, что GIMP не может обрабатывать файлы с GBR, может быть то, что программное обеспечение устарело. Самая последняя версия GIMP обратно совместима и может работать с форматами файлов, поддерживаемыми более старыми версиями программного обеспечения.
Шаг 3. Свяжите файлы GIMP Brush Image Format с GIMP
После установки GIMP (самой последней версии) убедитесь, что он установлен в качестве приложения по умолчанию для открытия GBR файлов. Следующий шаг не должен создавать проблем. Процедура проста и в значительной степени не зависит от системы
Изменить приложение по умолчанию в Windows
- Выберите пункт Открыть с помощью в меню «Файл», к которому можно щелкнуть правой кнопкой мыши файл GBR.
- Далее выберите опцию Выбрать другое приложение а затем с помощью Еще приложения откройте список доступных приложений.
- Последний шаг — выбрать опцию Найти другое приложение на этом. указать путь к папке, в которой установлен GIMP. Теперь осталось только подтвердить свой выбор, выбрав Всегда использовать это приложение для открытия GBR файлы и нажав ОК .
Изменить приложение по умолчанию в Mac OS
- В раскрывающемся меню, нажав на файл с расширением GBR, выберите Информация
- Перейдите к разделу Открыть с помощью . Если он закрыт, щелкните заголовок, чтобы получить доступ к доступным параметрам.
- Выберите GIMP и нажмите Изменить для всех .
- Если вы выполнили предыдущие шаги, должно появиться сообщение: Это изменение будет применено ко всем файлам с расширением GBR. Затем нажмите кнопку Вперед» , чтобы завершить процесс.
Шаг 4. Убедитесь, что GBR не неисправен
Вы внимательно следили за шагами, перечисленными в пунктах 1-3, но проблема все еще присутствует? Вы должны проверить, является ли файл правильным GBR файлом. Проблемы с открытием файла могут возникнуть по разным причинам.
1. Убедитесь, что GBR не заражен компьютерным вирусом
Если файл заражен, вредоносная программа, находящаяся в файле GBR, препятствует попыткам открыть его. Немедленно просканируйте файл с помощью антивирусного инструмента или просмотрите всю систему, чтобы убедиться, что вся система безопасна. Если файл GBR действительно заражен, следуйте инструкциям ниже.
2. Убедитесь, что файл с расширением GBR завершен и не содержит ошибок
Если файл GBR был отправлен вам кем-то другим, попросите этого человека отправить вам файл. Возможно, что файл не был должным образом скопирован в хранилище данных и является неполным и поэтому не может быть открыт. Это может произойти, если процесс загрузки файла с расширением GBR был прерван и данные файла повреждены. Загрузите файл снова из того же источника.
3. Проверьте, есть ли у пользователя, вошедшего в систему, права администратора.
Существует вероятность того, что данный файл может быть доступен только пользователям с достаточными системными привилегиями. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл GIMP Brush Image Format.
4. Проверьте, может ли ваша система обрабатывать GIMP
Если в системе недостаточно ресурсов для открытия файлов GBR, попробуйте закрыть все запущенные в данный момент приложения и повторите попытку.
5. Убедитесь, что у вас установлены последние версии драйверов, системных обновлений и исправлений
Регулярно обновляемая система, драйверы и программы обеспечивают безопасность вашего компьютера. Это также может предотвратить проблемы с файлами GIMP Brush Image Format. Возможно, файлы GBR работают правильно с обновленным программным обеспечением, которое устраняет некоторые системные ошибки.
3D Gerber Viewer
С помощью этой программы просмотра вы можете загружать файлы Gerber и иметь 360-градусный обзор дизайна вашей печатной платы. Запустите программу просмотра, чтобы загрузить свой собственный дизайн или посмотрите одну из примеров плат.
Ссылки на официальные сайты
- Альтернативы 5
Альтернативы для 3D Gerber Viewer
EasyEDA Gerber Viewer
EasyEDA Gerber Viewer — это программа просмотра файлов Gerber RS-274X, файлов сверления Excellon онлайн. После того, как вы загрузите файл gerber, мы будем отображать его как изображения, с верхним просмотрщиком фотографий и нижним просмотром фотогр…
Cuprum
Простой просмотрщик Gerber для платформы OS X Он работает на OS X 10.10 (Yosemite) и 10.11 (El Capitan). Существует две версии: Полная и Общественная. (Платная) Полная версия содержит полнофункциональные версии последних и лучших функций. Версия Соо…
Условно бесплатно Mac
Gerbv
Gerbv — это программа просмотра файлов Gerber RS-274X, файлов сверления Excellon и CSV-файлов.
Открытый исходный код Бесплатно Linux Windows
MCN Gerber Viewer
MCN Gerber Viewer — это приложение Mac Os X для просмотра и печати электронных файлов данных на печатной плате. Поддерживаемые форматы: Gerber-X (RS-274X), Gerber-D (RS-274D) и Excellon. MAC OS X 10.6 или более поздняя версия.
ZofzPCB
Самый быстрый, простой и интуитивно понятный способ проверить конструкцию вашей печатной платы… прежде чем приступить к производству С ZofzPCB вы получаете: -Реалистичный 3D-рендеринг из ваших файлов Gerber, который показывает вам, как будет выгляде…
Что в данном списке?
Альтернативные программы для 3D Gerber Viewer для Web, Android, iPhone, Windows, iPad и т.п. Фильтруйте по типу лицензии, чтобы получить список бесплатных программ или с открытым исходным кодом. Список содержит 5 приложений схожих с 3D Gerber Viewer.