OrCAD. Allegro PCB Editor. Создание горячих клавиш

Разработчики, которые впервые столкнутся с OrCAD’ом и PCB Editor’ом в частности, удивятся, что нет дефолтных горячих клавиш для поворота компонентов при установке, добавления переходного отверстия при трассировке и т.д. На мой взгляд, это часть философии Cadence, что-то в стиле «Разработчик сам должен настраивать свой рабочий инструмент». Я не буду вдаваться в рассуждения, хорошо это или плохо — я рассмотрю в данной статье, как создавать горячие клавиши для любых действий.

ПРЕДВАРИТЕЛЬНЫЕ НАСТРОЙКИ

Для начала, если вы впервые пользуетесь OrCAD, необходимо включить командную строку, как показано на рисунке ниже.

set_command_window

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

Более подробную информацию о доступных командах командной оболочки можно получить в справочном руководстве Cadence в разделе SPB16.60/Allegro PCB Editor/Allegro PCB and Package Physical Layout Command Reference

В принципе, этого было бы достаточно, но раз мы учимся использовать всю полноту софта, давайте включим очень полезную опцию, набрав в командной строке:

Как нам говорит руководство, данная команда предоставляет опции для работы скриптов. Использование параметра e со знаком плюс в данном случае означает, что будет включен эхо-режим — какие бы мы действия не выполняли, команды для этих действий будут отображаться в командной строке. Данная опция полезна, когда вы еще не знакомы с командами и хотите побыстрей навертеть нужных вам горячих клавиш. Теперь вы можете выполнять любые действия и смотреть, какие этим действиям соответствую команды. Отключение этой опции аналогично включению, только знак «+» меняем на «-»

ФУНКЦИИ СОЗДАНИЯ АЛИАСОВ И ГОРЯЧИХ КЛАВИШ

Для создания горячих клавиш и алиасов команд, используются две функции — alias и funckey. Их основное различие в том, что alias задает в основном алиасы для команд (т.е их нужно вводить в командную строку и нажимать Enter) и горячие клавиши (состоящие либо из одной не цифро-буквенной клавиши, либо из одной клавиши и модификатора — Shift, Control), в то время как funckey задает только горячие клавиши, которые могут быть как единичными цифро-буквенными клавишами, модификатор+клавиша, несколько клавиш подряд и не требуют нажатия Enter при вводе.

Документация от Cadence так описывает команду alias:

  • user-defined name — набор символов или аббревиатура, которая назначается как ссылка на выполнение команды. Не может содержать пробелов. Когда вы вводите user-defined name в командную строку, для выполнения команды необходмо нажать Enter;
  • command-to-execute — определяет команду(команды) для которых создается алиас, как для вызова через командную строку, так и через горячую клавишу. При вводе нескольких команд, их необходимо заключить в двойные кавычки (» «) и разделить точкой с зяпятой (;). Если команда одна и она принимает параметры (например, pop bbdrill — добавление переходного отверстия), то заключать ее в кавычки не нужно;
  • fkey — определяет горячую клавишу, назначенную для данной команды (команд). При нажатии горячей клавиши, нажимать Enter не требуется.

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

  • — функциональные клавиши (F1, F2 и т.д). Не зависят от раскладки клавиатуры;
  • SFx — Shift+Fx. Не зависят от раскладки клавиатуры;
  • CFx — Ctrl+Fx. Не зависят от раскладки клавиатуры;
  • CSFx — Ctrl+Shift+Fx. Не зависят от раскладки клавиатуры;
  • Left, Right, Up, Down — кнопки-стрелки. Не зависят от раскладки клавиатуры;
  • СLeft, СRight, СUp, СDown — Ctrl + кнопки-стрелки. Не зависят от раскладки клавиатуры;
  • SLeft, SRight, SUp, SDown — Shift + кнопки-стрелки. Не зависят от раскладки клавиатуры;
  • CSLeft, CSRight, CSUp, CSDown — Ctrl + Shift + кнопки-стрелки. Не зависят от раскладки клавиатуры;
  • ~G — Ctrl+G. Обратите внимание, что G обязательно заглавная. Не зависят от раскладки клавиатуры;
  • wheel_up, wheel_down — Колесико мыши вверх, вниз. Можно использовать с модификаторами С, S;
  • wheel — движение колесиком мыши. Используется, если не назначено действия wheel_up, wheel_down. Можно использовать с модификаторами С, S;
  • g, ng,mrg, 1, 2, 3, 4 — цифро-буквенные клавиши. Нельзя назначить такую клавишу с использованием alias — если вы введете зададите alias g define grid (вызов окна настройки сетки), она не будет являться горячей клавишей, а будет являться ссылкой на команду, т.е. для ее выполнения необходимо ввести g в командую строку и нажать Enter. Для цифро-буквенных горячих клавиш используется только funckey. Здесь важно упомянуть о том, что такие горячие клавиши регистро-зависимы и зависят от раскладки клавиатуры. Таким образом, на одну клавишу можно назначить две горячие клавиши — одну g и вторую — Shift+g, при отключенном CapsLock соответственно. С цифро-буквенными клавишами может использоваться модификатор ~ (Ctrl), но не могут использоваться модификаторы S, C, т.к. они будут интерпретироваться как буквы с зажатым Shift’ом. Для использования модификатора Shift, его нужно использовать только вместе с ~ (Ctrl), например ~SZ — Control + Shift + Z

Рассмотрим несколько примеров для alias:

В документации на funckey написано следующее

  • user-defined-name — аббревиатура, до 4 цифро-буквенных символов, которая исполняется как комманда. Будьте внимательны, что нельзя задавать однокоренные имена для команда, иначе вы не сможете получить доступ к команде с более длинным именем. Например, если вы создали две функции — al и all, вы не сможете запустить all, так как функции выполняются без нажатия Enter и выбранная вами аббревиатура означает, что вам нужно последовательно нажать несколько клавиш.
  • command(s)-to-execute — определяет команду (команды), которые должны быть запущены при нажатии горячей клавиши. ри вводе нескольких команд, их необходимо заключить в двойные кавычки (» «) и разделить точкой с зяпятой (;). Если команда одна и она принимает параметры (например, pop bbdrill — добавление переходного отверстия), то заключать ее в кавычки не нужно.

Примеры использования funckey:

Но представленными примерами все не ограничивается. Можно использовать всю полноту языка — переменные, списки, циклы и так далее. Например, вот команда для назначения клавише w перебора ширины линии из заданного списка (0.15, 0.2, 0.3, 0.4 0.5, 1, 2) и выводом текущего значения в окно командной строки:

Список существующих и назначенных горячих клавиш и алиасов, можно посмотреть в разделе меню, как показано ниже:

defined aliases_funckeys

Добавление алиасов и горячих клавиш в env

PCB Editor построен таким образом, что даже если и вы создали в текущем сеансе работы горячую клавишу или алиас, она будет действительна только на этот сеанс работы. Для того, чтобы закрепить эту горячую клавишу, команду для ее создания необходимо внести в файл настроек окружения env, которых существует два — глобальные настройки и настройки пользователя.

Файл глобальных настроек %КАТАЛОГ УСТАНОВКИ ORCAD%\share\pcb\text\env. В моем случае это C:\Cadence\SPB_16.6\share\pcb\text\env. В принципе, писать можно и в него, дело тут только в подходе и личных соображениях.

Настройки пользователя находятся в рабочем каталоге OrCAD \%РАБОЧИЙ КАТАЛОГ%\pcbenv\env. В моем случае, это E:\Workspaces\Cadence\pcbenv\env и для примера скрин этого файла:

env

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

Ссылки

Добавить комментарий