Выбор светильников по помещениям
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Прочее ПО от Autodesk > Revit > Выбор светильников по помещениям

Выбор светильников по помещениям

Ответ
Поиск в этой теме
Непрочитано 10.10.2024, 21:22 #1
Выбор светильников по помещениям
shand
 
Инженер проектировщик ЭОМ
 
Регистрация: 15.07.2020
Сообщений: 12

Добрый вечер всем. Попытался выбрать светильники по помещениям. Однако вылетает ошибка. Сначала я выбираю уровни и заношу в чеклистбокс. потом помещения и также заношу в чеклистбокс. Выбор помещений происходит по уровням которые отмечены чекбоксом. Попытался таким же образом выбрать светильники но получил ошибку. Вот код по которому я пытаюсь получить светильники по выделенным помещения. Может кто подскажет что не так?
Код:
[Выделить все]
 private void Start3_Click(object sender, RoutedEventArgs e)
 {
     Items3.Clear(); // Очистить ListBox для светильников
     List<string> selectedRooms = new List<string>();

     foreach (var item in Items2.Where(i => i.IsChecked)) // Используем Items2
     {
         selectedRooms.Add(item.Name);
     }

     List<string> lights = GetLightsByRooms(selectedRooms); // Получаем светильники по выбранным комнатам
     foreach (var light in lights)
     {
         ListBoxluminaire.Items.Add(light); // Добавляем светильник в ListBox
     }
 }

 private List<string> GetLightsByRooms(List<string> rooms)
 {
     List<string> selectedLights = new List<string>();
     FilteredElementCollector lightFilter = new FilteredElementCollector(_doc);
     var lights = lightFilter.OfCategory(BuiltInCategory.OST_LightingFixtures)
                             .WhereElementIsNotElementType()
                             .Cast<FamilyInstance>()
     .ToList();

     foreach (var light in lights)
     {
         // Проверяем, принадлежит ли светильник к одной из выбранных комнат
         if (rooms.Contains(light.Room.Name)) // Предполагается, что у светильника есть свойство Room
         {
             selectedLights.Add(light.Name); // Добавляем имя светильника
         }
     }

     return selectedLights;
 }
Уровни и помещения выбираю примерно также. Использую WPF C#. Может это из за того что у светильников нет параметра определяющего помещение в котором он установлен? Если нужен этот параметр то как его добавить чтобы он принимал имя того помещения где он установлен? В дальнейшем если это все получится то хочу производить выбар другого эл. технического оборудования таким же способом.
Просмотров: 950
 
Автор темы   Непрочитано 17.12.2024, 18:01
#2
shand

Инженер проектировщик ЭОМ
 
Регистрация: 15.07.2020
Сообщений: 12


По пространствам можно выбрать: эл. щиты, розетки с выключателями и светильники так же. Разобрался.
shand вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Прочее ПО от Autodesk > Revit > Выбор светильников по помещениям



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление видимостью через выбор (значение Настройка (или Custom) при выборе) Evleos Динамические блоки 4 29.07.2024 09:25
Быстрый выбор нужного слоя dim5678 AutoCAD 23 29.02.2024 23:03
Выбор блоков во всем чертеже по маске имени Сыч LISP 16 05.05.2023 18:03
Выбор размеров через быстрый выбор (больше/меньше/равно) koskos LISP 3 20.10.2016 08:24
Выбор в автокаде ASЪ AutoCAD 39 26.06.2014 20:19