Перейти к содержанию
    

Параллельное перемещение

Здравствуйте, товарищи.

 

При расстановке symbols столкнулся с некоторым неудобством.

Допустим ситуация следующая:

Нужно разместить один компонент строго под другим вплотную друг к другу с минимальным зазором между их silkscreen outline(см. фото блок №2)

При этом шаг сетки очень мелкий.

 

Делаю следующее:

1. Сначала выравниваю один компонент относительно другого по координате X командой Align components

2. Далее выравниваю, ставлю вплотную один компонент к другому по координате Y (см. фото блок №1). Так вот на этом этапе и возникает вопрос. Как лучше и проще подвинуть один компонент к другому по Y, чтобы при этом не изменилась заранее выставленная координата X ? Может есть команда на подобии параллельного перемещения? Допустим в layout можно было сначала выравнять компонент по X, а потом подвинуть ТОЛЬКО по Y просто используя стрелочки вверх/вниз на клавиатуре.

Меня интересуют какие способы для этого предусмотрены в Аллегро?

 

711b2a2474b8.jpg

Изменено пользователем def_rain

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выбираете команду move, потом компонент и в строке статуса есть буква P - жмите.

Но проще всего из консоли было, наберите help pick. Для относительного перемещения есть ipick.

з.ы и клавиатуру со стрелочками никто не отменял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выбираете команду move, потом компонент и в строке статуса есть буква P - жмите.

Но проще всего из консоли было, наберите help pick. Для относительного перемещения есть ipick.

з.ы и клавиатуру со стрелочками никто не отменял.

 

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

 

Мне просто нужно вручную подвинуть один компонент вплотную к другому, но чтобы это перемещение было ТОЛЬКО по координате Y т.к. Х уже выставлена.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что мешает иcпользовать ipick 0 +0,1 ?

Величина шага при использовании стрелок задается в каком то из скриптов конфигурации при загрузке editor.

Точнее сказать не могу, года два как cadence не использую, сижу на альтиуме :crying:

 

p/s Все украдено до нас (С). Посмотрите что есть в tools - utilites - aliases/key

alias CDown 'ipick 0; ipick_to_gridunit 0 -1'

alias CF2 next

alias CF5 color192

alias CF6 layer priority

alias CLeft 'ipick 0; ipick_to_gridunit -1'

alias CRight 'ipick 0; ipick_to_gridunit +1'

alias CSF5 status

alias CUp 'ipick 0; ipick_to_gridunit 0 +1'

.....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Величина шага при использовании стрелок задается в каком то из скриптов конфигурации при загрузке editor.

Точнее сказать не могу, года два как cadence не использую, сижу на альтиуме :crying:

 

Спасибо за ответ!

 

Кстати, двигать конечно стрелками можно, но как я выяснил не удобно... Просто здесь есть нюанс в том, что при перемещении стрелками, на самом деле мы не перемещаем компонент, а перемещаемся по экрану с захваченным компонентом. А данное перемещение по экрану происходит в пикселях(а не в мм, inch). Причем минимальный шаг перемещения = 16 пикселей, а максимальный 256. Это настраивается в Display - roaminc. И причем здесь я обнаружил глюк =)через каждые 6-7 шакгов с помощюь стрелки в одном направлении, компонент перемещается допустим не на 16 пикс, а примерно на 32.

 

Посмотрите что есть в tools - utilites - aliases/key

Я понял что вы имеете в виду. Т.е. по молчанию назначена клавиша CTRL+стрелки на ipick (alias CLeft 'ipick 0; ipick_to_gridunit -1')

и Shift + Стрелкина на move (alias SDown 'move; ipick_to_gridunit 0 -1')

 

1. Не могу понять в чем разница между CLeft и SLeft ?

 

Что мешает иcпользовать ipick 0 +0,1 ?

2. Посмотрел Help,для данной команды в синтаксисе нет "+" как у вас "+0.1" Здесь имеется в виду что координата X остается без изменения, а к координате Y прибавляется 0.1 к текущему значению?

Изменено пользователем def_rain

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CLeft - Control Left, SLeft - Shift Left. По крайней мере я так думаю...

 

Так это понятно, просто на SDown и CLeft заданы разные команды.

1. alias SDown 'move; ipick_to_gridunit 0 -1'

2. alias CLeft 'ipick 0; ipick_to_gridunit -1'

 

Причем, с Шифтом у меня работает, а с Ctrl нет. Использую вместе с move.

