#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, чтобы получить высоту окна от пола)