Работа с классами на схеме и PCB
Краткий обзор
- Узнайте, какие типы классов поддерживаются, где можно задавать каждый из них и чем автоматические классы отличаются от пользовательских.
- Посмотрите, как создавать классы компонентов и цепей на основе схемы с помощью параметров, директив Parameter Set и Blanket.
- Разберитесь, как Constraint Manager и настройки синхронизации проекта влияют на то, какие классы создаются и переносятся на печатную плату.
Класс — это именованная группа объектов. Классы не только помогают разработчику выбирать нужные объекты при просмотре проекта, но и позволяют применять требования к проекту ко всем объектам в этой группе, или классе.
Классы могут создаваться на основе структурных особенностей проекта, например цепей или компонентов на одном листе либо цепей в одной шине. К таким структурным классам, создаваемым программой, относятся: классы компонентов, цепей, каналов проекта и структур.
Также можно создавать пользовательские классы: либо с помощью Constraint Manager, если вы предпочитаете этот способ определения требований к проекту, либо с помощью параметров схемы и классов печатной платы, если вы предпочитаете подход на основе правил проектирования.

Классы — удобный способ управления логическими группами компонентов и цепей. Здесь требования к трассировке применяются к классу LEDS в Constraint Manager.
Поддерживаемые классы и места их определения
Изначально возможность определения классов появилась в редакторе печатных плат через Object Class Explorer. Затем в редактор схем была добавлена поддержка определения наиболее часто используемых классов — компонентов и цепей. Компоненты можно добавлять в класс, назначая им параметр ClassName, а цепи — подключая директиву набора параметров, содержащую параметр Net Class Name. Эти определения классов обнаруживаются и передаются на печатную плату при синхронизации проекта.
С появлением Constraint Manager определение классов, а также других физических и электрических требований к проекту стало проще и структурированнее. Ограничения — это настройки уровня проекта, которые можно в любой момент изменить как в редакторе схем, так и в редакторе печатных плат, однако их по-прежнему необходимо синхронизировать через систему ECO.
Если одновременно присутствуют определения классов цепей на основе параметров и классы цепей Constraint Manager, определения на основе параметров не применяются. В таблице в раскрывающемся разделе ниже перечислены все поддерживаемые типы классов и места, где их можно определить.
Доступные типы классов
| Class Type | Software-created based on structure |
Schematic Editor parameters |
PCB Editor Object Class Explorer |
|
| Цепь | ✓ |
🗸 |
✓ | ✓ |
| Компонент | ✓ |
🗸 |
✗ | ✓ |
| Слой | ✗ | ✗ | ✗ | ✓ |
| Контактная площадка | ✗ | ✗ | ✗ | ✓ |
| Соединение «от–до» | ✗ | ✗ | ✗ | ✓ |
| Дифференциальная пара | ✗ | ✗ |
✓ | ✓ |
| xNet | ✗ | ✗ | ✓ | ✗ |
| xSignal | ✗ | ✗ | ✓ | ✓ |
| Канал проекта | ✓ |
✗ | ✗ | ✓ |
| Полигон | ✗ | ✗ | ✗ | ✓ |
| Структура | ✓ |
✗ | ✗ | ✓ |
Определение классов с помощью параметров схемы
Вы можете создавать пользовательские классы компонентов и цепей, добавляя параметр соответствующему компоненту или подключая его к цепи. Классы компонентов и цепей печатной платы будут созданы, если соответствующие флажки User-Defined Classes установлены на вкладке Class Generation диалогового окна Options for Project. Подробнее см. в разделе Настройка этих параметров.
Пользовательский класс компонентов
Чтобы добавить компоненты в класс компонентов, добавьте к компоненту параметр, указав в строке Name значение ClassName, а в строке Value — имя класса. Этот параметр необходимо добавить к каждому компоненту, который должен входить в класс. Это можно сделать за одну операцию редактирования: сначала выберите все компоненты, а затем добавьте параметр на панели Properties. Если компоненты расположены рядом, можно использовать директиву Blanket с подключенной директивой Набор параметров.
Пользовательский класс цепей
Чтобы добавить цепь (или цепи в шине либо сигнальном жгуте) в класс цепей печатной платы с помощью параметров, подключите параметр к этой цепи, шине или жгуту. Для подключения параметров разместите директиву Набор параметров так, чтобы ее конец касался цепи, шины или жгута, а затем добавьте в эту директиву параметр Net Class Name.
Эту директиву набора параметров можно копировать и вставлять в разные места схемы, чтобы добавить несколько отдельных цепей в один класс цепей печатной платы. В качестве альтернативы можно использовать директиву Blanket.
Использование Blanket для применения директивы к нескольким цепям
Вы также можете добавить несколько цепей в класс цепей печатной платы, разместив директиву Blanket, охватывающую все эти цепи. Директива Blanket позволяет применять директиву ко всем цепям в охваченной области: либо определяемым идентификатором цепи, например меткой цепи или портом питания внутри этой области, либо имеющим хотя бы одну конечную вершину внутри Blanket.
Вместо размещения директивы Parameter Set так, чтобы она касалась провода, разместите ее так, чтобы она касалась края области Blanket, как показано на изображении ниже. Обратите внимание: имя класса цепей на печатной плате задается значением параметра в объекте Parameter Set, а не отображаемым именем этого объекта. В примере ниже Parameter Set также используется для задания правила проектирования, определяющего ширину трассировки.

