Please enable JavaScript to view this site.

Настройка кодирования объектов с помощью xml-файла позволяет передать в файл IFC следующую информацию из модели КОМПАС-3D:

имена компонентов/тел и их цвета;

вид модели — сборка;

системные свойства (Обозначение, Наименование, Масса, Материал и другие);

свойства из библиотек (*.lpt);

принадлежность слою;

принадлежность зоне.

Управляемые параметры при генерации IFC-объекта

свойства объекта (IfcProperty);

вид объекта;

принадлежность к классу IfcBuildingStorey;

принадлежность к классу IfcSpace.

Кодировка выполняется по следующим правилам (на примере файла IFCConverter.xml, поставляемого по умолчанию):

1. Каждое свойство исходного объекта обрабатывается по отдельности от других свойств и других объектов.

2. Если свойство не обработано (не найдено правило по его преобразованию), то свойство не используется и в выходной документ не попадает.

3. Если свойство обработано по одному правилу, его обработка прекращается и другие правила для него не ищутся. Порядок поиска правил — от начала xml-файла к его концу.

Структура xml-файла

Разделов (xml-тегов) <item> … </item> может быть несколько — каждое из них определяет конкретное правило.

Внутри каждое правило разбито на два раздела:

<from>...</from> — фильтр для свойства исходного объекта. Фильтров может быть несколько, все они объединяются по логическому оператору ИЛИ.

<to>...</to> — описание выходных свойств, генерируемых у выходного объекта. Выходных свойств может быть несколько, каждое из них будет создано, если исходный объект прошел фильтрацию.

В таблице 1 приведено описание свойств в управляющем файле.

Табл. 1. Соответствие свойств исходного объекта xml-тегам управляющего файла


Свойство исходного объекта

Xml-тег в разделе <from> ... </from> правила

Дополнительные атрибуты

(дополнительные xml-атрибуты для уточнения попадания свойства под правило (фильтрацию))


Имя компонента

<property name = "__ComponentName" />

value="..." — имя компонента


Имя тела

<property name ="__BodyName" />

value="..." — имя тела


Системные свойства/свойства из библиотек (*.lpt)

<property />

name ="..." — имя свойства

value="..." — значение


Принадлежность слою

<layer />

name="..." - имя слоя


Принадлежность зоне

<zone />

name="..." — имя зоны


Вид объекта — сборка

<assembly />

name="..." — имя сборки

В таблице 2 приведены способы задания атрибутов и их интерпретация.

Табл. 2. Правила для проверки на соответствие имен/значений исходных свойств указанным дополнительным атрибутам


Значение фильтра для атрибутов value и name

Интерпретация фильтра

Примеры


Сам атрибут не указан или значение не определено (пустая строка)

Для всех значений



Определенное значение

Для значения, точно совпадающего с указанным.

Для данных типа real значения сравниваются с точностью 0.1% от измеряемой величины.

Для данных типа boolean значения задаются строками «True», «T», «Yes», «Y», «Да» и «False», «F», «No», «N», «Нет».

value = "25.0"

value = "True"

name = "Кровля"


Диапазон

Для значений, попадающих в указанный интервал.

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

Соответственно, если не указана верхняя граница, то она она считается максимально возможным числом.

Применимо для данных типа real и integer.

value = "25.0 ~ 60.0"

value = "~ 60.0"

value = "25.0 ~"


Шаблон

Для значений, содержащих указанную подстроку.

Допускает поиск подстроки в начале, середине и конце текста.

Применимо для данных типа string

name = "Окно …"

name = "… ГОСТ ХХХ.ХХ-XXX"

name = "…канализационн..."


Список

Для значений, совпадающих с одним из элементов списка.

Допустимо применение списков диапазонов и шаблонов.

Применимо для данных типа real, integer и string.

value = "25.0; 40.0; 60.0"

name = "Du; Dn"

value = "25.0 ~ 60.0; 100.0 ~ 120.0"

Примеры записи свойств

<from> <assembly name="Этаж ...;Кровля …;Фундамент ..."/> </from> — исходный объект является сборкой с одним из имен, перечисленным в списке (в т.ч. «Этаж 1», «Этаж 2», «Кровля двухскатная» и т.д.).

<from> <property name="Du" value="15.0;25.0;40.0"/> </from> — у объекта установлено свойство с именем «Du» и значением из списка 15.0, 25.0 и 40.0.

<from> <property name="Масса" value="50.0~100.0"/> </from> — у объекта установлено свойство с именем «Масса» и значением в диапазоне от 50.0 до 100.0.

В таблице 3 описаны атрибуты для управления генерацией объекта IFC.

Табл. 3. Атрибуты управляемых параметров


Управляемые параметры при генерации IFC-объекта

Xml-тег в разделе <to>...</to>

Дополнительные атрибуты


Свойства объекта (IfcProperty)

<property />

name="XXX" — задает имя свойства, value="YYY" — задает значение свойства,

type ="ZZZ" — задает тип создаваемого свойства (допустимы значения «real», «integer»,«boolean» и «string»).

Если параметры не указаны, то они берутся из исходного свойства.

Если компоненты имени разделены символом «\», то свойство будет помещено в соответствующую иерархическую структуру (дерево) свойств.


Тип получаемого (генерируемого) объекта

<entity name="product" />

value="ХХХ" — задает имя класса для генерируемого объекта


Принадлежность к определенному классу IfcBuildingStorey

<entity name="buildingstorey" />

value ="ХХХ" — задает имя класса IfcBuildingStorey, в котором будет размещен создаваемый объект


Принадлежность к определенному классу IfcSpace

<entity name="space" />

value ="ХХХ" — задает имя класса IfcSpace, в котором будет размещен создаваемый объект

Примеры объектов

Создается объект IfcValve предопределенного типа “REGULATING”.

 

Объект располагается в классе IfcSpace с именем «Водоснабжение».

 

Пример файла IFCConverter.xml, подключенного по умолчанию

 

Примеры дополнений

Входящий объект проверяется на принадлежность к слою КОМПАС-3D и, в соответствии с этим, переносится в нужный класс IfcBuildingStorey по имени слоя.

 

По имени объекта изменяется генерируемый IFC-класс.

 

Xml-файл подключается в диалоге настройки записи в формат IFC.

© ООО «АСКОН-Системы проектирования», 2022. Все права защищены. | Единая телефонная линия: 8-800-700-00-78