Что за программа gerber

Gerber Viewer для Android ™ — это программа просмотра Gerber RS-274X для платформы Android ™. Gerber Viewer читает и отображает файлы Gerber. Gerber RS-274X — это формат для описания печатных плат (PCB), используемый для производства печатных плат. Файлы Gerber RS-274X создаются редакторами компоновки печатных плат. С помощью Gerber Viewer для Android ™ можно просматривать и проверять дизайн вашей печатной платы. Когда угодно, где угодно.

Премиум-версия открывает доступ к многослойному рендерингу Gerber. Без дополнительной покупки в приложении приложение ограничено однослойным рендерингом Gerber (неограниченный размер файла).

Последнее обновление
17 мая 2021 г.
Инструменты

Безопасность данных

В этом разделе разработчики могут указать, как приложения собирают и используют данные. Подробнее о безопасности данных…

Нет информации.

Оценки и отзывы

Оценки и отзывы проверены info_outline
arrow_forward
Оценки и отзывы проверены info_outline
phone_android Телефон
tablet_android Планшет
565 отзывов
Пользователь Google

🆗 Экспорт из Sprint-Layout 6.0 LAY6 в формат GERBER в программе и заводские печатные платы …

more_vert

  • Пожаловаться

21 декабря 2019 г.

Сразу требуется купить чтобы смотреть нормальные файлы. Но сам интерфейс ужасен, яркокрасное на черном режет глаз. Зачем за такое платить?

Источник: play.google.com

Пишем бесплатный Gerber-вьювер с открытым исходным кодом под Android с нуля

Привет, Хабр! Меня зовут Велеско Сергей, я Android разработчик в настоящее время и инженер-конструктор печатных плат в прошлой жизни. В этой статье я расскажу, как мне удалось применить знания, полученные в прошлой профессии, и написать простое Android приложение для просмотра Gerber-файлов.

Как будет идти повествование

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

Немного предыстории

Идея написать просмотрщик/конвертер возникала у меня еще в 2018 году, когда на прошлой работе на шестерых конструкторов была единственная лицензия на софтину для чтения герберов с очень неудобным экспортом в растровое изображение. Экспорт фотошаблонов в растр был необходим для документации и требовал неприличное количество ручных операций и времени. С этим нужно было что-то делать. И нужно было делать что-то с выгоранием от основной работы.

В общем, я взялся писать десктопный конвертер gerber -> bmp/png на Qt, который бы быстро (в многопоточном режиме) и за один раз конвертил все слои платы в изображения, обрезанные по размеру платы, и имеющие осмысленные названия файлов. Пришлось вспоминать С++ практически с нуля (за 6 лет после универа без практики забылись даже те примитивные навыки программирования, которые были), сидя вечерами с учебником и выполняя упражнения. Потом знакомство с Qt и изучение спецификации Gerber. За пол года приложение было написано, и успешно использовалось по назначению.

Что такое САПР для швейников?

Мне так зашел процесс, что я стал всерьез интересоваться разработкой, и где-то через год Qt привел меня в андроид. Да так удачно привёл, что я сменил профессию конструктора на андроид-разработчика. На момент публикации чуть больше полугода профессионально занимаюсь нативной разработкой под андроид на kotlin. Тут еще на одну статью тянет, но вернемся к главной теме.

Зачем gerber viewer под андроид?

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

Требования

Как должно выглядеть приложение? Максимально просто. Два экрана. Первый — со списком открытых файлов, второй — с изображением содержимого открытых файлов.

Что должно делать приложение?

  1. Открывать гербер файлы
  2. Отображать список открытых файлов
  3. Каждый элемент списка должен содержать имя файла, переключатель видимости и цвет слоя на экране с изображением.
  4. Элемент должен удаляться из списка по свайпу.
  5. Парсинг и вообще вся обработка должна производиться в отдельном потоке.
  6. Изображение должно иметь зум, панораму и управление ими с помощью привычных жестов.
Читайте также:
Цифровой сертификат для проектов vba что это за программа

Архитектура проекта

MVVM, потому что 1) подходит под задачу 2) имеет поддержку от гугл в виде architecture components. Также я решил делать проект многомодульным, т.к. сразу можно было выделить относительно независимые части приложения, выполняющие свою функцию. + в планах было выделить в отдельную kotlin библиотеку парсер. Ниже приведена примерная схема приложения с модулями и зависимостями.

Кратко по каждому модулю:

app — главный модуль приложения с экранами, вью моделями и репозиторием.

