|
Выравнивание объектов в Allegro PCB, Align in Allegro PCB |
|
|
|
May 30 2011, 10:08
|

Местный
  
Группа: Свой
Сообщений: 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
|
|
|
|
|
 |
Ответов
(1 - 99)
|
May 31 2011, 16:12
|

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

|
Много чего пофиксил, да порефакторил. Сделал распределение по зазору между объектами. Сделал восстановление выделения. А вот как все выглядит:
Сообщение отредактировал John Silver - May 31 2011, 16:17
Прикрепленные файлы
align.zip ( 10.61 килобайт )
Кол-во скачиваний: 38
|
|
|
|
|
May 31 2011, 19:59
|

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

|
Насчет версии не скажу, я взялся за skill начиная с 16,3 Пробуйте, если что, пишите, будем разбираться. Обновил репозиторий. Все, что знал и представлял как сделать, сделал.  помогите решить оставшиеся проблемы.
|
|
|
|
|
Jun 1 2011, 06:39
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Попробовал, кажется все работает (16,3 h28). Особенно радует функция Distribute. Спасибо за подарок Есть несколько наблюдений: - В командую строку, при запуске pcb, выводится "0 ==== ("move" nil (("&Align" "align")))" - Не работает встроенная, стандартная, функция align components (которая доступна по правой клавише мыши, в режиме расстановки компонентов) пишет "E- *Error* align: too many arguments (0 expected, 1 given) - ("components")" И еще хочется более развернутые рекомендации по установке... Например для быстрой проверки сделал так: - закинул все файлы из архива в папку с файлом brd - в командной строке загрузил скрипты: Цитата skill load "align.il" skill load "align_do.il" skill load "align_utils.il" Скрипты можно загрузить и используя файл allegro.ilinit. Тогда они будут читаться сами, при каждом открытии pcb редактора. В файле нужно указать: Цитата load( "D:\\Some_Path\\align.il") load( "D:\\Some_Path\\align_do.il") load( "D:\\Some_Path\\align_utils.il") Цитата(John Silver @ May 30 2011, 14:08)  Проблемы: - основной цикл программы постоянно висит в ожидании выбора объектов, отсюда некоторые проблемы... Добавлю еще одну: Если не завершить скрипт(прав. кл. - Done), то нельзя даже выйти из редактора. На кнопочку с крестиком не реагирует. File->Exit тоже не работает.
|
|
|
|
|
Jun 1 2011, 07:49
|

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

|
"0 ==== ("move" nil (("&Align" "align")))" Появляется при регистрации пункта меню, и кто-нить знает, что это? Если сделать например так: axlCmdRegister( "alignDDD" 'alignDDD ) axlUIMenuRegister( "moveDDD" '( ("&Align" "alignDDD") ) ) то будет работать и стандартная функция. Я это видел, но после изучения стандартной функции решил, что моя лучше и стандартная не нужна. В readme.txt есть соответствующее предепреждение. По установке может добавлю более полное описание... потОм... Это может сделать любой, readme я вкомитаю. Изменил установку картинок, теперь их нужно ложить по пути %bmppath%. Ну и для быстрой проверки специально в каментах лежат записи типа skill load "o:\\Sripts\\align\\align_utils.il" Цитата основной цикл программы постоянно висит в ожидании выбора объектов, отсюда некоторые проблемы... Если не завершить скрипт(прав. кл. - Done), то нельзя даже выйти из редактора. На кнопочку с крестиком не реагирует. File->Exit тоже не работает. "некоторые проблемы" - это я мягко выразился. Вообще ничего не работает пока не выйдешь из скрипта. Может кто предложит более симпатичные иконки? Перевод надо бы проверить, например "Align by TOP boundary" - выровнять по верхней границе.
Сообщение отредактировал John Silver - Jun 1 2011, 08:07
|
|
|
|
|
Jun 1 2011, 09:18
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Еще заметил: Если сразу после открытия редактора сделать выравнивание distribute то компоненты выстраиваются не лесенкой!
И только потом, если сделать align, например по центру, distribute равняет лесенкой.
З.Ы. Иконки для кнопок вполне хороши, все сразу понятно из того что на них нарисовано. (В open office draw 3,0 например сделаны безобразно, пока названия не прочтешь, не поймешь)
|
|
|
|
|
Jun 1 2011, 11:42
|

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

|
Пофиксил. Это происходило потому что: - элементы выровнены по горизонтали, у всех одинаковая Y - выбираем распределение по вертикали - вызывается функуция для сортировки по координате Y - т.к. Y у всех одинаковый, сортировка не происходит - вызывается функци непосредственно сортировки, и видим фигню Теперь при сортировке по Y, если Y-ки равны, дополнительно проверяется координата X. Тоже и при сортировке по X, дополнительно проверяем Y. !!! Но, если хоть один объект будет иметь Y отличный от остальных, он выпадет из общего ряда и распределение опять отработает криво (или нормально???  )
Сообщение отредактировал John Silver - Jun 1 2011, 23:58
|
|
|
|
|
Jun 2 2011, 20:28
|

Знающий
   
Группа: Свой
Сообщений: 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) процедура должна адекватно выгрузиться. Сейчас этого не происходит.
|
|
|
|
|
Jun 2 2011, 23:39
|

Местный
  
Группа: Свой
Сообщений: 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
|
|
|
|
|
Jun 3 2011, 10:39
|

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

