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

 
 
> Выравнивание объектов в 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
Ответов
John Silver
сообщение Jun 3 2011, 07:46
Сообщение #2


Местный
***

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



Да, это вариант.
А как сделать, что бы дорожки не рвались, а тянулись за компонентом, переходным?
Go to the top of the page
 
+Quote Post
Old1
сообщение Jun 3 2011, 20:29
Сообщение #3


Знающий
****

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



Цитата(John Silver @ Jun 3 2011, 09:46) *
...
А как сделать, что бы дорожки не рвались, а тянулись за компонентом, переходным?

Сделать можно.
В общих чертах порядок действий например такой:
-выделяем символ (и определяем его dbid);
-берем список пинов (атрибут pins);
далее для каждого пина
-берем атрибут branch;
-у взятого бранча берем атрибут children ( это список );
-проверяем полученный список на наличие объекта типа path, если такой объект или объекты присутствуют, то к пину проведена дорожка или дорожки;
-у каждого объекта path берем список сегментов из которых он состоит (атрибут segments);
-перебираем список сегментов и находим тот который выходит из пина (у каждого семента проверяется атрибут startEnd, это список с координатами начала и конца сегмента, координаты пина можно определить, взяв атрибут xy);
- зная смещение символа ( пина) вычисляем новые координаты сегмента;
- двигаем символ;
- удаляем прилегающий к пину сегмент ( axlDeleteObject );
- создаем сегмент с посчитанными координатами ( axlDBCreateLine ).
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
- - Old1   Цитата(John Silver @ May 30 2011, 12:08) ...   Jun 2 2011, 20:28
|- - John Silver   Спасибо, Леша. Где ж ты раньше был... Цитата(Old1...   Jun 2 2011, 23:39
|- - Old1   Цитата(John Silver @ Jun 3 2011, 01:39) ....   Jun 3 2011, 06:09
- - 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 - 21:51
Рейтинг@Mail.ru


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