Поэтому и хочу разобраться в чем разница между этими командами.

 

Из help:

 

ipick_to_gridunit

The ipick_to_grid command moves selected database elements in 1-grid increments according to the design's database units.

In conjunction with this command, the Ctrl or Shift keys plus the Up, Down, Left, and Right arrow keys, which are defined as default aliases in the system env file, let you move selected elements in 1-grid increments in the desired direction. (The system env file is located at share\pcb\text\env.)

 

Т.е. SDown и CLeft обе команды на перемещение с шагом 1 от заданной сетки.

 

Далее описание для ctrl и shift:

 

The Shift key aliases function in placement-edit application mode, in which the tool defaults to a pre-selection use model, letting you choose a design element (noun), and then a command (verb) from the right mouse button pop-up menu.

Т.е. в режиме placement-edit сначала выбираем элемент, затем команду(допустим move). После чего можно перемещать компонент с помощью Shift+стрелки.

 

The Ctrl key aliases function in the menu-driven editing mode, in which you choose a command (verb), then the design element (noun).

Т.е. сначала выбираем команду потом элемент.

Но здесь я ума не приложу что за menu-driven editing mode ? Что это за режим?

 

Может у меня поэтому и не работают стрелки с ctrl потому что я не там где нужно использую...

 

Вот еще:

To use these aliases, first choose an element, and ensure that it remains highlighted, at which point the Ctrl or Shift plus arrow keys can be used to move it incrementally.

Однако с ctrl все равно не работает =)

 

In placement-edit application mode, Shift click to select and move an element incrementally if no interactive command is active.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеется несколько режимов работы редактора - GlobalEdit(или как-то так), PlacementEdit, EtchEdit, RoutePlan и ShapeEdit. Возможно поведение описано для случая когда перемещение делается "по правильному" - т.е. когда сначала включается команда Move и в ней делается перемещение, и для случая когда "внезапно захотелось" - т.е. без команды хватается компонент и перемещается куда надо в режиме PlacementEdit.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеется несколько режимов работы редактора - GlobalEdit(или как-то так), PlacementEdit, EtchEdit, RoutePlan и ShapeEdit. Возможно поведение описано для случая когда перемещение делается "по правильному" - т.е. когда сначала включается команда Move и в ней делается перемещение, и для случая когда "внезапно захотелось" - т.е. без команды хватается компонент и перемещается куда надо в режиме PlacementEdit.

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

 

А мне приходится регулярно PlacementEdit использовать =) Потому что параллельное перемещение (shift+стрелки) работает только для компонентов выделенных в этом режиме. Если выделить с помощью инструмента move уже не работает... не знаю почему, а было бы так удобно.

Еще дело в том, что в PlacementEdit нельзя выбрать дороги и виа, только компоненты.

Т.е. если я хочу переместить с помощью стрелок готовый и оттрассированый блок(кусок топологии), это сделать не получится, потому что выделить его нужно вместе с виа и дорогами с помощью move, а стрелки с шифтом тут не работают.

Еще обнаружил, что даже если выделить в режиме PlacementEdit несколько компонентов, то подвинуть их с помощью стрелок не получится. Т.е. работает только для одного компонента.

 

Я уже понял что залез в какие то дебри =)

Скорее всего нужно менять подход к задаче, потому что с помощью shift + arrow её не решить.

Вот к примеру возникла такая потребность:

Есть кусок топологии, нужно подвинуть его весь целиком так, чтобы край 20го пина G2 совпал с краем полигона.

При этом по координате Y G2 c обвязкой уже выравнен. Т.е. нужно подвинуть только по Х.

(см. фото)

Конечно можно выделить-move - переместить мышкой, но у меня стоит мелкая сетка (0.01), буквально чуть рука дрогнет и по Y уже будет нежелательное смещение...

 

Подскажите, пожалуйста какие приёмы применяете Вы в подобных ситуациях? И как проще и удобней исходя из практики?

Для меня это будет полезным =)

 

0fadf19df5b3.jpg

Изменено пользователем def_rain

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вообще странно, что вам приходится двигать разведенные куски.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я тоже всегда делаю почти законченные модули, а потом "пакую" их на плате. Правда каких-то жестких требований что с чем должно быть выравнено не ставится, поэтому обычно расставляю в достаточно крупной сетке 0.5мм, потом если надо додвинуть перехожу на более мелкую 0.1 или даже 0.05мм, но последнее редко, меньше чем 0.1мм не требуется.

