Программа gerber что это

Содержание

Gerbv 2.6.1

Бесплатная программа для просмотра файлов Gerber с открытым исходным кодом для Windows, BSD и Linux. Это многофункциональное программное обеспечение, которое позволяет просматривать проекты печатных плат, хранящиеся в файлах Gerber. Он позволяет открывать и просматривать несколько файлов Gerber друг над другом в виде слоев. Он также предлагает несколько функций настройки слоя, таких как переключение видимости, все включено, все выключено, инвертировать цвет, изменить цвет, редактировать слой (перевести, масштабировать, повернуть, отразить), отредактировать формат файла и т. д. Он позволяет экспортировать файл Gerber в несколько форматов, включая PNG, SVG, PDF, PostScript, Excellon Drill, ISEL NCP Drill, RS-274X и т. д.

Источник: sonraid.ru

Создание производственных Gerber файлов для изготовления платы

Построение юбки в САПР GERBER АккуМарк 3D

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

Существует много форматов файлов, по которым выполняется производство платы, но самые основные это Gerber RS-274X, Gerber X2, NC Drill, IPC-2581 и ODB++. Самым популярным форматом, который используется по умолчанию во всех САПР проектирования печатных плат является формат Gerber RS-274X. Этот формат полностью описывает изображение топологического рисунка который стал отраслевым стандартом и используется для изготовления подавляющего большинства (порядка 90%) печатных плат, разработанных во всем мире. Altium Designer позволяет выполнять экспорт файлов во всех вышеописанных форматах.

История формата RS-274

Формат файлов Gerber был разработан корпорацией Gerber Systems (сегодня Ucamco) в 1960-х годах. Формат был основан на подмножестве цифрового стандарта, известного как EIA RS-274-D. В 1980 году Gerber Systems опубликовала спецификацию под названием «Gerber Format: подмножество EIA RS-274-D; справочник по формату данных».

Этот формат, широко известный как Gerber RS-274D, или Standard Gerber, вскоре получил широкое распространение и стал де-факто стандартным форматом для векторных фотоплоттеров. В 1998 году Gerber Systems была приобретена Barco и включена в их подразделение PCB, Barco ETS, которое сегодня известно как Ucamco. Для поддержки новых растровых плоттеров Barco собрал все варианты из коллекции форматов Gerber в единый стандартный формат изображений, известный как Extended Gerber, или GerberX. Данное руководство обрисовало в общих чертах формат Gerber RS-274X, который мы используем сегодня.

Презентация САПР GERBER АккуМарк 8.5 Часть 1

1 Chronology-min

Хронология развития формата GerberX

Экспорт файлов в Altium Desinger

По завершению проектирования печатной платы необходимо сформировать производственные файлы. Для этого можно воспользоваться средством пакетного формирования выходной документации OutputJob (*.OutJob) и включить вывод Gerber файлов в него. Либо в документе платы выбрать соответствующую команду через главное меню File » Fabrication Outputs » Gerber Files. После чего, необходимо выполнить настройки экспорта Gerber-файлов в соответствующем диалоговом окне Gerber Setup.

2 Export Gerber-min

Запуск экспорта Gerber файлов

В открывшемся окне Gerber Setup необходимо задать конфигурацию Gerber-файлов. На первой вкладке General задать единицы измерения и формат вывода Gerber-файлов:

Область №1 Units – единицы измерения – дюймы или миллиметры. При одновременном присутствии в проекте компонентов с миллиметровым и дюймовым шагом, выбор единиц измерения зависит только от эстетического восприятия.

Область №2 Format – формат вывода – количество цифр в координатах элементов печатной платы (площадок, линий и т.п.) до и после десятичной запятой.

Рекомендуем использовать форматы вывода данных для дюймов: 2:4 или 2:5; для миллиметров: 4:4. При использовании второй цифры (кол-во знаков после запятой) менее 4-х, возможно уменьшение зазоров в топологии.

3 Gerber Setup - General

Окно Gerber Setup — вкладка General

Далее переходим к вкладке Layers, в которой необходимо сконфигурировать набор слоев, необходимых для изготовления печатной платы.

Для того, чтобы выбрать слой для передачи его на изготовление необходимо установить «флажки» в столбце Plot в списке слоев Layers To Plot.

В столбце Extension указано расширение файла в соответствии со стандартом Gerber-RS-274X. Для каждого слоя формируется отдельный файл со своим расширением.

Устанавливать «флажки» в столбце Plot в списке слоев Mechanical Layers(s) To All To All Plots не нужно, т.к. это приведет к копированию слоя во все выгружаемые слои.

Для многослойных печатных плат для того, чтобы в переходных отверстиях на всех внутренних слоях присутствовала площадка, необходимо включить параметр Include unconnected mid-layer pads. Это увеличивает надежность переходных отверстий, но при этом увеличивает и стоимость изготовления печатной платы. Компания Резонит рекомендует его включать.

4 Gerber Setup - Layers

Окно Gerber Setup — вкладка Layers

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

Вкладка Drill Drawing необходима для установления соответствия диаметрам отверстий соответствующих символов для формирования графических карт сверления. Ее мы пропускаем, т. к. на современных производствах сверление выполняется на станках с ЧПУ и в картах сверления нет необходимости.

На вкладке Apertures необходимо включить параметр Embedded apertures (RS274X).

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

5 Gerber Setup - Apertures

Окно Gerber Setup — вкладка Apertures

Закончить конфигурирование Gerber-файлов необходимо в вкладке Advanced

В большинстве случаев всю информацию можно оставить без изменений, но иногда может потребоваться ее изменить. Как правило, это может потребоваться в случае смещения точки привязки левого нижнего угла платы в координату, превышающую предустановленный размер пленки фотошаблона . В этом случае достаточно изменить значение параметра Position on Film на Center on film.

6 Gerber Setup - Advanced

Окно Gerber Setup — вкладка Advanced

Для формирования файла с программой сверления в документе платы запускаем команду File » Fabrication Outputs » NC Drill Files

7 Expoert Drill

Запуск экспорта NC Drill файлов

В открывшемся диалоговом окне конфигурации программы сверления NC Drill Setup необходимо выполнить ряд настроек.

Единицы измерения (область Units) и Формат вывода (область Format) выбираются аналогично настройкам вывода Gerber файлов.

Включить параметр Generate separate NC Drill files for plated

Name.DRR – отчет о программе сверления.

Описание перечня формируемых файлов Gerber

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

Mid-layer 1, 2, etc.

Top/Bottom Paste Mask

Top/Bottom Solder Mask

Mechanical Layer 1, 2, etc.

Internal Plane Layer 1, 2, etc.

Pad Master Top/Bottom

Описание назначения слоёв:

TopLayer / BottomLayer – слои топологии на верхней и нижней стороне печатной платы.

MidLayer – внутренние сигнальные слои топологии.

Internal Plane Layer – внутренние негативные слои топологии (слои питания).

TopOverlay / BottomOverlay – слои маркировки. Выводить их нужно, если на изготовленной печатной плате требуется соответствующая маркировка на верхней или нижней стороне соответственно.

TopPaste / BottomPaste – слои паяльной пасты для монтируемых на поверхность элементов. Для изготовления печатной платы эти слои не нужны. Если требуется изготовление трафарета для последующего нанесения пасты, согласуйте с производителем необходимость предоставления этого файла, т. к. чаще всего при производстве трафаретов используются слои топологии.

Читайте также:
Winapi c что это за программа

TopSolder / BottomSolder – слои, формирующие вскрытия в паяльной маске под контактные площадки и другие вскрытые области. Выводить их нужно, если на изготовленной печатной плате требуется паяльная маска на монтажных сторонах. Вскрытие/закрытие областей паяльной маски задается в библиотеке на каждый элемент. Если требуется вскрыть от маски какие-то элементы топологии (проводники, полигоны), в соответствующем месте в слое TopSolder / BottomSolder необходимо линиями или полигоном изобразить само вскрытие, т. к. масочный слой – инверсный (негативный), т. е. все изображенное в слое будет вскрыто от маски. Выбирать их нужно, если на изготовленной печатной плате требуется паяльная маска.

Keep-Out Layer – слой ограничения размещения топологии на поле печатной плате. Для изготовления печатной платы этот слой не нужен (не нужно его выводить).

Mechanical Layer – слои для работы с конструктивом печатной платы – внешний контур, пазы, пропилы, границы установки компонентов и т. д.

Top / Bottom Pad Master – слои, определенные стандартом файлов Gerber-RS-274X и содержащие в себе информацию только о контактных площадках на монтажных слоях. Для изготовления печатной платы эти слои не нужны (не нужно их выводить).

Для структурирования механических слоев в проекте печатной платы рекомендуем назначать механические слои согласно их типа. Подробнее о типах механических слоев в Altium Designer в документации .

Источник: www.rezonit.ru

Использование бесплатной программы PCBWay Gerber Viewer для визуализации конструкции вашей печатной платы

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

Недавно PCBWay выпустила бесплатный онлайн-просмотрщик Gerber (Gerber Viewer) для визуализации файлов Gerber, созданных с помощью САПР печатных плат. Этот инструмент поддерживает формат Gerber RS-274X, являющийся отраслевым стандартом описания образов печатных плат. Он создаст изображения для каждого слоя, объединив их с изображениями верхней и нижней сторон платы. Помимо отображения внешнего вида печатной платы с учетом выбранного цвета паяльной маски, Gerber Viewer также выполняет различные этапы анализа. Это дает гарантию, что ваша конструкция не содержит каких-либо проектных ошибок, препятствующих ее правильному изготовлению.

Шаг 1. Загрузка файлов Gerber в Gerber Viewer

Рекомендуется перейти непосредственно на https://www.pcbway.com/project/OnlineGerberViewer.html и загрузить туда файлы, чтобы увидеть внешний вид всей вашей конструкции. Если вы используете файлы, полученные с помощью систем проектирования других компаний, PCBWay Gerber Viewer должен поддерживать их. Ссылки на руководства по использованию Gerber файлов от Altium, Eagle, Diptrace и KiCad приведены на странице Gerber Viewer.

Шаг 2. Просмотр печатных плат в Gerber Viewer на PCBWay

Этот рисунок показывает, как просмотреть ваши файлы в PCBWay Gerber Viewer. Просто кликните на этой странице кнопку «+ Add Gerber File (Uncompressed)» [«+ Добавить файл Gerber (без сжатия)»], чтобы загрузить свои файлы.

Использование бесплатной программы PCBWay Gerber Viewer для визуализации конструкции вашей печатной платы

Шаг 3. Интерфейс пользователя с PCBWay Gerber Viewer

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

Все это PCBWay Gerber Viewer покажет в фотографическом качестве, включая изображения верхней и нижней сторон. Одновременно PCBWay выполняет простую проверку соответствия печатной платы проектным нормам. Это дает вам возможность увидеть габариты платы, размеры отверстий и дорожек, а также зазоры между различными объектами печатной платы, например, между дорожками и контактными площадками.

Шаг 4. Просмотр верхнего и нижнего слоев печатной платы

Использование бесплатной программы PCBWay Gerber Viewer для визуализации конструкции вашей печатной платы

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

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

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

Перевод: AlexAAN по заказу РадиоЛоцман

Источник: www.rlocman.ru

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

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

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

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

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

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

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

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

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

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

Требования

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

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

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

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

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

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

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

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

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

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

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

Читайте также:
Fade что за программа

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

Логично было бы выполнять парсинг файлов и генерацию графических объектов в фоне, начиная сразу после добавления файла в список, показывая какой-нибудь лоадинг. Сначала я посматривал в сторону 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, в которую сеттится набор графических объектов для отрисовки. Все данные экраны получают из вью моделей, которые в свою очередь берут данные из центрального репозитория. Интерфейс репозитория:

interface GerberRepository

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

Что в итоге

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

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

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

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

Формат Gerber. Общий обзор

G1I0

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

Наибольшее распространение получил формат под названием Gerber. Его ещё иногда называют «хребтом электронной промышленности». К сожалению, русскоязычной информации на эту тему не так уж и много. А она необходима. Больше всего она необходима технологам, занимающимся подготовкой печатных плат к производству. Но и конструкторам она тоже частенько нужна.

Например, для того, что бы правильно сформировать gerber-файлы перед отправкой на производство. Попробуем слегка приоткрыть завесу сей «стра-а-ашной тайны».

Немного истории

Формат Gerber взял своё имя от несуществующей ныне компании Gerber Systems Corporation, бывшей в своё время ведущим производителем фотоплоттеров. Этот формат был задействован в далёком 1980-м году, и его первоначальная итерация представляла собой, так называемый, Standart RS-274-D. Так же, он стал известен под названием Standart Gerber – стандартный Gerber.

С течением времени аппаратура для производства плат развивалась, а платы становились всё сложнее и сложнее. Соответственно этому, развивался и Gerber. В результате он превратился в целое семейство форматов. В целях стандартизации в 1997-м году всё это семейство было сведено в один формат, и, таким образом, появился так называемый расширенный Gerber (Extended Gerber), или RS-274X.

Фактически, новый формат стал стандартом для данных, описывающих топологию печатных плат. С 1997 года было произведено несколько изменений данного формата с целью его адаптации к развивающимся технологиям. Ну, а компания Gerber Systems Corporation в 1998 году прекратила своё независимое существования. Она вошла в состав группы компании Barco в качестве подразделения Barco ETS, занимающегося вопросами технологии производства печатных плат. В настоящее время она носит название Ucamco.

Ещё немного истории, но уже другой…

Что бы было проще понять «идеологию» формата Gerber, рассмотрим, от чего отталкивались его разработчики. Первые фотоплоттеры представляли собой, по сути, графопостроители с ЧПУ. Следовательно, и формат Gerber представляет собой программу для управления такими графопостроителями. Рассмотрим, принцип действия первых фотоплоттеров.

Принцип действия фотоплоттеров

Рис.1 Принцип действия фотоплоттеров

Апертура – отверстие определённой формы. Луч света, проходя через апертуру на апертурном колесе, затвор и систему оптики, попадает на расположенный на координатном столе фотошаблон и оставляет на нём пятно. Это пятно по форме повторяет форму апертуры.

Если при этом координатный стол двигается относительно осей X и Y, то на фотошаблоне «вычерчивается» линия, толщина и форма концов которой зависят от выбранной апертуры. Нужная апертура выбирается поворотом апертурного колеса таким образом, что бы она оказалась ровно напротив источника света. Открываясь или закрываясь, затвор «включает» или «выключает» «вычерчивание».

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

Читайте также:
Mrgsvendorapp что это за программа на андроиде

Фотоплоттер

Рис.2 Фотоплоттер

И последний «исторический факт», на который стоит обратить внимание. Первые фотоплоттеры управлялись при помощи программ, записанных на перфоленты или магнитные ленты. Как следствие – данные устройства были чувствительны к объёму программ, что наложило свои особенности на задание координат.

Вместо запятой, отделяющей дробную часть числа, используются такие параметры, как «количество цифр перед запятой» (Digits Integer) и «количество цифр после запятой» (Digits Decimal). Каждый из них представляет собой по две цифры. Суть в следующем: запятая – определённый символ, занимающий определённое место в памяти. Количество запятых равняется сумме количества координат по оси X и количества координат по оси Y. Соответственно, в программе убираются все запятые, а вместо них один раз используется запись о положении запятой, что значительно сокращает размер программы.

Магнитная лента

Рис.3 Магнитная лента

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

И, наконец, третья особенность – возможность не указывать одну или обе координаты. Такой подход позволяет сократить объём программы за счёт случаев, когда последующая координата не меняется или меняется только по одной из осей. В этом случае неизменяющееся значение можно вообще не указывать.

Перфолента

Рис.4 Перфолента

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

Gerber с точки зрения файловой системы

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

Иными словами, будут одновременно верны оба определения: «для описания одного слоя печатной платы нужен один gerber-файл» и «один gerber-файл описывает один слой печатной платы». Стоит обратить внимание на то, что gerber-файлы используются не только для вычерчивания топологии слоёв, но и для обработки контуров плат, и для создания трафаретов для паяльной пасты.

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

В то же время при применении gerber-файлов старого образца – RS-274-D – требуется дополнительный файл апертур, поскольку сами gerber-файлы в данном случае не содержат данных об апертурах. Каждая программа является «однопроходной».

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

При этом расширение *.txt используется крайне редко. Как правило, расширение gerber-файла соответствует типу его слоя. Каждый разработчик программного обеспечения, оперирующего gerber-данными, закладывает свои правила определения расширений. В таблице 1 приведены наиболее распространённые расширения. Таблица 1. Наиболее распространённые расширения gerber-файлов

Тип слоя Расширение
Верхний слой металлизации *.art01, *.gtl, *.cmp, *.top, *.gtl, *.layer1, *.soldcom, *.comp
Нижний слой металлизации *.art02, *.gbl, *.bottom, *.sld, *.bot, *.GBL, *.layer2, *.soldsold,*.sol
Внутренний слой *.art, *.in, *.internal, *.gt1, *.gt2, *.gt3, *.gt4, *.gt5, *.gt6, *.g1, *.g2, *.g3, *.g4, *.g5, *.g6
Негативный экранный слой *.pgp, *.pwr, *.gp1, *.gp2, *.gp3, *.gp4, *.gp5, *.gp6, *.gnd, *.ground
Позитивный экранный слой *.pgp, *.pwr, *.gnd, *.ground
Слой сверловки *.dd01, *.gd1, *.gg1, *.drill, *.drl, *.tap, *.nc1, *.dd02, *.gd, *.gg, *.drill, *.drl, *.tap, *.nc2, *.dd, *.gd, *.gg, *.drill, *.drl, *.tap, *.nc3, *.nc4, *.nc5
Верхний слой шелкографии *.sst01, *.gto, *.top silk, *.silk, *.slk, *.sst, *.ts, *.skt
Нижний слой шелкографии *.sst, *.bsilk, *.gbo, *.ssb, *.bot silk, *.silk, *.bs, *.skb
Верхний слой маски *.sm01, *.cmask, *.gts, *.tmask, *.tmk, *.smt, *.mask1, *.maskcom, *.tr, *.top mask, *.mst
Нижний слой маски *.sm, *.gbs, *.bmask, *.bmk, *.smb, *.mask2, *.masksold, *.br, *.bot mask, *.msb
Верхний слой пасты *.sp01, *.gtp, *.tm, *.top paste, *.paste, *.pst
Нижний слой пасты *.sp02, *.gbp, *.bm, *.bot paste, *.paste, *.psb
Периметр платы *.BDR, *.gko, *.border, *.out
Список цепей *.ipc, *.net

Пример реального набора gerber-файлов, сформированных средствами Altium Designer

Рис.5 Пример реального набора gerber-файлов, сформированных средствами Altium Designer

Немного подробнее про апертуры

Апертура – основной инструмент формирования топологического рисунка, она представляет собой «пятно» определённой формы. С её помощью фотоплоттер прорисовывает все элементы топологии за исключением полигонов (а в случае формата RS-274-D – и полигоны тоже). Можно сказать, что это аналог карандашей, но с той разницей, что апертуры отличаются друг от друга не цветом, а формой. Апертуры делятся на два типа – стандартные и макроапертуры.

Стандартные апертуры

Рис.6 Стандартные апертуры

Чаще всего используются стандартные апертуры. Макроапертуры могут быть любой формы.

Пример макроапертур

Рис.7 Пример макроапертур

Для формирования линии, как правило, используется апертура круглой формы с диаметром, соответствующим ширине линии. Данная апертура «передвигается» из одной точки в другую по определённой траектории. Аналогичным образом могут использовать как стандартные апертуры, так и макроапертуры любой формы.

Пример

Рис.8 Пример «вычерчивания» линии

Синтаксис

  1. параметры
  2. функциональные коды;
  3. координаты.

Параметры определяют характеристики gerber-файлов. Параметры, определяющие характеристики всего gerber-файла, должны располагаться в его начале, остальные – в соответствующем месте. Блоки данных, содержащие параметры, являются «объявлениями параметров», заключаются между символами «%», и их длина не может быть более 4096 символов.

Объявления параметров состоят из двух-символьного параметрического кода, определяющего назначение параметра, и следующих за ним параметрических данных. В большинстве случаев параметры состоят из одного блока данных. При этом символ конца блока данных должен располагаться непосредственно перед символом «%». Параметры макроапертур могут состоять из нескольких блоков данных. Для хорошей читаемости, разработчики gerber рекомендуют каждый блок данных начинать с новой строки. Примеры объявлений параметров:

Функциональные коды определяют действия, необходимые для прорисовки топологии слоя. Они состоят из буквенного символа D, G или M и двух цифр. Например, D01 или M02.

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

«X» и «Y» – координаты по осям X и Y, «I» и «J» — сдвиг по тем же осям. Квадратные скобки указывают на то, что каждую из координат или сдвигов возможно опустить. Вместо опущенной координаты подразумевается соответствующая координата из предыдущего блока данных. Вместо опущенного смещения подразумевает ноль. Примеры задания координат:

Как определить систему измерений и способ задания координат

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

Система измерения и способ задания координат определяют характеристики всего gerber-файла, поэтому, как уже говорилось выше, они объявляются в начале файла. Строка, объявляющая способ задания координат, выглядит следующим образом:

FS – начало строки объявления параметров.

L/T/D – подавление нулей:

  • L – ведущих,
  • T – конечных,
  • D– нули не подавляются.

А/I – режим координат:

Xa, Yb – количество знаков целой и дробной частей (подставляется вместо a, b).

Пример подобной строки:

В данном примере объявляется следующее: FS – начало строки объявления параметров, D – нули не подавляются, A – абсолютный режим координат, X56Y56 – 5 цифр целой части и 6 – дробной, * – конец строки объявления параметров.

Строка объявления системы измерений бывает двух видов: %MOMM*% – координаты заданы в миллиметрах, %MOIN*% – координаты заданы в дюймах.

Источник: sapr-journal.ru

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