|
 В команде axlTransformObject( lo_dbid/o_dbid ?move l_deltaPoint ?mirror t/nil ?angle f_angle ?origin l_rotatePoint ?allOrNone t/nil) ) нет галочек. Сделал горячую кнопку для Oops. Свежий архивчик:
Прикрепленные файлы
align.zip ( 11.02 килобайт )
Кол-во скачиваний: 23
|
|
|
|
|
Jun 3 2011, 20:29
|

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

|
Цитата(John Silver @ Jun 3 2011, 09:46)  ... А как сделать, что бы дорожки не рвались, а тянулись за компонентом, переходным? Сделать можно. В общих чертах порядок действий например такой: -выделяем символ (и определяем его dbid); -берем список пинов (атрибут pins); далее для каждого пина -берем атрибут branch; -у взятого бранча берем атрибут children ( это список ); -проверяем полученный список на наличие объекта типа path, если такой объект или объекты присутствуют, то к пину проведена дорожка или дорожки; -у каждого объекта path берем список сегментов из которых он состоит (атрибут segments); -перебираем список сегментов и находим тот который выходит из пина (у каждого семента проверяется атрибут startEnd, это список с координатами начала и конца сегмента, координаты пина можно определить, взяв атрибут xy); - зная смещение символа ( пина) вычисляем новые координаты сегмента; - двигаем символ; - удаляем прилегающий к пину сегмент ( axlDeleteObject ); - создаем сегмент с посчитанными координатами ( axlDBCreateLine ).
|
|
|
|
|
Jun 10 2011, 16:00
|

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

|
За баг спасибо, посмотрю. Про фиксированный компонент. Я например не вижу, как это будет выглядеть в UI, не представляю алгоритм. Предлагайте алгоритм, UI. Может лучше использовать отдельный скрипт (вроде align_sym.il, в интернетах лежит)? Вот я попользовался скриптом (в кои-то веки) и понял, что Align и Distribute располагать на разных "вкладках" не удобно. Но, с другой стороны, место на панельке нету. Кто предложит другой UI? PS align_sym.il лежит сдесь на ftp (по крайней мере гугль так сказал) PPS Нашел скрипт (как раз для сдвига с привязкой к компоненту):
Сообщение отредактировал John Silver - Jun 10 2011, 18:02
|
|
|
|
|
Jun 19 2011, 13:10
|

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

|
Ну вот я и переборол свою лень, и перепилил UI. Теперь все действия в одном флаконе. Оценивайте.  Скачивать по-прежнему сдесь.
|
|
|
|
Guest_PotHead_*
|
Jun 20 2011, 17:12
|
Guests

|
John Silver, сколько Вы потратили на всю эту работу времени ? И сколько Вы с этого заработали ? А.... гордость - какой я крутой конструктор или ой как интересно конструировать ? Гордость в карман не положишь, а ой как интересным сыт не будешь ! Вот из-за таких людей как Вы, убивающих бесплатно вечерами свое время (а обычно овертайм оплачивается по ставке х1.5) электронщики - бомжовская специальность. Приходит человек на работу чтобы денег заработать, а там сидит вот такой бобер, влюбленный в паялник и компилятор, ой как интересно котнструировать ! Забился в свою норку и лишь бы его палкой не трогали.
Дорочась в комп вечерами и выкладывая на халяву результаты своей пререработки убивыющей ваше здоровье, Вы рубите сук на котором Вы сидите. А потому-что завтра на ваше место возмут студента, котрыый вызубрил все ваши знания, за 1/3 вашей зарплаты, а Вы с производсвенной близорукостью и геммороем пойдете на улицу как отраобанный материал.
Кто хочет научится - тот научится и будет ценить свои знания, зарабатывать с их помощью денги и не разбрасыватся ими налево и направо за гордость. А везде ходить и учите всех и вся за спасибо - это себе-же хуже делаете.
|
|
|
|
|
Jun 20 2011, 18:24
|

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

