22/09/2014
Как определить присоединен ли экземпляр семейства к другому элементу
Вопрос: Есть ли какой-нибудь метод, с помощью которого можно определить, присоединен ли экземпляр семейства к чему-либо?
Я попытался с помощью RevitLookup найти что-то похожее, но так и не увидел ничего, что позволило бы это определить.
Ответ: Есть несколько различных способов, которые стоит попробовать:
- Использовать метод GetJoinedElements класса JoinGeometryUtils.
- Для бетонных конструкций и стен можно извлечь свойство Location, привести его к классу LocationCurve и посмотреть на коллекцию присоединенных элементов, с помощью свойства ElementsAtJoin
- Метод Element.GetGeneratingElementIds вернет для заданного геометрического объекта коллекцию элементов, которые образуют этот геометрический объект.
- И, наконец, вы можете воспользоваться анализом геометрии, например, с помощью класса ReferenceIntersector или фильтра ElementIntersectsSolidFilter.
Список статей на эту тему (на англ.):
- Доступ к геометрии балок
- Фильтр, позволяющий определить какие элементы затрагивает балка
- Определение колонн, на которые опираются балки
В последней ссылке подробно обсуждаются все различные варианты.
Источник: http://thebuildingcoder.typepad.com/blog/2014/09/a-couple-of-recent-issues.html#3
Обсуждение: http://adn-cis.org/forum/index.php?topic=969
Опубликовано 22.09.2014Отредактировано 22.09.2014 в 10:27:02