Что дают связи в IFC
🔹Может ли модель быть без связей между элементами? - Вполне.
🔹Поможет ли это в работе с данными в модели? - Вряд ли.
Рассмотрим основные назначения связей в IFC.
🔹 Связи обеспечивают структурную целостность модели, гарантируя, что данные, связанные между собой, соответствуют семантическим правилам. Контроль целостности в свою очередь повышает достоверность информации в модели. Например, благодаря связям мы можем убедиться, что дверь действительно принадлежит стене, а не болтается сама по себе.
🔹 Связи позволяют писать сложные запросы, включающие данные из нескольких сущностей. К примеру, для элемента "Помещения" вы можете написать запрос, выдающий информацию о связанных с ним конструкциях (с помощью связи IfcRelSpaceBoundary), ограничивающих это помещение, и проверить их пожарные характеристики.
🔹 Связи обеспечивают формирование геометрии. Так, именно благодаря IfcRelVoidsElement из геометрии стены (перекрытия или иного элемента) вырезается геометрия отверстий/проемов/ниш.
Т.е. изначально геометрия стены описывается без проемов, что позволяет получить у нее объем и площадь брутто, сократить число начальных полигонов, описать ее параметрически (например, осевой линией с выдавливанием).
🔹 Связи помогают избежать дублирования и избыточности данных. Например, свойства типа для элементов окна привязываются к каждому экземпляру окна при помощи отношений из набора IfcRelDefines.
🔹 Связи позволяют легко обновлять данные: меняя их в одном месте, эти изменения отразятся в связанных сущностях. Допустим, вы обновляете свойства типа о том же окне - все связанные с ним экземпляры окон будут также обновлены.
Это обычный, но важный функционал САПР, о котором мы уже не задумываемся.
В этом смысле добавление элементам свойств, чтобы каким-то образом обозначить связь с другим элементом или группой видится весьма сомнительным решением. К примеру, назначив помещениям "номер квартиры", при необходимости вам придется менять его в каждом помещении в составе квартиры.
#База
@ifc_ru
🔹Может ли модель быть без связей между элементами? - Вполне.
🔹Поможет ли это в работе с данными в модели? - Вряд ли.
Рассмотрим основные назначения связей в IFC.
🔹 Связи обеспечивают структурную целостность модели, гарантируя, что данные, связанные между собой, соответствуют семантическим правилам. Контроль целостности в свою очередь повышает достоверность информации в модели. Например, благодаря связям мы можем убедиться, что дверь действительно принадлежит стене, а не болтается сама по себе.
🔹 Связи позволяют писать сложные запросы, включающие данные из нескольких сущностей. К примеру, для элемента "Помещения" вы можете написать запрос, выдающий информацию о связанных с ним конструкциях (с помощью связи IfcRelSpaceBoundary), ограничивающих это помещение, и проверить их пожарные характеристики.
🔹 Связи обеспечивают формирование геометрии. Так, именно благодаря IfcRelVoidsElement из геометрии стены (перекрытия или иного элемента) вырезается геометрия отверстий/проемов/ниш.
Т.е. изначально геометрия стены описывается без проемов, что позволяет получить у нее объем и площадь брутто, сократить число начальных полигонов, описать ее параметрически (например, осевой линией с выдавливанием).
🔹 Связи помогают избежать дублирования и избыточности данных. Например, свойства типа для элементов окна привязываются к каждому экземпляру окна при помощи отношений из набора IfcRelDefines.
🔹 Связи позволяют легко обновлять данные: меняя их в одном месте, эти изменения отразятся в связанных сущностях. Допустим, вы обновляете свойства типа о том же окне - все связанные с ним экземпляры окон будут также обновлены.
Это обычный, но важный функционал САПР, о котором мы уже не задумываемся.
В этом смысле добавление элементам свойств, чтобы каким-то образом обозначить связь с другим элементом или группой видится весьма сомнительным решением. К примеру, назначив помещениям "номер квартиры", при необходимости вам придется менять его в каждом помещении в составе квартиры.
#База
@ifc_ru