Сообщество программистов Autodesk в СНГ
ADN Club => Revit API => Тема начата: Кирилл Захаров от 17-10-2017, 15:31:05
-
Здравствуйте!
Недавно начал изучать Revit .NET API. Возник следующий вопрос:
У нас в проекте есть несколько семейств, относящихся к системному семейству "Обобщенные модели". Я могу выбрать любой такой элемент и поменять его семейство на любое другое в пределах обобщенных моделей (например могу превратить стойку в ростверк - см. рисунок).
Однако я пока что не вижу как это сделать программно. У объекта FamilyInstance есть свойство FamilySymbol, которое можно менять - это тип семейства.
Можно ли поменять само семейство?
(https://2.downloader.disk.yandex.ru/disk/455c71c931840c6fe6c6352cd049eb1a01c6d2b03238f780aa6d4f2a25fb7159/59e62fb3/S-iPFXYGLi4m2GcwtBnrJhYcvIYEuhf-P_jHVO8ZNQ8JmJqBW_zbfzP9rnG9kQ-eYUdcSk4J2Jx1lA7zO6Jg5Q%3D%3D?uid=0&filename=%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.PNG&disposition=inline&hash=&limit=0&content_type=image%2Fpng&fsize=292648&hid=adb5c276cbf46b6df3a2571ab003da79&media_type=image&tknv=v2&etag=de955bf3ae86fb360b3fbdc8f563e19c)
-
Вопрос был неправильным.
"Обобщенные модели" это категория. Можно менять тип объекта внутри категории независимо от семейства. В том числе программно с помощью свойства FamilySymbol.
Хороший пример по ссылке - http://thebuildingcoder.typepad.com/blog/2010/07/change-element-type.html.
-
Я могу выбрать любой такой элемент и поменять его семейство на любое другое в пределах обобщенных моделей (например могу превратить стойку в ростверк - см. рисунок)
Вы не меняете семейство - вы как раз таки меняете типоразмер семейства. То самое FamilySymbol - это типоразмер. Для изменения типоразмера у всех объектов, унаследованных от Element есть метод ChangeTypeId(), который меняет типоразмер.
-
Для изменения типоразмера у всех объектов, унаследованных от Element есть метод ChangeTypeId(), который меняет типоразмер.
Спасибо за подсказку!