|
О! Вот кого нам не хватало в этой теме, встречаем PotHead'а! Он сейчас нас научит, как и что надо делать, а главное сколько это должно стоить в денежном выражении! А еще он нам расскажет, кто и какие должен преследовать цели, когда раздает бесплатно код. По моему скромному мнению у кого-то батхерт, кто-то не может заработать себе немножко денюшкав на бутербродик с икоркой, кто-то уже заработал ге мморрой, и попа-боль не дает ему покоя. А может он действительно бескорыстно хочет помочь сообществу, хочет предостеречь нас...? В любом случае, дорогой PotHead, это флуд и офф, и я не хочу его видеть в этой теме. PS Ну и конечно же есть здравое зерно. vitan где отзыв про работоспособность в 15 версии? (кстати, спасибо за протекцию) Цитата Есть еще предложение - можно ли сделать выбор компонента, относительно которого происходит равнение других? Т.е чтобы этот компонент всегда оставался на месте, а другие равнялись на него? Ant_m, почему бы Вам не предложить нам, как это должно работать. Расскажите свое видение этого вопроса. to ALL удобен ли новый интерфес, аль старый был лучше?
|
|
|
|
|
Jun 21 2011, 05:39
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Свое видение? Постараюсь внятно изложить... В общем то, у вас все сделано, нужно только добавить фичу))) Для ясности опишу как вижу алгоритм когда выравнивание, например, к верху: - пользователь выделяет компоненты и нажимает align top; - скрипт ищет компонент с самой большой координатой Y; - скрипт поднимает(сдвигает) другие компоненты на такую же высоту.
Теперь чего хочу я: а хочу я чтобы компоненты выстраивались по указанной, заданной пользователем координате. Тогда будет всего 2 варианта выравнивания либо горизонтально, либо вертикально. Вот как я это представляю: - пользователь выделяет компоненты, для выравнивания; - пользователь указывает координату, тут есть 2 варианта: -- "абстракная координата", т.е пользователь тыкает мышью в "пустое" место. На практике такое не нужно. -- координата компонента, причем любого другого, он не входит в группу выделенных компонентов. (можно конечно сделать чтобы и входил в группу выделенных, но кажется это лишние, и не нужные сложности) - пользователь указывает как он хочет равнять: вертикально или горизонтально (соответственно алгоритму нужна будет либо X либо Y); - скрипт выстраивает компоненты по указанной координате. При этом уточняю, что у компонентов меняется лишь одна координата.
Собственно и все. Кажется это не сложно реализовать, хотя могу ошибаться... Если хотите я могу снять ролик как это делается вручную, для лучшего понимания.
На практике эту кучу действий приходится делать вручную, когда выстраиваешь компоненты по "линеечке". Зачастую эта "линеечка" задается положением одного компонента на плате.
З.Ы как это привязать к UI... Порядок действий не обязателен, поэтому можно сделать например так: сделать 2 кнопки: вертикальное и горизонтальное выравнивание. пользователь тыкает в кнопку, затем указывает группу компонентов. Потом его просят ткнуть мышкой для выбора компонента. Дальше работает скрипт.
|
|
|
|
|
Jun 21 2011, 06:20
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(John Silver @ Jun 20 2011, 22:24)  О! Вот кого нам не хватало в этой теме, встречаем PotHead'а! Не обращайте внимания. У него последний месяц болезнь попустила немного, начал философствовать. Пытается зацепить демагогией. Скоро ему выделят отдельную ветку, будет сам с собой разговаривать. А может, посчитает время, которое потратил, переведет в деньги, ужаснется и смоется... Цитата(John Silver @ Jun 20 2011, 22:24)  vitan где отзыв про работоспособность в 15 версии? (кстати, спасибо за протекцию) Не за что.  У меня не получилось установить. Команда skill load "align.il" выдает ошибку "undefined function axlUIMenuRegister" Очевидно, с предыдущей функцией проблем не возникло, непонятно только, что в этой не так. UPD. Вроде, заработало, эту функцию я убрал. Теперь вызывать можно только из командной строки. При этом в панельке опций картинки не возникли, есть только кнопки и окошки, хотя я bmp-шники честно скопировал во все места. Само выравнивание, похоже, работает. Я тоже хочу присоединиться к предложению Ant_m. Было бы очень правильно, если была бы возможность выравнивать по компоненту, т.е. как бы по образцу. И еще есть вопрос: а нельзя ли сделать так, чтобы после нажатия Oops после выравнивания с выбранных компонентов не сбрасывалось выделение и они продолжали бы оставаться выделенными? Это чтобы выровнять по-другому, если ошибся. А то приходится снова выделять компоненты, temp group и т.п....
|
|
|
|
|
Jun 21 2011, 09:55
|

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

|
Цитата(Ant_m @ Jun 21 2011, 08:39)  З.Ы как это привязать к UI... Порядок действий не обязателен, поэтому можно сделать например так: сделать 2 кнопки: вертикальное и горизонтальное выравнивание. пользователь тыкает в кнопку, затем указывает группу компонентов. Потом его просят ткнуть мышкой для выбора компонента. Дальше работает скрипт. Вот теперь и я увидел, как это может работать. 1 На форме чекбокс (кнопки Done, Oops... придется удалить, появится место) для перехода в режим привязки по компоненту. Жмем его. 2 Появляется 2 кнопки и 2 поля для фиксированных координат (поля не активны, включим их 2-мя чекбоксами). 3 Выбираем объекты. 4 Жмем действие, получаем приглашение для указания привязки к объекту или точке. (Сдесь будут проблемы, у нас уже есть выбранные обекты, придется сбрасывать и потом восстанавливать их) 5 Тыркаем выбирая привязку. Ву-а-ля. 6 Восстанавливаем выделение? 7 Если активны поля для фиксированных координат: жмем действие и сразу выстраиваемся. Вроде неплохо получается? Цитата(vitan) Команда skill load "align.il" выдает ошибку "undefined function axlUIMenuRegister".... картинки не возникли ... Посмотрите доки в своей версии, что они говорят? (никто кроме Вас это не сделает) В коде есть заглушка для формы в отдельном окне, попробуйте, может появятся картинки. 2 строки раскоментировать, одну закоментировать. Цитата а нельзя ли сделать так, чтобы после нажатия Oops после выравнивания с выбранных компонентов не сбрасывалось выделение Хорошее предложение, надо будет сделать.
|
|
|
|
|
Jun 21 2011, 10:35
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Цитата(John Silver @ Jun 21 2011, 13:55)  Вот теперь и я увидел, как это может работать. 1 На форме чекбокс (кнопки Done, Oops... придется удалить, появится место) для перехода в режим привязки по компоненту. Жмем его. 2 Появляется 2 кнопки и 2 поля для фиксированных координат (поля не активны, включим их 2-мя чекбоксами). 3 Выбираем объекты. 4 Жмем действие, получаем приглашение для указания привязки к объекту или точке. (Сдесь будут проблемы, у нас уже есть выбранные обекты, придется сбрасывать и потом восстанавливать их) 5 Тыркаем выбирая привязку. Ву-а-ля. 6 Восстанавливаем выделение? 7 Если активны поля для фиксированных координат: жмем действие и сразу выстраиваемся. Ээээ... Как то многовато действий будет п.2 - поля мне кажется тоже совершенно лишние, никто руками цифры вбивать не будет - это не удобно. А если и будет то для этого есть команды pick, ipick п.4 явно лишний. Посмотрите как работает команда Move, когда в опциях указана привязка user pick. Там происходит так: жмешь кнопку move(или через меню), потом выделяешь рамочкой объекты. А после этого среда ждет что пользователь ткнет мышкой в любую точку на экране(это собственно п.5). Относительно этой точки все выделенные объекты и начинаются перемещаться. Все довольно просто и не нужно никаких приглашений. Нужно добавить только 2 кнопки(вертикальное и горизонтальное выравнивание) и все. Итого получится: п1: давим кнопку п2: выбираем компоненты п3: тыкая мышкой указываем точку отсчета, или компонент относительно которого все равняется. и больше от пользователя ничего не требуется.
|
|
|
|
|
Jun 21 2011, 10:58
|

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