Использование директивы Blanket для объединения всех охваченных ею цепей в класс цепей печатной платы с именем Power. Обратите внимание: имя директивы Parameter Set не используется для именования класса и служит только визуальным ориентиром.
Определение классов в Constraint Manager проекта
Классы — одна из ключевых возможностей при работе с Constraint Manager, позволяющая легко применять и корректировать ограничения проектирования для нескольких цепей. В Constraint Manager классы добавляются, редактируются и удаляются с помощью команд контекстного меню, вызываемого правой кнопкой мыши, как показано в видео ниже. Перед добавлением в класс цепи можно выбирать по одной или выделять сразу несколько, используя стандартные приемы Windows.
С помощью Constraint Manager Object Class Explorer можно просматривать и редактировать все классы проекта. Все классы, определенные в Constraint Manager, передаются на печатную плату при синхронизации проекта независимо от настройки параметров на вкладке Class Generation диалогового окна Options for Project.
Простой пример создания класса цепей в Constraint Manager.
Подробнее о Constraint Manager.
Классы, создаваемые при переносе проекта
Создание автоматически формируемых классов, а также классов на основе параметров схемы настраивается на вкладке Class Generation диалогового окна Options for Project.
-
Automatically generated classes — формируются на основе структуры проекта и могут включать шины/сигнальные жгуты (классы цепей), содержимое листов (классы компонентов) и структуру проекта (структурные классы). Эти классы создаются при переносе проекта со схемы на печатную плату и доступны независимо от выбранного подхода к управлению ограничениями проектирования (Constraint Manager или Design Rules). Они недоступны в редакторе схем на этапе разработки схемы — например, при просмотре на панели Navigator.
-
User-defined classes — формируются на основе параметров проектирования, добавленных к компоненту или цепи. Обратите внимание: классы, определенные в Constraint Manager, не управляются этими параметрами.
Создание этих классов настраивается на вкладке Class Generation диалогового окна Options for Project. Обратите внимание: какие именно классы в итоге синхронизируются с печатной платой, определяется параметрами на вкладке Comparator; убедитесь, что они настроены нужным образом.

