Изменение параметров семейства
Главная › Форумы › Python › Помогите с питон кодом › Изменение параметров семейства
- В этой теме 12 ответов, 2 участника, последнее обновление 8 лет, 3 месяца назад сделано Анатолий.
-
АвторСообщения
-
Добрый день! Друзья, бьюсь как рыба об лед. Прошу помочь мне правильно сделать выборку параметров семейства через Python с подальшей возможностью их изменения. Уроки штудирую, но результата пока мало, самое важное прописать не удается.
https://yadi.sk/d/qxm-O2JGuQsbQ
https://yadi.sk/d/iWN5P9wOuQsmX
параметра “Группа модели” у данных элементов нет.
а как ты создал параметр “Довжина текст” ?Параметр “Довжина текст” был создан с помощью спецификации. Не подскажешь как мне правильно добраться к другим параметрам семейства с помощью питона? Поэксперементировал бы потом.
ну так также создай “Группа модели” и назначай чего хочешь..
а чтобы не гадать, можно посмотреть все имеющиеся параметры вот так:Я понял, большое спасибо за уделенное внимание, Антон! Очень хорошая и правильная идея. Получается, системные параметры (“Группа модели” и прочие), которые не видно через стандартный нод динамо и питон не увидит? А то я в розовых очках смотрел на всесильность програмного Pythonа))
я ж выше написал, что такого параметра не существует в данном семействе (или экземплярах)
далее у тебя три пути: налево пойти, направо или в камень ))
1) используй другие доступные параметры, например “Комментарии”
2) создай необходимый тебе параметр (также как ты создал “Довжина текст”), например с помощью спецификации (или как ты это сделал)
3) попробуй разобраться со скриптом Сергея Кривой http://dynamobim.ru/cmdownloads/пакетное-добавление-параметров-из-excel/ (как раз в python как ты и хотел) )))Да, спасибо,круто ответил, очень понравилось)) вот в камень, по ходу – будет верх пилотажа, что можно сделать из этой ситуации и просто таки завораживает код питона, будем изучать его магические чары))
Да, я бы успокоился, наверное, в поиске оптимального варианта, но память о где-то просмотренном все же возможном варианте выборки не оставила надежды и нашелся тот же ролик (№19) Алексея Лобанова, где он использовал параметры семейства (насколько я понял, это все параметры типа семейства), которые стандартные ноды динамо не видят. Дальше только знаний не хватает вытащить Symbol.get_Parameter(“Группа модели”).AsString() отдельно, чтобы с ним работать…
import clr
clr.AddReference(‘RevitAPI’)
from Autodesk.Revit.DB import *
clr.AddReference(‘System.Core’)
import System
clr.ImportExtensions(System.Linq)
list=IN[0]
OUT=list.Where(lambda x: UnwrapElement(x).Symbol.get_Parameter(“Группа модели”).AsString()==UnwrapElement(IN[1]))Ура! Все-таки, если долго просить, то и пиво появится)) Все получилось прямыми нодами динамо. Антон, если будет свободная минутка и не очень трудно, сделай, пожалуйста, наброску на питоне. А так, задача выполнена! Большое спасибо!
Молодец!
Если работаешь с балочной системой, то видимо нужно ставить нод FamilyInstanse.Type, чтобы добраться до каждого элемента.
Ты же так и делал, получая параметры “b” и “h”.
Если ты задачу выполнил, то при чем тут я и тем более наброска на питоне )))Добро, и на том спасибо)) Буду дальше пытаться еще более скомпонировать скрипт, переводя его в питон по мере изучения, ты прав, надо самому дорогу пробивать! Больше изучаешь – больше опыта. Просто пока не получается добраться до изменения параметров семейства через питон, не пойму алгоритма, но ничего, даст Бог, всему научимся! Все-таки огромная разница 10050 нодов или несколько насыщеных скриптов). Коли сделаю, выложу, может еще кому пригодится, для меня эта задача насущная. Еще раз благодарю за подсказки!
я рад, что ты настойчиво учишься, молодец!
и еще больше буду рад, если ты будешь делиться своими знаниями и наработками.для примера,
вот один из моих первых скриптов https://yadi.sk/i/hci–8FHuUpAo
вот один из последних https://www.youtube.com/watch?v=gplQvCgTMXYкроме красоты (один непонятный нод python), здесь большая головная боль для новичков, т.к. не каждый сможет сходу разобраться в структуре его кода https://yadi.sk/i/MqSuj_9HuUqQo
у тебя меньше сотни нодов, ты легко можешь проанализировать и поправить любой фрагмент, но учить python и revit api конечно нужно для большего функционала и возможностей.
Согласен, код питона с последних скриптов – будто тебя высадили в центре лабиринта и дали сто нарезанных метровых ниток, только когда свяжешь и пройдешь с одной целой (знаниями) по всем комнатам(параметрам), будет OUT в конце тоннеля) Но главное понять основные принципы, порядок взаимодействия и нюансы и может все будет не так и страшно ( в утешение себе говорю, да и думаю так) Тем более, действительно, несколько лет назад увлекся самим ревитом и возвращаться в свой довоенный уровень знания автокада уже было никакого желания, так и сейчас, без облегчающего жизнь функционала динамо и питона не охота заниматься просто ревитом, все-таки человек выбирает наилуший и кратчайший путь к результату, пусть, как бы в начале не было трудно) Интересно, что будет такими стремительно развивающимися темпами дальше)
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.