|
Цитата Многовато действий Я расписал подробно, а суть та же. Все же: 1 Выбираем компоненты 2 Выбираем действие ... Иначе нарушается идеология, да и как изменить выбор? Получается один шанс для выбора объектов. Поля для цифирь можно оставить напотом. Но они будут весьма полезны. Мы и сдвинем на нужное место, и выровняем сразу. 4 Приглашение в командной строке. А может не нужна смена режимов...? Кнопки расположить на основной форме? Но тогда не останется места для новых полей ввода.
|
|
|
|
|
Jun 21 2011, 11:15
|

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

|
Да, тянучек очень не хватает. Как это сделать написанно в посте 18. Сделать это займет от 2 до 8 часов, а я трошку выдохся, недосуг пока. Кто хочет потрудится? (помните приключения Шурика?  ) Присоединяйтесь, не стесняйтесь! Да, эта фича должна быть обязательно, на основной форме, значит кнопки для работы с привязкой придется все же вынести на другую форму, использвать режимы.
|
|
|
|
|
Jun 21 2011, 12:23
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Цитата(John Silver @ Jun 21 2011, 14:58)  А может не нужна смена режимов...? Кнопки расположить на основной форме? Но тогда не останется места для новых полей ввода. Насчет места не знаю у меня все с этим нормально, там еще 3 таких панели легко поместятся. что если сделать так? (извиняюсь за качество каракуль на картинке, с gimp не слишком знаком)
Пояснения: п1: Выделяем группу компонентов (на рис. это 1) п2: давим кнопку [Pick], и выбираем точку привязки. тут же происходит выравнивание. п3. Если юзера устраивает, то он давит [Done], если нет то [Oops], а потом опять [Pick] Поле ввода, входящее в группу 2 можно использовать также не только для кнопки Distribute но и кнопки Pick.
|
|
|
|
|
Jun 21 2011, 12:58
|

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

|
Цитата(Ant_m @ Jun 21 2011, 15:23)  Насчет места не знаю у меня все с этим нормально, там еще 3 таких панели легко поместятся. Какое интересное расположение панелей. У меня все 3 стоят друг над другом. И места уже не осталось. Оно конечно хорошо все на одной форме, все под рукой, но место... Ладно, будет видно... Цитата Пояснения: п1: Выделяем группу компонентов (на рис. это 1) п2: давим кнопку [Pick], и выбираем точку привязки. тут же происходит выравнивание. п3. Если юзера устраивает, то он давит [Done], если нет то [Oops], а потом опять [Pick] Вроде я именно так и сказал Цитата Поле ввода, входящее в группу 2 можно использовать также не только для кнопки Distribute но и кнопки Pick.  не пойдет, придется перебивать постоянно значения, там отлично влазит второе поле напротив кнопки. Например я делаю так: делаю распределение автоматом, в поле появляется текущее растояние, при неообходимости включаю Step и корректирую расстояние. Очень удобненько.
|
|
|
|
|
Jun 22 2011, 20:02
|

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

|
Ну вот, как-то так. Слева новая панель.
Как-то зело перегруженный интерфейс получается. И иконки не придумываются... PS Последние выделенные объекты остаюся во внутренней переменной после команды Oops, и с ними можно производить обычные действия. Вот такая вот бага-фича.
|
|
|
|
|
Jun 23 2011, 05:07
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Цитата(John Silver @ Jun 23 2011, 00:02)  Как-то зело перегруженный интерфейс получается. И иконки не придумываются... Хороший интерфейс - все что нужно есть. А любители простоты пусть идут в... консоль. З.Ы. Насколько я понял пока кнопки pick не работают...
|
|
|
|
|
Jun 27 2011, 23:27
|

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