Используйте параметры на вкладке Class Generation, чтобы настроить создание производных и пользовательских классов при синхронизации проекта.
Автоматически создаваемые классы
| Generate Net Classes for Buses | Автоматически создавать класс цепей для каждой именованной шины в проекте. В класс войдут цепи этой шины. |
| Generate Net Classes for Components | Автоматически создавать класс цепей для каждого компонента в проекте. В класс войдут цепи, подключенные к выводам этого компонента. Имя класса цепей будет сформировано из позиционного обозначения компонента в формате <ComponentDesignator>_Nets. |
| Generate Separate Net Classes for Bus Sections | Автоматически создавать отдельный класс цепей для каждой секции шины. Секция шины создается путем задания шины, которая фактически является частью более широкой шины, например A[2..0] из шины A[15..0]. |
| Generate Net Classes for Named Signal Harnesses | Автоматически создавать класс цепей для каждого именованного сигнального жгута в проекте. В класс войдут цепи, соответствующие сигналам, объединенным этим именованным сигнальным жгутом. К именованному сигнальному жгуту прикреплена метка цепи; создаваемому классу цепей присваивается ее имя. |
| Schematic Sheet | В таблице диалогового окна перечислены все листы проекта. Для каждого листа можно выборочно создать: класс компонентов, область размещения на печатной плате, класс цепей и структурный класс. |
| Sheet Name/Full Path | Имя и расположение листа схемы. |
| Component Classes | Столбец флажков. Если флажок установлен, создается класс компонентов, содержащий все компоненты этого листа (с тем же именем, что и у символа листа). |
| Generate Rooms | Столбец флажков. Если флажок установлен, для этого листа схемы автоматически создается область размещения (доступно только при установленном флажке Component Class). Области размещения на печатной плате назначается соответствующий класс компонентов. При первоначальной синхронизации проекта области размещения располагаются в нижней левой части печатной платы. Подробнее см. Работа с областями размещения. |
| Net Classes Scope | Используйте эти параметры, чтобы определить, будет ли создан класс цепей этого листа схемы (классу присваивается то же имя, что и символу листа).
|
| Structure Classes | Установите флажок, чтобы создать структурный класс. В структурный класс входят класс компонентов и класс цепей, для которых включено создание. Отредактируйте структурный класс в редакторе печатных плат, чтобы добавить другие классы цепей, компонентов или структурные классы. Используйте режим Structure панели PCB, чтобы найти компоненты и цепи, входящие в этот структурный класс. |
Пользовательские классы
| Generate Component Classes | Установите флажок, чтобы создавать пользовательские классы компонентов. Чтобы добавить компонент в пользовательский класс компонентов, добавьте к компоненту параметр |
| Generate Rooms for Component Classes | Включите этот параметр, чтобы для каждого создаваемого пользовательского класса компонентов создавать область размещения на печатной плате и назначать ей этот класс компонентов. Область размещения получает то же имя, что и класс компонентов. |
| Generate Net Classes | Установите флажок, чтобы создавать пользовательские классы цепей. Параметры добавляются к цепи путем присоединения к ней объекта parameter set и последующего добавления в этот набор параметра Если в проекте используется Constraint Manager, классы цепей не создаются на основе объектов набора параметров. |
Создание классов в редакторе PCB
Изначально редактор PCB в Altium Designer был ориентирован на правила проектирования: требования к печатной плате задавались в диалоговом окне PCB Rules and Constraint Editor , а классы проекта — в Object Class Explorer редактора PCB Этот подход используется по умолчанию в новом проекте.
Если при создании проекта включена опция Constraint Management, требования настраиваются в Constraint Manager , а не в диалоговом окне PCB Rules and Constraint Editor. В этом случае все типы классов по-прежнему можно определять и редактировать в Object Class Explorer редактора PCB. При этом типы классов, которые можно передавать между схемой и печатной платой в обоих направлениях, также доступны для редактирования в Object Class Explorer диспетчера ограничений
Обозреватель классов объектов PCB
Классы можно добавлять, редактировать и удалять в Object Class Explorer.
-
Чтобы получить доступ ко всем типам классов, доступным в редакторе PCB, и редактировать их, выберите Design » Classes в меню редактора PCB. Откроется Object Class Explorer.
-
Для редактирования классов, которые можно синхронизировать между схемой и печатной платой, также можно использовать Object Class Explorer диспетчера ограничений. Чтобы открыть его, щёлкните правой кнопкой мыши в диспетчере ограничений и выберите Classes » Class Explorer в контекстном меню.
Обозреватель классов объектов (редактор PCB)
| Class Types and Classes | Древовидная структура в левой панели диалогового окна используется для просмотра всех классов объектов, доступных на печатной плате. Нажмите значок Object Classes в верхней части дерева, чтобы отобразить список всех классов, определённых в проекте , нажмите один из расположенных ниже значков типов классов, чтобы отобразить определённые классы этого типа , или нажмите значок отдельного класса, чтобы вывести список входящих в него объектов Содержимое центральной и правой панелей диалогового окна меняется в зависимости от выбора в левой панели. Классы, имена которых заключены в угловые скобки, назначаются системой по умолчанию; их нельзя удалить или отредактировать. Примеры таких классов: <All Nets> и <Bottom Side Components>. |
| Non-Members | При выборе определённого класса в дереве слева центральный столбец диалогового окна отображает список всех объектов, которые сейчас не входят в выбранный класс. Выберите объекты для добавления в текущий класс (используя стандартные способы выделения в Windows), затем с помощью элементов управления между панелями объектов, не входящих в класс, и объектов класса добавьте выбранные объекты в этот класс |
| Members | При выборе определённого класса в дереве слева правый столбец диалогового окна отображает список всех объектов, которые сейчас входят в выбранный класс. Выберите объекты, входящие в класс (используя стандартные способы выделения в Windows), затем с помощью элементов управления между панелями объектов, не входящих в класс, и объектов класса удалите выбранные объекты из этого класса |
| |
Добавить все объекты, не входящие в класс, в список объектов класса. |
| |
Добавить выбранные объекты, не входящие в класс, в список объектов класса. |
| |
Удалить выбранные объекты класса из списка. |
| |
Удалить все объекты класса из списка. |
| |
Добавить объекты, выделенные в рабочей области, в список объектов класса. Этот элемент управления доступен только тогда, когда можно предварительно выделить объекты в рабочей области. |
| |
Удалить объекты, выделенные в рабочей области, из списка. Этот элемент управления доступен только тогда, когда можно предварительно выделить объекты в рабочей области. |
| |
Кнопка Component Class Generator доступна только при создании или редактировании класса компонентов. При её нажатии открывается диалоговое окно Component Class Generator, позволяющее быстро сформировать состав класса компонентов на основе заданных критериев поиска. |
Выделение объектов в разных редакторах
Важная функция для работы в нескольких редакторах — Cross Select Mode: каждый компонент или цепь, выделенные в одном редакторе, также выделяются в других редакторах. Cross Select Mode включается через меню Tools в любом редакторе, поддерживающем эту функцию (или с помощью сочетания клавиш Shift+Ctrl+X). При щелчке по компоненту или объекту цепи в одном редакторе этот объект автоматически выделяется в других открытых редакторах.
Чтобы выделить объекты с учётом логических соединений на схеме (цепей, соединённых метками цепей, портами и т. п.), удерживайте Alt при щелчке по цепи в редакторе схем. При этом вся цепь, шина или жгут будут выделены на каждом листе проекта, а масштаб будет изменён так, чтобы показать выбранные объекты цепи. Визуальное отображение результатов на целевых листах определяется опциями Cross Select Mode и Highlight Methods на странице «Система — Навигация» диалогового окна Preferences
Включите режим перекрёстного выделения для перехода между редакторами.
Работа с классами в редакторе PCB
Классы — это логические группы, определяемые разработчиком, которые помогают структурировать, анализировать и проверять проект.
Просмотр классов
Панель PCB позволяет просматривать объекты печатной платы в различных режимах, например по цепям или компонентам. В режимах, поддерживающих классы, можно также просматривать объекты по их классам. Просмотр по классам доступен для компонентов, цепей, дифференциальных пар, xSignals, полигонов, а также структурных классов.
После выбора режима просмотра в верхней части панели отображается список всех доступных классов, как показано в примерах ниже. Если включен режим перекрестного выделения, соответствующие объекты также выделяются на листах схемы, где это применимо.
Создание класса из выделенных объектов
В редакторе PCB можно создать класс из текущего набора выделенных объектов: цепей, компонентов или полигонов.
| Net class | Выделите хотя бы один объект каждой нужной цепи в рабочей области или выделите цепи на панели PCB. Затем выполните команду Create NetClass from Selected Nets из подменю Design » Netlist главного меню или подменю Net Actions контекстного меню, вызываемого правой кнопкой мыши Кроме того, если цепи выделены в режиме Nets панели PCB, щелкните правой кнопкой мыши в области Classes панели, чтобы получить доступ к команде Add Class, как показано на слайдах выше. Подробнее о классах цепей. |
| Component class | Выделите компоненты в рабочей области или на панели PCB. Затем щелкните правой кнопкой мыши в области Classes панели, чтобы получить доступ к команде Add Class, как показано на слайдах выше. Также можно выбрать команду Design » Classes, чтобы открыть Object Class Explorer, где можно создать новый класс и добавить в него выделенные компоненты. |
| Polygon class | Выделите нужные полигоны в диалоговом окне Polygon Manager, затем нажмите кнопку New Polygon Class. Задайте имя нового класса полигонов в диалоговом окне Object Class Name. |
Генератор классов компонентов
Еще один способ создать класс компонентов — использовать Component Class Generator. Кнопка запуска генератора доступна в PCB Object Class Explorer и в диалоговом окне Edit Component Class.
Выполните команду Design » Classes, чтобы открыть PCB Object Class Explorer , щелкните правой кнопкой мыши по списку Component Classes слева и выберите команду New Class. Выберите новый класс в списке, затем нажмите кнопку Component Class Generator, чтобы открыть Component Class Generator. Также можно щелкнуть правой кнопкой мыши в области Classes панели PCB (в режиме Components) и выбрать Add Class. Задайте имя нового класса в диалоговом окне Edit Component Class, а затем нажмите кнопку Class Generator, чтобы открыть Component Class Generator.
Используйте генератор классов компонентов, чтобы быстро сформировать список компонентов для включения в класс.
Диалоговое окно генератора классов компонентов
| Search/Filter Criteria | Поля в левой части диалогового окна совместно определяют критерии поиска и фильтрации компонентов, которые будут добавлены в класс. Поля Designator, Comment и Footprint содержат заранее заполненные списки; также можно ввести значение вручную (поддерживаются подстановочные символы). Остальные поля содержат списки доступных вариантов; выберите Any, чтобы исключить поле из процесса отбора. |
| Add Matching | Нажмите, чтобы добавить все компоненты, соответствующие заданным критериям поиска и фильтрации, в область Class Membership. |
| Clear Selected | Нажмите, чтобы удалить из класса все компоненты, выделенные в области Class Membership. |
| Class Name | В поле в правой верхней части диалогового окна отображается текущее имя класса. При необходимости измените его. |
| Class Membership | Область под Class Name — это Class Membership, где по позиционным обозначениям перечислены все компоненты, выбранные для включения в класс. Компоненты в списке Class Membership можно выделять стандартными способами множественного выделения: Ctrl+click, Shift+click и Click+drag. |
Работа со структурными классами
Altium Designer поддерживает автоматическое создание классов цепей и компонентов при переносе проекта со схемы на печатную плату. Кроме того, можно задавать иерархическую структуру классов. Это позволяет объединять классы компонентов и/или цепей на уровне листа в родительский класс, создаваемый на основе этого листа. Такой класс может быть дочерним по отношению к вышестоящему родительскому классу — вплоть до листа верхнего уровня проекта.
Каждый из таких созданных родительских классов называется Structure Class. Структурные классы воспроизводят структуру документов схемы на печатной плате, что особенно удобно для расширенной навигации. Их также можно использовать в логических запросах, например при задании области действия правил проектирования или фильтрации объектов в рабочей области PCB.
Концепция структурных классов
Структурный класс — это особый тип класса, элементами которого могут быть классы любого типа, включая классы цепей, компонентов, слоев, контактных площадок, соединений From-To, дифференциальных пар, каналов проекта, полигонов, а также другие структурные классы. Благодаря автоматическому созданию структурного класса для каждого листа схемы проекта, содержащего компоненты и/или цепи, при переносе проекта на печатную плату структура проекта точно воспроизводится на стороне PCB.
Иерархию проекта можно представить с помощью структурных классов: каждый класс соответствует отдельному листу схемы и содержит созданные подклассы входящих в него компонентов и/или цепей.
Структурные классы отражают иерархию проекта, сформированную листами схемы. Состав классов компонентов и цепей в каждом структурном классе зависит от параметров, заданных при создании классов компонентов и цепей на основе исходных листов схемы.
Автоматическое создание структурных классов
Автоматическое создание структурных классов на основе листов схемы проекта настраивается на вкладке Class Generation диалогового окна Options for Project (Project » Project Options). Чтобы создать структурный класс на основе исходного листа схемы проекта, установите соответствующий флажок Generate в столбце Structure Classes. Если для этого листа схемы также установлен флажок Component Class и включены параметры Net Class Scope, соответствующие классы компонентов и цепей войдут в состав этого структурного класса.

