Ant_m 0 3 июня, 2011 Опубликовано 3 июня, 2011 · Жалоба В опциях команды Move поставить галочку Stretch etch. Но тогда, чтоб вопрос не возникал, ratsnets не будут тянуться за компонентом во время перемещения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 3 июня, 2011 Опубликовано 3 июня, 2011 · Жалоба :) В команде axlTransformObject( lo_dbid/o_dbid ?move l_deltaPoint ?mirror t/nil ?angle f_angle ?origin l_rotatePoint ?allOrNone t/nil) ) нет галочек. Сделал горячую кнопку для Oops. Свежий архивчик: align.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Old1 0 3 июня, 2011 Опубликовано 3 июня, 2011 · Жалоба ... А как сделать, что бы дорожки не рвались, а тянулись за компонентом, переходным? Сделать можно. В общих чертах порядок действий например такой: -выделяем символ (и определяем его dbid); -берем список пинов (атрибут pins); далее для каждого пина -берем атрибут branch; -у взятого бранча берем атрибут children ( это список ); -проверяем полученный список на наличие объекта типа path, если такой объект или объекты присутствуют, то к пину проведена дорожка или дорожки; -у каждого объекта path берем список сегментов из которых он состоит (атрибут segments); -перебираем список сегментов и находим тот который выходит из пина (у каждого семента проверяется атрибут startEnd, это список с координатами начала и конца сегмента, координаты пина можно определить, взяв атрибут xy); - зная смещение символа ( пина) вычисляем новые координаты сегмента; - двигаем символ; - удаляем прилегающий к пину сегмент ( axlDeleteObject ); - создаем сегмент с посчитанными координатами ( axlDBCreateLine ). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 4 июня, 2011 Опубликовано 4 июня, 2011 · Жалоба Жесть, может когда нибудь сделаю... А вот какой баг я нашел: - выставте десяток элементов по вертикали, координаты X должны быть различными - нажмите "Распределить по вертикали", настройки распределения не важны - элементы выстраиваются, но при этом перемешиваются - таже ситуация и для распределения по горизонтали Посмотрел на код, вроде должны сортироваться по возрастанию, а получается, что нет. Сортировка происходит в функции orderByY (objectList), при этом используется стандартная процедура sort( objectList 'comparePositionY ). Где косяк??? Я не вижу. Может sort имеет какой-нибудь ньанс в работе? PS горячая клавиша для Oops при повторной загрузке скрипта не работала. Исправил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 4 июня, 2011 Опубликовано 4 июня, 2011 · Жалоба Пофиксил, вкомитал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 6 июня, 2011 Опубликовано 6 июня, 2011 · Жалоба Давно хотел что-то подобное сделать, только все никак руки не доходили. Выравниваю по-старинке, кликами мышкой по компонентам с привязкой к сетке... Скажите, а особых требований к версии нету (по скриншотам вижу, что 16)? У меня просто 15.х... Ну как, работает в 15 версии? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ant_m 0 10 июня, 2011 Опубликовано 10 июня, 2011 · Жалоба John Silver Нашел мелкий баг. Компоненты "сползают" вниз, если использовать Distribute с отрицательным Step. Например Step = -4, применяем. Потом делаем Step = -8, применяем. Еще раз делаем Step = -4, и видим что компоненты на прежнее место не вернулись - ушли ниже. Это если для Vertical, для Horizontal работает аналогично. Есть еще предложение - можно ли сделать выбор компонента, относительно которого происходит равнение других? Т.е чтобы этот компонент всегда оставался на месте, а другие равнялись на него? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 10 июня, 2011 Опубликовано 10 июня, 2011 (изменено) · Жалоба За баг спасибо, посмотрю. Про фиксированный компонент. Я например не вижу, как это будет выглядеть в UI, не представляю алгоритм. Предлагайте алгоритм, UI. Может лучше использовать отдельный скрипт (вроде align_sym.il, в интернетах лежит)? Вот я попользовался скриптом (в кои-то веки) и понял, что Align и Distribute располагать на разных "вкладках" не удобно. Но, с другой стороны, место на панельке нету. Кто предложит другой UI? PS align_sym.il лежит сдесь на ftp (по крайней мере гугль так сказал) PPS Нашел скрипт (как раз для сдвига с привязкой к компоненту): move_snap.rar Изменено 10 июня, 2011 пользователем John Silver Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 10 июня, 2011 Опубликовано 10 июня, 2011 · Жалоба Нашел мелкий баг. Компоненты "сползают" вниз, если использовать Distribute с отрицательным Step. Это не баг, это фича ;) Ведь при каждой следующей итерации, снизу оказывается уже другой компонент. А фиксируется, как раз самый нижний. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 19 июня, 2011 Опубликовано 19 июня, 2011 · Жалоба Ну вот я и переборол свою лень, и перепилил UI. Теперь все действия в одном флаконе. Оценивайте. Скачивать по-прежнему сдесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость PotHead 20 июня, 2011 Опубликовано 20 июня, 2011 · Жалоба John Silver, сколько Вы потратили на всю эту работу времени ? И сколько Вы с этого заработали ? А.... гордость - какой я крутой конструктор или ой как интересно конструировать ? Гордость в карман не положишь, а ой как интересным сыт не будешь ! Вот из-за таких людей как Вы, убивающих бесплатно вечерами свое время (а обычно овертайм оплачивается по ставке х1.5) электронщики - бомжовская специальность. Приходит человек на работу чтобы денег заработать, а там сидит вот такой бобер, влюбленный в паялник и компилятор, ой как интересно котнструировать ! Забился в свою норку и лишь бы его палкой не трогали. Дорочась в комп вечерами и выкладывая на халяву результаты своей пререработки убивыющей ваше здоровье, Вы рубите сук на котором Вы сидите. А потому-что завтра на ваше место возмут студента, котрыый вызубрил все ваши знания, за 1/3 вашей зарплаты, а Вы с производсвенной близорукостью и геммороем пойдете на улицу как отраобанный материал. Кто хочет научится - тот научится и будет ценить свои знания, зарабатывать с их помощью денги и не разбрасыватся ими налево и направо за гордость. А везде ходить и учите всех и вся за спасибо - это себе-же хуже делаете. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 20 июня, 2011 Опубликовано 20 июня, 2011 · Жалоба О! Вот кого нам не хватало в этой теме, встречаем PotHead'а! Он сейчас нас научит, как и что надо делать, а главное сколько это должно стоить в денежном выражении! А еще он нам расскажет, кто и какие должен преследовать цели, когда раздает бесплатно код. По моему скромному мнению у кого-то батхерт, кто-то не может заработать себе немножко денюшкав на бутербродик с икоркой, кто-то уже заработал гемморрой, и попа-боль не дает ему покоя. А может он действительно бескорыстно хочет помочь сообществу, хочет предостеречь нас...? В любом случае, дорогой PotHead, это флуд и офф, и я не хочу его видеть в этой теме. PS Ну и конечно же есть здравое зерно. vitan где отзыв про работоспособность в 15 версии? (кстати, спасибо за протекцию) Есть еще предложение - можно ли сделать выбор компонента, относительно которого происходит равнение других? Т.е чтобы этот компонент всегда оставался на месте, а другие равнялись на него? Ant_m, почему бы Вам не предложить нам, как это должно работать. Расскажите свое видение этого вопроса. to ALL удобен ли новый интерфес, аль старый был лучше? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ant_m 0 21 июня, 2011 Опубликовано 21 июня, 2011 · Жалоба Свое видение? Постараюсь внятно изложить... В общем то, у вас все сделано, нужно только добавить фичу))) Для ясности опишу как вижу алгоритм когда выравнивание, например, к верху: - пользователь выделяет компоненты и нажимает align top; - скрипт ищет компонент с самой большой координатой Y; - скрипт поднимает(сдвигает) другие компоненты на такую же высоту. Теперь чего хочу я: а хочу я чтобы компоненты выстраивались по указанной, заданной пользователем координате. Тогда будет всего 2 варианта выравнивания либо горизонтально, либо вертикально. Вот как я это представляю: - пользователь выделяет компоненты, для выравнивания; - пользователь указывает координату, тут есть 2 варианта: -- "абстракная координата", т.е пользователь тыкает мышью в "пустое" место. На практике такое не нужно. -- координата компонента, причем любого другого, он не входит в группу выделенных компонентов. (можно конечно сделать чтобы и входил в группу выделенных, но кажется это лишние, и не нужные сложности) - пользователь указывает как он хочет равнять: вертикально или горизонтально (соответственно алгоритму нужна будет либо X либо Y); - скрипт выстраивает компоненты по указанной координате. При этом уточняю, что у компонентов меняется лишь одна координата. Собственно и все. Кажется это не сложно реализовать, хотя могу ошибаться... Если хотите я могу снять ролик как это делается вручную, для лучшего понимания. На практике эту кучу действий приходится делать вручную, когда выстраиваешь компоненты по "линеечке". Зачастую эта "линеечка" задается положением одного компонента на плате. З.Ы как это привязать к UI... Порядок действий не обязателен, поэтому можно сделать например так: сделать 2 кнопки: вертикальное и горизонтальное выравнивание. пользователь тыкает в кнопку, затем указывает группу компонентов. Потом его просят ткнуть мышкой для выбора компонента. Дальше работает скрипт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 21 июня, 2011 Опубликовано 21 июня, 2011 · Жалоба О! Вот кого нам не хватало в этой теме, встречаем PotHead'а! Не обращайте внимания. У него последний месяц болезнь попустила немного, начал философствовать. Пытается зацепить демагогией. Скоро ему выделят отдельную ветку, будет сам с собой разговаривать. А может, посчитает время, которое потратил, переведет в деньги, ужаснется и смоется... vitan где отзыв про работоспособность в 15 версии? (кстати, спасибо за протекцию) Не за что. :) У меня не получилось установить. Команда skill load "align.il" выдает ошибку "undefined function axlUIMenuRegister" Очевидно, с предыдущей функцией проблем не возникло, непонятно только, что в этой не так. UPD. Вроде, заработало, эту функцию я убрал. Теперь вызывать можно только из командной строки. При этом в панельке опций картинки не возникли, есть только кнопки и окошки, хотя я bmp-шники честно скопировал во все места. Само выравнивание, похоже, работает. Я тоже хочу присоединиться к предложению Ant_m. Было бы очень правильно, если была бы возможность выравнивать по компоненту, т.е. как бы по образцу. И еще есть вопрос: а нельзя ли сделать так, чтобы после нажатия Oops после выравнивания с выбранных компонентов не сбрасывалось выделение и они продолжали бы оставаться выделенными? Это чтобы выровнять по-другому, если ошибся. А то приходится снова выделять компоненты, temp group и т.п.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 21 июня, 2011 Опубликовано 21 июня, 2011 · Жалоба З.Ы как это привязать к UI... Порядок действий не обязателен, поэтому можно сделать например так: сделать 2 кнопки: вертикальное и горизонтальное выравнивание. пользователь тыкает в кнопку, затем указывает группу компонентов. Потом его просят ткнуть мышкой для выбора компонента. Дальше работает скрипт. Вот теперь и я увидел, как это может работать. 1 На форме чекбокс (кнопки Done, Oops... придется удалить, появится место) для перехода в режим привязки по компоненту. Жмем его. 2 Появляется 2 кнопки и 2 поля для фиксированных координат (поля не активны, включим их 2-мя чекбоксами). 3 Выбираем объекты. 4 Жмем действие, получаем приглашение для указания привязки к объекту или точке. (Сдесь будут проблемы, у нас уже есть выбранные обекты, придется сбрасывать и потом восстанавливать их) 5 Тыркаем выбирая привязку. Ву-а-ля. 6 Восстанавливаем выделение? 7 Если активны поля для фиксированных координат: жмем действие и сразу выстраиваемся. Вроде неплохо получается? Команда skill load "align.il" выдает ошибку "undefined function axlUIMenuRegister".... картинки не возникли ... Посмотрите доки в своей версии, что они говорят? (никто кроме Вас это не сделает) В коде есть заглушка для формы в отдельном окне, попробуйте, может появятся картинки. 2 строки раскоментировать, одну закоментировать. а нельзя ли сделать так, чтобы после нажатия Oops после выравнивания с выбранных компонентов не сбрасывалось выделение Хорошее предложение, надо будет сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться