реклама на сайте
подробности

 
 
> Выравнивание объектов в Allegro PCB, Align in Allegro PCB
John Silver
сообщение May 30 2011, 10:08
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 14-06-06
Из: Могилев
Пользователь №: 18 059



Представляю на ваш суд скрипт для выранивания и распределения объектов в Allegro PCB.
Возможности:
- объекты Group, Component, Pad, Via, Text
- выравнивание по горизонтали и вертикали (привязка к Origin, Body, Pin1)
- привязка к сетке
- выравнивание по краю (пока реализовано только Top)
- распределение автоматическое (между крайним левым/правым и крайним нижним/верхним объектом)
- рапределение с фиксированным шагом
- в планах распределение с использованием Boundary Box, автоматическое и с фиксированным шагом.

Проблемы:
- привязка к сетке сделана через *?:№;%%!". Как взять значение сетки?
- основной цикл программы постоянно висит в ожидании выбора объектов, отсюда некоторые проблемы...
- нет отката последних действий. Как это сделать стандартными средствами?
- выход из скрипта только по кнопке или из контекстного меню, т.е. при выборе другого инструмента
скрипт не закрывается, а потом при нажатии кнопки мы выходим, но у нас уже выбран другой инструмент.
Не красиво и не удобно, как это победить?
- после выполнения любой операции сбрасывается выделение и подсветка.

Установка и использование:
- файл формы и картинки положить в папку каденса по пути %formpath%
- файлы скриптов (3 шт) загрузить в Allegro
- запустить скрипт из ком. строки - align, или Alt+e+a, или через меню Edit
- выбрать объкты, на форме нажать кнопку с необходимым действием (форма встраивается в панель Options)

Высказвайте свои мнения, предложения, баги. Можно присоединиться к разработке на _https://bitbucket.org/Kapustin/align. Там же можно забрать и свежую версию.

Сообщение отредактировал John Silver - May 30 2011, 23:10
Прикрепленные файлы
Прикрепленный файл  align.zip ( 9.02 килобайт ) Кол-во скачиваний: 55
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Old1
сообщение Jun 2 2011, 20:28
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(John Silver @ May 30 2011, 12:08) *
...
- привязка к сетке сделана через *?:№;%%!". Как взять значение сетки?

Если нужен размер сетки, то используй функцию axlDBGridGet
Цитата
- нет отката последних действий. Как это сделать стандартными средствами?

Смотри функции
axlDBTransactionCommit
axlDBTransactionMark
axlDBTransactionOops
axlDBTransactionStart
axlDBTransactionRollback
Цитата
- выход из скрипта только по кнопке или из контекстного меню, т.е. при выборе другого инструмента
скрипт не закрывается, а потом при нажатии кнопки мы выходим, но у нас уже выбран другой инструмент.
Не красиво и не удобно, как это победить?

В твоем случае как минимум нужно сделать так:
Код
axlCmdRegister( "align" 'align  ?doneCmd 'alignDone )