Укажите, на основе каких листов схемы следует создать структурные классы и нужно ли включать в них компоненты и цепи этих листов.
Создание структурных классов вручную
Как и другие типы классов в документе печатной платы, структурные классы можно создавать и редактировать вручную в редакторе печатных плат. Это можно делать на панели PCB при просмотре иерархии классов или в диалоговом окне Object Class Explorer (Design » Classes). В этом диалоговом окне структурные классы находятся в папке Structure Classes, а привычные команды контекстного меню позволяют добавлять, переименовывать и удалять классы по мере необходимости. Структурные классы могут включать любые типы классов, поддерживаемые в проекте печатной платы.

Создавайте структурные классы и управляйте ими в диалоговом окне Object Class Explorer так же, как любыми другими типами классов в редакторе печатных плат.
Просмотр иерархии классов
В режиме панели PCB Structure Classes три основные области содержат:
-
Список всех Structure Classes, определенных в документе печатной платы: как автоматически созданных на основе листов схемы, так и заданных непосредственно на плате.
-
Все Classes, входящие в состав выбранного структурного класса.
-
Отдельные Class Members в выбранном классе (компоненты, цепи и т. д.).

Переключите панель PCB в режим Structure Classes, чтобы просмотреть общую иерархию классов документа печатной платы.
Режим Structure Classes |
|
| Structure Classes region | В верхней области панели перечислены все структурные классы, определенные в документе печатной платы. К ним относятся как классы, автоматически созданные на основе исходных документов схемы проекта печатной платы (обозначены значком , так и классы, заданные вручную непосредственно в документе печатной платы (обозначены значком Щелчок по значку стрелки рядом со структурным классом раскрывает иерархию подчиненных ему структурных классов. Развернув структурный класс верхнего уровня, можно увидеть всю иерархию. Одинарный щелчок изменяет масштаб и фильтрует отображение в соответствии с параметрами в верхней части панели. Дважды щелкните по классу, чтобы отредактировать его, или щелкните правой кнопкой мыши, чтобы Add или Delete класс. |
| Classes region | В средней области панели перечислены все классы, входящие в состав структурных классов, выбранных в области выше. Одинарный щелчок изменяет масштаб и фильтрует отображение, а двойной щелчок позволяет отредактировать входящий в состав класс. |
| Class Members | В нижней области панели перечислены все объекты, входящие в состав классов, выбранных в области выше. Одинарный щелчок приближает выбранный объект, а двойной щелчок позволяет отредактировать его свойства. |
Использование структурных классов в логических запросах
Логические запросы — основной способ выбора объектов в проекте печатной платы. Их можно использовать при задании области действия правил проектирования для применения определенных ограничений, а также для фильтрации объектов в рабочей области. Язык запросов поддерживает использование структурных классов при построении выражений логических запросов. В разделе PCB Functions – Membership Checks доступно следующее ключевое слово:
InStructureClass — проверяет, входит ли класс объектов в указанный структурный класс.

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

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












)
)
).
).
)
)
).




)
).
)
).