Работа с Библиотеками и изменение параметров внутри
Главная › Форумы › Python › Помогите с питон кодом › Работа с Библиотеками и изменение параметров внутри
- В этой теме 7 ответов, 2 участника, последнее обновление 7 лет, 5 месяцев назад сделано Denis.
-
АвторСообщения
-
Добрый день, уважаемые форумчане. Прошу у вас помощи в следующем деле:
Задача стоит следующая: проверить название отдельного “элемента” внутри проекта и при необходимости изменить его название.
Исходник взять со сторонних ресурсов и выглядит следующем образом: https://codeshare.io/aVvk9R. Отсюда он создает два списка.
В JetBrains dotPeek нашел категории и докопался до параметров внутри категории – Name, Id, Line Color, IsCuttable и т.д.
Проблемы начались после: первое и самое главное – я попробовал изменить эти параметры для “элементов” внутри моего проекта, а если точнее в цикле for задал:
for sub in subcat:
sub.Name = “aas”На что получил отказ – “данные параметры доступны только для чтения”.
Собственно вопрос заключается в следующем:
- subcat = cat.SubCategories – что за SubCategories как они выглядят и за что отвечают.
- Насколько я понимаю данные “элементы” внутри проекта хранятся не в форме массива, а в форма мапы и имею специфические ключи. Возможно ли где-то узнать эти ключи? И при печати нескольких параметров категория, таких как Имя, ид, и т.д. будет ли совподать у них нумерация, т.е.: при печати списка из ID и Name – будет ли эти параметры относится к одному и тому же элементу.
- И самое главное возможно ли у этих “элементов” поменять параметр имени и, если да, то как?
Прошу вас помочь в решение данного вопроса, либо конкретным примером, либо литературой, в которой я смогу найти ответ на поставленные вопросы.
Заранее спасибо за внимание!
приведи более конкретный пример.
что за “элементы” у тебя в проекте? что ты хочешь переименовать и зачем?
p.s. пиши короче, например, “как переименовать семейство двери” или “как переименовать названия стилей линий”!?https://www.dropbox.com/s/9b4iilolnei6yvq/Check_Template.dyn?dl=0
Вот ссылка на Dynamo фаил. Насколько я это понимаю, скрипт проходит по всем элементам в проекте и проверяет элементы из которых состоят семейства в данном проекте, т.е. имена линий и т.д. Мне нужно изменить параметры элементов из которых состоят семейства, конкретно параметр Name (sub.Name в коде).
– штурман,приборы!?
-120
– чего 120?
– а что приборы? ))
http://dynamobim.ru/forums/topic/имя-типа/#post-2100Прошу прощения за долгое отсутствие. Сегодня посмотрел Ваш ответ и он помог, но не полностью.
Проблема заключается в том, что я пытаюсь поменять название не отдельных элементов в проекте, как показано в Вашем примере выше, а категорий внутри RevitServices.
В Revit у нас есть элементы, а есть категории – конкретно мне нужно поменять стиль лини в object style. Внутри обжект стайл у нас есть лини системные и есть созданные пользователем. Если у нас линии являются системными, то они защищены от записи, даже внутри Revit, но для пользовательских линий защита не стоит, как показано на примере ниже. Исходя из этого я сделал скрипт, который находит и выдает имена этих линий, после этого в этом же файле в экселе задаем названия линиям, которые нам нужно изменить и судя по логике, если они не системные, то он должен их менять. Мне кажется проблема в этой строке UnwrapElement(cat).Name = pairOldNew[1] внутри скрипта.
Прошу помощи в этом скрипте – советом или делом. Заранее спасибо, сам скрипт прилагаю ниже:
https://www.dropbox.com/s/83km0prhr4m2kms/Change_SubCategories_import_to_Revit.dyn?dl=0
интересный вопрос (сам не сталкивался).
пришлось спросить здесь:
http://adn-cis.org/forum/index.php?topic=7786.new#newСпасибо за ответы, в ближайшее время попробую и отпишусь о результатах.
Итак – удалось найти решение, но оно корявое с точки зрения кода (много). За основу для импорта параметров взял Biomorph и немного его модернизировал. В остальном же авторские ноды.
Сам скрипт: https://www.dropbox.com/s/ibjgs1lgezeyocn/Change_LineStyle.dyn?dl=0
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.