|
Закончил Pick. Пофиксил привязку к сетке. Улучшил производительность, теперь при работе внутри заливки все летает. Создается впечатление, что я говорю сам с собой. Что тема уже никому не интересна? Никто не заметил, что привязка к сетке работает криво... что выравнивание десятка переходных при включенном обновлении шейпов занимает 30с...
|
|
|
|
|
Jun 28 2011, 10:02
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Цитата(John Silver @ Jun 28 2011, 03:27)  Что тема уже никому не интересна? Никто не заметил, что привязка к сетке работает криво... что выравнивание десятка переходных при включенном обновлении шейпов занимает 30с... Тема очень интересна, но времени иногда не хватает  Про сетку: даже мысли не возникло проверять - сеткой пользуюсь редко. Только для особо крупных и критичных компонентов. Их все равно волей-неволей нужно ставить вручную. А мелкие компоненты совершенно не важно как стоят - лишь бы красиво и ровно. Потестил. Не ясно назначение галочки напротив Distrib... Она отключает поле ввода, но если отключить поле то кнопка Distrib не работает. Тогда зачем эта галочка вообще нужна? Или чего-то не уловил... А так все супер, огромное спасибо  З.Ы про шейпы не переживайте, это у всех так. Я когда много чего двигаю, отключаю динамическое обновление, иначе можно уснуть пока на 10-ти слоях все перерисуется.
|
|
|
|
|
Jun 28 2011, 15:50
|

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

|
Цитата(Ant_m @ Jun 28 2011, 12:02)  Потестил. Не ясно назначение галочки напротив Distrib... Она отключает поле ввода, но если отключить поле то кнопка Distrib не работает. Тогда зачем эта галочка вообще нужна? Или чего-то не уловил... Это хитрая фича 1 выбираем объекты, жмем Distrib, рассчитывается расстояние между крайними компонентами в автоматическом режиме, рассчитывается шаг, двигаются обекты 2 в поле появляется текущий шаг3 жмем галку, поле активируется, шаг все тот же4 жмем Distrib, ничего не меняется, ведь шаг все тот же5 вводим другой шаг в поле, жмем Distrib, объекты двигаются Я использую как линейку: распределил, посмотрел расстояние, если расстояние не устраивает, то нажал чеккбокс, изменил расстояние, перераспределил. Кстати, так же обновляется и поле для Pick. Цитата З.Ы про шейпы не переживайте, это у всех так. Я когда много чего двигаю, отключаю динамическое обновление, иначе можно уснуть пока на 10-ти слоях все перерисуется. да уже нечего переживать, ща все в пакетном режиме, достаточно быстро.
|
|
|
|
|
Jun 29 2011, 09:55
|

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

|
Вроде такой вариант пробовал  . Там есть закомментированные рудименты. Точно помню, что делал: создаются сегменты -> удаляются сегменты -> перемещается объект создаются сегменты -> перемещается объект -> удаляются сегменты Не помогло. А ваще надо еще разок пройтись по всем вариантам. Еще вопрос. Ведь надо сначала найти все сегменты, сохранить их, выйти из всех циклов, и только тогда можно двигать объект. Как это изящьней реализовать, куда сохранять сегменты и новые точки. Что то не лежит душа к структуре, как потом удалить тип структуры?
|
|
|
|
|
Jun 30 2011, 06:06
|

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

|
Цитата(John Silver @ Jun 29 2011, 13:52)  Не-не-не. Я иду по списку: 1 взял сегмент, удалил, в списке осталась запись, но ID:removed 2 взял сегмент, получил варнинг о первой записи, ... .... Ни обновить ID, ни удалить из списка. Такое может быть при определенных условиях, но этого можно избежать... все зависит от того как организовать список (списки) и как потом с ними работать. Я стараюсь использовать списки в первую очередь и пока ворнингов удается избегать... Кстати элементы из списков удалять можно, но опять же при определенных условиях...
|
|
|
|
|
Jun 30 2011, 08:14
|

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

|
Разобрался. Цитата Попробуй сделать так: удаляется сегмент на старом месте -> перемещается объект -> создается сегмент на новом месте. Вот так все заработало. Оказывается если создать сегмент, и его конец попадает на заливку, то теряется Net. Сдесь же получается, что конец попадает на уже сдвинутый пин, и все гуд. Еще наблюдение, если не делать вызов axlDBCloak(), то потеряем Netы. Варнинги появлялись когда терялись Net. Так и не понял в каком месте они вызывались. Сделал принудительный режим "rough" для шейпов, при нажатом чекбоксе Stretch etch. Иначе тоже можно потерять Net. Тестируйте.
|
|
|
|
|
Jul 4 2011, 06:53
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Потестил. Применительно к stretch etch ничего не нашел. Возвращаясь к моему посту №22.. Добавлю - при отрицательных значениях координаты Distribute не работает галочка Gap.
|
|
|
|
|
Jul 4 2011, 08:30
|

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

|
Цитата(Ant_m @ Jul 4 2011, 09:53)  Потестил. Применительно к stretch etch ничего не нашел. гуд Цитата Возвращаясь к моему посту №22.. Добавлю - при отрицательных значениях координаты Distribute не работает галочка Gap. Не понял, можно по шагам? Таки мы выяснили, что сползание это фича?
|
|
|
|
|
Jul 4 2011, 08:52
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Скажем так, меня как пользователя немного смущает что если я задам разный шаг(в одном случае положительный а в другом отрицательный), то команда Distribute ведет себя по разному... Получается что команды distribute = +10 и distribute = -10 не симметричны! Выполняя например 4 команды: d = +10; d = +5; d = -5; d = -10 компоненты никогда не вернутся в туже исходную точку. Про Gap: насколько я понял функция этой галочки не допускать чтобы компоненты накладывались друг на друга... Когда координаты положительны это так и есть - между компонентами всегда есть какое то расстояние. А вот если задать отрицательную координату, то компоненты легко друг на друга наложить, например задав Gap = -1(если компонент конечно не меньше 1мм). З.Ы с фичей можно смириться(это верхний абзац поста) но есть НО - эта фича судя по всему влияет на Gap, точнее скажет так: поведение Gap это последствие фичи
|
|
|
|
|
Jul 6 2011, 08:09
|
Группа: Новичок
Сообщений: 8
Регистрация: 26-06-06
Пользователь №: 18 365

