Working with the Query Language

Altium Training

Altium Essentials: PCB Global Editing and List Panel

This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.

Что такое запрос?

Пожалуй, самая большая сложность при работе со сложным электронным проектом — управление большим количеством объектов проектирования. От компонентов, меток цепей и текстовых строк на листах схемы до сотен компонентов и дорожек, из которых состоит трассировка на печатной плате, вам нужно иметь возможность получать доступ к этим объектам, просматривать и редактировать их. Как и в большинстве приложений Windows, вы можете дважды щёлкнуть по объекту и отредактировать его свойства. Это удобно для одного объекта, но не подходит, если нужно отредактировать 300+ строк позиционных обозначений компонентов или изменить все переходные отверстия на плате. Для таких обновлений требуется доступ сразу к нескольким объектам. 

В основе редакторов схем и PCB в Altium Designer лежит мощный механизм запросов. Вводя запросы в этот механизм, вы можете отфильтровать объекты, чтобы найти и отредактировать именно те, которые вам нужны.

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

Существует несколько мест, где можно применить запрос, но главным центром управления являются Filter панели, показанные на изображениях ниже. Нажмите F12, чтобы показать/скрыть панель Filter .

Панели PCB Filter и SCH Filter с запросамиПанели PCB Filter и SCH Filter с запросами

Панели PCBLIB Filter и SCHLIB Filter с запросами
Панели PCBLIB Filter и SCHLIB Filter с запросами

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

Имейте в виду, что содержимое списка History является общим для (и может заполняться из) обеих панелей: SCH Filter и SCHLIB Filter panel. Некоторые выражения запросов могут не возвращать результаты при использовании в редакторе схем, особенно если они были созданы для объектов, доступных только в редакторе библиотек схем.

Примечания

Общие

  • Нажатие клавиши F12 переключает видимость панели в рабочей области.
  • При использовании диалога Query Helper для построения запроса щелчок внутри введённого ключевого слова или по ключевому слову в одном из доступных списков и нажатие F1 откроет справку по соответствующему ключевому слову. Аналогичный доступ к справке на уровне ключевых слов доступен при щелчке внутри ключевого слова в центральной области панели SCH Filter, затем нажатии F1.
  • В зависимости от формы и размера панели содержимое будет динамически располагаться по горизонтали или по вертикали.

При построении выражений запросов

  • Настоятельно рекомендуется использовать скобки всякий раз, когда существует хоть какая‑то вероятность того, что запрос может быть интерпретирован неверно.
  • Скобки имеют наивысший приоритет в порядке приоритетов, определённом для различных операторов, и этот порядок определяет, как программой интерпретируются запросы (когда вы не указали скобки). Последовательность этого порядка следующая:
      Brackets
      Not
      ^, *, /, Div, Mod, And
      +, -, Or, Xor
      =, <>, <, >, <=, >=
      &&, ||
    Этот порядок приоритетов похож на используемый в языках типа Pascal; щедрое использование скобок устраняет сомнения и делает итоговые запросы более понятными для других.
  • Неоднозначности разрешаются при обработке слева направо.
  • Скобки вычисляются изнутри наружу, а равные уровни — слева направо.
  • Поскольку параметры отображения для объектов, проходящих и не проходящих применённый фильтр, разделены, вы можете эффективно применять новые запросы фильтра, опираясь на результаты предыдущей фильтрации.
  • Фильтрация, применяемая при использовании Queries из панели SCH Filter, является постоянной. При маскировании объектов проекта, не проходящих фильтр, степень маскирования регулируется ползунком в нижней части панели.
  • Постоянный фильтр необходимо очистить, применив пустой запрос из панели SCH Filter.
Вы можете вводить запрос прямо в поле, и по мере ввода в качестве подсказки появляется список возможных ключевых слов.

Доступны две функции, помогающие при создании запросов, — Query Helper и Query Builder. Эти функции могут быть очень полезны, если вы не уверены в синтаксисе запроса или в том, какие ключевые слова вы хотите использовать.

Query Helper

Чтобы воспользоваться Query Helper, нажмите кнопку Helper, чтобы открыть диалог Query Helper. Базовый Query Engine анализирует документ и выводит список всех доступных объектов вместе с универсальными ключевыми словами для использования в запросах.

Используйте верхнюю часть диалога, чтобы составить выражение запроса с применением доступных PCB Functions, PCB Object Lists и System Functions. Средняя область диалога предоставляет набор операторов, используемых при построении выражения. Нажмите кнопку Check Syntax, чтобы проверить, что выражение синтаксически корректно.

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

