Долго работая в какой-то программе для проектирования электроники, каждый пользователь вырабатывает свой собственный маршрут или, другими словами, порядок действий при трассировке печатных плат. Что называется, «каждый любит наступать на собственные грабли». Иногда то, как пользователь выполняет те или иные действия, не является оптимальным решением проблемы. Ниже приведены небольшие заметки, призванные упростить работу пользователя с редактором печатных плат Cadence Allegro PCB Designer, или с ее упрощенной версией OrCAD PCB Designer. Для реализации некоторых описываемых ниже функций необходимо будет настраивать так называемые горячие клавиши. Их определение надо записать в файл env, чтобы они стали доступны при каждом запуске редактора. Однако каждую горячую клавишу можно сначала попробовать “на лету”, просто введя соответствующую команду в командной строке, которая расположена в нижней части экрана пользователя. Обратите внимание на то, что двойные кавычки в командах, указанных ниже, должны быть «обычными» двойными кавычками из кода ASCII-7 (символ, который возникает при нажатии Shift-2). Для того, чтобы данная функция стала доступной, необходимо ввести следующую команду: funckey z  "zoom center; pick -cursor" В результате будет назначена горячая клавиша z, и после каждого нажатия z программа будет перемещать центр экрана в ту точку, где находился курсор мышки. При трассировке пользователь обычно фиксирует проложенную трассу, нажимая левую кнопку на мышке. Это действие можно заменить нажатием клавиши на клавиатуре компьютера. funckey x "pick_to_grid -cursor" После ввода данной команды линия будет фиксироваться при нажатии на “x”. Время от времени при начале трассировки пользователь ошибочно кликает не на площадках, полигонах, отверстиях, а на пустом месте. После чего начинается трассировка, которая не нужна. Чтобы этого избежать, необходимо зайти в Setup->User Preferences и в появившемся окне установить флажок на следующем параметре: acon_disable_nullnet_route.  После этого вы больше не сможете “трассировать воздух”. Кстати, в окне User Preferences можно легко искать нужные параметры просто по их имени, так, как это показано на рисунке. А при наведении курсором мыши на конкретный параметр можно прочитать описание того, как именно он действует и за что отвечает. Очень часто при трассировке линий необходимо “на лету” изменять их ширину. Это можно сделать во вкладке Options, однако там надо совершить несколько действий, что не всегда удобно. Можно настроить изменение ширины линии на какую-нибудь кнопку на клавиатуре. Достаточно ввести в командной строке: funckey 6 form mini acon_line_width 0.6 В результате при трассировке при нажатии на клавишу “6” ширина линии будет меняться на 0.6мм. Число 0.6 пишется в тех единицах, на которые настроен проект пользователя. Когда пользователь работает с константами проекта и изменяет что-то в настройках и правилах, затрагивающее полигоны, то все существующие в проекте полигоны переходят в состояние Out of Date, то есть начинают изображаться полностью залитыми, и их нужно обновлять, чтобы они стали подчиняться новым правилам DRC. Если пользователь не хочет обновлять полигоны сразу, то можно переводить их в незаполненное состояние, при котором отображаются только границы полигонов. Для этого необходимо установить галочку на следующем параметре: No_shape_fill_dyn_ood В обычном режиме резиновые связи (rats-nest) загромождают окно при трассировке цепей. Достаточно установить всего один флажок в опциях трассировки, Auto-blank other rats, и ненужные резиновые связи будут гаситься автоматически – см. рис. Чтобы так делать, необходимо находиться в режиме Etch Edit. Перейдя в этот режим, просто наведите курсор мышки на необходимый отрезок линии, нажмите левую клавишу и тащите. Произойдет выполнение команды Slide. Кстати, чтобы быстро переключаться последовательно между различными режимами работы, достаточно назначить функциональную клавишу, написав следующее в командной строке: funckey a "settoggle CMD 'generaledit' 'placementedit' 'etchedit';$CMD" По нажатию клавиши «a» вы последовательно будете переключать три режима, циклически. При помощи команды Z-copy (копирование полигонов сложной формы с расширением или сжатием размера) можно создавать различные зоны запрета или зоны трассировки, которые повторяют ваш сложный контур печатной платы.  Для этого необходимо активировать команду Edit->Z-Copy. Затем просто кликнуть мышкой на нужном контуре, чтобы получить его новую копию, уменьшенную или увеличенную на введенное во вкладке Options число. При помощи данной команды можно получать копии полигонов земли, питания и любых других, на нужных пользователю слоях. Иногда требуется скрыть пользовательские цвета цепей, если проект передается от исполнителя к заказчику, либо от одного исполнителя к другому. Для этого необходимо поставить соответствующую галочку. См. рисунок ниже. Существует возможность отображения всех свойств, которые назначены тому или иному компоненту, прямо в окне трассировки. Для этого необходимо сделать следующее: Когда в проекте пользователя заданы константы DFA, и происходит перемещение компонентов, то при чрезмерном сближении одного компонента с другим возникают так называемые маркеры DFA в форме кругов.  Данные маркеры «пружинят», не дают какое-то время сблизить компоненты ближе заданной в таблице DFA дистанции, и тем самым нарушить константы проекта. Однако, если пытаться продолжать сдвигать компоненты, то сближение все-таки произойдет. Параметр, управляющий временем, в течении которого компоненты будут сопротивляться сближению, называется: dfa_pause_level. Установите его в значение 0 в Setup->User Prefences для сближения компонентов без задержки. Иногда при отрисовке динамических полигонов некоторые из них остаются незаполненными. Такие полигоны мешают при выводе Gerber файлов, и их очень трудно обнаружить, поскольку на экране они не отображаются.  Можно воспользоваться отчетом Tools->Quick Reports->Shape Dynamic Status. Однако в этом отчете пользователь получит только координаты незаполненного полигона, но будет не в состоянии увидеть его на экране. Чтобы увидеть границы незаполненных полигонов на экране, необходимо установить в диалоге Color флажок Bound, который показан на рис. ниже. Если пользователю необходимо соединить два вывода земли проводником и не допустить включения этого проводника в одноименный полигон, то это можно сделать, добавив объекту проводника Cline дополнительное свойство: Void_Same_Net. Необходимо установить его в положение TRUE, и после этого полигон одноименной цепи будет обтекать данную линию. Кстати, для того, чтобы назначить свойство объекту, необходимо выбрать этот объект (например, кликнув на него левой клавишей мышки), затем нажать правую клавишу мышки и из выпадающего меню выбрать строку Edit Properties. Достаточно ввести следующую команду: funckey " " "pop bbdrill -cursor" После этого в режиме трассировки при нажатии на пробел будет генерироваться переходное отверстие, что очень удобно и сокращает количество кликов мышки. Скорее всего в проекте резиновым цепям RatsNets назначено свойство MIN_TREE. Необходимо назначить этим цепям свойство Ratsnest_Schedule = POWER_AND_GROUND. Возможно, ваш проект неправильно настроен. Настроить проект для комфортной работы поможет инструмент Performance Advisor. Он запускается по команде Tools->Database Check->Performance Advisor и выдает рекомендации: как настроить проект пользователя для получения максимальной производительности системы. Попробуйте исправить найденные им проблемные места. Если пользователю необходимо видеть, какой длины линию он уже страссировал, то можно включить параметр allegro_etch_length в настройках User Preferences. Тогда при трассировке проводящей линии будет создаваться динамическое окно, отображающее длину проведенного участка. Положением окна динамической обратной связи можно управлять, если отключить следующую опцию: allegro_dynam_timing_fixedpos В состоянии «по умолчанию» Constraint Manager не позволяет скрывать объекты одного типа из рассмотрения, а просто перечисляет их друг за другом в таблице. Для того, чтобы появилась возможность скрывать определенный тип объектов из рассмотрения, и вообще чтобы появилось деление на эти объекты, необходимо включить в верхней части окна Constraint Manager указанную на рис. опцию Object Type Divider. После этого вид Constraint Manager изменится: появятся подразделы, содержащие в себе объекты определенного типа. Для того, чтобы увидеть информацию обо всех константах, принадлежащих тому или иному объекту, необходимо активировать команду Display->Constraint. Далее настроить команду на нужный объект во вкладке Find. Последнее действие – необходимо выбрать нужный объект, кликнув на него левой клавишей мышки (см. рис). В проекте печатной платы OrCAD или Allegro нет выводов, которые не подключены ни к какой цепи. Не подключенные на схеме пины на самом деле подключаются к цепи DUMMY. И этим можно пользоваться, раскрашивая все пины без подключения в определенный цвет. Достаточно при раскрашивании цепи ввести в поле имени цепи слово DUMMY, как показано на рис. Когда пользователь столкнулся с необъяснимым поведением программы, либо проект платы не хочет открываться, программа спонтанно закрывается или появились какие то другие необъяснимые трудности с использованием редактора печатных плат, то можно попробовать временно решить их, запустив Allegro PCB Editor (и не только его, но и большинство программ Cadence) в базовой «безопасной» конфигурации. Достаточно набрать в командной строке при запуске программы ключ “-safe”. Пример: C:\Cadence\SPB_17.4\tools\bin\allegro.exe -safe При запуске с таким параметром отключаются следующие функции: Локальный env файл настроек (<HOME>/pcbenv/env) Конфигурация cds_site  Любые Skill коды пользователей. Пользовательские скрипты. ini файл, который содержит информацию о размерах и положении окон.  Информация о недавно открытых файлах. Запомненные позиции Windows (.geo файлы) Надеюсь, что-то из перечисленного пригодится в вашей работе и позволит работать эффективнее. Возможно, у вас тоже накопились интересные «фирменные» решения, позволяющие сэкономить время разработчика. Предлагайте свои “фишки”. ?