Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: sdv79 от 07-10-2020, 20:00:52

Название: Связь помещения с пространством
Отправлено: sdv79 от 07-10-2020, 20:00:52
Подскажите как определить связь пространства из рабочего файла с планом из связанного файла?
Название: Re: Связь помещения с пространством
Отправлено: Agens от 08-10-2020, 09:27:04
через link.
Название: Re: Связь помещения с пространством
Отправлено: sdv79 от 08-10-2020, 10:49:37
)) Это понятно.
По какому признаку сравнивать или проверять помещение с пространством?
По (room.IsPointInRoom(point)) или (space.IsPointInSpace(point). Есть ли еще какие-то еще средства сопоставления?
Название: Re: Связь помещения с пространством
Отправлено: Александр Игнатович от 08-10-2020, 12:02:11
А что значит, "связь пространства с планом"?
Название: Re: Связь помещения с пространством
Отправлено: sdv79 от 08-10-2020, 12:16:58
Предварительно пространства уже созданы и пронумерованы
(https://i.postimg.cc/CzFtpfz7/image.png) (https://postimg.cc/CzFtpfz7)

В модели выбрал пространство (Space) - меня интересует в связанном файле комната (Room) связанная с этим пространством.
(https://i.postimg.cc/YL4H6GYQ/01.png) (https://postimg.cc/YL4H6GYQ)
Название: Re: Связь помещения с пространством
Отправлено: Александр Игнатович от 08-10-2020, 12:46:15
Вот как раз хотел написать про именование пространств, это очень правильный ход с твоей стороны, если в проекте всё правильно настроено, то Revit автоматически заполнит параметры номера и имени помещения в элементах пространства. Собственно, по ним и следует проверять связь пространства с помещением в связанной модели.
Это BuiltInParameter.SPACE_ASSOC_ROOM_NUMBER и BuiltInParameter.SPACE_ASSOC_ROOM_NAME
Название: Re: Связь помещения с пространством
Отправлено: sdv79 от 08-10-2020, 13:12:34
Думал об этом, но решил искать связь геометрически например
Код - C# [Выбрать]
  1.  room.IsPointInRoom(point)  
или
Код - C# [Выбрать]
  1.  space.IsPointInSpace(point)  
- под вопросом.

Возможна такая ситуация, когда в здании на разных этажах будет комната №1 с именем "Офис", как быть тогда?

(https://i.postimg.cc/k63r6QmS/image.png) (https://postimg.cc/k63r6QmS)
Название: Re: Связь помещения с пространством
Отправлено: Александр Игнатович от 08-10-2020, 13:26:43
Геометрически вообще не факт. Пространства могут не совпадать с помещениями по геометрии. + настройки пространств и помещений тоже могут быть разными, т.е., где-то по чистовой поверхности, а где-то по центру стены. могут также не совпадать смещения.

Вообще описанная ситуация возможна, правда, Revit предупреждает о совпадении имени и номера в нескольких помещениях. Наверное, только в этом случае стоит пытаться проверять IsPointInRoom / IsPointInSpace, не забудь только о переводе координат из/в систему координат связанного файла.
Название: Re: Связь помещения с пространством
Отправлено: sdv79 от 08-10-2020, 13:51:14
Если отметки по разному называются. Можно как то понять что я на Этаже 2 выбрал комнату (Офис №1) в связанном файле ищу на Уровне 2 (Офис №1)?
Название: Re: Связь помещения с пространством
Отправлено: Александр Ривилис от 08-10-2020, 13:59:40
Если отметки по разному называются. Можно как то понять что я на Этаже 2 выбрал комнату (Офис №1) в связанном файле ищу на Уровне 2 (Офис №1)?
По координатам?
Название: Re: Связь помещения с пространством
Отправлено: Александр Игнатович от 08-10-2020, 14:06:03
Ищешь в связанном файле помещения с номером "1" и именем "офис", находишь одно - ок, его и берешь, находишь больше одного, берёшь либо точки вставки, либо геометрический центр, преобразуешь координату в систему координат основного файла, тестируешь с IsPointInSpace, берёшь, которое помещение, на котором вернётся True. Ну, возможен вариант, что не найдёшь, тогда просишь пользователя уточнить
Название: Re: Связь помещения с пространством
Отправлено: sdv79 от 08-10-2020, 14:12:13
При правильном подходе room.Point.Z bp из связанного файла ВСЕГДА будет соответствовать space.Point.Z в рабочем файле?
Название: Re: Связь помещения с пространством
Отправлено: Александр Игнатович от 08-10-2020, 14:27:56
Я бы на это не расчитывал