Query Builder

Чтобы воспользоваться Query Builder, нажмите кнопку Builder на панели, чтобы открыть диалог Building Query from Board dialog. Этот диалог позволяет создать запрос для нацеливания на конкретные объекты в проектном документе путём построения строки условий, объединённых AND и/или OR. Левая часть диалога используется для задания условия(ий), необходимых для выбора требуемого набора объектов. Изначально запись в столбце Condition Type/Operator будет Add first condition. Однократный щелчок по этой записи откроет раскрывающийся список типов условий.

Перечень типов условий будет включать только те, которые относятся к проектированию платы.

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

Продолжайте добавлять дополнительные условия, чтобы при необходимости сузить целевой набор объектов проекта. Условия можно объединять с помощью AND или OR. Логический оператор по умолчанию — AND; он автоматически вставляется при добавлении следующего условия.

Чтобы изменить логический оператор между условиями, щёлкните по записи AND или OR в столбце Condition Type/Operator, затем выберите требуемый оператор. Предварительный просмотр запроса обновится соответствующим образом.

Задание приоритета выполнения

Кнопки  и  в верхней части диалога Building Query from Board позволяют добавлять и удалять скобки вокруг текущего выбранного условия (увеличивая и уменьшая отступ). Это позволяет задавать приоритет для определённых условий, логически объединённых AND или OR.

