SKILL скрипт "Align Tool" для Allegro PCB Designer (APD) и Allegro Package (AP).
Выравнивание по центру
Выравнивание координаты X для CenterV или координаты Y для CenterH. Координата рассчитывается как средняя точка между самыми удаленными объектами по вертикали или горизонтали.



Распределение
При выборе операции DistributeH, DistributeV происходит выравнивание расстояний между выбранными объектами, расстояние рассчитывается как среднее арифметическое. Рассчитанное расстояние отображается в текстовом поле расположенном напротив кнопки операции:
Этим инструментом я часто пользуюсь в качестве линейки, например выбрав 2 компонента измеряю расстояние между ними.
Выбор чекбокса слева от поля, делает это поле редактируемым, что позволяет вручную задать шаг распределения. Распределение при фиксированном шаге производится от самого левого или нижнего из выбранных объектов. Можно задавать и отрицательные значения, тогда выстраивание будет производится в обратную сторону.
Также на данную операцию влияет чекбокс Gap. При выбранном чекбоксе шаг распределения будет рассчитываться не от текущей точки привязки (Object snap), а от свободного расстояния между объектами. Выбор данной опции позволяет равномерно расставить разнородные объекты.
Выравнивание по точке
PickH, PickV. Эти операции похожи на выравнивание по центру, но точку можно выбрать самому. После нажатия на кнопку Pick скрипт переходит в ожидание клика мышкой. При клике на пустом месте объекты будут выстроены по точке клика, при клике на каком либо объекте, будет использоваться текущая точка привязки объекта .
Растягивание дорожек
Чекбоксы Stretch etch и Ripup etch работают точно так же, как и стандартном инструменте Move, и, думаю, в особых пояснениях не нуждаются.
Привязка к сетке
При включенной привязке к сетке (Grid snap), после выравнивания (т.е. после вызова любой операции), каждый объект смещается своей текущей точкой привязки (Object snap) к ближайшему узлу сетки.
Настройки
Все настройки скрипта сохраняются отдельно в каждом brd-файле. Т.о. для каждого проекта при последующем вызове скрипта будет восстановлено состояние формы и фильтра с предыдущего вызова.
Вроде самые важные детали описал, если что непонятно, пишите.
Возможности скрипта:
- работа с объектами: Group, Component, Pin, Via, Text
- горизонтальное и вертикальное выравнивание
- выравнивание по границе объекта (dfa_bound_xxx или place_bound_xxx)
- выравнивание по клику мышкой (на пустом месте или объекте)
- привязка к началу координат компонента, привязка к центру компонента, привязка к ножке компонента
- привязка к сетке (только для v15.7+)
- равномерное распределение компонентов между наиболее удаленными из выбранных (по вертикали или горизонтали), автоматический расчет шага
- распределение с фиксированным шагом (от левого/нижнего объекта)
- распределение зазоров между компонентами (от границ dfa_bound_xxx или place_bound_xxx)
- пропуск зафиксированных объектов
- растягивание дорожек (CLine) при выравнивании компонентов или переходных отверстий
- горячие клавиши для каждой операции (только для v16.3+)
- сохранение настроек для формы и фильтра объектов
Установка
Скачать скрипт можно из репозитория Downloads. Код открыт, добро пожаловать с комментариями и предложениями. О багах можно писать там же, в разделе Issues.
Распаковываем файлы в удобное место (отсюда скрипт будет подгружаться при запуске редакторов), и запускаем install.bat. Инсталлятор скопирует файлы картинок и форму в необходимые папки и пропишет автозапуск скрипта в файле allegro.ilinit.
Скрипт установлен, и будет подгружаться каждый раз при запуске APD и AP.
Вызов скрипта
После загрузки скрипта в меню Edit появляется новый пункт Align. Выбор Align вызывает скрипт, и показывает в панели Options инструменты для настройки и работы со скриптом. Также скрипт можно вызвать последовательностью клавиш Alt+E+A или командой в консоли aln.
Операции
Как и в редакторах в скрипте поддерживается следующая идеология работы: выбрать инструмент - выбрать объекты - произвести действие над объектами. Т.е. сначала вызываем скрипт (переходим в режим aln), далее выбираем объекты которые хотим выровнять (при этом можно воспользоваться фильтром) и затем в панели Options выбираем необходимое действие (или нажимаем горячую клавишу).
Следует обратить внимание, что одновременно можно выравнивать объекты находящиеся на разных слоях.
Выравнивание по левому, правому, нижнему или верхнему краю (Left, Right, Bottom, Top).
Например для операции Left: выбранные объекты своими левыми границами выравниваются по левой границе самого левого объекта.
Для объекта Symbol за границу принимается прямоугольник охватывающий символ в слое dfa_bound_xxx. Если слой dfa_bound пустой, то используется слой place_bound_xxx. Для остальных объектов используется охватывающий прямоугольник самого объекта.
Следует обратить внимание, что одновременно можно выравнивать объекты находящиеся на разных слоях.
Горячие клавиши
- w, a, s, d - Top, Left, Bottom, Right
- q, z - CenterH, CenterV
- e, c - DistributeH, DistributeV
- r, v - PickH, PickV
Выравнивание по краю
Например для операции Left: выбранные объекты своими левыми границами выравниваются по левой границе самого левого объекта.
Для объекта Symbol за границу принимается прямоугольник охватывающий символ в слое dfa_bound_xxx. Если слой dfa_bound пустой, то используется слой place_bound_xxx. Для остальных объектов используется охватывающий прямоугольник самого объекта.
Выравнивание по центру
Выравнивание координаты X для CenterV или координаты Y для CenterH. Координата рассчитывается как средняя точка между самыми удаленными объектами по вертикали или горизонтали.
При этом точкой привязки для объектов является либо геометрический центр, либо начало координат объекта, либо ножка объекта в зависимости от выпадающего списка Object snap (Center, Origin, Pin).
Распределение
Этим инструментом я часто пользуюсь в качестве линейки, например выбрав 2 компонента измеряю расстояние между ними.
Выбор чекбокса слева от поля, делает это поле редактируемым, что позволяет вручную задать шаг распределения. Распределение при фиксированном шаге производится от самого левого или нижнего из выбранных объектов. Можно задавать и отрицательные значения, тогда выстраивание будет производится в обратную сторону.
Также на данную операцию влияет чекбокс Gap. При выбранном чекбоксе шаг распределения будет рассчитываться не от текущей точки привязки (Object snap), а от свободного расстояния между объектами. Выбор данной опции позволяет равномерно расставить разнородные объекты.
Выравнивание по точке
PickH, PickV. Эти операции похожи на выравнивание по центру, но точку можно выбрать самому. После нажатия на кнопку Pick скрипт переходит в ожидание клика мышкой. При клике на пустом месте объекты будут выстроены по точке клика, при клике на каком либо объекте, будет использоваться текущая точка привязки объекта .
В текстовом поле напротив кнопки отображается координата предыдущего выравнивания. Если взвести чекбокс слева от поля, то поле становится доступным для редактирования, при этом при нажатии кнопки Pick, не ожидается пользовательский ввод, а сразу производится выравнивание по введенной координате.
Растягивание дорожек
Чекбоксы Stretch etch и Ripup etch работают точно так же, как и стандартном инструменте Move, и, думаю, в особых пояснениях не нуждаются.
Привязка к сетке
Настройки
Все настройки скрипта сохраняются отдельно в каждом brd-файле. Т.о. для каждого проекта при последующем вызове скрипта будет восстановлено состояние формы и фильтра с предыдущего вызова.
Вроде самые важные детали описал, если что непонятно, пишите.
Комментариев нет:
Отправить комментарий