У начинающих разработчиков, работающих в САПР Altium Designer, может возникнуть ситуация, когда для конкретных компонентов необходимо применить какое-либо правило к разводке, к примеру, отличающееся подключение к полигону или увеличенные зазоры. Первое, что приходит в голову — это использовать порядковый номер компонента (Designator), вручную занеся его в правило печатной платы, вот только при любом изменении схемы правило придется обновлять — это непорядок! Хотя давно, честно говоря, я сам так делал, потом запарился и задумался, что я делаю не так…
Под катом же покажу, как сделать более правильно и просто на примере Altium Designer 18.
Настройки проекта
Перво-наперво необходимо проверить параметры проекта и убедиться, что стоит галка создания классов компонентов (Generate Component Classes).
Находится она вот тут:
Параметры компонентов на схеме
Для примера возьмем простейшую схему, пусть это будет 3 фильтрующих конденсатора на 2-х шинах питания:
Опять же, для примера, возьмем и внесём изменения в параметры только в два из трёх конденсаторов. Выделяем их с шифтом:
И переходим в параметры, здесь отображаются только совпадающие по имени параметры. Нажимаем кнопку добавления нового (Add внизу):
И прописываем новый параметр со специальным именем ClassName:
Его значение PolyDirectConnect уже произвольно, но лучше выбирать однозначно ясные имена для четкой идентификации принадлежности в дальнейшем при составлении правил в печатной плате.
Правила в печатной плате
Итак, после внесения изменений в схему импортируем изменения на плату, здесь должна появится теперь графа о добавлении нового класса компонентов:
Если этого не происходит, скорее всего вы забыли в свойствах проекта поставить галку о генерации классов компонентов или банально имя параметра в свойствах компонента отличается от ClassName.
Далее открываем правила платы. В качестве примера рассмотрим правила подключения полигонов к падам. Вот простой вариант набора правил:
Да, кстати, стоит обращать внимание на приоритеты правил (колонка, выделенная красным на верхнем скриншоте)! Для их настройки выделяем корневой элемент Polygon Connect Style (или любой другой), в котором содержатся правила, и нажимаем кнопку Properties… внизу, откроется окно настройки приоритетов для правил этого типа правил:
Покажу по порядку, что содержится в правилах, и поясню, почему они так расположены и как влияют их настройки на подключение полигона. Начинаем с низшего по приоритету правила — PolygonConnect_Via:
Здесь никаких условий нет, и правило будет выполняться только в том случае, если в вышестоящих по приоритету правилам условия не подошли. Названо *_Via оно условно, но благодаря следующему по приоритету правилу оно всегда чётко работает исключительно на подключение полигона к переходным отверстиям.
Следующее правило — PolygonConnect_Connectors :
Код условия выполнения:
(InPadClass('All Pads'))
Названо оно опять же условно _Connectors, ибо выполняется оно для всех падов вне зависимости от типа компонента (а не только для соединителей, но можно добавить проверку по типу, как в следующем правиле). Но опять же, компоненты отсеиваются еще более вышестоящим по приоритету правилом, поэтому это не так важно.
2-е по приоритету правило — PolygonConnect_Components :
Код условия выполнения:
InComponent('C*') OR InComponent('R*') OR InComponent('NR*') OR InComponent('DA*') OR InComponent('DD*') OR InComponent('HL*')
Это пример правила, которое подключает компоненты по типу, разделяя их по условному обозначению. * — обозначает, что правило будет применяться для любого позиционного номера, но конкретного типа, соответственно букве, стоящей до звездочки.
И, наконец, последнее правило, но первое по приоритету — PolygonConnect_PolyDirectConnect :
Код условия выполнения:
InComponentClass('PolyDirectConnect')
Ради чего собственно и вся эта заметка. Это правило проверяет на условие вхождения компонента в конкретный класс компонентов (тут-то и важно произвольное имя, вносимое в параметры компонента на схеме) и выполняет подключение полигона. Здесь же можно добавить, к примеру, проверку на соответствие конкретной линии (Net) и еще более тонко выбирать тип подключения полигона к падам.
Итог
Ну и, собственно, что получается при расположении компонентов в 3-х полигонах:
Можно видеть, что C1, C3 подключены напрямую в соответствии с правилом PolygonConnect_PolyDirectConnect, а C2 подключен с термобарьером в соответствии с правилом PolygonConnect_Components.
На этом всё, надеюсь, эта небольшая заметка будет полезна новичкам в Альтиуме!
Удачного проектирования. ;)