Например, рассмотрим следующий сформированный запрос:
InNet('5V') AND (OnLayer('TopLayer')

Первое условие задано как тип условия Belongs to Net со значением 16M_IN. Затем было добавлено ещё одно условие с использованием типа условия Exists on Layer со значением TopLayer.

Обратите внимание: самая внешняя пара скобок добавляется Builder автоматически и не отображается во время построения выражения запроса.

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

Затем внутри скобок добавляется третье условие с типом условия Object Kind is и значением Track.

Используйте раскрывающийся список Show Level в верхнем левом углу диалога, чтобы управлять визуальным отображением уровней в вашей структурированной строке условий. По сути это разворачивает/сворачивает отображение скобок. Добавление скобок фактически создаёт новый уровень. Можно отображать уровни 1–5, а для любых дополнительных уровней используйте параметр Show All Levels.

Либо щёлкайте по символам разворачивания или сворачивания (связанным с условием в скобках), чтобы соответственно показать следующий уровень(ни) или скрыть текущий уровень (и все уровни ниже). Кнопки  и  в верхней части диалога также можно использовать для разворачивания или сворачивания текущего выбранного условия.

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

Чтобы удалить условие, выделите его и либо нажмите кнопку  в верхней части диалога, либо используйте клавишу Delete.

Когда выражение запроса определено нужным образом, нажмите OK, чтобы загрузить запрос в центральную область панели PCB Filter — он будет готов к применению фильтра.

Создание правил проектирования

Панель PCB Filter также предоставляет возможность создания правила проектирования, область действия которого будет использовать текущее выражение запроса, заданное в центральной области панели.

Чтобы добавить новое правило проектирования, нажмите кнопку Create Rule на панели PCB Filter. Откроется диалог Choose Design Rule Type.

В этом диалоге перечислены все категории и типы правил, доступные в PCB-документе. Выберите тип правила, которое хотите создать, затем нажмите OK (или дважды щёлкните непосредственно по записи). Откроется диалог PCB Rules and Constraints Editor.

Имя только что созданного правила будет выделено в дереве навигации слева. Выражение запроса правила находится в верхней правой панели диалога.

Создаётся правило выбранного типа, и отображается основное окно редактирования правила, готовое для задания конкретных ограничений. Выражение запроса из панели PCB Filter вводится в область Full Query диалога. При необходимости уточните параметры конфигурации правила и примените новое правило.

Применение и очистка фильтра

После того как вы определили запрос и настроили параметры на панели нужным образом, фильтр можно применить либо нажатием одной из кнопок Apply на панели, либо щелчком по Enter.

Чтобы очистить текущий применённый фильтр из панели, удалите (выделите и удалите) выражение запроса в центральной области панели, затем либо нажмите одну из кнопок Apply, либо нажмите Enter. Все объекты в рабочей области проекта будут восстановлены до полной видимости и станут доступны для выбора/редактирования.

Контекстные меню (правый клик)

Щелчок правой кнопкой мыши внутри панели PCB Filter предоставляет доступ к дополнительным параметрам и командам через всплывающие меню.

Щелчок правой кнопкой мыши в области Object или Layer панели открывает следующие пункты контекстного меню:

  • Toggle Check - включить, чтобы переключать параметры. Текущие выбранные параметры будут сняты, а снятые — выбраны.
  • Check All - включить, чтобы выбрать все доступные параметры.
  • Uncheck All - включить, чтобы снять выбор со всех доступных параметров.

Примечания

Общие

  • Нажатие клавиши F12 переключает видимость панели в рабочей области.
  • Query Builder (диалог Building Query from Board) предоставляет простой способ построения запроса, используя контекстно-зависимые типы условий и значения, которые позволяют собирать запрос только из релевантных «строительных блоков». Для расширенного построения запросов, с полным заданием ключевых слов и синтаксиса операторов, используйте диалог Query Helper.
  • Поскольку параметры отображения для объектов, проходящих и не проходящих применённый фильтр, разделены, вы можете эффективно применять новые запросы фильтра, опираясь на результаты предыдущей фильтрации.

При построении выражений запросов

  • Настоятельно рекомендуется использовать скобки всякий раз, когда есть хоть какая-то вероятность, что запрос будет интерпретирован неверно.

  • Скобки имеют наивысший приоритет в порядке приоритетов, определённом для различных предоставляемых операторов и определяющем, как программное обеспечение интерпретирует запросы (когда пользователь не указал скобки). Последовательность этого порядка следующая:
      Brackets
      Not
      ^, *, /, Div, Mod, And
      +, -, Or, Xor
      =, <>, <, >, <=, >=
      &&, ||
    Этот порядок приоритетов похож на используемый в языках типа Pascal. Однако щедрое использование скобок устраняет сомнения и делает итоговые запросы более понятными для других.

  • Неоднозначности разрешаются при обработке слева направо.

  • Скобки вычисляются изнутри наружу, а равные уровни — слева направо.

Язык запросов также используется в диалоге PCB Rules and Constraints Editor для определения областей действия правил проектирования (см. страницу Defining, Scoping & Managing PCB Design Rules для подробностей). Обратите внимание, что набор объектов, охватываемых правилом проектирования, зависит не только от запроса, но и от типа правила (например, правило Width охватывает только дорожки, правило Routing Via Style — только переходные отверстия и т. д.), поэтому результаты подсветки/определения области объектов при использовании одного и того же выражения запроса в панели Filter и в области действия правила могут отличаться.

Где находятся результаты запроса?

Теперь, когда вы написали запрос на панели Filter , как получить доступ к объектам, возвращённым вашим запросом? В среде Altium Designer есть два способа доступа к объектам и их редактирования.

  • Графически — после применения фильтра поведение по умолчанию заключается в маскировании (приглушении и запрете редактирования) всех объектов, не прошедших запрос, оставляя доступными только те, что прошли. Этот режим отлично подходит для поиска и просмотра объектов в рабочей области. Поскольку замаскированные объекты нельзя редактировать, такие команды, как Ctrl+A (выбрать всё), применяются только к объектам, возвращённым запросом.

  • List панель — панель List (Shift+F12) представляет собой табличный (как в электронных таблицах) вид ваших проектных данных. По умолчанию она отображает все объекты проекта, но после применения фильтра показывает только объекты, возвращённые запросом. Панель List поддерживает стандартные «табличные» действия сортировки и выбора, позволяя редактировать одну или несколько ячеек напрямую. 

Панели PCB List и SCH List  отображают результаты запросов PSB/SCH из предыдущего раздела.Панели PCB List и SCH List отображают результаты запросов PSB/SCH из предыдущего раздела.

Параметры подсветки

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

Масштабирование

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

Этот параметр часто выбирают совместно с одним или двумя другими параметрами. Если параметр Mask не включен, объекты, которые не входят в результаты, всё равно будут отображаться в графическом представлении, если они находятся в пределах обновлённых границ. На первый взгляд выбор только этого параметра может показаться бессмысленным, однако бывают ситуации, когда нужно обновить графический вид так, чтобы он охватывал определённые объекты, но при этом не изменять состояние выделения или маскирования ни для одного объекта документа.

Выделить

Когда параметр Select включен, все объекты, входящие в результаты, переводятся в состояние «выделено», а все остальные объекты — в состояние «не выделено». Выделенные объекты отображаются более заметно, чем невыделенные.

Если при применении текущего запроса выбран параметр Select, все объекты, являющиеся членами результирующего набора, впоследствии получают состояние «выделено», а все остальные объекты (не входящие в результирующий набор) — состояние «не выделено». Обычно этот параметр выбирают непосредственно перед процедурами глобального редактирования, поскольку в этот момент обновляются свойства только тех объектов, которые выделены. Но бывают и другие случаи, когда параметр Select полезен — например, когда определённые объекты нужно переместить, скопировать или удалить.

Маска

Параметр подсветки Mask определяет обновлённое свойство маскирования объектов в целевом документе. Если он выбран, все объекты, входящие в результаты, маскируются, а все остальные объекты — демаскируются. Основная особенность маскированных объектов заключается в том, что их и их свойства нельзя редактировать. (В представлении списка маскированные объекты отображаются приглушёнными, но в представлении списка они не отображаются, если только параметр all objects в данный момент не выбран на панели List .) Основная особенность маскированных объектов заключается в том, что объект и его свойства нельзя редактировать.

Query Builder

В редактор PCB входит специализированное диалоговое окно Query Builder. Оно позволяет создавать сложные запросы, выбирая условия проверки из раскрывающихся списков. Преимущество Query Builder в том, что он позволяет создать запрос, нацеленный на разные типы объектов.

Диалог «Building Query» (часть функции «Query Builder») помогает тем, у кого меньше опыта в задании запросов; запрос формируется автоматически, и его содержимое соответствует условиям, заданным разработчиком.

Левая часть этого диалога содержит элементы управления, предназначенные для помощи разработчику в задаче указания, какие свойства должны быть у каждого объекта документа, чтобы он был возвращён запросом, сформированным этим диалогом. По мере задания или редактирования каждого условия содержимое соответствующего запроса обновляется и отображается в правой части диалога. Если затем закрыть этот диалог, нажав OK (или Apply), то либо связанный запрос будет применён, либо его содержимое будет скопировано обратно на панель Filter (в зависимости от того, как этот диалог был вызван изначально).

Диалог Query Builder можно запустить из следующих мест (как показано на изображении ниже):

  • На панели PCB Filter нажмите кнопку Query Builder , чтобы построить запрос и загрузить строку в панель.
  • В диалоге PCB Rules and Constraints Editor dialog нажмите кнопку Builder , чтобы построить запрос, определяющий, к каким объектам применяется это правило. 

Если диалог Query Builder открывается из диалога PCB Rules and Constraints Editor, он будет отображать параметры, подходящие только для данного типа правила.

На изображении ниже показано использование диалога Query Builder для создания запроса, который нацелен и на площадки, и на переходные отверстия (vias) в цепи 5V.

Диалог Query Builder
Диалог Query Builder

  • Добавляйте дополнительные условия, чтобы при необходимости сузить целевой набор объектов проектирования. Условия можно объединять с помощью AND или OR. Логический оператор по умолчанию — AND.
  • Чтобы изменить логический оператор между условиями, щёлкните запись AND или OR в столбце Condition Type/Operator , затем выберите нужный оператор. Предварительный просмотр запроса обновится соответствующим образом.
  • Диалог Query Builder (Building Query from Board ) — более простой способ построения запроса с использованием контекстно-зависимых типов условий и значений, которые позволяют строить запрос только из релевантных «строительных блоков». Для расширенного построения запросов с полной спецификацией ключевых слов и синтаксиса операторов используйте диалог Query Helper.
  • Вы можете в любой момент скорректировать любое условие в строке запроса, щёлкнув запись этого условия в столбце Condition Type/Operator , а затем выбрав новое требуемое условие из доступных записей в раскрывающемся списке. Предварительный просмотр запроса обновится соответствующим образом.
  • Используйте сочетания клавиш Ctrl+Up Arrow и Ctrl+Down Arrow , чтобы переместить выбранную запись условия вверх или вниз в структуре. 
  • Используйте сочетания клавиш Ctrl+Right Arrow и Ctrl+Left Arrow , чтобы увеличить или уменьшить отступ в выбранной позиции структуры (добавить/удалить скобки).

Query Helper

Следующий шаг в развитии навыков написания запросов — использование диалога Query Helper . Диалог Query Helper содержит поле Query , в которое можно ввести нужный запрос, а также использовать кнопки синтаксиса под полем Query (например, And, Or, <, Not,  Like и т. д.), а также полный список всех ключевых слов запросов в поле Categories .

Диалог «Query Helper» предоставляет помощь разработчикам, которые хотят задавать собственные запросы. Для каждого перечисленного ключевого слова приводится краткое описание, а онлайн-справку можно открыть, нажав клавишу F1, когда ключевое слово выделено. Это вызывает диалог Altium Designer Documentation Library, в котором приводятся сведения о том, какие объекты в документе возвращаются выделенным ключевым словом, как использовать это ключевое слово, а также один или несколько примеров его применения.

К диалогу можно получить доступ следующими способами:

  • Нажмите кнопку Helper на панели Filter .

PCB Filter доступ к панели

SCH Filter доступ к панели

  • В диалоге File-based Libraries Search dialog (открывается нажатием  в правом верхнем углу панели Components panel, затем выбором  File-based Libraries Search в раскрывающемся меню) нажмите кнопку Helper .
Кнопка Helper доступна после нажатия Advanced в диалоге File-based Libraries Search.

File-based Libraries Searchдоступ к диалогуFile-based Libraries Searchдоступ к диалогу

Используйте раздел Query в верхней части диалога, чтобы составить выражение запроса, используя доступные функции. В текстовом поле вы можете просмотреть и/или дополнительно отредактировать поисковое выражение. Для редактирования выражения поиска вводите текст непосредственно в это поле. Чтобы найти и добавить конкретные ключевые слова, начните ввод. Пока вы печатаете, диалог будет предлагать раскрывающееся меню доступных ключевых слов, соответствующих введенному на данный момент тексту. Щелкните ключевое слово, чтобы автоматически завершить ввод выбранного варианта. Если нужное ключевое слово выделено, нажатие Enter также автоматически завершит выбор.

Просмотрите Categories доступных ключевых слов и выберите нужное. Используйте поле Mask, если вы не уверены, какое именно ключевое слово требуется. Например, в Query Helper редактора схем ввод *har в поле Mask найдет ключевые слова, относящиеся именно к жгутам, как показано на изображении ниже. Обратите внимание, что поле Mask работает и по полю ключевого слова Name , и по полю Description , поэтому это может быть самым быстрым способом найти подходящие ключевые слова.

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

Дважды щелкните ключевое слово в таблице, чтобы добавить его в запрос в текущей позиции курсора.

Средняя область диалога содержит кнопки синтаксиса, предоставляющие набор операторов для использования при построении выражения. Дополнительные сведения о назначении каждой кнопки синтаксиса см. в разделе Logical Query Expression Operators ниже. Используйте кнопку Check Syntax (внизу слева в диалоге), чтобы проверить, является ли выражение синтаксически корректным.

История запросов

По мере ввода и применения нового запроса из панели фильтра (SCH Filter SCHLIB Filter, PCB Filter PCBLIB Filter) он будет добавляться в список истории запросов. Нажмите кнопку History на панели, чтобы открыть этот список. Диалог Expression Manager откроется с активной вкладкой History .

Вкладка History диалога Expression Manager содержит список выражений запросов, использованных ранее. Здесь показан пример истории запросов для Schematic. Наведите курсор на изображение, чтобы увидеть аналогичный пример списка для PCB.

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

Исторический запрос можно добавить в список избранных запросов, выбрав его запись и нажав кнопку Add To Favorites. Используйте кнопку Clear History, если хотите «очистить» список истории.

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

Обратите внимание: содержимое списка History является общим для (и доступно из) панелей фильтра в рамках домена проектирования (SCH Filter / SCHLIB Filter в домене редактирования Schematic; PCB Filter PCBLIB Filter в домене редактирования PCB). Некоторые выражения запросов могут не возвращать результаты при использовании в Schematic Editor, особенно если они были созданы для объектов, доступных только в Schematic Library Editor.

Избранные запросы

Любой определенный запрос можно добавить в список избранных двумя способами:

  • Нажмите кнопку Add To Favorites или щелкните правой кнопкой мыши в основной области Query Expression и выберите команду Add to Favorites в контекстном меню, чтобы добавить выражение запроса, в данный момент заданное в центральной области активной панели фильтра.
  • Выберите запись исторического запроса на вкладке History диалога Expression Manager, затем нажмите кнопку Add To Favorites.

Избранные выражения запросов сохраняются и управляются на вкладке Favorites диалога Expression Manager. Доступ можно получить, используя кнопку Favorites на панели фильтра (SCH Filter SCHLIB Filter, PCB Filter PCBLIB Filter) или щелкнув правой кнопкой мыши в основной области Query Expression панели фильтра и выбрав команду Organize Favorites в контекстном меню. Из рабочей области проектирования диалог можно открыть, используя сочетание клавиш Y, затем выбрав Organize Favorites во всплывающем меню фильтрации.

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

Когда выражение запроса добавляется в список Favorites , ему присваивается уникальное имя. По умолчанию назначается общее имя — Favorite_n — где n — следующий доступный неиспользованный номер. Имя записи можно изменить на любом этапе одним из следующих способов:

  • Выберите запись запроса и нажмите кнопку Rename.
  • Выберите запись запроса и затем выберите команду Edit  в меню правой кнопки мыши.
  • Выберите запись запроса и затем щелкните еще раз внутри поля Name.

В каждом случае введите новое имя, затем щелкните вне поля Name, чтобы применить изменение.

Чтобы отредактировать избранное выражение запроса, выберите его запись в списке, затем нажмите кнопку Edit (или щелкните правой кнопкой мыши и выберите Edit в контекстном меню). Откроется диалог Edit Favorite. Используйте его, чтобы изменить имя избранного, само выражение, а также определить, как обрабатываются объекты проекта (как прошедшие фильтр, так и не прошедшие).

Измените существующий избранный запрос с помощью диалога Edit Favorite, показанного здесь для Schematic (слева) и PCB (справа).

Чтобы удалить запрос из списка Favorites , выберите его запись в списке, затем либо нажмите кнопку Remove, либо выберите команду Remove в меню правой кнопки мыши. Появится диалог с запросом подтверждения удаления.

Обратите внимание: содержимое списка Favorites  является общим для (и доступно из) панелей фильтра в рамках домена проектирования (SCH Filter / SCHLIB Filter в домене редактирования Schematic; PCB Filter PCBLIB Filter в домене редактирования PCB). Некоторые выражения запросов могут не возвращать результаты при использовании в Schematic Editor, особенно если они были созданы для объектов, доступных только в Schematic Library Editor.

Использование избранных запросов

Существует три способа использовать избранные запросы:

  1. На вкладке Favorites диалога Expression Manager — либо выберите запись и нажмите кнопку Apply Expression , либо дважды щелкните по записи. Диалог закроется, а выражение запроса будет загружено в центральную область соответствующей панели фильтра.

  2. Из верхней части меню правой кнопки мыши панели фильтра (доступно до десяти последних добавленных в список Favorites выражений запросов).

  3. Из всплывающего меню фильтрации в рабочей области проектирования (нажмите Y) — до десяти избранных выражений запросов перечислены в верхней части меню. Выбранное выражение запроса будет загружено в центральную область соответствующей панели фильтра.

Также вы можете назначить для избранного сочетание клавиш, настроив меню Filter. Дополнительные сведения о настройке среды Altium Designer см. в Configuring and Customizing Altium Designer.

Использование готовых примеров

И редакторы схем, и редакторы PCB поставляются с набором готовых примеров запросов. Эти примеры доступны из меню фильтрации — его можно открыть либо щелкнув правой кнопкой мыши в области выражения панели фильтра, либо используя сочетание клавиш Y в рабочей области проектирования. Наведите курсор на Examples, чтобы увидеть подменю.

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

Чтобы очистить фильтрацию, нажмите Shift+C в рабочей области проектирования или щелкните правой кнопкой мыши в рабочей области и выберите команду Clear Filter в контекстном меню.

Инструменты построения запросов

Возможно, самый простой способ написать запрос — позволить Altium Designer сделать это за вас! Это можно выполнить, используя диалог Find Similar Objects  или диалог Query Builder .

Диалог Find Similar Objects

Когда вы используете диалог Find Similar Objects dialog, он генерирует запрос для поиска нужных объектов. Если включена опция Create Expression, этот запрос будет отображаться на панели Filter . Это отличный способ изучать различные ключевые слова запросов.

Диалог Find Similar Objects открывается, когда вы щелкаете правой кнопкой мыши по любому незамаскированному объекту в документе проекта и выбираете Find Similar Objects в контекстном меню.

Левое изображение: версия PCB; правое изображение: версия SCHЛевое изображение: версия PCB; правое изображение: версия SCH

Этот диалог позволяет находить объекты, похожие на тот, по которому вы щёлкнули правой кнопкой мыши, а затем определить, какие атрибуты объекта должны совпадать (или отличаться) для получения совпадения. Предположим, вы хотите изменить все площадки GND в вашем проекте. Вы можете щёлкнуть правой кнопкой по одной такой площадке, выбрать Find Similar Objects, затем изменить поле Net с Any (значение по умолчанию) на Same. Все площадки GND будут выделены, когда вы нажмёте Apply в диалоге. Если включена опция Create Expression , следующий запрос появится на панели Filter : (ObjectKind = 'Pad') And (Net = 'GND').

В качестве примера для схемы: вы можете изменить свойство Color у всех Power Objects, имеющих определённое текстовое свойство (например, 'GND') в пределах документа, на одно и то же значение. Например, на PCB вы можете изменить свойство Hole Size у всех переходных отверстий (via), имеющих определённое свойство Via Diameter в пределах документа, на одно и то же значение.

Дополнительные сведения об использовании диалога Find Similar Objects см. в разделе Using Find Similar Objects Tools.

Опция Clear Existing

Включите опцию Clear Existing , чтобы очистить любое существующее выделение или маску редактирования перед применением поиска. Отключите эту опцию, если вы выполняете последовательные поиски и желательно, чтобы результаты накапливались.

Панель инструментов Filter

Filter Toolbar предусмотрена для PCB-документов и позволяет замаскировать все объекты в документе, кроме тех, которые имеют заданное свойство, или кроме тех, которые являются частью указанного компонента. Самое правое поле панели инструментов используется для задания содержимого запроса. Вы можете ввести запрос в поле или использовать выпадающий список, чтобы выбрать один из недавних запросов (существующий в списке запросов History ). Невозможно указать, какие опции использовать при применении запросов из Filter Toolbar, и во всех случаях любой предыдущий запрос очищается, после чего с текущим запросом используются опции Mask и Zoom. Чтобы использовать опции запроса, применяйте панель Filter , диалог Query Builder, диалог Query Helper или диалог Find Similar Objects .

  • Если плата не разведена, при применении фильтра станут видимыми логические соединения, связанные с выбранной цепью (net). Если плата разведена, при применении фильтра станет видимой разведённая дорожка, связанная с выбранной цепью.
  • При применённой маске все объекты вне области действия фильтра будут недоступны для выбора/редактирования. Степень применяемой маски можно вручную настроить с помощью ползунка Masked Objects, доступного в разделе Mask and Dim Settings на вкладке View Options панели View Configuration.
  • Вы можете вручную очистить существующий (и применённый) фильтр в любое время, используя сочетание клавиш Shift+C или нажав кнопку  на панели инструментов Filter .

Операторы логических выражений запросов

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

Арифметические операторы

Оператор Описание Пример
+ Оператор сложения NetPinCount + NetViaCount
- Оператор вычитания ArcStopAngle - ArcStartAngle
* Оператор умножения PadXSize_BottomLayer * PadYSize_BottomLayer
/ Оператор деления HoleDiameter / ViaDiameter
Div Оператор целочисленного деления Color Div 65536
Вычисляет Color, делённое на 65536, при этом дробная часть результата отбрасывается
Mod Оператор остатка от деления (modulus) Color Mod 256
Вычисляет остаток при делении Color на 256, без определения дробной части результата

Логические операторы

Оператор Описание Пример
And Логический оператор AND IsPad And OnMultiLayer
Чтобы объект был возвращён, он должен быть площадкой (pad) и находиться на слое Multi-Layer
&& Логический оператор AND
(более низкий приоритет)
IsPad && OnMultiLayer
Чтобы объект был возвращён, он должен быть площадкой (pad) и находиться на слое Multi-Layer
Or Логический оператор OR IsPad Or IsVia
Чтобы объект был возвращён, он должен быть либо площадкой (pad), либо переходным отверстием (via)
|| Логический оператор OR
(более низкий приоритет)
IsPad || IsVia
Чтобы объект был возвращён, он должен быть либо площадкой (pad), либо переходным отверстием (via)
Xor Логический оператор исключающего ИЛИ (EXCLUSIVE OR) OnMultiLayer Xor (HoleDiameter <> 0)
Чтобы объект был возвращён, он должен либо находиться на слое Multi-Layer и иметь Hole Diameter, равный нулю, либо не
находиться на слое Multi-Layer и иметь Hole Diameter, не равный нулю.
Not Логический оператор NOT Not OnMultiLayer
Чтобы объект был возвращён, он не должен находиться на слое Multi-Layer

При использовании оператора Not в выражениях запросов в PCB-редакторе для исключения примитивов определённого типа учтите, что эти примитивы не будут исключены, если они являются частью групповых объектов и эти групповые объекты также не исключаются выражением. Например, выражение запроса Not IsPad возвращает все объекты, кроме свободных объектов-площадок (free pad objects), но при этом возвращает объекты компонентов, которые могут включать площадки, поэтому площадки в компонентах будут возвращены этим выражением. Кроме того, площадки могут входить в цепи (nets), которые также считаются групповыми объектами в PCB-редакторе. Чтобы исключить все объекты-площадки, следует использовать выражение запроса Not IsPad And Not IsComponent And Not IsNet.

Операторы сравнения

Оператор Описание Пример
< Оператор «меньше чем» HoleDiameter < 40
Чтобы объект был возвращён, он должен иметь Hole Diameter, которое меньше 40
<= Оператор «меньше или равно» HoleDiameter <= 40
Чтобы объект был возвращён, он должен иметь Hole Diameter, которое меньше или равно 40
>= Оператор «больше или равно» HoleDiameter >= 40
Чтобы объект был возвращён, он должен иметь Hole Diameter, которое больше или равно 40
> Оператор «больше чем» HoleDiameter > 40
Чтобы объект был возвращён, он должен иметь Hole Diameter, которое больше 40
<> Оператор «не равно» HoleDiameter <> 40
Чтобы объект был возвращён, он должен иметь Hole Diameter, которое не равно 40
= Оператор «равно» HoleDiameter = 40
Чтобы объект был возвращён, он должен иметь Hole Diameter, которое равно 40
Between...And... Оператор включённого диапазона HoleDiameter Between 30 And 50
Чтобы объект был возвращён, он должен иметь Hole Diameter, которое больше или равно 30, и
меньше или равно 50.
Like Оператор Like Name Like 'ADDR?*'
Возвращает объекты, имеющие свойство Name , связанная (текстовая) строка которого начинается с ADDR и
содержит как минимум ещё один символ

Символы подстановки (Wild Card)

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

Оператор Описание Пример
? Может быть заменён одним символом любого типа Footprint Like 'DIP1?'
Возвращает объекты, у которых свойство Footprint равно DIP10, или DIP12, или DIP14 и т. д.
* Может быть заменён любым количеством символов, каждый из которых может быть любого типа Footprint Like 'SIP*'
Возвращает объекты, у которых свойство Footprint равно SIP1, или SIP12, или SIP216 и т. д. (Также возвращаются любые объекты, у которых свойство Footprint равно SIP, поскольку '*' также может быть заменён на no символов)

Булевы строки

Оператор Описание Пример
True Подтверждает значение ключевого слова IsPad = True
Чтобы объект был возвращён, он должен быть площадкой (pad)
False Отрицает значение ключевого слова IsVia = False
Чтобы объект был возвращён, он не должен быть переходным отверстием (via)

Круглые скобки и порядок приоритета

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

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

  1. Круглые скобки ()
  2. Not
  3. ^, *, /, Div, Mod, And
  4. +, -, Or, Xor
  5. =, <>, <, >, <=, >=
  6. &&, ||
Этот порядок приоритета похож на используемый в языках типа Pascal. Неоднозначности разрешаются при вычислении слева направо. Круглые скобки вычисляются изнутри наружу, а равные уровни — слева направо.
Настоятельно рекомендуется использовать круглые скобки всякий раз, когда существует хоть какая-либо возможность того, что запрос может быть интерпретирован неверно. Щедрое использование круглых скобок устраняет сомнения и делает итоговые запросы более удобочитаемыми для других.

Глобальные системные функции запросов

Глобальные системные функции запросов, показанные в диалоге Query Helper
Глобальные системные функции запросов, показанные в диалоге Query Helper

В этом разделе подробно описаны ключевые слова языка запросов, доступные в документах схем, PCB и библиотек в Altium Designer. Чтобы получить справку по конкретному ключевому слову запроса, используйте следующие сворачиваемые разделы или выделите (или щелкните внутри) нужное ключевое слово — в Query Helper, на панели Filter или в поле Query правила проектирования PCB — и нажмите F1, чтобы сразу перейти к соответствующему разделу.

Сведения о ключевых словах языка запросов, доступных в конкретных редакторах и инструментах Altium Designer, см. на следующих страницах:

Арифметические функции

Тригонометрические функции

Экспоненциальные и логарифмические функции

Агрегатные функции

Системные функции

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Доступность функциональных возможностей

Набор доступных функциональных возможностей зависит от вашего решения Altium – Altium Develop, редакция Altium Agile (Agile Teams или Agile Enterprise) или Altium Designer (на активной подписке).

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

Устаревшая документация

Документация Altium Designer больше не разделена по версиям ПО. Если вам необходим доступ к документации по старым версиям Altium Designer, посетите раздел Устаревшая документация на странице Прочие установщики.

Content