Помогите новичку!
Главная › Форумы › Задать вопрос › Помогите новичку!
- В этой теме 18 ответов, 3 участника, последнее обновление 8 лет, 3 месяца назад сделано Slava.
-
АвторСообщения
-
Я так понимаю, для решения проблемы нужно:
1. Добавить этот параметр к параметрам воздуховода, как параметр экземпляра.
2. Всем воздуховодам, для которых расчитан этот параметр, назначить этот параметр )) Нод на картинке выбран правильно. Теперь подробно:
2.1 На ввод element подаем список воздуховодов, которым надо назначить этот параметр
2.2 На ввод ParameterName – имя существующего(!) параметра для воздуховодов
2.3 Список значений, которые надо присвоить.Спасибо, Серж. Я понял как это работает). Однако по типу можно ли сделать?
Добрый день. Посмотрите детально мой скрипт в последних загруженных, там есть похожая ситуация по извлечению данных из параметров типа. Параметры типа можно достать через нод FamilyInstance
Попробуйте назначить параметр не категории “Материал изоляции труб”, а самим трубам.
Анатолий, а какие значения берет ваш нод? Вот что выдает на скрине. Для колон ошибки не выдает, но и списка не выводит…
Geter по имени который принимает значение от данного нода тоже добавлял, ошибка аналогична
У меня есть глубокие сомнения, что назначение каких либо параметров изоляции необходимо. Что дальше будете с этим параметром делать? У вас получится считать его для спецификации? Вы попробовали реализовать ваши задачи вручную?
Теперь по скрипту:
1. Изоляция не экземпляр семейства. Очевидно, FamilyInstance.Type выдает ошибку.
Этим нодом по экземпляру семейства определяют к какому типоразмеру он относится. Для изоляции этот метод не применим.
2. Спасибо за скрин параметров изоляции. Очевидно, в именах параметров изоляции трубы нет параметра с названием “Рулон1” . Скорее всего, вам нужен параметр “Толщина изоляции”.П.С. Можно экспортировать весь скрипт нажав Файл-Экспорт рабочего пространства как изображение. Или можно просто на фотик кликнуть под крестиком закрытия Динамо. Пожалуйста, экспортируйте скрипт полностью, так его проще анализировать.
AsInteger() ??? Конечно будет ошибка. Это ж не целое число, а число с точкой. Нужно ещё попробовать AsDouble() AsString().
Если ничего не писать, то должно выдать на выход просто параметр Ревит.
Кстати, питон нод в таком виде выдаст последний зашедший в цикл элемент.
Создайте список, в который будете добавлять mas.
outlist = ()
…
outlist.append(mas)
…
OUT = outlistОпишите пожалуйста алгоритм. Не могу понять логику того, что вы делаете. Ваш скрипт в данный момент представляет “вещь в себе” – сложно понять цель.
По картинке:
Составная изоляция, каждый слой имеет свою толщину (в зависимости от назначения и среды в трубе). Скриптом выбираем по слою1 и слою2 толщины и вычисляем их площадь поверхности. Затем сортируем в зависимости от толщины слоя. Площади слоев с одинаковой толщиной слаживаем. получаем площадь поверхности для слоев 25 и 32 по всем трубам
Как бы все тривиально, но все же решить по человечески не удается)..пока. Тема актуальная, так как в ревите нет многослойности изоляции, и способы предложенные многими блогерами далеки от применения в промышленных масштабах. Думаю данный способ облегчил бы многим жизнь
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.