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

25/12/2014

Категории для произвольной фигуры

Вопрос: Я хотел бы создать произвольные фигуры (DirectShape) для визуального отображения разлиных типов балок и поместить их в различные категории. Пока что я могу создать их только во встроенной категории, например, вот так:

Код - C#: [Выделить]
  1.   ElementId id = new ElementId(
  2.     BuiltInCategory.OST_StructuralFraming );
  3.  
  4.   DirectShape ds = DirectShape.CreateElement(
  5.     doc, id, "A", "B" );

А могу ли я создать свою категорию и использовать ее при создании фигуры? Что-то типа этого:

Код - C#: [Выделить]
  1.   Category cat = doc.Settings.Categories.get_Item(
  2.     BuiltInCategory.OST_StructuralFraming );
  3.  
  4.   Category subCat = doc.Settings.Categories
  5.     .NewSubcategory( cat, "Sparren" );
  6.  
  7.   ElementId elemIdSubCat = subCat.Id;
  8.  
  9.   DirectShape ds = DirectShape.CreateElement(
  10.     doc, elemIdSubCat, "A", "B" );

При выполнении этого кода, на метода создания фигуры возникает исключение, в котором говорится, что под-категории не поддерживаются.

Ответ: Единственное что я могу сделать – это подтвердить ваши слова:

  • Можно создавать под-категории. Нельзя создавать категории верхнего уровня.
  • При создании произвольной фигуры, требуется указывать идентификатор категории верхнего уровня.

Я добавил вашу просьбу в список пожеланий CF-1748 [API wish: DirectShape subcategory support], где прошу добавить поддрежку создания фигуры в под-категории.

В качестве альтернативного метода, который уже можно реализовать, я рекомендую рассмотреть создание одного или нескльких общих параметров и использовать их в фильтрах и спецификациях для того, чтобы понять, что за фигура используется. Начиная с Revit 2015, общие параметры могут быть заданы ‘только для чтения’.

Источник: http://thebuildingcoder.typepad.com/blog/2014/11/directshape-versus-families-category-and-texture.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+typepad%2Fthe-building-coder+%28The+Building+Coder%29#3

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

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