File Reader — модуль, который читает файлы и загружает их в оперативную память. На выходе список строк.

Syntax Parser — парсит строки из гербера. На выходе список команд.

Graphics Processor — обрабатывает команды. На выходе список графических объектов.

Logger — служебный модуль — обертка над timber.

Многопоточность

Логично было бы выполнять парсинг файлов и генерацию графических объектов в фоне, начиная сразу после добавления файла в список, показывая какой-нибудь лоадинг. Сначала я посматривал в сторону RxJava, которая предлагала относительно удобный способ работы с многопоточностью и плюшки в виде производительности при использовании rx источников/подписчиков вместо больших коллекций с командами гербера и графическими объектами. Но учитывая, что Rx теряет популярность, поднадоела за время учебы и используется на работе, было решено использовать корутины, с которыми у меня до этого не было опыта.

Ui

Долго не сомневался при выборе, Single Activity (звучит громко, учитывая всего 2 экрана в приложении), экраны на Fragment. Compose показался слишком экспериментальным, отпугнул потенциально большими ресурсами на его параллельное освоение.

DI

Koin. Потому что простой и было интересно попробовать что-то кроме dagger. На работе пользуемся Hilt, но даже он показался чересчур сложным для такого простого проекта.

Рисование

View и Canvas. Смотрел в сторону SurfaceView но после непродолжительных экспериментов решил, что и производительности обычной View должно хватить. Естественно с учетом того, что на канве должны отрисовываться полностью готовые объекты, чтобы ничего не создавалось в методе onDraw.

Сборка

В качестве эксперимента перевел все билд скрипты на Kotlin. Для удобства управления версиями запилил builsSrc.

Тестирование

JUnit для тестов. По плану должно быть много юнит-тестов.

Реализация

Модуль File Reader. Самый простой платформенно зависимый модуль. Все, что он делает — читает файл в список строк.

Модуль Syntax Parser. Gerber-файл представляет собой текстовый файл, описывающий поток gerber команд. Более подробно про Gerber вот тут. Как правило одна команда занимает одну строку. Поэтому было решено читать файл в список строк, и дальше работать с ним, используя регулярные выражения для парсинга конкретных команд.

Учитывая относительно большое количество команд, хотелось сделать их последующую обработку в потоке удобной, т.е. без огромного условного оператора, чтобы команды сами могли позаботиться о своей обработке — тут ничего нового. Я завел вот такой интерфейс для команд:

interface GerberCommand

Каждая команда реализует этот интерфейс, предоставляя номер строки в файле (необходимо для информативных сообщений о синтаксических ошибках) и реализацию единственного метода perform, в котором команда сообщает некоему CommandProcessor, что она делает.

Использование абстракций позволило выполнить модуль простой kotlin-библиотекой, без зависимостей на платформу. (спасибо дяде Бобу)

В целом работа над парсером была не сильно сложной, но довольно рутинной. И таки осложнялась тотальным несоблюдением спецификации Gerber разработчиками САПР’ов (не буду показывать пальцем). Самой интересным этапом в разработке парсера оказалась реализация парсинга макро шаблонов — таких параметризованных моделей, с определениями кастомных графических примитивов и переменными с выражениями внутри. Вот пример описания макро шаблона:

%AMVB_RCRECTANGLE* $3=$3X2* 21,1,$1-$3,$2,0,0,0* 21,1,$1,$2-$3,0,0,0* $1=$1/2* $2=$2/2* $3=$3/2* $1=$1-$3* $2=$2-$3* 1,1,$3X2,0-$1,0-$2* 1,1,$3X2,0-$1,$2* 1,1,$3X2,$1,$2* 1,1,$3X2,$1,0-$2* %

Тут пришлось вспомнить реализованный когда-то на С++ парсер математических выражений, основанный на переводе в постфиксную форму и алгоритме сортировочной станции.

Модуль GraphicsProcessor. Тут уже все просто. Нужно, чтобы кто-то реализовал интерфейсы парсера, которые описывают все действия гербер команд, чтобы на выходе получить поток графических объектов или служебных объектов, меняющих настройки рисования. Интерфейс для графических объектов:

interface GraphicsObject

По ходу выполнения программы эти объекты дойдут до самого метода onDraw() в View. Они либо рисуют на канве графический примитив (прямая, дуга), либо добавляют готовый Path (все flash операции, контуры в регионах реализованы с помощью Path), либо меняют настройки канвы (поворот, начало координат) или пера (цвет, размер, способ заливки).

