• borolgs

Стена: структура

#revit #api #python


Разбор иерархии элементов стены.

Создание и редактирование сегментов профиля.


Иерархия элементов


WallType

.GetCompoundStructure()→

CompoundStructure

.GetLayers()→ Layers (L)

.GetSegmentIds()→ Segments (S)

.GetRegionIds()→ Regions (R)

  • UV- Система координат внутри сечения.

  • Слои самостоятельные сущности со своим классом, а Сегменты и Регионы - нет.

  • По умолчанию кол-во регионов соответствует кол-ву слоев.

  • Порядок нумерации сегментов зависит от всякого, поэтому рассчитывать на него не стоит.










Редактирование


Получаем объект CompoundStructure.

Все манипуляции с сегментами и регионами производятся через методы структуры, с обращением по индексам.


Членение регионов

Границы регионов определяются сегментами и по умолчанию сегменты повторяют границы слоев.

Разбивка региона осуществляется добавлением нового сегмента в структуру.

Вновь созданные сегменты разрезают только регионы, но не другие сегменты.


Для разбивки региона на части необходимо указать UV координаты будущего разделителя и направление.


У структуры есть специальный метод FindEnclosingRegionAndSegments() проверяющий: попадает ли UV координата в структуру и если попадает, то в какой регион и в какие сегменты воткнется будущий сегмент.


После разбивки структуры методом SplitRegion() необходимо обновить соответствующий тип стены методом SetCompoundStructure() передав ему измененную структуру.


Объединение регионов

Методу MergeRegionsAdjacentToSegment() нужен индекс сегмента, который будет удален и индекс слоя.


Просмотров: 90
  • YouTube - Белый круг
  • Facebook - Белый круг
  • Instagram - Белый круг

+7 (495) 766-89-13

Россия, город Москва, проспект Мира д.3 стр.3, эт. 4 

м. Сухаревская (выход 3)