все о Spaces

Автор Тема: все о Spaces  (Прочитано 3241 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн AgensАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 223
  • Карма: 0
все о Spaces
« : 23-01-2020, 15:26:56 »
Возникла необходимость получить Room от Space, причем архитектура подключена связью.
Есть ли у Space свойство получения что-то типа Space.Parent или Room вообще не "вытянуть" без подключения к файлу связи с архитектурой?
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: все о Spaces
« Ответ #1 : 23-01-2020, 16:12:17 »
Можно, но с некоторыми ограничениями.

Посмотрите сначала видео здесь: http://help.autodesk.com/view/RVT/2018/ENU/?guid=GUID-8EC27F94-BFDC-42D1-B3B8-7FA750F4F39A
Тут, правда, один нюанс есть, о котором не сказано - нужно задать соответствие стадий между моделью архитектуры и моделью со Space-ами.

Если всё получилось правильно, то ты увидишь имя и номер помещения в параметрах пространства. Здесь архитектура подключена связанным файлом:



Собственно, значения можно прочитать из соответствующих SPACE_ASSOC_ROOM_NAME и SPACE_ASSOC_ROOM_NUMBER.

А свойство Space.Room работает только для помещения в той же самой модели.

Ну или таки получить помещение из связанной модели, как бы тоже не большая проблема.

Оффлайн AgensАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 223
  • Карма: 0
Re: все о Spaces
« Ответ #2 : 23-01-2020, 17:12:22 »
Просто у Space есть готовый метод Name, который дает Room(Name+Number)... SPACE_ASSOC_ROOM_NAME и SPACE_ASSOC_ROOM_NUMBER не заметил, спасибо...
// ----------------
BuiltInParameter.ROOM_NUMBER - тоже работает. ROOM_NUMBER = Номер, а SPACE_ASSOC_ROOM_NUMBER = Номер помещения
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

Оффлайн AgensАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 223
  • Карма: 0
Re: все о Spaces
« Ответ #3 : 24-01-2020, 09:55:43 »
как унаследовать класс Space?

Код - C# [Выбрать]
  1.     public partial class MySpace : Space
  2.     {
  3.  
  4.     }

выдает "Ошибка   CS1729   'Space" не содержит конструктор, который принимает аргументы 0."
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: все о Spaces
« Ответ #4 : 24-01-2020, 09:58:27 »
Никак.

О наследовании классов из Revit API забудь. Revit API - тонкая прослойка между управляемым кодом Addin-а и native самого Revit-а.

Только аггрегация