|
Очень симпатичная штука, спасибо! А такой вопрос (может и ламерский): как выделить несколько компонентов для выравнивания не окном, а "поштучно" ? ctrl+pick не работает..
|
|
|
|
|
Jul 6 2011, 09:04
|
Группа: Новичок
Сообщений: 8
Регистрация: 26-06-06
Пользователь №: 18 365

|
Цитата(Uree @ Jul 6 2011, 11:35)  Temp Group... Спасибо!..
|
|
|
|
|
Jul 11 2011, 08:47
|

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

|
Цитата(sa_per @ Jul 6 2011, 11:09)  как выделить несколько компонентов для выравнивания не окном, а "поштучно" ? ctrl+pick не работает.. A что, ctrl+pick где-нибудь в Allegro PCB Editor работает? Вот решил зделать сохранение настроек. Варианты: 1 Сохранять в отдельный файл. Совсем плохой вариант. 2 Сохранять в файл allegro.ini. Вроде неплохо, но парсить текстовый файл не улыбается. 3 Сохранять непосредственно в проект, в файл .brd. ИМХО лучший вариант. Как это сделать? Какие у вас мысли на этот счет?
|
|
|
|
|
Jul 11 2011, 11:35
|

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

|
Цитата(vitan @ Jul 11 2011, 12:12)  Я думаю, что сохранять надо как раз в отдельный файл. И где его расположить, как назвать, какой формат, чем парсить? Цитата В brd не надо, т.к. не везде может быть этот скрипт, ну и хай с ним. Будет лежать в файле и никому не мешать. Зато на каждый проект отдельные настройки. Посмотрите сколько всяких "ненужных" вещей лежит в конце файла. В идеале к объекту "design" прицепить что-то вроде property, и в эту пропертю засунуть лист с настройками. Тогда отпадает гемор с парсингом текста. Цитата а в allegro.ini - т.к. не всем надо иметь автозапуск. причем сдесь автозапуск? Сохранять настройки формы хочу.
|
|
|
|
|
Jul 11 2011, 12:40
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(John Silver @ Jul 11 2011, 15:35)  И где его расположить, как назвать, какой формат, чем парсить? Все равно. Ну, расположить, разве что, в одном из тех каталогов, где остальные файлы располагаются. Цитата(John Silver @ Jul 11 2011, 15:35)  ну и хай с ним. Будет лежать в файле и никому не мешать. Зато на каждый проект отдельные настройки. Посмотрите сколько всяких "ненужных" вещей лежит в конце файла. В идеале к объекту "design" прицепить что-то вроде property, и в эту пропертю засунуть лист с настройками. Тогда отпадает гемор с парсингом текста. Будет оно кому-то мешать, или нет, еще не известно... Думается, что, скорее будет, чем нет. Кому-то и когда-то. Если у Вас трудности с парсингом текста, то почему Вы не сделаете бинарный файл? Не обязательно же его потом отдельно в текстовом редакторе править? Цитата(John Silver @ Jul 11 2011, 15:35)  причем сдесь автозапуск? Сохранять настройки формы хочу. Ну это же ini для всего аллегро.
|
|
|
|
|
Jul 11 2011, 14:29
|

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

|
Цитата(vitan @ Jul 11 2011, 15:40)  Будет оно кому-то мешать, или нет, еще не известно... Думается, что, скорее будет, чем нет. Кому-то и когда-то. В skill, например, есть функция для прикрепления файла к дизайну, т.е. включения некого файла внутрь .brd. Есть функции для работы с пропертями дизайна. Я же не собираюсь открывать файл и ручками туда что то добавлять. Вы именно так и подумали? Проблема в том, что я не вкурил все эти функции, какую лучше использовать, как? Повторюсь: в идеале к объекту "design" прицепить что-то вроде property, и в эту пропертю засунуть лист с настройками. Потом при вызове скрипта посмотреть, что у дизайна есть такая пропертя, и взять из нее все настройки. Получается 2 строчки кода: 1 посмотреть что есть, 2 забрать. Как это сделать? Цитата Ну это же ini для всего аллегро. И? Таки что мешает добавить туда свою секцию [align_script]? Но опять же, это по сути первый вариант, опять надо делать поиск по тексту, сравнение... Посему он мне не нравится.
|
|
|
|
|
Jul 11 2011, 15:42
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(John Silver @ Jul 11 2011, 18:29)  Я же не собираюсь открывать файл и ручками туда что то добавлять. Вы именно так и подумали?  Упаси Боже.  Просто если есть такая функция, то не обязательно же ее применять. Цитата(John Silver @ Jul 11 2011, 18:29)  И? Таки что мешает добавить туда свою секцию [align_script]? Но опять же, это по сути первый вариант, опять надо делать поиск по тексту, сравнение... Посему он мне не нравится. Ничего не мешает, правильно, что по сути это первый вариант. Я про скилл мао знаю, но мне рассказывали, что работа с текстом там очень простая. Кроме того, если Вам все-таки сложно, то можно же хранить все в бинарном виде. Это плохо? Я считаю, что хранить настройки инструмента в файле проекта неправильно. Вот, если бы в файле проекта сохранялись данные, относящиеся к проекту, то - да. Поэтому я за вариант 1. Так, кстати, во многих программах сделано, и хорошо, как мне кажется...
|
|
|
|
|
Jul 11 2011, 16:16
|

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