Сетка 0.01мм... ну не знаю, может где-то это и нужно, но пока не увидел необходимости. Компоненты расставлять точнее чем 0.1мм не вижу смысла, выигрыша в пространстве не увидеть, а проблем, как видно по вопросам def_rain появляется много. Трассировка в такой сетке - а зачем? Есть констрейны, есть птица gridless, если уж хочется водить трассы с минимальными зазорами, то есть смысл ее использовать.

Если нужно что-то к чему-то привязать стОит поэкспериментировать с точками привязки при выполнении перемещения, мне пока на все случаи жизни их хватало, правда иногда доп. линии требовалось рисовать... но особых проблем не испытывал.

 

ЗЫ Да, почему готовые модули - только лишь расстановка компонентов не показывает сколько места будет необходимо на трассировку, а это почти всегда критично. Поэтому пока не сделаешь локальную трассировку(в пределах модуля) не понятно, а сколько же места он займет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вообще странно, что вам приходится двигать разведенные куски.

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

 

В роли "электрика" в моем случае выступаю я сам =)

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

 

 

Я тоже всегда делаю почти законченные модули, а потом "пакую" их на плате. Правда каких-то жестких требований что с чем должно быть выравнено не ставится, поэтому обычно расставляю в достаточно крупной сетке 0.5мм, потом если надо додвинуть перехожу на более мелкую 0.1 или даже 0.05мм, но последнее редко, меньше чем 0.1мм не требуется.

Сетка 0.01мм... ну не знаю, может где-то это и нужно, но пока не увидел необходимости. Компоненты расставлять точнее чем 0.1мм не вижу смысла, выигрыша в пространстве не увидеть, а проблем, как видно по вопросам def_rain появляется много.

 

В Layout я один раз настраивал сетку:

1. Видимая=1мм

2. Расстановка=0.1

3. Полигоны=0.5

4. Дороги=0.01

В Аллего каждый раз перенастраивать сетку приходится... Даже если будет 0.1 этого на все случаи не хватит.

Может на клавиши сетку назначить?

 

Трассировка в такой сетке - а зачем? Есть констрейны, есть птица gridless, если уж хочется водить трассы с минимальными зазорами, то есть смысл ее использовать.

Если нужно что-то к чему-то привязать стОит поэкспериментировать с точками привязки при выполнении перемещения, мне пока на все случаи жизни их хватало, правда иногда доп. линии требовалось рисовать... но особых проблем не испытывал.

С gridless попробую на практике, посмотрим поможет ли. Привязки и доп. линии - знакооомая тема =) хотя вряд ли разработчики предполагали что нам будет так тяжело =)

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

 

ЗЫ Да, почему готовые модули - только лишь расстановка компонентов не показывает сколько места будет необходимо на трассировку, а это почти всегда критично. Поэтому пока не сделаешь локальную трассировку(в пределах модуля) не понятно, а сколько же места он займет.

Согласен! =)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну настроек разных сеток здесь не особо(хотя варианты есть - например нерегулярные сетки, надо просто хэлп порыть и поэкспериментировать), поэтому у меня 4 скрипта на разные сетки подвешены на гор. клавиши. Что удобно - менять сетку можно непосредственно в ходе выполнения команда(любой), поэтому выбрать что-то в одной сетке, переместить, переключить сетку и попасть в нужную точку - не проблема.

 

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

 

DFA_spreadsheet - не сказать, что особо интересное. Всего лишь возможность определения зазоров/ориентации разных футпринтов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Uree

 

Скажите, не встречались ли Вы случайно с глюком команды pick?

Допустим переношу виа в точку начала координат 0 0, жму enter, однако виа переносится не в 0 0, а в -0.0296 -0.1282(если повторить еще раз действие, то виа переместится уже в другую точку, но только не в 0 0).

Причем, если открыть ранее сохраненные версии этой платы в Аллегр, то там все в порядке =) Где то наверно в настройках что то тыркнул сам не зная зачем и куда =)

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Допустим переношу виа в точку начала координат 0 0, жму enter, однако виа переносится не в 0 0, а в -0.0296 -0.1282(если повторить еще раз действие, то виа переместится уже в другую точку, но только не в 0 0).

это не глюк. это вы её хватаете не за точный геометрический центр, а мышой где-то рядом не в сетке.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...