App модуль. Все остальное осталось в апп модуле, т.е. весь UI, View Model, Repository и DI.

В Ui все стандартно. На экране со списком — RecyclerView с DiffUtils и Floating button для добавления файлов. На экране с графикой — кастомная View, в которую сеттится набор графических объектов для отрисовки. Все данные экраны получают из вью моделей, которые в свою очередь берут данные из центрального репозитория. Интерфейс репозитория:

Читайте также:
Ashampoo burning studio 16 что это за программа

interface GerberRepository

Cхема взаимодействия экранов, view model’ей и репозитория:

Что в итоге

После нескольких месяцев работы вечерами после работы и по выходным проект был завершен. Выглядит это все вот так:

Часть функционала по спецификации Gerber осталась не реализована, т.к. он либо не влияет на изображение, либо я не встречал его в реальных файлах за 9 лет работы конструктором и пока отказался от реализации (а время немного поджимало, т.к. перспектива выгореть из-за пет проекта на самом старте профессии — ну такое 🙂 ). В репозитории я отметил все эти моменты в виде небольшой roadmap в readme.

Большое спасибо тем, кто дочитал статью до конца, с радостью отвечу на вопросы в комментариях. Приветствую конструктивную критику. До встречи!

Источник: habr.com

Файлы Gerber: Что это такое и как их создавать

Вы слышали о программах захвата схем, которые генерируют файлы Gerber, но не знаете, как это работает? Или вы работаете с проектами печатных плат и вам нужно больше узнать о создании этих файлов с помощью программ захвата схем? Если да, то вы читаете правильную статью.

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

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

Файлы Gerber

Что такое файлы Gerber

Компания Gerber Scientific (основанная Джозефом Гербером) была первой, кто разработал файлы Gerber. Интересно, что в этих файлах обычно содержится информация о конструкции вашей печатной платы. Кроме того, вы можете застегнуть файлы Gerber в один файл, прежде чем отправить его производителю печатной платы.

Детали печатной платы

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

Кроме того, ваш дизайн должен иметь соответствующий файл Gerber для каждого художественного оформления, заземления, медной схемы или силового слоя. Таким образом, производители смогут создать необходимый шаблон.

Кроме того, большинство имен файлов Gerber достаточно описательны, чтобы производитель знал, какой слой платы соответствует файлу. В некоторых случаях в разных файлах Gerber можно указать покрытые и непокрытые отверстия, глухие и заглубленные межслойные отверстия, а также пазы.

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

Файлы Gerber

Проектирование печатных плат

Кроме того, производители используют ссылки и рекомендации в файле Gerber, чтобы избежать ошибок при манипулировании и вводе данных платы.

Форматы файлов Gerber

Файлы Gerber бывают разных форматов, начиная от самых старых и заканчивая самыми последними. К этим форматам относятся:

RS274-D

RS274-D — это самый старый формат файлов Gerber. Компания Gerber Scientific впервые разработала RS274-D и заставила его работать в форме NC (Numerical Control). Кроме того, в 1970-х годах он поддерживал различные фотоплоттеры.

Однако этот формат файлов Gerber оказался неудовлетворительным, что привело к выпуску других форм. Но, устройство прославилось тем, что стало стандартом Gerber.

RS274X

Поскольку стандартный Gerber имел множество недостатков и недоработок, в 1998 году на свет появился новый переработанный формат. Так, вместо формата числового управления в этой пересмотренной версии (RS274X) используются встроенные единицы, информация о данных и структуры.

Кроме того, в формате RS274X производители могут использовать многослойные структуры, специальные команды заливки полигонов, контроль пленки и контроль полярности. Кроме того, эта версия не требует ввода данных вручную и сводит к минимуму ошибки фоточерчения.

ODB++

Компания Valor выпустила еще один самораспаковывающийся формат файлов. Эта версия представляет собой всеобъемлющий и стандартизированный формат ввода данных. Конструкция ODB++ также автоматизирует процесс штабелирования, маркировки и размещения буров.

К сожалению, первая версия этого формата файлов имела сложности с другими программами и была недостаточно удобна для пользователя. Но более поздние версии позволили большинству CAD-программ использовать ODB++ в качестве входного файла.

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

Читайте также:
Программа выплаты населению что это

Формат Gerber X2

Gerber X2 — это новейший формат файла Gerber для более продвинутого программного обеспечения CAM. Кроме того, этот формат позволяет назначать атрибуты элементам внутри файла Gerber.

