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

25/10/2014

Уровень для объекта SpatialElement

Вопрос: В предыдущих версиях Revit API была возможность получить прямой доступ к Уровню (свойство SpatialElement.Level). В текущей же версии это свойство было помечено как «устаревшее» и было заменено на свойство LevelId.
Таким образом, я мог сразу получить информацию об уровне конкретного помещения, зоны или пространства, с которым я работаю. Есть ли какой-нибудь другой способ получить информацию об уровне помещения или имеется ввиду, что я должен получить Уровень по свойству LevelId?

Ответ: Честно говоря, я не знаю какой-либо другой метод, за исключением того, что вы сами и предложили. Нет более «прямого» метода получить информацию об уровне, чем получить ее, зная идентификатор уровня LevelId.

Чтобы было проще его получить, вы можете реализовать метод-расширение для класса SpatialElement. В результате это будет выглядеть почти как и в предыдущей версии API. Пример метода:

Код - C#: [Выделить]
  1.   static Level Level( this SpatialElement a )
  2.   {
  3.     Document doc = a.Document;
  4.     return doc.GetElement( a.LevelId );
  5.   }

Источник: http://thebuildingcoder.typepad.com/blog/2014/05/views-displaying-given-element-svg-and-nosql.html#2

Обсуждение: http://adn-cis.org/forum/index.php?topic=1044

Опубликовано 25.10.2014