|
Цитата(vitan @ Jul 11 2011, 18:42)  то можно же хранить все в бинарном виде. Это плохо? Еще хуже, ваще не представляю, как это организовать в бинарнике. Цитата Я считаю, что хранить настройки инструмента в файле проекта неправильно. Вот, если бы в файле проекта сохранялись данные, относящиеся к проекту, то - да. Поэтому я за вариант 1. Так, кстати, во многих программах сделано, и хорошо, как мне кажется... Таки пришел я домой и проверил свои подозрения: настройки инструментов храняться в проекте. Ну или так: сохраняются для каждого проекта отдельно (а где сохраняются? Видимо в самом проекте...). Все же это нормально, например в одном проекте надо тянуть дорожки, а в другом лучше их резать.
|
|
|
|
|
Jul 11 2011, 17:43
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(John Silver @ Jul 11 2011, 20:16)  Еще хуже, ваще не представляю, как это организовать в бинарнике. Дык элементарно. В файл сохраняются параметры, которые надо. Например, галочки (по 1 биту на штуку), числа, строки. Все это тупо в любом порядке сливается в файл, а при необходимости читается в том же порядке. Обычное дело было (в старые добрые времена, теперь проклятые программисты для сохранения сливают весь дамп ОЗУ  ).
|
|
|
|
|
Jul 12 2011, 05:48
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Цитата(vitan @ Jul 11 2011, 16:40)  Будет оно кому-то мешать, или нет, еще не известно... Думается, что, скорее будет, чем нет. Кому-то и когда-то. +1e10 По законам Мерфи, cadence выкатит какой нибудь хотфикс, который будет конфликтовать с вашими добавлениями. Хорошо если выяснится сразу, а если приведет к не повторяющимся глюкам и чудесам????? Куча времени уйдет в трубу. Если не хотите использовать allegro.ini, то что мешает сделать свой файл с настройками? Лежащий рядом с allegro.ini, но имеющий свой, удобный для вас формат.
|
|
|
|
|
Jul 12 2011, 10:34
|

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

|
Ну вы блин даете... Волков бояться - в лес не ходить? Есть специальный инструмент, что бы добавить в дизайн свою инфу, так нет, низя его использовать, а то вдруг... Так может тогда не использовать юзер проперти на компонентах, и еще кучу других возможностей? А то вдруг... Были прецеденты? Посмотрите до кучи на deprecated функции в skill. Они тянутся и тянутся, обеспечивают совместимось. Вощем, не верю я, что такое может случится. По Мерфи: если, что-то плохое должно случиться, то оно случится, добавил ты инфу в дизайн или нет. Цитата настройки инструментов храняться в проекте. Что есть вери гуд!
|
|
|
|
|
Jul 12 2011, 21:26
|

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

|
Запилил сохранение настроек. По просьбам трудящихся сделал двоякий механизм. align.il: Код ; t - store settings in design ; nil - store settings in file %envpath%/align_script.ini EN_STORE_TO_DESIGN = t align_script.ini - псевдо-ини, проверка целостности не производится, так ша ручками в него лучше не лазить, а то вдруг... Зато парсить не пришлось
|
|
|
|
|
Jul 13 2011, 05:13
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Цитата(John Silver @ Jul 12 2011, 17:22)  Лучше бы задать вопрос в тех. поддержку. А то, ИМХО, форум cadence, от самой cadence оторван. В смысле что нифига они его не читают. Цитата(John Silver @ Jul 13 2011, 01:26)  Запилил сохранение настроек. По просьбам трудящихся сделал двоякий механизм. Спасибо. И все таки, хранить настройки скрипта в проекте я считаю не правильным. Например потому что, совсем не очевидно как будут работать сторонние программы с этим файлом, тот же hyperlynx. А вдруг ваша структура(строка, переменная) как то совпадут с зарезервированной, но сейчас не используемой? Все варианты вы ведь проверить не сможете. З.Ы как можно "выпилить" эти настройки из файла brd? Если они туда записались.
|
|
|
|
|
Jul 13 2011, 07:25
|

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

|
Цитата(Ant_m @ Jul 13 2011, 08:13)  Лучше бы задать вопрос в тех. поддержку. А то, ИМХО, форум cadence, от самой cadence оторван. В смысле что нифига они его не читают. И что они мне ответят? Да, вы знаете, у нас там баг на баге и багом погоняет, поэтому нее используйте эту фичу, и ваще лучше переходите на Ментор. Цитата Спасибо. И все таки, хранить настройки скрипта в проекте я считаю не правильным. Например потому что, совсем не очевидно как будут работать сторонние программы с этим файлом, тот же hyperlynx. А вдруг ваша структура(строка, переменная) как то совпадут с зарезервированной, но сейчас не используемой? Все варианты вы ведь проверить не сможете. Посмотрите сколько там уже зааттачено axlGetAllAttachmentNames(). Потом посмотрите на эти аттачи в текстовом редакторе, в конце файла. О чем это говорит? Что фича активно используется. Цитата З.Ы как можно "выпилить" эти настройки из файла brd? Если они туда записались. axlDeleteAttachment(t_attachmentId)
|
|
|
|
|
Jul 19 2011, 07:36
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
John SilverРаз уж Вы такой добрый, может сделаете нормальный инсталлятор\деинсталлятор? Установил последнюю версию (копировал файлы только в текущий каталог). Опять удалил строку про регистрацию пункта меню. После запуска из командной строки (просто "align") возникает ошибка: Код E- *Error* errsetstring: argument #1 should be a string (type template = "tgs") - nil
|
|
|
|
|
Jul 19 2011, 13:37
|

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

|
Цитата(vitan @ Jul 19 2011, 10:36)  John Silver Раз уж Вы такой добрый, Да, недаром меня назвали John Silver, что означает: "добрый, отзывчивый, и добрый... иногда" Цитата может сделаете нормальный инсталлятор\деинсталлятор? Думал об этом, но не умею. Помогайте, люди! С миру по нитке... дальше вы знаете. Велкам, так сказать. Цитата Установил последнюю версию (копировал файлы только в текущий каталог). Опять удалил строку про регистрацию пункта меню. Предлагаю вам сделать патчик, что бы не регистрировало пункт если версия, например, меньше 16. Там ничего сложного. Есть готовая функция, чтобы взять версию. А я его добавлю в главную ветку. Вам, как пользователю 15 версии, и карты в руки. С картинками решили вопрос? Цитата После запуска из командной строки (просто "align") возникает ошибка: Код E- *Error* errsetstring: argument #1 should be a string (type template = "tgs") - nil А это уже посерьезней. С какой версии скрипта это появилось? Загрузите все файлы по очереди, и посмотрите в каком файле эта ошибка.
|
|
|
|
|
Jul 19 2011, 18:57
|

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

|
Цитата(vitan @ Jul 19 2011, 10:36)  После запуска из командной строки (просто "align") возникает ошибка: Код E- *Error* errsetstring: argument #1 should be a string (type template = "tgs") - nil У меня тоже. Нет проверки на nil. Кстати это происходит только если выбрать сохранение в design. Пофиксилось это само, т.к. я запилил третий механизм сохранения настроек в design property. Сохранение в property сделал по-умолчанию. Вроде так постабильнее будет. (параноиком меня уже сделали)
|
|
|
|
|
Sep 19 2011, 13:01
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Нашел багу: После использования скрипта align перестают работать быстрые клавиши. У меня перестает работать поворот компонента - кнопка r. В env файле написано так: Код funckey r iangle 45 После использования скрипта эта запись исчезает и поворот по клавише не работает. З.Ы версия 0.8
|
|
|
|
|
Sep 23 2011, 10:41
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Только сейчас заметил что у меня не отображаются иконки выравнивания. Ясно что проблема с путями к иконкам, но не могу найти как можно установить %bmppath% в PCB editor. В User preferences его нет, в env тоже не видно, в хелпе тоже внятного ничего не написано Когда иконки лежали рядом с проектом ".", то все работало. Переносить в ".../share/local/pcb/icons" ".../share/pcb/text/icons" не хочется. Выкрутился дописав ручками в env Цитата set bmppath = $bmppath D:\Allegro\align\ Но вообще конечно странно, formpath, menupath можно изменить через UI, а bmppath нет - разработчики забыли?
|
|
|
|
|
Sep 23 2011, 14:12
|

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

|
Хм... даже не обращал внимание, использовал пути по-умолчанию. >Переносить в ".../share/local/pcb/icons" ".../share/pcb/text/icons" не хочется. Почему? И так и так через ж. Вот китайские друзъя подкинули "инсталятор". Потом вкину в репозиторий.
|
|
|
|
|
Nov 3 2011, 07:00
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Опять "быстрые" клавиши - после использования выравнивания кнопка F3 меняет свое значение. (а у меня на нее fix назначен). Код alias F3 alnOops Версию сказать не могу, в заголовках файлов видимо не заменились переменные. Дата изменения файлов 20.09.2011 20:45 Цитата ; ; $Source$ $Revision$ $Branch$ $Rev$ ; $Author$ $Date$
|
|
|
|
|
Nov 8 2011, 12:26
|

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

|
Цитата(Ant_m @ Nov 3 2011, 10:00)  Опять "быстрые" клавиши - после использования выравнивания кнопка F3 меняет свое значение. (а у меня на нее fix назначен). Надо шаги. Я так понял: 1 назначить в env функцию на F3 2 для функции "oops" в env нету горячей клавиши 3 попользовать Align 4 выйти из Align ошибка: после шага 4 на кнопке F3 висит "oops" должно быть: после шага 4 на кнопке F3 висит функция прописанная в env файле. Я все правильно понял?
|
|
|
|
|
Nov 8 2011, 20:17
|

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

|
Ну, собственно, уже поправил. Проверяйте. Сам не проверял, ибо много гемора с воспроизведением, тупо сохранил все кнопки, а потом их восстановил.
Интересная особенность bitbucket-а, если скачать версию со вкладки downloads, то все ключевые слова ($Revision: $ и т.п.) очищаются. Если сделать hg clone, то все гуд, все на месте. Баг или фича...
|
|
|
|
|
Nov 9 2011, 05:24
|
Знающий
   
Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765

|
Да, правильно поняли. Про шаги учту. Сейчас попробую. Спасибо. --------- Проверил - работает
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|