Интересно, что программное обеспечение CAM интерпретирует и внедряет эти атрибуты, предоставляя дополнительные данные для оператора CAM и изготовителя.

Как генерировать файлы Gerber в Altium

Файлы Gerber

Gerber в Altium

Существует два способа создания файлов Gerber в конструкторе Altium. В то время как один из них наполнен сложными процессами, другой прост и легок. В этой статье мы рассмотрим только простой способ, который требует создания Gerber-файлов непосредственно из редактора печатных плат Altium.

После того, как у вас есть дизайн печатной платы, нажмите на ‘File’. Затем перейдите к ‘Fabrication Outputs’ и к ‘Gerber Files’.

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

Во время работы проверьте файлы на наличие ошибок после их экспорта. Вы можете обнаружить некоторые фундаментальные проблемы, которые могут привести к браку при изготовлении. Кроме того, вы можете импортировать файл в новый документ CAMtastic и проверить слой.

Как генерировать файлы Gerber в Eagle

Gerber с помощью Eagle

С помощью программы проектирования Eagle вы можете генерировать файл Gerber для каждой секции вашего дизайна печатной платы.

Первое, что вам нужно сделать, это открыть CAM-процессор. В результате вы сможете сгенерировать файл и определить секции вашей конструкции. Это можно сделать, нажав на кнопку CAM-файлов или перейдя в «Файл, и нажмите CAM-процессор».

Вы можете использовать предопределенные задания из myProto, чтобы облегчить создание файлов Gerber. В процессе работы убедитесь, что вы поместили файлы Porto в следующий каталог: C:EAGLEcam.

Теперь используйте ваш CAM-процессор для открытия предопределенного задания. В результате вы должны увидеть различные вкладки, которые генерируют файл Gerber.

Наконец, экспортируйте файлы типа Gerber путем их обработки в папку каталога проекта. В процессе работы проверьте выходные файлы на наличие ошибок.

Как генерировать файлы Gerber в Cadence

Файл Gerber в Cadence

Различные программы захвата схем предлагают разные способы генерации файлов Gerber. Например, вы можете генерировать файлы в Cadence Allegro.

И вы можете сделать это, вручную добавив слои художественного оформления для производства. Текст, нажмите «Управление фильмом» и добавьте контур платы и слои иллюстрации, выбрав «Добавить вручную».

Затем перейдите к общим параметрам и установите их в соответствии с предпочтениями. Теперь вы можете выбрать название вашего фильма, и оно появится в выпадающем списке видов. Кроме того, вы можете сгенерировать файлы Gerber, нажав ‘Export’ и ‘Gerber’. В результате вы попадете в окно ‘Artwork Control Window’.

На этом этапе вы можете выбрать нужные вам файлы слоев для создания Gerber-файлов. Вам нужно щелкнуть правой кнопкой мыши по папке на вкладке ‘Управление слоями’. Затем перейдите к пункту ‘Выбор домена’ и нажмите кнопку добавить.

Наконец, введите имя для вашего файла Gerber. Так вы можете повторить процесс, чтобы создать Gerber-файлы для всех ваших слоев.

Как создавать файлы Gerber в OrCad

Файлы Gerber

При создании дизайна печатной платы используйте инструмент OrCad для проверки параметров. Если все выглядит хорошо, нажмите кнопку экспорта, чтобы выбрать параметры Gerber. В процессе работы выберите параметры и нажмите «Ok».

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

Кроме того, нажмите на экспорт и выберите Gerber. Затем выберите слои и создайте иллюстрацию. Теперь нажмите ‘Ok’, когда вы выбрали подходящие параметры.

Наконец, снова нажмите на экспорт и выберите NC drill. Затем настройте параметры и выберите ‘Drill’. Когда вы закроете программу, все созданные вами файлы Gerber появятся в вашей директории.

Заключительные слова

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

Кроме того, разработчик печатной платы может легко отправить все файлы Gerber в zip-папке производителю для сборки, не наблюдая за процессом изготовления печатной платы. Но перед отправкой любого файла крайне важно проверить его на наличие ошибок, чтобы получить печатные платы наилучшего качества.

Есть вопросы? Не стесняйтесь обращаться к нам, и мы будем рады помочь.

Hommer Zhao

Привет, я Хоммер, основатель WellPCB. На сегодняшний день у нас более 4000 клиентов по всему миру. Если у вас возникнут какие-либо вопросы, вы можете связаться со мной. Заранее спасибо.

Источник: pcbrussia.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru