Введение
Полигональные объекты являются неотъемлемой частью топологии практически любой печатной платы (ПП). С их помощью формируются такие элементы печатного рисунка, как заливка медью или нестандартная контактная площадка на слоях металлизации, логотипы на слоях шелкографии, различного вида вскрытия в слоях паяльной маски или трафарета паяльной пасты и т.п. Применение полигональных объектов ограничено только необходимостью и фантазией разработчика. В данной серии статей предпринята попытка свести воедино всю информацию о полигональных объектах, чтобы пользователи САПР Altium Designer (AD) получили о них чёткое представление. Будут рассмотрены все доступные виды полигональных объектов, их особенности и приёмы работы с ними. Материал статей построен следующим образом: сначала, в первой части серии статей, описаны общие приёмы работы с полигональными объектами, а затем, в последующих частях, рассказывается об особенностях каждого вида.
Виды полигональных объектов
Среда AD предоставляет пользователю несколько видов полигональных объектов. Каждый из них предназначен для выполнения определённой задачи и имеет собственный набор возможностей и свойств. Полигональные объекты представлены следующими видами:
- Board Shape – область ПП;
- Region – регион;
- Polygon – полигон;
- Fill – прямоугольная заливка;
- Keepout – область запрета трассировки и расположения компонентов.
Область ПП (Board Shape) как полигональный объект представляет собой зону, предназначенную для расположения на ней посадочных мест электронных компонентов, проводников, полигональных объектов и других элементов топологии.
Регион (Region) является сплошной замкнутой фигурой, которая может располагаться на любом слое. В свою очередь, подразделяется на следующие типы, каждый из которых также имеет своё назначение:
- Copper region (или Solid Region) – сплошной регион;
- Polygon cutout – вырез полигона;
- Board cutout – вырез в ПП;
- Cavity definition – полость для расположения компонентов внутри ПП.
Полигон (Polygon) также является сплошной замкнутой фигурой, которая может располагаться на любом слое, но при этом ещё и «умеет» огибать в зависимости от условий те или иные элементы металлизации, а также имеет расширенный ряд свойств и возможностей.
Прямоугольная заливка (Fill) представляет собой примитив в виде простого прямоугольника.
Строго говоря, класс объектов, относящихся к зоне запрета (Keepout), помимо полигональных объектов, включает в себя и такие примитивы, как отрезок, дуга и окружность. Однако в рамках данной статьи будут описаны только полигональные объекты, представленные видами Keepout-Fill и Keepout-Region.
В полной мере свойства и возможности практически всех видов полигональных объектов будут рассмотрены позднее в соответствующих разделах данной серии статей. Единственный полигональный объект, который опущен в статье – область ПП. Данный объект в полной мере описан в [1]. Теперь рассмотрим общие приёмы работы.
Общие приёмы работы
В общем случае полигональные объекты ПП в среде AD являются фигурами произвольной формы. Эта форма определяется пользователем. Контур любого полигонального объекта состоит из сегментов. Сегменты могут быть как прямолинейными, так и дуговыми. Все сегменты соединяются в вершинах. Контур может состоять из любого количества сегментов и вершин, существует только два геометрических ограничения:
- Контур полигонального элемента не должен быть самопересекающимся;
- Контур полигонального элемента должен быть замкнут.
Формирование контура
Как уже говорилось выше, контур любого полигонального объекта состоит из различного вида сегментов, соединённых в вершинах. Как следствие, данный контур формируется последовательным указанием его вершин. В общем случае данное действие требует следующих шагов:
- Запустить соответствующую команду (каждому виду полигонального объекта соответствует собственная команда) – среда AD перейдёт в режим формирования контура.
- Первым щелчком левой клавиши мыши (ЛКМ) задать начальную точку контура. Сформировать контур последовательностью щелчков ЛКМ в его вершинах.
- Щелчком правой клавиши мыши (ПКМ) или нажатием клавиши ESC выйти из режима формирования контура.
В процессе формирования контура каждый последующий щелчок ЛКМ, начиная со второго, формирует один отрезок, два отрезка или два отрезка с дугой сопряжения.

Количество формируемых отрезков и угол между ними определяются одним из пяти режимов формирования угла (см. рис. 1):
- 45° – формируются сразу два отрезка под углом 45°;
- 45° с дугой сопряжения – формируются сразу два отрезка под углом 45° с дугой сопряжения между ними;
- 90° – формируются сразу два отрезка под углом 90°;
- 90° с дугой сопряжения – формируются сразу два отрезка под углом 90° с дугой сопряжения между ними;
- свободный угол – формируется один отрезок под любым углом.
Переключение между режимами производится последовательно сочетанием клавиш Shift + «Пробел». Чтобы поменять местами вертикальный отрезок с отрезком под углом или вертикальный отрезок с горизонтальным, нужно нажать клавишу «Пробел». Нажатие клавиши Backspace удаляет последний сегмент. Для изменения радиуса дуги предназначены сочетания клавиш Shift + «<» и Shift + «>» или клавиши «<» и «>». Во втором случае радиус дуги будет меняться с меньшим шагом.
Если при формировании сразу двух отрезков необходимо, чтобы после щелчка ЛКМ формировался только первый отрезок, но при этом можно было видеть, как «ляжет» следующий, нужно воспользоваться режимом Look-Ahead, который активируется клавишей «1».

На рисунке 2 продемонстрировано, как он работает:
- красной сплошной линией отображается сегмент контура, который сформировался после второго щелчка ЛКМ;
- серой сплошной линией отображается сегмент, который будет сформирован после третьего щелчка ЛКМ;
- серой штриховой линией отображается сегмент, который только предполагается, но не будет сформирован.
Редактирование контура
Практически не бывает случаев, чтобы единожды сформированный полигональный объект не требовал изменения своей формы в процессе проектирования. Исключение, вероятно, составляет только прямоугольная заливка, форма которой не подразумевает никаких изменений (хотя даже в этом случае зачастую бывает необходимо откорректировать размеры).
Редактирование контура полигонального объекта требует соответствующих инструментов. Среда AD в полной мере обеспечивает пользователя такими инструментами. Их можно разделить на две основные категории: геометрическое изменение контура и табличное редактирование. В свою очередь, геометрическое изменение контура включает в себя следующие приёмы работы:
- редактирование контура с помощью маркеров и сегментов;
- частичное переопределение контура;
- объединение полигональных объектов;
- вычитание полигональных объектов.
Рассмотрим подробно каждый из указанных приёмов работы.
Редактирование контура с помощью маркеров и сегментов
В общем случае, чтобы отредактировать контур полигонального объекта с помощью маркера или сегмента, необходимо выполнить следующую последовательность действий:
- В зависимости от вида полигонального объекта выполнить соответствующую команду или выделить полигональный объект щелчком ЛКМ – полигональный объект подсветится, а по периметру появятся маркеры вершин и центров.
- Навести курсор на маркер или сегмент – курсор примет вид двунаправленной стрелки. Если курсор наведён на сегмент, то последний подсветится. Если курсор наведён на маркер, то последний также подсветится, а рядом с ним появится указатель, обозначающий режим редактирования.
- Зажать ЛКМ.
- Переместить маркер или сегмент.
- Отпустить ЛКМ.
Если в процессе редактирования контура полигонального объекта был выбран сегмент, то его можно перенести на новую позицию. На рисунке 3 приведены примеры перемещения прямолинейных сегментов.

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

Если в процессе редактирования контура полигонального объекта был выбран центральный маркер, то поведение соответствующего ему сегмента будет определяться одним из трёх режимов (см. рис. 4):
- свободное перемещение;
- излом;
- скругление.
В отличие от описанного выше перемещения, при свободном перемещении сегмента его длина не меняется, а у сопряжённых сегментов могут меняться и углы, и длины. Перемещение дугового сегмента идентично. При изломе образуются два новых сегмента, при этом прямолинейный сегмент преобразуется в два прямолинейных, а дуговой – в два дуговых. При скруглении прямолинейный сегмент преобразуется в дугу, а у дугового будет меняться его радиус. И в режиме излома, и в режиме скругления вершины, сопряжённые с изменяемым сегментом, остаются на месте, соответственно, в этих режимах сопряжённые сегменты не меняются. Переключение между режимами возможно только в момент переноса маркера и производится циклично сочетанием клавиш Shift + «Пробел».

Если в процессе редактирования контура полигонального объекта был выбран маркер вершины, то поведение вершины также будет зависеть от одного из трёх режимов (см. рис. 5):
- перемещение вершины;
- фаска;
- сопряжение.
В режиме перемещения сегменты, которые сопряжены с перемещаемой вершиной, меняют как свою длину, так и угол, под которым они расположены. Это касается как прямолинейных сегментов, так и дуговых. В режиме фаски образуется новый отрезок, расположенный под равными углами по отношению к сопряжённым с ним. В режиме сопряжения образуется дуга, касательная к сопряжённым с ней сегментам. Переключение между режимами также возможно только в момент переноса маркера и производится циклично сочетанием клавиш Shift + «Пробел».
Помимо указанных выше приёмов редактирования, имеется также возможность ручного добавления или удаления маркеров вершин. Чтобы добавить новый маркер, необходимо выполнить следующие действия:
- Навести курсор на сегмент – сегмент подсветится.
- Зажать клавишу Ctrl – под курсором появится изображение нового маркера, которое будет «привязано» к курсору, но будет двигаться только вдоль сегмента.
- Выбрав положение маркера, зажать ЛКМ, отпустить клавишу Ctrl и начать двигать курсор, не отпуская ЛКМ. При этом сегмент разобьётся на два новых сегмента.
- Выбрав позицию нового маркера, отпустить ЛКМ.
Чтобы удалить маркер, необходимо выполнить следующие действия:
- Навести курсор на маркер – маркер подсветится.
- Зажать на маркере ЛКМ.
- Нажать клавишу Delete.
- Отпустить ЛКМ.
При удалении маркеров вершин смежные сегменты, независимо от формы, преобразуются в один линейный сегмент [2, 3].
Направляющие
Помимо указанных выше инструментов редактирования, пользователю доступен один очень полезный инструмент индикации – направляющие. Они показывают положение перемещаемой вершины по отношению к другим элементам контура полигонального объекта. Направляющие представляют собой тонкие линии или дуги зелёного цвета, которые проявляются в следующих случаях:
- когда вершина оказывается на продолжении линейного или дугового сегмента;
- когда вершина оказывается на линии, проведённой под углом 90° или 45° из другой существующей вершины.
На рисунке 6 представлены примеры направляющих.

Направляющие можно скрывать с помощью клавиши Shift: пока эта клавиша нажата, направляющие не будут отображаться [2, 3].
Частичное переопределение контура
В отличие от описанного ранее, данный способ редактирования контура полигонального объекта позволяет непосредственно «перерисовать» часть контура.

Чтобы отредактировать контур данным способом, необходимо выполнить следующие действия (см. рис. 7):
- Запустить соответствующую команду (каждому виду полигонального объекта соответствует собственная команда) – среда AD перейдёт в режим редактирования контура.
- Первым щелчком ЛКМ на контуре задать начальную вершину изменяемой части контура.
- Последовательностью щелчков ЛКМ сформировать новую часть контура. Данный процесс полностью аналогичен описанному ранее процессу формирования контура нового полигонального объекта.
- Последний щелчок ЛКМ выполнить также на контуре, в последней вершине изменяемой части – контур полигонального объекта изменится, а среда AD автоматически выйдет из текущего режима.
В моменты выбора начальной и конечной точек при наведении курсора на контур полигонального объекта под курсором появится маркер, облегчающий выбор этих точек. Маркер представляет собой белый квадрат, «привязанный» к курсору и двигающийся только вдоль контура по координатной сетке.
В определённом смысле можно сказать, что частичное переопределение является частным случаем формирования контура полигонального объекта, поэтому в данном случае пользователю доступны всё те же режимы построения угла (см. рис. 1), что и при формировании контура [2, 3].
Объединение полигональных объектов
Иногда возникают случаи, когда проще не отредактировать контур, а объединить два полигональных объекта в один. Среда AD также содержит соответствующий инструмент.

Для такого объединения необходимо выполнить следующие действия (см. рис. 8):
- Выделить все полигональные объекты, которые должны быть объединены.
- Щёлкнуть ПКМ в любой точке любого из объединяемых полигональных объектов и из выпадающего меню запустить команду Polygon Actions → Combine Selected Polygons – все выбранные полигоны объединятся в один.
Объединять в один можно одновременно два и более полигональных объекта. Все объединяемые полигональные объекты должны находиться на одном слое и пересекаться. Если какой-то из объединяемых полигональных объектов не имеет пересечений с другими, необходимо либо отредактировать его контур, либо передвинуть его таким образом, чтобы пересечения появились. Если какие-либо свойства объединяемых полигональных объектов различаются, то новый объединённый полигональный объект наследует свойства того, который был выделен для объединения первым [2, 3].
Вычитание полигональных объектов
Наравне с объединением полигональных объектов пользователям также доступна обратная операция – вычитание.

Для этого необходимо выполнить следующие действия (см. рис. 9):
- Щелчком ЛКМ выделить уменьшаемый полигональный объект.
- Щёлкнуть ПКМ в любой точке выделенного полигонального объекта и из выпадающего меню запустить команду Polygon Actions → Subtract Polygons From Selected.
- Щелчком ЛКМ выделить вычитаемый полигональный объект. Если таковых несколько, то последовательно выделить их все.
- Щёлкнуть в любом месте ПКМ – вычитаемые полигональные объекты будут удалены, а уменьшаемый изменит свой контур.
Все полигональные объекты, участвующие в операции вычитания, должны находиться на одном слое. Операция вычитания может быть применена одновременно только к одному уменьшаемому полигональному объекту. Все вычитаемые полигональные объекты должны иметь пересечения с уменьшаемым. Если какой-то из вычитаемых полигональных объектов не имеет пересечений с уменьшаемым, необходимо либо отредактировать контур одного из них, либо передвинуть один из них таким образом, чтобы пересечения появились [2, 4].
Табличное редактирование контура
Помимо перечисленных выше инструментов, пользователям AD также доступен табличный способ редактирования полигональных объектов. Для данного действия предназначена таблица вершин Outline Vertices, которую можно найти в окнах свойств соответствующего полигонального объекта на одноимённой вкладке. С помощью данной таблицы можно вручную менять координаты вершин, удалять или добавлять новые вершины, менять прямолинейный сегмент на дуговой и наоборот, менять центральный угол дугового сегмента и т.д.
Каждая строка данной таблицы описывает одну из вершин полигонального объекта. В графе Index отображаются порядковые номера вершин. Графы X и Y отображают координаты вершин по осям X и Y соответственно. В графе Arc Angle выводится значение центрального угла дугового сегмента. Для прямолинейного сегмента ячейка в графе Arc Angle остаётся пустой.

И прямолинейные, и дуговые сегменты строятся последовательно, от вершины с меньшим порядковым номером к вершине с бóльшим. Если значение центрального угла дугового сегмента положительно, то он строится против часовой стрелки, если отрицательно – по часовой (см. рис. 10).
Чтобы отредактировать значение в ячейке, достаточно щёлкнуть по ней ЛКМ и ввести новое или отредактировать существующее. Отредактировать можно значение любой ячейки, кроме ячеек графы Index.
По щелчку ПКМ на любой ячейке открывается выпадающее меню, которое содержит все необходимые команды для работы с таблицей вершин:
- Edit – редактировать значения текущей ячейки (идентично ранее описанной процедуре);
- Add – добавить новую вершину (строка новой вершины добавляется ниже текущей);
- Remove – удалить текущую вершину;
- Copy – скопировать значения выделенных ячеек в буфер обмена;
- Paste – вставить из буфера;
- Export To CSV – экспортировать таблицу в файл формата *.CSV;
- Import From CSV – импортировать таблицу из файла формата *.CSV;
- Select All – выделить всю таблицу;
- Select Column – выделить весь столбец;
- Move Up – сдвинуть текущую строку вверх;
- Move Down – сдвинуть текущую строку вниз;
- Move By XY – сдвинуть весь полигон на заданное значение.
После выполнения команды Move By XY откроется окно Move By. В данном окне необходимо ввести значения сдвига по осям X и Y. После закрытия данного окна введённые значения суммируются с соответствующими значениями в таблице.
Под таблицей расположены кнопки Menu, Add... и Remove… Кнопка Menu открывает меню, идентичное вышеописанному выпадающему меню. Кнопка Add... добавляет новую вершину, а кнопка Remove… – удаляет существующую [4].
Заключение
В данной части статьи были рассмотрены общие приёмы работы с полигональными объектами. Далее будет показано, что эти приёмы работы применимы в подавляющем большинстве случаев.
Каждый полигональный объект предназначен для выполнения определённой задачи и, соответственно, имеет собственный набор свойств и возможностей. В следующих частях статьи будет подробно рассмотрен каждый вид полигонального объекта: регион, полигон, прямоугольная заливка и полигональные объекты зон запрета. Кроме того, когда речь пойдёт о полигонах, будет представлен ряд правил, без которых невозможно сформировать правильную заливку, а также такой полезный инструмент, как менеджер полигонов.
Литература
- Якубенко А. Работа с контуром печатной платы // Современная электроника. 2017. № 7.
- Altium. Documentation. Editing Polygonal Shaped Objects: http://www.altium.com/documentation/17.1/display/ADES/((Edi-ting+Polygonal+Shaped+Objects))_AD
- Altium Wiki. Российская документация. Редактирование полигонов: http://wiki.altium.com/pages/viewpage.action?pageId=52858359
- Altium. Documentation. Outline Vertices Editor for Polygonal Pours and Regions: http://techdocs.altium.com/display/ADOH/Outline+Vertices+Editor+for+Poly-gonal+Pours+and+Regions
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

