Пакетное добавление параметров
Главная › Форумы › Python › Revit Library (API) › Пакетное добавление параметров
- В этой теме 47 ответов, 14 участников, последнее обновление 5 лет, 5 месяцев назад сделано Denver-22.
-
АвторСообщения
-
В Dynamo 1.3.2 (может быть и версиях чуть раньше) появился встроенный нод для добавления общих параметров: Parameter.CreateSharedParameter. И категории можно списком подавать. Так что можно теперь без питона )
Мало того, появился нод Parameter.CreateProjectParameter, который “создаёт” параметры проекта. Конечно, на самом деле создаёт он всё те же общие параметры, но наличие файла общих параметров для него не обязательно.
anchim678УчастникВсем спасибо!
У меня все классно получается, но только один раз. Если я хочу добавить некие параметры к воздуховодам и к соединительным деталям воздуховодов, сначала запускаю скрипт для воздуховодов, все замечательно. Потом в экселевской табличке меняю воздуховоды на соединительные детали воздуховодов, и ничего не получается. Либо наоборот… Первый раз скрипт все добавляет, а второй – отказывается… (((
Шпилька, не видел скрипт, но подозреваю, что нужен перегружатель питон скрипта, о котором я говорю почти в каждом своем ролике
Я добавила ко всем питон скриптам еще один IN[X] снизу и подала на них ForceChildrensEval. Но в самих скриптах ничего не меняла. Это должно сработать как перегружать питон скрипта? Точнее, все равно ничего не получилось… Может мне в самих телах питон скриптов прописать эти новые IN[X]?
Хасан, Вы всегда к своим роликам прикладываете скрипты. Может ткнете меня в скрипт с перегружателем? Или какое видео мне пересмотреть…
Заранее спасибо!
Шпилька, попробуйте через нод ForceChildrensEval пропустить одну из связей
Ренат Я! Понавтыкивала перед каждым питоном… не работает…(((
Прошел год… У меня все равно не получается…
Я уже обошла всех своих знакомых… Вот прикладываю видео, с описанием всех моих попыток…
И груду своих попыток в архиве….О которых сказала в видео…
Ну как же так, у всех получается, а у меня нет… ((((((((((
АнонимНеактивированный10 ptsЛови готовый доведенный до ума скрипт для этих целей
Видео https://yadi.sk/i/dcxj1m3tR1_d2Q
Скрипт https://yadi.sk/d/Jo9-O7OhbAflWw
ФОП Autodesk 2017 прилагаю в архиве, т.к. я туда много чего своего добавил для формирования полной таблицы ХОВС.
Ну, а вообще самый быстрый способ добавления общих параметров без скриптов вот в этом видео https://yadi.sk/i/ockqPwbonf4YHQ, если догадаешься о в чем там изюминка.
Глам, спасибо! Ты, как всегда великолепен!
Глам, ты мне скрипт сделал… Мне нужно было понять, почему мой срабатывает по одному разу… Ведь никто не жаловался кроме меня… Поэтому получалось, что косяк только у меня…
Что толку иметь скрипты, которые не можешь прочитать? У тебя все вбито в пайтон, а я пайтон не знаю…
АнонимНеактивированный10 ptsШпилька, к сожалению времени на анализ и поиск причин почему не работают чужие скрипты у меня сейчас совершенно нет, так что с работоспособностью твоего помочь не смогу, могу только свой рабочий предложить. Если он тебе не подходит, то извиняй. В питоне у меня там всё просто. Присвоение общих параметров разбита на 3 блока: параметры проекта, общие категории ОВ и параметры оборудования для заполнения таблицы ХОВС. Тебе нужен вот этот кусок кода, пояснение как формируется маска там есть в самом начале в комментариях, поменять его на свои потребности будет не сложно даже с твоим незнанием питона. Строки в блоках можно добавлять и удалять, главное при добавлении строк не забывать запятые и чтобы последняя строка в блоке закрывалась квадратной скобкой.
# Наборы параметров для добавления в семейство
# Маска для формирования параметра
# 'Имя_параметра(Группа параметров, Тип данных, Категории для добавления (через /), (0/1 - Типа/Эземпляра)'
set1 = '09 Заполнение штампа,Text,Сведения о проекте,PG_TEXT,1'
set2 = '09 Заполнение штампа,Text,Листы,PG_TEXT,1'
setMEP = 'Арматура воздуховодов/Арматура трубопроводов/Воздуховоды/Воздуховоды по осевой/Воздухораспределители/Гибкие воздуховоды/Гибкие трубы/Материалы внутренней изоляции воздуховодов/Материалы изолции воздуховодов/Материалы изоляции труб/Оборудование/Осветительная аппаратура/Осветительные приборы/Сантехнические приборы/Соединительные детали воздуховодов/Соединительные детали кабельных лотков/Соединительные детали коробов/Соединительные детали трубопроводов/Спринклеры/Трубопровод по осевой/Трубы/Трубы из базы данных производителя MEP/Устройства связи/Участки кабельного лотка/Участки короба/Элементы воздуховодов из базы данных производителя MEP'
setDuctPipes = 'Воздуховоды/Воздуховоды по осевой/Гибкие трубы/Трубопровод по осевой/Трубы/Трубы из базы данных производителя MEP/Элементы воздуховодов из базы данных производителя MEP'
setHOV = 'Оборудование'pars_stamp = ['ADSK_Титул Год выпуска('+set1+')',
'ADSK_Титул Директор('+set1+')',
'ADSK_Титул Строка 1 должность('+set1+')',
'ADSK_Титул Строка 1 фамллия('+set1+')',
'ADSK_Титул Строка 2 должность('+set1+')',
'ADSK_Титул Строка 2 фамллия('+set1+')',
'ADSK_Штамп Количество листов(09 Заполнение штампа,Text,Листы,PG_TEXT,1)',
'ADSK_Штамп Раздел проекта(09 Заполнение штампа,Text,Сведения о проекте/Листы,PG_TEXT,1)',
'ADSK_Штамп Наименование объекта('+set1+')',
'ADSK_Штамп Боковой Инвентарный номер('+set1+')',
'ADSK_Штамп Боковой Строка 1 должность('+set1+')',
'ADSK_Штамп Боковой Строка 2 должность('+set1+')',
'ADSK_Штамп Боковой Строка 3 должность('+set1+')',
'ADSK_Штамп Боковой Строка 4 должность('+set1+')',
'ADSK_Штамп Боковой Строка 5 должность('+set1+')',
'ADSK_Штамп Боковой Строка 6 должность('+set1+')',
'ADSK_Штамп Боковой Строка 1 фамилия('+set2+')',
'ADSK_Штамп Боковой Строка 2 фамилия('+set1+')',
'ADSK_Штамп Боковой Строка 3 фамилия('+set1+')',
'ADSK_Штамп Боковой Строка 4 фамилия('+set1+')',
'ADSK_Штамп Боковой Строка 5 фамилия('+set1+')',
'ADSK_Штамп Боковой Строка 6 фамилия('+set1+')',
'ADSK_Штамп Боковой Инвентарный номер('+set1+')',
'ADSK_Штамп Строка 1 должность('+set1+')',
'ADSK_Штамп Строка 2 должность('+set1+')',
'ADSK_Штамп Строка 3 должность('+set1+')',
'ADSK_Штамп Строка 4 должность('+set1+')',
'ADSK_Штамп Строка 5 должность('+set1+')',
'ADSK_Штамп Строка 6 должность('+set1+')',
'ADSK_Штамп Строка 1 фамилия('+set2+')',
'ADSK_Штамп Строка 2 фамилия('+set1+')',
'ADSK_Штамп Строка 3 фамилия('+set1+')',
'ADSK_Штамп Строка 4 фамилия('+set1+')',
'ADSK_Штамп Строка 5 фамилия('+set1+')',
'ADSK_Штамп Строка 6 фамилия('+set1+')']
pars_mep = ['ADSK_Обозначение(01 Обязательные ОБЩИЕ,Text,'+setMEP+',PG_IDENTITY_DATA,0)',
'ADSK_Обозначение(01 Обязательные ОБЩИЕ,Text,Листы/Виды,PG_TEXT,1)',
'ADSK_Позиция(01 Обязательные ОБЩИЕ,Text,'+setMEP+',PG_IDENTITY_DATA,1)',
'ADSK_Группирование(05 Необязательные ОБЩИЕ,Text,Виды/'+setMEP+'/Листы,PG_IDENTITY_DATA,1)',
'ADSK_Наименование(01 Обязательные ОБЩИЕ,Text,'+setMEP+',PG_IDENTITY_DATA,1)',
'ADSK_Наименование(01 Обязательные ОБЩИЕ,Text,'+setMEP+',PG_IDENTITY_DATA,1)',
'ADSK_Наименование_краткое(01 Обязательные ОБЩИЕ,Text,'+setMEP+',PG_IDENTITY_DATA,1)',
'ADSK_Марка(01 Обязательные ОБЩИЕ,Text,'+setMEP+',PG_IDENTITY_DATA,1)',
'ADSK_Код изделия(01 Обязательные ОБЩИЕ,Text,'+setMEP+',PG_IDENTITY_DATA,1)',
'ADSK_Единица измерения(01 Обязательные ОБЩИЕ,Text,'+setMEP+',PG_IDENTITY_DATA,0)',
'ADSK_Завод-изготовитель(01 Обязательные ОБЩИЕ,Text,'+setMEP+',PG_IDENTITY_DATA,0)',
'ADSK_Масса(01 Обязательные ОБЩИЕ,Number,'+setMEP+',PG_IDENTITY_DATA,1)',
'ADSK_Примечание(01 Обязательные ОБЩИЕ,Integer,'+setMEP+',PG_IDENTITY_DATA,1)',
'ADSK_Толщина стенки(04 Обязательные ИНЖЕНЕРИЯ,Length,'+setDuctPipes+',PG_MECHANICAL,1)',
'ADSK_Номер стояка(08 Необязательные ИНЖЕНЕРИЯ,Text,'+setDuctPipes+',PG_MECHANICAL,1)',
'ADSK_Расход воздуха приточный(04 Обязательные ИНЖЕНЕРИЯ,HVAC_AIR_FLOW,Пространства,PG_MECHANICAL,1)',
'ADSK_Расход воздуха вытяжной(04 Обязательные ИНЖЕНЕРИЯ,HVAC_AIR_FLOW,Пространства,PG_MECHANICAL,1)',
'ADSK_Теплопотери(08 Необязательные ИНЖЕНЕРИЯ,HVAC_HEATING_LOAD,Пространства,PG_MECHANICAL,1)',
'ADSK_Теплопоступления от оборудования(08 Необязательные ИНЖЕНЕРИЯ,HVAC_HEATING_LOAD,Пространства,PG_MECHANICAL,1)',
'ADSK_Температура в помещении(08 Необязательные ИНЖЕНЕРИЯ,HVAC_TEMPERATURE,Пространства,PG_MECHANICAL,1)',
'ADSK_Расчетное количество людей с постоянным пребыванием(08 Необязательные ИНЖЕНЕРИЯ,Integer,Пространства,PG_MECHANICAL,1)',
'ADSK_Расчетное количество людей с временным пребыванием(08 Необязательные ИНЖЕНЕРИЯ,Integer,Пространства,PG_MECHANICAL,1)',
'ADSK_Расчетный приток(08 Необязательные ИНЖЕНЕРИЯ,HVAC_AIR_FLOW,Пространства,PG_MECHANICAL,1)',
'ADSK_Расчетная вытяжка(08 Необязательные ИНЖЕНЕРИЯ,HVAC_AIR_FLOW,Пространства,PG_MECHANICAL,1)',
'ADSK_Наименование приточной системы(08 Необязательные ИНЖЕНЕРИЯ,Text,Пространства,PG_MECHANICAL,1)',
'ADSK_Наименование вытяжной системы(08 Необязательные ИНЖЕНЕРИЯ,Text,Пространства,PG_MECHANICAL,1)',
'ADSK_Наименование вытяжной системы от МО(08 Необязательные ИНЖЕНЕРИЯ,Text,Пространства,PG_MECHANICAL,1)',
'ADSK_Наименование системы компенсации МО(08 Необязательные ИНЖЕНЕРИЯ,Text,Пространства,PG_MECHANICAL,1)',
'ADSK_Приток к МО(08 Необязательные ИНЖЕНЕРИЯ,HVAC_AIR_FLOW,Пространства,PG_MECHANICAL,1)',
'ADSK_Вытяжка от МО(08 Необязательные ИНЖЕНЕРИЯ,HVAC_AIR_FLOW,Пространства,PG_MECHANICAL,1)',
'ADSK_Спецификация № строки(05 Необязательные ОБЩИЕ,Text,'+setMEP+',PG_TEXT,1)']
pars_hov = ['ADSK_Хар-ка систем_№ строки(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_TEXT,1)',
'ADSK_Хар-ка систем_Кол.систем(04 Обязательные ИНЖЕНЕРИЯ,INTEGER,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Наим-е обслуживаемого помещения(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Тип установки(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Вентилятор_Исполнение(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Расход воздуха(04 Обязательные ИНЖЕНЕРИЯ,HVAC_AIR_FLOW,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Свободный напор воздуха(04 Обязательные ИНЖЕНЕРИЯ,HVAC_PRESSURE,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Вентилятор_Свободный напор_Текст(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Частота вращения вентилятора(04 Обязательные ИНЖЕНЕРИЯ,INTEGER,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Эл-двигатель_Тип(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Номинальная мощность(04 Обязательные ИНЖЕНЕРИЯ,ELECTRICAL_POWER,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Частота вращения двигателя(04 Обязательные ИНЖЕНЕРИЯ,INTEGER,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Воздухонагреватель_Тип(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Воздухонагреватель_Количество(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Температура воздуха на входе в нагреватель(04 Обязательные ИНЖЕНЕРИЯ,HVAC_TEMPERATURE,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Температура воздуха на выходе из нагревателя(04 Обязательные ИНЖЕНЕРИЯ,HVAC_TEMPERATURE,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Тепловая мощность(04 Обязательные ИНЖЕНЕРИЯ,HVAC_POWER,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Воздухонагреватель_Потеря давления по воздуху_Текст(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Воздухонагреватель_Потеря давления по воде_Текст(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Рекуператор_Тип(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Рекуператор_Количество(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Рекуператор_Расход воздуха греющий(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Рекуператор_Расход воздуха нагреваемый(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Рекуператор_Темп-ра нагрева от(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Рекуператор_Темп-ра нагрева до(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Рекуператор_Расход теплоты(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Рекуператор_dP греющий(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Рекуператор_dP нагреваемый(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Рекуператор_КПД %(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Фильтр_Тип(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Фильтр_Количество(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Фильтр_dP чистого(04 Обязательные ИНЖЕНЕРИЯ,HVAC_PRESSURE,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Воздухоохладитель_Тип(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Воздухоохладитель_Количество(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Температура воздуха на входе в охладитель(04 Обязательные ИНЖЕНЕРИЯ,HVAC_TEMPERATURE,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Температура воздуха на выходе из охладителя(04 Обязательные ИНЖЕНЕРИЯ,HVAC_TEMPERATURE,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Холодильная мощность(04 Обязательные ИНЖЕНЕРИЯ,HVAC_COOLING_LOAD,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Воздухоохладитель_Расход холода_Текст(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Воздухоохладитель_Потеря давления_Текст(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Насос_Тип(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Насос_Расход G(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Насос_Напор P(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Насос_Эл.дв._Тип(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Насос_Эл.дв._Мощность(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Насос_Эл.дв._Частота вращения(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)',
'ADSK_Хар-ка систем_Примечание(04 Обязательные ИНЖЕНЕРИЯ,Text,'+setHOV+',PG_MECHANICAL,1)']parameters = pars_stamp + pars_mep + pars_hov
Глам, сколько лет тебя знаю, у тебя в каждом посте звучит “Да там все просто”!!! Это было еще в доревитовские меджикадовские времена))))))))))))
Причем ты действительно веришь, что там действительно все просто… для всех…))))))))))
Ты действительно великолепен!!!
Блин, по ходу пайтон неотвратим (печально)
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.