тогда твоя скилл процедура будет автоматом закрываться по событию DONE при вызове какой либо другой команды или по нажатию F6.
А еще лучше так:
Код
axlCmdRegister( "align" 'align  ?doneCmd 'alignDone ?cancelCmd 'alignСancel )

и написать обработчик для Cancel.
Тогда при нажатии стандартной горячей клавиши F9 (Cancel) процедура должна адекватно выгрузиться. Сейчас этого не происходит.
Go to the top of the page
 
+Quote Post
John Silver
сообщение Jun 2 2011, 23:39
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 14-06-06
Из: Могилев
Пользователь №: 18 059



Спасибо, Леша. Где ж ты раньше был...

Цитата(Old1 @ Jun 2 2011, 23:28) *
Если нужен размер сетки, то используй функцию axlDBGridGet

И ни в одном мануале ее нету, негодяи...
Посмотрел, примерил, таки придется делать анализ объекта, выбор необходимой сетки. А сейчас все делается само, таки решил оставить как есть.

Цитата
Смотри функции
axlDBTransactionCommit
...

Это уже давно использовано. Работает как "Oops" внутри скрипта. А вот Undo не работает, пробовал и так, и сяк, не получилось. Где собака порылась?

Цитата
А еще лучше так:
Код
axlCmdRegister( "align" 'align  ?doneCmd 'alignDone ?cancelCmd 'alignСancel )

и написать обработчик для Cancel.
Тогда при нажатии стандартной горячей клавиши F9 (Cancel) процедура должна адекватно выгрузиться. Сейчас этого не происходит.

Вот за это отдельное спасибо. Тепеть можно работать.
Может знаешь, как взять текущую горячую клавишу, по имени команды?
Дабы повесить "Oops" на клаву.
А проблема в следующем: я, например, до сих пор использую старый набор, и на Oops висит F3. А кто-то использует другой набор.
По-хорошему надо узнать какая кнопка сейчас на команде "oops" и переассайнить ее на себя, а при выходе восстановить.

PS Вкомитал свежак.

Сообщение отредактировал John Silver - Jun 2 2011, 23:40
Go to the top of the page
 
+Quote Post
Old1
сообщение Jun 3 2011, 06:09
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(John Silver @ Jun 3 2011, 01:39) *
...
Может знаешь, как взять текущую горячую клавишу, по имени команды?
Дабы повесить "Oops" на клаву.
...

как вариант для oops - axlGetAlias, сначала получаешь список всех псевдонимов, затем перебирай пока не найдешь тот, который соответствует oops
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- John Silver   Выравнивание объектов в Allegro PCB   May 30 2011, 10:08
- - John Silver   PS посмотрите как скрипт работает в других програм...   May 30 2011, 11:33
- - John Silver   Много чего пофиксил, да порефакторил. Сделал распр...   May 31 2011, 16:12
|- - vitan   Давно хотел что-то подобное сделать, только все ни...   May 31 2011, 19:40
|- - John Silver   Цитата(vitan @ May 31 2011, 22:40) Давно ...   Jun 6 2011, 08:14
- - John Silver   Насчет версии не скажу, я взялся за skill начиная ...   May 31 2011, 19:59
|- - vitan   Попробую обязательно. Судя по картинкам сделано не...   May 31 2011, 20:32
- - Ant_m   Попробовал, кажется все работает (16,3 h28). Особе...   Jun 1 2011, 06:39
- - John Silver   "0 ==== ("move" nil (("&Al...   Jun 1 2011, 07:49
- - Ant_m   Еще заметил: Если сразу после открытия редактора с...   Jun 1 2011, 09:18
- - John Silver   Да, воспроизвел у себя, буду разбираться   Jun 1 2011, 10:18
- - John Silver   Пофиксил. Это происходило потому что: - элементы в...   Jun 1 2011, 11:42
- - John Silver   Да, это вариант. А как сделать, что бы дорожки не ...   Jun 3 2011, 07:46
|- - Old1   Цитата(John Silver @ Jun 3 2011, 09:46) ....   Jun 3 2011, 20:29
- - Ant_m   В опциях команды Move поставить галочку Stretch et...   Jun 3 2011, 08:57
- - John Silver   В команде axlTransformObject( lo_dbid/o_dbid ?mov...   Jun 3 2011, 10:39
- - John Silver   Жесть, может когда нибудь сделаю... А вот какой б...   Jun 4 2011, 01:18
- - John Silver   Пофиксил, вкомитал.   Jun 4 2011, 21:47
- - Ant_m   John Silver Нашел мелкий баг. Компоненты "спо...   Jun 10 2011, 06:51
|- - John Silver   Цитата(Ant_m @ Jun 10 2011, 09:51) Нашел ...   Jun 10 2011, 17:50
- - John Silver   За баг спасибо, посмотрю. Про фиксированный компо...   Jun 10 2011, 16:00
- - John Silver   Ну вот я и переборол свою лень, и перепилил UI. Те...   Jun 19 2011, 13:10
- - PotHead   John Silver, сколько Вы потратили на всю эту работ...   Jun 20 2011, 17:12
- - John Silver   О! Вот кого нам не хватало в этой теме, встреч...   Jun 20 2011, 18:24
|- - vitan   Цитата(John Silver @ Jun 20 2011, 22:24) ...   Jun 21 2011, 06:20
- - Ant_m   Свое видение? Постараюсь внятно изложить... В обще...   Jun 21 2011, 05:39
|- - John Silver   Цитата(Ant_m @ Jun 21 2011, 08:39) З.Ы ка...   Jun 21 2011, 09:55
|- - Ant_m   Цитата(John Silver @ Jun 21 2011, 13:55) ...   Jun 21 2011, 10:35
- - John Silver   ЦитатаМноговато действий Я расписал подробно, а су...   Jun 21 2011, 10:58
|- - Ant_m   Цитата(John Silver @ Jun 21 2011, 14:58) ...   Jun 21 2011, 12:23
|- - John Silver   Цитата(Ant_m @ Jun 21 2011, 15:23) Насчет...   Jun 21 2011, 12:58
- - vitan   Я уже прямо начал пользоваться. Картинки чинить н...   Jun 21 2011, 11:06
- - John Silver   Да, тянучек очень не хватает. Как это сделать напи...   Jun 21 2011, 11:15
- - John Silver   Ну вот, как-то так. Слева новая панель. Как-то з...   Jun 22 2011, 20:02
|- - Ant_m   Цитата(John Silver @ Jun 23 2011, 00:02) ...   Jun 23 2011, 05:07
- - John Silver   Сделал Pick для гозонтали. Довольно удобный инстру...   Jun 24 2011, 21:37
- - John Silver   Закончил Pick. Пофиксил привязку к сетке. Улучшил ...   Jun 27 2011, 23:27
|- - vitan   Цитата(John Silver @ Jun 28 2011, 03:27) ...   Jun 28 2011, 07:30
|- - Ant_m   Цитата(John Silver @ Jun 28 2011, 03:27) ...   Jun 28 2011, 10:02
|- - John Silver   Цитата(Ant_m @ Jun 28 2011, 12:02) Потест...   Jun 28 2011, 15:50
- - John Silver   Сделал Stretch. Тестируйте, чувствую будет много б...   Jun 29 2011, 08:26
|- - Old1   Цитата(John Silver @ Jun 29 2011, 10:26) ...   Jun 29 2011, 09:03
- - John Silver   Вроде такой вариант пробовал . Там есть закомменти...   Jun 29 2011, 09:55
|- - Old1   Цитата(John Silver @ Jun 29 2011, 11:55) ...   Jun 29 2011, 11:32
- - John Silver   Делал Во время итерации для удаления, выдается ва...   Jun 29 2011, 11:40
|- - Old1   Цитата(John Silver @ Jun 29 2011, 13:40) ...   Jun 29 2011, 11:44
- - John Silver   Не-не-не. Я иду по списку: 1 взял сегмент, удалил,...   Jun 29 2011, 11:52
|- - Old1   Цитата(John Silver @ Jun 29 2011, 13:52) ...   Jun 30 2011, 06:06
- - PCBinAquarium   Джон, спасибо. то что вы делаете весьма полезно. Н...   Jun 29 2011, 12:57
- - John Silver   В первом посте есть ссылка, там идете на вкладку D...   Jun 29 2011, 13:08
- - John Silver   Разобрался. ЦитатаПопробуй сделать так: удаляется ...   Jun 30 2011, 08:14
- - John Silver   Пофиксил баг. Если к пину подходит несколько дорож...   Jul 1 2011, 21:21
- - Ant_m   Потестил. Применительно к stretch etch ничего не н...   Jul 4 2011, 06:53
|- - John Silver   Цитата(Ant_m @ Jul 4 2011, 09:53) Потести...   Jul 4 2011, 08:30
- - Ant_m   Скажем так, меня как пользователя немного смущает ...   Jul 4 2011, 08:52
- - John Silver   Все равно не понял в чем баг. Функция Gap состоит...   Jul 4 2011, 10:32
- - sa_per   Очень симпатичная штука, спасибо! А такой воп...   Jul 6 2011, 08:09
|- - John Silver   Цитата(sa_per @ Jul 6 2011, 11:09) как вы...   Jul 11 2011, 08:47
|- - vitan   Я думаю, что сохранять надо как раз в отдельный фа...   Jul 11 2011, 09:12
|- - John Silver   Цитата(vitan @ Jul 11 2011, 12:12) Я дума...   Jul 11 2011, 11:35
|- - vitan   Цитата(John Silver @ Jul 11 2011, 15:35) ...   Jul 11 2011, 12:40
|- - John Silver   Цитата(vitan @ Jul 11 2011, 15:40) Будет ...   Jul 11 2011, 14:29
||- - vitan   Цитата(John Silver @ Jul 11 2011, 18:29) ...   Jul 11 2011, 15:42
||- - John Silver   Цитата(vitan @ Jul 11 2011, 18:42) то мож...   Jul 11 2011, 16:16
||- - vitan   Цитата(John Silver @ Jul 11 2011, 20:16) ...   Jul 11 2011, 17:43
|- - Ant_m   Цитата(vitan @ Jul 11 2011, 16:40) Будет ...   Jul 12 2011, 05:48
- - Uree   Temp Group...   Jul 6 2011, 08:35
|- - sa_per   Цитата(Uree @ Jul 6 2011, 11:35) Temp Gro...   Jul 6 2011, 09:04
- - John Silver   Ну вы блин даете... Волков бояться - в лес не ходи...   Jul 12 2011, 10:34
|- - vitan   Большая просьба не делать автоматического сохранен...   Jul 12 2011, 11:09
- - John Silver   Вот кстати, что говорят иностранные товарищи: http...   Jul 12 2011, 13:22
- - John Silver   Запилил сохранение настроек. По просьбам трудящихс...   Jul 12 2011, 21:26
- - Ant_m   Цитата(John Silver @ Jul 12 2011, 17:22) ...   Jul 13 2011, 05:13
|- - John Silver   Цитата(Ant_m @ Jul 13 2011, 08:13) Лучше ...   Jul 13 2011, 07:25
- - vitan   John Silver Раз уж Вы такой добрый, может сделаете...   Jul 19 2011, 07:36
|- - John Silver   Цитата(vitan @ Jul 19 2011, 10:36) John S...   Jul 19 2011, 13:37
|- - John Silver   Цитата(vitan @ Jul 19 2011, 10:36) После ...   Jul 19 2011, 18:57
- - John Silver   Встречайте новую версию. Пофиксил кой-какие баги. ...   Aug 9 2011, 20:50
- - Ant_m   Нашел багу: После использования скрипта align пере...   Sep 19 2011, 13:01
|- - John Silver   Вопроизвел. Поправлю. PS Исчезает именно в env фа...   Sep 20 2011, 07:04
- - Ant_m   В сессии, не в файле. После перезапуска редактора ...   Sep 20 2011, 09:48
|- - John Silver   Сделал. Еще починил не работающие функции Pick.   Sep 20 2011, 20:49
|- - Ant_m   Спасибо!   Sep 21 2011, 04:28
- - John Silver   Я научился делать анимированные гифки . Только над...   Sep 22 2011, 22:28
- - Ant_m   Только сейчас заметил что у меня не отображаются и...   Sep 23 2011, 10:41
|- - John Silver   Хм... даже не обращал внимание, использовал пути п...   Sep 23 2011, 14:12
|- - Ant_m   Цитата(John Silver @ Sep 23 2011, 18:12) ...   Sep 26 2011, 07:12
- - Uree   Ну ведь предусмотрено решение, чтобы не пихать сво...   Sep 26 2011, 08:39
- - John Silver   Вот поднялась интересная тема. Как подгружать мно...   Sep 26 2011, 08:53
- - Uree   Можно и обсудить. Кастомизация софта - вопрос инте...   Sep 26 2011, 10:03
- - Ant_m   Опять "быстрые" клавиши - после использо...   Nov 3 2011, 07:00
|- - John Silver   Цитата(Ant_m @ Nov 3 2011, 10:00) Опять ...   Nov 8 2011, 12:26
- - John Silver   Ну, собственно, уже поправил. Проверяйте. Сам не п...   Nov 8 2011, 20:17
- - Ant_m   Да, правильно поняли. Про шаги учту. Сейчас попроб...   Nov 9 2011, 05:24
- - vitan   Скачал версию 0.9.2. Кстати, неплохо бы, чтобы в р...   Jan 19 2012, 08:30
- - John Silver   Ой. Предлагаю вычистить все предыдущие установки и...   Jan 19 2012, 10:05
- - vitan   Последовательным приближением нашел, что выравнива...   Jan 19 2012, 10:18
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 07:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01491 секунд с 7
ELECTRONIX ©2004-2016