Нод SetLocation

Помечено: 

В этой теме 3 ответа, 1 участник, последнее обновление  Dmitry Shelyago 1 год, 7 мес. назад.

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Сообщения
  • #6644 Score: 0

    Dmitry Shelyago
    Участник
    1 pt

    Добрый день! Наткнулся на одну проблемку, не знаю, может кто сталкивался, сначала предыстория:

    Решаю задачу с копированием кабельных лотков и их соеденителей( чтобы в последствии поменять типоразмер и сделать их “кабелем”)

    Алгоритм для вертикальных соеденительных: Выделяются отдельно соеденители. Затем берётся их местоположение и через нод Element.CopyByVector (пакет Clockwork) делается копия. Потом уже меняю координаты нового элемента относительно старого с приростом по Z всегда 50(высота лотка), а по Х взависимости от угла наклона соединительного элемента(50 * тангенс половины угла).

    Проблема вот в чём: что иногда новый элемент должен смещаться влево, иногда вправо(на скрине должен влево). Добавил проверку на пересечение элементов, если пересекается премещал бы элемент в противоположную сторону. Но получается проверяет он оригинал и новый элемент до того как у него поменяется расположение, так как на выходе нода SetLocation мы не получаем элемента. Можно как-то получить на выходе этого нода элемент? или  может быть как-то по иному сделать?

     

    P.S. могу более подробно описать алгоритм если нужно. Но там вроде не сложно. Прилагаю файл тестовый и саму программу.

    https://yadi.sk/d/6w5C9EDs3MgMZp – скрипт

    https://yadi.sk/d/NSXgchh43MgMvf – тестовый файл.

    #6646 Score: 0

    Dmitry Shelyago
    Участник
    1 pt

    Забыл скриншоты прицепить. На первом видно, что новый лоток не перемещён.

    #6647 Score: 0

    Dmitry Shelyago
    Участник
    1 pt

    А всё, разобрался, вектор по другому сделал, по начальной и конечной точке вставки элемента.

    Спасибо.

     

    #6661 Score: 0

    Dmitry Shelyago
    Участник
    1 pt

    А кто-нибудь знает как работает нод Geometry.DoesIntersect ? он баундинг боксы строит?

    почему-то всегода выдаёт “true”  , даже если объекты не пересекаются(зазор 1 мм между соеденительными деталями лотков) 

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)

Для ответа в этой теме необходимо авторизоваться.