Копирование значения параметров из одного элемента в другой

Главная Форумы Задать вопрос Копирование значения параметров из одного элемента в другой

Просмотр 15 сообщений - с 1 по 15 (из 40 всего)
  • Автор
    Сообщения
  • #5761 Score: 0
    Семен
    Участник
    5 pts

    Всем привет. Прошу помощи в написании скрипта dynamo. Хочу копировать значения пары параметров из одного элемента в другой, соседний (контекст: в системе ОВ УЖЕ проставлены значения параметрам, при вставке регулирующей арматуры нужно сразу вбивать вставленному элементу те же значения, что и у соседнего). Попытался кое-что изобразить, но оно плохо работает. Получившийся скрипт может записать значение в параметр по два раза, если выделить не два, а больше элементов и я не знаю, как сделать предварительное обнуление. Да и вообще, наверняка вся конструкция сомнительна. Как его можно улучшить или переделать? Спасибо

    #5762 Score: 0
    ИваСерж
    Хранитель
    134 pts

    Вопросы:

    1. Каким образом будете элементы выбирать? Вручную? Тогда задача очень простая
    #5763 Score: 0
    Семен
    Участник
    5 pts

    Слишком много движений мышкой. Хочу выбирать элементы за одно движение через ElementS и в скрипте автоматически выбирать исходный и целевой (или целевые). А еще лучше выбирать не этим нодом, тк он не позволяет использовать Ctrl и Shift, а просто выбрать в ревит любыми способами и нажать кнопку Запуск. Прогресс уже разработал такую фишку?

    #5764 Score: 0
    Ренат Я.
    Модератор
    79 pts

    Семен, не совсем понял, что и куда надо вставлять и откуда это брать. нужна ли последовательность? или просто в соседние надо скопировать?
    можете скинуть часть модели и на скрине показать основные действия, которые должен делать скрипт?

    #5765 Score: 0
    Семен
    Участник
    5 pts

    Поясню еще разок, какую последовательность действий человека я жажду автоматизировать:

    1. Выбрать исходный Элемент_А;
    2. Скопировать значение Параметра_1;
    3. Выбрать целевой Элемент_Б;
    4. Вставить скопированное значение в Параметр_1 целевого Элемента_Б;
    5. Снова выбрать исходный Элемент_А;
    6. Скопировать значение Параметра_2;
    7. Снова выбрать целевой Элемент_Б;
    8. Вставить скопированное значение в Параметр_2 целевого Элемента_Б.
    #5766 Score: 0
    Ренат Я.
    Модератор
    79 pts

    элемент А от Б отличается? элементы А и Б идут друг за другом, пересекаются(соединяются)?

    #5767 Score: 0
    Семен
    Участник
    5 pts

    #5768 Score: 0
    Семен
    Участник
    5 pts

    Элемент_А это воздуховод, в котором проставлены значения параметров 1 и 2. Я вставляю в этот воздуховод Элемент_Б – клапан, в котором значения параметров 1 и 2 пустые.

    #5769 Score: 0
    ИваСерж
    Хранитель
    134 pts

    Автоматизировать задачу возможно.
    для себя формулирую задачу:
    1. Найти все клапаны в проекте
    2. Найти все воздуховоды в проекте
    3. Определить пару: ближайший воздуховод и ближайший клапан
    4. Сделать “обмен” параметрами в паре.

    Задача для первого скрипта в Динамо сложная. Тут без знаний питона не обойтись.
    п.3 решается сравниванием координат коннекторов воздуховодов и фитингов. На реализацию скрипта пошагово с Вашей подготовкой уйдет минимум неделя. Надо будет перечитать RevitApi, разобраться в Питоне, понять как работает ДотНет. Готовы на такое?
    Если да, то для начала получите все воздуховоды и все коннекторы этих воздуховодов.

     

    #5770 Score: 0
    ИваСерж
    Хранитель
    134 pts

    Полистал РевитАпи. Можно воспользоваться методом IsConnectedTo.
    Т.е. найти все фитинги. Найти коннекторы фитингов.
    Для первого попавшегося фитинга найти к какому коннектору воздуховода он подключен методом Connector.Owner. Получаем пару фитинг-воздуховод и идем в простой пункт 4.

    #5771 Score: 1
    Ренат Я.
    Модератор
    79 pts

    Можно решить эту задачу стандартными нодами
    1 и 2 пункт выполняются выбором по категории всех элементов
    3 пункт решается определением пересечений геометрий
    4 пункт дело техники

    ссылка на файл и скрипт

    #5775 Score: 0
    Семен
    Участник
    5 pts

    Спасибо вам за помощь! Всё работает хорошо в современном динамо. Но эта конструкция на работает в 0,9 версии динамо. Можно ее как-нибудь заменить? 

     

    #5777 Score: 0
    Ренат Я.
    Модератор
    79 pts

    а зачем менять, если эти 2 версии могут существовать вместе?

    #5779 Score: 0
    Семен
    Участник
    5 pts

    Нынешний проект в ревит 2015, а на него новые версии не устанавливаются

    #5780 Score: 0
    Ренат Я.
    Модератор
    79 pts

    версия 1.2 прекрасно работает, можно её поставить

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