Как выровнять расстояние между элементами

Главная Форумы Задать вопрос Как выровнять расстояние между элементами

Просмотр 15 сообщений - с 1 по 15 (из 24 всего)
  • Автор
    Сообщения
  • #5285 Score: 0
    txt
    Модератор
    86 pts

    Выбрав несколько элементов в Ревит (например несколько параллельных труб с произвольными расстояниями) как в динамо выровнять расстояние между ними на заданное значение?

    В самом Ревит можно сделать так: вынести размеры между элементами и щелкнуть по значению размера “EQ”

    #5286 Score: 0
    Legantmar
    Хранитель
    475 pts

    нет такого понятия как “выровнять расстояние” ))
    правильно писать – подвинуть элементы так, чтобы между ними было заданное расстояние … и вопрос сразу снят )))

    #5287 Score: 0
    txt
    Модератор
    86 pts

    Безмерно рад тому, что вы меня поправили). Так а  что по существу вопроса?

    #5288 Score: 0
    Legantmar
    Хранитель
    475 pts

    вычисляешь расстояния и двигаешь трубы )) (я предполагал, что это очевидно из предыдущего ответа)

    #5289 Score: 0
    txt
    Модератор
    86 pts

    Ах вон оно что… ну что ж , попробуем помучить Динамо…

    #5290 Score: 0
    txt
    Модератор
    86 pts

    возник вопрос: как задать порядок выбора элементов в определенном порядке , направлении , скажем слева -направо, сверху -вниз или наоборот… то есть по порядку как расположены элементы на виде ревит. Если просто выбрать рамкой все элементы через ” select model elements” т то порядок будет естественно произвольный (по возрастанию номера ID или вроде того) чтобы можно было поочередно определить расстояния между элементами

    #5291 Score: 0
    Legantmar
    Хранитель
    475 pts

    и ? какие мысли? ))

    #5292 Score: 0
    txt
    Модератор
    86 pts

    возможно есть нод который определяет ближайший идентичный элемент

    #5293 Score: 0
    txt
    Модератор
    86 pts

    либо поочередно замерять расстояния от одной трубы до всех и вычислить наименьшее расстояние…есть вроде нод перебор всех возможных варинатов

    #5294 Score: 0
    Legantmar
    Хранитель
    475 pts

    я такого не знаю, но видел нод определяющий Location (координаты расположения)

    p.s. а причем тут наименьшее расстояние? или ты уже правила меняешь..

    #5295 Score: 0
    txt
    Модератор
    86 pts

    Беру первый элемент в списке предоставленным SElsection in view (вернее твоим аналогом) и нахожу ближайшие элементы на заданном расстоянии (видимо так) , получаю список элементов , первый из которых вероятно и есть ближайший фильтрую и выбираю его…

    Вообщем , задача далее такая …мне это условие надо как то зациклить по всем элементам с сохранением результата…не знаю как сделать..вот для одного элемента :

    #5296 Score: 0
    Legantmar
    Хранитель
    475 pts

    не видел “красивых циклов” в Dynamo (хотя нод вроде как есть), начинай изучать Python
    допустим ты нашел все ближайшие друг к другу элементы и даже как-то измерил расстояния между ними… что дальше?

    #5297 Score: 0
    txt
    Модератор
    86 pts

    далее учитывая расстояние между элементами сдвинул бы каждый элемент в заданном направлении (это направление совпадает с вектором -перпендикуляром от одной параллельной трубы до другой (это видимо можно определить) .

    Пусть расстояние между тремя трубами такое :    труба 1 ——-5мм (L)———Труба 2——-10мм (L)——-Труба 3

    мне допустим нужно чтобы между ними было по L_новое=7 мм…

    Если L между трубами < L_новое , то L_новое=Lновое – L =7-5=+2 мм – на такое расстояние труба 2 <span style=”text-decoration: underline;”>И труба 3</span> будем смещена по вектору в направлении к трубе 3

    Если L > L_новое, то  L_новое=Lновое – L =5-10=-5 мм – на такое расстояние труба 3 будем смещена в противоположном направлении того же вектора

    #5298 Score: 1
    Legantmar
    Хранитель
    475 pts

    мыслишь правильно..
    но я бы:
    – определил ТЕКУЩИЕ координаты X или Y для каждого элемента,
    – отсортировал элементы по расположению,
    – определил расстояние между крайними (максимальное расстояние)
    – поделил бы на количество n-1 (если нужно сделать аналог “EQ”)
    – определил НЕОБХОДИМЫЕ координаты X или Y для каждого элемента
    и далее перемещал бы в эти координаты

    #5299 Score: 0
    Legantmar
    Хранитель
    475 pts

    у меня получилось вот так
    https://yadi.sk/i/AN58Wv-x3FnaBY
    (ссылка временная)
    (все слЯпил только из нодов, хотя часто балуюсь python)
    делиться пока не буду, посмотрю, что у тебя получится.

Просмотр 15 сообщений - с 1 по 15 (из 24 всего)
  • Для ответа в этой теме необходимо авторизоваться.