Получить все названия комнат из одного вида плана и изменить параметр каждой комнаты | Revit API - PullRequest
0 голосов
/ 09 мая 2018

сейчас я работаю над проектом, который должен получить имена комнат из вида в плане и сравнить каждое имя комнаты с базой данных. Если имя комнаты найдено в базе данных, параметр в комнате с именем «IS_IN_DATABASE» должен быть обновлен на «ДА»

К сожалению, я понятия не имею, как получить названия комнат из одного вида плана ...

Я нашел это сообщение: https://forums.autodesk.com/t5/revit-api-forum/how-to-retrieve-rooms-filtered-by-level/td-p/6627076
но это не работает, потому что я всегда получаю исключение:

viewId не является представлением. Имя параметра: viewId

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Уже ответил в ветке дискуссионного форума Revit API о получении имен комнат и изменении значения параметра .

Было бы лучше, если бы вы подняли отдельные вопросы для этих двух отдельных вопросов.

0 голосов
/ 09 мая 2018

Было бы проще, если бы вы предоставили какой-то код, но работает ли это?

View activeView = doc.ActiveView;

List<Room> rooms = new FilteredElementCollector(doc, activeView.Id).OfClass(typeof(Room)).Cast<Room>().ToList();

Чтобы получить только имена в списке, вы можете использовать что-то вроде этого:

List<string> rooms = new FilteredElementCollector(doc, activeView.Id).OfClass(typeof(Room)).Select(a => a.Name).ToList();

Поставьте using Autodesk.Revit.DB.Architecture сверху, иначе он не распознает комнаты.

...