Как получить высоту подоконника IFCWindow

#ifc #xbim

#ifc #xbim

Вопрос:

Как получить высоту подоконника (высоту над полом) Ifcwindow в файле ifc

Ответ №1:

Нет решения, позволяющего напрямую получить высоту над полом. Это связано с тем, что высота выше для зависит от нескольких факторов, например, от того, как создается стена, в которой находится окно, и т. Д.

Возможно, высота подоконника экспортируется исходным программным обеспечением для моделирования в пользовательское свойство IFC. Вы могли бы проверить это, но поскольку для этого нет общего стандарта, это рискованно.

Лучше всего изучить ObjectPlacement свойство, которое IfcWindow наследуется от IfcProduct . ObjectPlacement определяет, как продукт размещается либо в мировом пространстве, либо относительно его хоста. См. https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2/HTML/schema/templates/product-local-placement.htm за подробностями.

Вам нужно прочитать свойство ObjectPlacement и проверить, есть ли свойство relativeTo, если да, то вам также нужно заполнить это свойство и проверить, соответствует ли оно расположению этажа. Если это так, вы можете остановить цикл и выполнить вычисление матрицы для всех мест размещения, которые вы собрали, чтобы рассчитать расположение окна относительно пола.

(Может быть, даже проще: рассчитать мировое размещение окна и пола отдельно, чем вычесть два значения вектора z, чтобы получить высоту окна от пола)