Копирование значения параметров из одного элемента в другой
Главная › Форумы › Задать вопрос › Копирование значения параметров из одного элемента в другой
- В этой теме 39 ответов, 7 участников, последнее обновление 6 лет назад сделано
JON73.
-
АвторСообщения
-
Не знал, спс
артём
УчастникПодскажите, а каким образом можно перенести комментарий из стены, вдоль которой располагается стенка отделки? Хочу сделать это с той целью, что часто в зависимости материала стены меняется материал отделки. Тогда можно было бы обойтись параметром в стене и значение из него перенести в стенку отделки. спасибо!
Я так понимаю стена основная( к примеру несущая) имеет комментарий,это один элемент,другая стена присоединяется к ней -это стена отделка.Можно путем выбора основной стены(по комментарию или ручной выбор) и выбора отделки перекопировать значение комментария.
артём
УчастникВы все понимаете абсолютно верно. Я просто только начинаю осваивать динамо и пока совсем не представляю, как именно это сделать. Есть возможность показать скриншот примерного скрипта?
Завтра попробую сделать.Если можете скиньте файл ревит с образцами стен с заполненными комментариями. У меня ревит 2018.
Я смог пока выделить все стены и распределить из по значению комментария.Дальше нужна логика по присвоению комментарий для отделки.
артём
Участникhttps://drive.google.com/open?id=1G0RMw6t8HldW1HzXJaGhUw5ubjRuPEs8 Здесь лежит проект, в 3д виде “1-й этаж” в принципе будет понятно, о чем идет речь. Розовые стеночки там — это отделка. И в них нужно перенести параметр “тип стены” из стен, вдоль которых они стоят. Не знаю, можно ли автоматизировать процесс основываясь на том, что стена отделки пересекается с основной стеной (и использовать это пересечение, чтобы указать, какой именно стене нужно вписывать параметр). Но рад буду даже самому простому скрипту. Спасибо большое!
Вопрос по фразе:”И в них нужно перенести параметр “тип стены” из стен, вдоль которых они стоят”.
-“тип стены” это текст,который надо присвоить стене-отделка в параметр “Комментарии”?
артём
УчастникЯ создал отдельный параметр в проекте, он называется “Тип стены”. Он есть у всех стен (и основных, и отделочных). И по сути нужно перенести то, что вписано в этот параметр в общих стенах, в отделочные. По логике — если отделочная стена стоит вдоль, условно, Жб стены, то у нее должен появиться текст “Жб стена” в параметре “Тип стены”. В самой жб стене он прописан в параметре “Тип стены”. Спасибо
Понятно,буду смотреть.
Проект твой с рабочими наборами, я не вижу стен ни где. Давай свою почту я вышлю простой стандартный проект АР уже со стенами, ты создашь там параметр как хочешь и я уже буду с ним работать.Первоначальный скрипт надо писать на простом проекте,потом доводить уже конкретно под свои запросы.
Насчет параметра “Тип стен” я увидел его в параметрах твоего проекта.Считаю это не правильный подход.Т.к. надо будет заполнять его для всех элементов стен в ручную или через спецификацию и т.д. В стенах уже есть свободный параметр- Комментарий к типоразмеру.У типоразмера есть структура с названием, к примеру Кирпич, монолит и т.д.Можно просто заполнить каждый тип стен по этому названию и не надо будет с элементами работать.В своем файле я так и сделал.Если не устраивает,то делай как тебе надо.
Моя почта sashtet@eandex.ru пиши ,здесь пока не зачем флудить.
вот один из вариантов решения задачи
- выбираем все стены
- определяем несущие стены по имени стены
- фильтруем стены на несущие и отделочные
- получаем боуидинбоксы стен
- проверяем на пересечение отделочных стен с несущими, т.к. возможна отделка с 2-х сторон несущей стены
- получаю индексы стен с которыми найдены пересечения и группирую по ним отделочные стены
- считаю сколько стен пересекается с несущими стенами
- получаю значение из параметра “Тип стены”
- копирую значение необходимое кол-во раз
- записываю значение в параметр “тип стены” отделочных стен
Насчет “Комментария к типоразмеру” возможно это будет неудобно т.к. это параметр типоразмера, а отделочная стена может быть одна для разных типов несущей стены. И тогда это создаст проблемы. поэтому с параметром экземпляра будет проще работать.
Все стены в проекте Ненесущие.Я иду по пути определения векторов геометрии по параллельности,затем сравнения по дистанции, которая будет равна сумме половин толщин соседних стен.
Насчет параметра я понимаю, что в таком виде ни как нельзя делать.
Надо делать параметр для стен отделки и основных стен параметром элемента и после сравнения по толщинам и параллельности переносить в стены отделка.
Как такое решение?
в моем сообщении можно легко заменить слово несущие на основные.
насчет параметра думаю было бы неплохо совместить параметр типа и экземпляра, т.е. в основных стенах прописать параметр типа, т.к. они не будут меняться. а для отделочных стен создать параметр экземпляра.
слегка усложнил предыдущий скрипт
- выбираем все стены
- определяем основные стены по имени стены, необходимо чтобы основные стены имели в имени характеризующий их текст, типо “Основные”
- фильтруем стены на основные и отделочные
- получаем расположение стен
- определяем расстояния от отделочных стен до основных
- разворачиваю список
- получаю тип основных стен
- получаю ширину основных стен, и получаю размер с которым будем сравнивать значения из п.6 (50мм допуск)
- сравниваю п.6 и п.8
- разворачиваю список обратно
- получаю индексы стен с которыми найдены пересечения и группирую по ним отделочные стены
- получаю значения из типа стены, в данном случае это “Комментарии к типоразмеру”
- считаю сколько стен пересекается с несущими стенами и дублирую значение необходимое кол-во раз
- записываю значение в параметр экземпляра “тип стены” отделочных стен
считаю что параллельность в данной задаче не существенна, т.к. стены имеют существенную длину, и расстояний между ними будет достаточно
На Аппсторе выложен бесплатный плагин для пакетного переноса параметров из одного семейства во все другие прямо в проекте.
https://apps.autodesk.com/RVT/ru/Detail/Index?id=210498747647544949&appLang=en&os=Win64
Только в том случае, когда эти параметры общие – они превращаются в простые…
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.