JohnSilver 1 29 июня, 2011 Опубликовано 29 июня, 2011 · Жалоба Вроде такой вариант пробовал :(. Там есть закомментированные рудименты. Точно помню, что делал: создаются сегменты -> удаляются сегменты -> перемещается объект создаются сегменты -> перемещается объект -> удаляются сегменты Не помогло. А ваще надо еще разок пройтись по всем вариантам. Еще вопрос. Ведь надо сначала найти все сегменты, сохранить их, выйти из всех циклов, и только тогда можно двигать объект. Как это изящьней реализовать, куда сохранять сегменты и новые точки. Что то не лежит душа к структуре, как потом удалить тип структуры? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Old1 0 29 июня, 2011 Опубликовано 29 июня, 2011 · Жалоба ... Еще вопрос. Ведь надо сначала найти все сегменты, сохранить их, выйти из всех циклов, и только тогда можно двигать объект. Как это изящьней реализовать, куда сохранять сегменты и новые точки... Можно использовать список ( list ) , он вроде-бы может содержать любые типы данных, включая списки... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 29 июня, 2011 Опубликовано 29 июня, 2011 · Жалоба Делал :) Во время итерации для удаления, выдается варнинг об отсутствующем ID (который удалили на предыдущем шаге). Не красиво, загрязняют консоль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Old1 0 29 июня, 2011 Опубликовано 29 июня, 2011 · Жалоба Делал :) Во время итерации для удаления, выдается варнинг об отсутствующем ID (который удалили на предыдущем шаге). Не красиво, загрязняют консоль. перед тем как что-то делать проверяй этот dbid существует или нет, тогда ворнингов не будет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 29 июня, 2011 Опубликовано 29 июня, 2011 · Жалоба Не-не-не. Я иду по списку: 1 взял сегмент, удалил, в списке осталась запись, но ID:removed 2 взял сегмент, получил варнинг о первой записи, ... .... Ни обновить ID, ни удалить из списка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PCBinAquarium 0 29 июня, 2011 Опубликовано 29 июня, 2011 · Жалоба Джон, спасибо. то что вы делаете весьма полезно. Не могли бы вы выложить последний вариант вашего кода align? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 29 июня, 2011 Опубликовано 29 июня, 2011 · Жалоба В первом посте есть ссылка, там идете на вкладку Downloads, и выкачиваете необходимую версию. Устаканившемуся коду я присваиваю tag, например "0.5". Текущая версия имеет тег "tip". Иногда (редко) bitbucket не доступен, как сегодня перед обедом было. Но это очень редко и не надолго. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Old1 0 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба Не-не-не. Я иду по списку: 1 взял сегмент, удалил, в списке осталась запись, но ID:removed 2 взял сегмент, получил варнинг о первой записи, ... .... Ни обновить ID, ни удалить из списка. Такое может быть при определенных условиях, но этого можно избежать... все зависит от того как организовать список (списки) и как потом с ними работать. Я стараюсь использовать списки в первую очередь и пока ворнингов удается избегать... Кстати элементы из списков удалять можно, но опять же при определенных условиях... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 30 июня, 2011 Опубликовано 30 июня, 2011 · Жалоба Разобрался. Попробуй сделать так: удаляется сегмент на старом месте -> перемещается объект -> создается сегмент на новом месте. Вот так все заработало. Оказывается если создать сегмент, и его конец попадает на заливку, то теряется Net. Сдесь же получается, что конец попадает на уже сдвинутый пин, и все гуд. Еще наблюдение, если не делать вызов axlDBCloak(), то потеряем Netы. Варнинги появлялись когда терялись Net. Так и не понял в каком месте они вызывались. Сделал принудительный режим "rough" для шейпов, при нажатом чекбоксе Stretch etch. Иначе тоже можно потерять Net. Тестируйте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 1 июля, 2011 Опубликовано 1 июля, 2011 · Жалоба Пофиксил баг. Если к пину подходит несколько дорожек, то при перемещении тянется только одна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ant_m 0 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба Потестил. Применительно к stretch etch ничего не нашел. Возвращаясь к моему посту №22.. Добавлю - при отрицательных значениях координаты Distribute не работает галочка Gap. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба Потестил. Применительно к stretch etch ничего не нашел. гуд Возвращаясь к моему посту №22.. Добавлю - при отрицательных значениях координаты Distribute не работает галочка Gap. Не понял, можно по шагам? Таки мы выяснили, что сползание это фича? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ant_m 0 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба Скажем так, меня как пользователя немного смущает что если я задам разный шаг(в одном случае положительный а в другом отрицательный), то команда Distribute ведет себя по разному... Получается что команды distribute = +10 и distribute = -10 не симметричны! Выполняя например 4 команды: d = +10; d = +5; d = -5; d = -10 компоненты никогда не вернутся в туже исходную точку. Про Gap: насколько я понял функция этой галочки не допускать чтобы компоненты накладывались друг на друга... Когда координаты положительны это так и есть - между компонентами всегда есть какое то расстояние. А вот если задать отрицательную координату, то компоненты легко друг на друга наложить, например задав Gap = -1(если компонент конечно не меньше 1мм). З.Ы с фичей можно смириться(это верхний абзац поста) но есть НО - эта фича судя по всему влияет на Gap, точнее скажет так: поведение Gap это последствие фичи :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 4 июля, 2011 Опубликовано 4 июля, 2011 · Жалоба Все равно не понял в чем баг. Функция Gap состоит в другом: - используется только для DistributeH и DistributeV - служит для распределения зазоров между границами компонентов Т.о. при включенном Gap можно взять разнородные компоненты, распределить, и зазоры станут равны. Если же не использовать Gap, то распределение будет вестись между точками (например центрами), и зазоры между границами разнородных компонентов будут разными. Посмотрите в коде align_do.il, как используется переменная _formData->useGap. Использование отрицательных координат: - выстройте по горизонтали 10 элементов (резистор 0805) - включите Gap - в поле DistributeV введите "-20" mill (активируйте поле) - нажмите Distribute, получится красивая лесенка. Зазор у соседних элементов между верхней границей нижнего элемента и нижней границей верхнего элемента будет =-20mill. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sa_per 0 6 июля, 2011 Опубликовано 6 июля, 2011 · Жалоба Очень симпатичная штука, спасибо! А такой вопрос (может и ламерский): как выделить несколько компонентов для выравнивания не окном, а "поштучно" ? ctrl+pick не работает.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться