agosty.ru35. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. МАШИНЫ КОНТОРСКИЕ35.240. Применение информационных технологий

ГОСТ Р 58438.2-2020 Структура данных электронных каталогов продукции для инженерных систем зданий. Часть 2. Геометрия

Обозначение:
ГОСТ Р 58438.2-2020
Наименование:
Структура данных электронных каталогов продукции для инженерных систем зданий. Часть 2. Геометрия
Статус:
Действует
Дата введения:
01.01.2021
Дата отмены:
-
Заменен на:
-
Код ОКС:
35.240.01, 35.240.67

Текст ГОСТ Р 58438.2-2020 Структура данных электронных каталогов продукции для инженерных систем зданий. Часть 2. Геометрия

ГОСТ Р 58438.2-2020

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

СТРУКТУРЫ ДАННЫХ ЭЛЕКТРОННЫХ КАТАЛОГОВ ПРОДУКЦИИ ДЛЯ ИНЖЕНЕРНЫХ СИСТЕМ ЗДАНИЙ

Часть 2

Геометрия

Data structures for electronic catalogues for building services. Part 2. Geometry

ОКС 35.240.01
35.240.67

Дата введения 2021-01-01

Предисловие

1 РАЗРАБОТАН Акционерным обществом "Научно-исследовательский центр "Строительство" (АО "НИЦ "Строительство") - Центральным научно-исследовательским институтом строительных конструкций имени В.А.Кучеренко (ЦНИИСК им.В.А.Кучеренко)

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 465 "Строительство"

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 30 июня 2020 г. N 322-ст

4 Настоящий стандарт разработан с учетом основных нормативных положений международного стандарта ИСО 16757-2:2016* "Структуры данных электронных каталогов продукции для инженерных систем зданий. Часть 2. Геометрия" (ISO 16757-2:2016 "Data structures for electronic catalogues for building services - Part 2: Geometry", NEQ)

________________

* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - .

5 ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)

Введение

В ГОСТ Р 58438.1-2013* "Структуры данных электронных каталогов продукции для инженерных систем зданий. Часть 1. Понятия, архитектура и модель" были установлены требования к автоматической передаче данных о продуктах инженерно-технического обеспечения в информационные модели объекта и модели прикладного программного обеспечения инженерно-технических систем. В развитие положения ГОСТ Р 58438.1 настоящий стандарт представляет действующие на национальном уровне модели и определения при обмене данными между каталогами продукции и инженерным программным обеспечением для исключения необходимости управления различными форматами данных или использования различного специфического программного обеспечения производителей каталогов при работе с различными продуктами, сокращения затрат для производителей и пользователей каталогов продукции за счет интеграции этих данных в системы информационного моделирования объектов строительства, позволяющей осуществлять обмен данными между системами информационных технологий, а также для облегчения управления его жизненным циклом.

________________

* Вероятно, ошибка оригинала. Следует читать: ГОСТ Р 58438.1-2019. - .

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

К целям настоящего стандарта относятся:

- автоматическая интеграция каталожных данных всех производителей систем автоматизированного проектирования;

- единообразный выбор продукции по производителям;

- определение размеров продукции с использованием методик производителей;

- возможность пересчета и перемоделирования всей системы с данными всех компонентов системы инженерно-технического обеспечения с необходимой частотой;

- стандартизированное представление технических параметров для обмена данными и управления жизненным циклом.

1 Область применения

Настоящий стандарт распространяется на структуры данных для электронных каталогов продуктов и устанавливает требования к моделированию и обмену геометрической информацией компонентов систем инженерно-технического обеспечения.

2 Нормативные ссылки

В настоящем стандарте использованы нормативные ссылки на следующие стандарты:

ГОСТ Р 10.0.02/ИСО 16739-1:2018 Система стандартов информационного моделирования зданий и сооружений. Отраслевые базовые классы (IFC) для обмена и управления данными об объектах строительства. Часть 1. Схема данных

ГОСТ Р 58438.1 Структуры данных электронных каталогов продукции для инженерных систем зданий. Часть 1. Понятия, архитектура и модель

ГОСТ Р ИСО 10303-11 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS

Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать действующую версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.

3 Термины, определения и сокращения

3.1 Термины и определения

В настоящем стандарте применены термины по ГОСТ Р 58438.1, а также следующие термины с соответствующими определениями:

3.1.1 форма продукта (product shape): Геометрическое представление объема, определяемое внешними границами продукта.

3.1.2 поверхность продукта (product surface): Цветная и текстурированная внешняя граница формы продукта, внешний вид которой зависит от углов освещения и обзора.

3.1.3 порт (port): Локализованная, ориентированная и направленная характеристика геометрической модели продукта, применяемая для решения следующих задач:

- присоединение продукта к другим портам для переноса сред;

- крепление продукта к другим продуктам, дополнительному оснащению, стенам, потолкам, полам и т.д.;

- осуществление контроля.

3.1.4 твердотельная модель (solid model): Полное представление условной формы продукта таким образом, чтобы все точки продукта были соединены и любая точка могла быть классифицирована как внутренняя, наружная или находящаяся на границе твердого тела.

3.1.5 параметризуемое примитивное твердое тело (parametrizable primitive solid): Модель определенного примитивного твердого тела, например блока, цилиндра, сферы или конуса, размеры которого представлены в виде параметров для генерации различных вариантов.

3.1.6 конструктивная блочная геометрия; КБГ (constructive solid geometry, CSG): Тип геометрического моделирования, при котором твердое тело определяется как результат последовательности упорядоченных логических операций, применяемых к твердотельным моделям.

3.2 Сокращения

В настоящем стандарте применены следующие сокращения:

IFC - (Industry Foundation Classes) открытый формат основных отраслевых классов данных с открытой спецификацией для совместного использования данных в строительстве и управлении объектами строительства;

XML - (extensible Markup Language) расширяемый язык разметки;

XSD - (XML Schema Definition Language) язык описания структуры XML-документа;

EXPRESS - язык моделирования данных о производстве.

4 Информация и структура каталога

4.1 Все виды данных о продуктах в рамках настоящего стандарта могут быть переданы в файле данных каталога продуктов.

Структура каталога, которая более подробно поясняется в ГОСТ Р 58438.1, изображена на рисунке 1.

Рисунок 1 - Обзор элементов каталога и видов свойств

4.2 Настоящий стандарт содержит описание моделирования геометрии компонентов инженерных систем, оптимизированное для обмена данными каталогов продукции и включающее в себя:

- формы для представления самого продукта;

- условные обозначения для визуализации функции продукта на схематических диаграммах;

- зоны под функциональные требования;

- поверхности для визуализации цвета и структуры поверхности продукта;

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

4.3 Геометрия формы и пространственная геометрия выражаются в виде конструктивной блочной геометрии (КБГ) на основе геометрических примитивов, связанных с имеющимися границами с помощью логических операций. В настоящем стандарте использованы примитивы по ГОСТ Р 10.0.02, а также дополнительно примитивы, которые требуются для описания особой геометрии компонентов инженерно-технических систем. Для условных обозначений также используются линейные элементы.

4.4 Настоящий стандарт не содержит описание внутренней структуры, внутренней функциональности продукта и производственной информации, поскольку она, как правило, не публикуется в каталоге продуктов.

4.5 Компоненты инженерных систем могут иметь множество различных размеров. Чтобы избежать обмена данными множества компонентов с конкретными геометрическими размерами, вводится параметрическая модель, позволяющая выводить конкретный вариант геометрии из общей модели. Это необходимо для уменьшения объема данных, подлежащих обмену в каталоге, до управляемого размера. Параметрическая модель способствует формированию файлов данных меньшего объема, которые быстрее и проще передавать при обмене данными.

4.6 Используемая геометрическая модель не содержит указаний на виды, стили линий или штриховки и аналогичную информацию.

5 Геометрия

5.1 Общие положения

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

Рисунок 2 - Обзор геометрических элементов каталога и вида объектов данных

Геометрия содержит различные виды геометрических данных:

- формы;

- условные обозначения;

- зоны;

- поверхности;

- порты.

Формы, условные обозначения и зоны построены деревьями КБГ. Листьями являются геометрические примитивы (см. раздел 7). Для каждого примитива определен ряд атрибутов, которым должны быть присвоены конкретные значения для построения соответствующих форм. Внутренние узлы - это управляющие элементы КБГ, имеющие атрибуты, которым также могут быть присвоены значения. Таким же образом атрибуты указываются для портов, и путем присвоения определенных значений для атрибутов описываются конкретные порты.

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

Геометрические свойства предоставляют конкретные значения для каждого продукта. Они должны быть рассчитаны для каждого продукта на основе значений технических свойств этого конкретного варианта продукта. Таким образом, они являются производными свойствами, которые обеспечиваются функцией, вычисляющей фактическое значение свойства для данного варианта продукта (см. ГОСТ Р 58438.1). Некоторые геометрические свойства также могут быть динамическими, то есть они зависят не только от свойств продукта, но также от условий среды, в которой размещен продукт.

Один продукт может состоять из одного или нескольких компонентов (см. рисунок 3). Каждый компонент такого продукта должен быть описан как отдельный геометрический объект.

Рисунок 3 - Одиночный продукт (нагреватель с теплообменником и баком для воды) как группа компонентов

5.2 Формы

Формы поддерживают визуализацию продукта в виде трехмерной геометрической модели (см. рисунок 4). Кроме того, они необходимы для проверки пересечений с другими формами и зонами в модели здания или модели системы инженерно-технического обеспечения.

Рисунок 4 - Форма клапана

5.3 Условные обозначения

В дополнение к формам условные обозначения используются для понимания модели на чертежах. Так, трехмерное представление формы клапана (см. рисунок 4) не может дать информацию, содержащуюся в условном обозначении. Например, условное обозначение клапана дает дополнительную информацию о типе клапана, его функции и способе включения.

Условное обозначение также содержит информацию о том, является ли он 2D или 3D.

Метод описания условных обозначений такой же, как и для данных формы.

5.4 Данные о зонах

5.4.1 Одного описания формы продукта недостаточно для проверки правильности установки продукта в систему инженерно-технического обеспечения объекта строительства. Для многих элементов оборудования необходимо предусмотреть рабочую зону перед панелью управления или дисплеем, а также дополнительную зону для установки и/или монтажа (см. рисунок 5).

Классификации зон приведены в 5.4.2-5.4.6.

5.4.2 Общая зона

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

5.4.3 Рабочая зона

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

5.4.4 Зона обслуживания

Зона, необходимая операторам при обслуживании и эксплуатации продукта.

5.4.5 Зона для размещения и транспортирования

Зона, необходимая для наибольшего отдельного элемента, на которые можно разобрать продукт, для его дальнейшего транспортирования внутрь или наружу из объекта строительства, до или от места установки продукта.

5.4.6 Зона для установки продукта

Зона, необходимая для монтажа и установки или демонтажа продукта на месте.

1-

5 - зоны

Рисунок 5 - Зоны продукта

5.4.7 Общая зона описывается одним примитивом КБГ, который представляет собой объединение формы продукта и всех других выбранных зон.

5.4.8 Другие зоны могут быть собраны с использованием одного или нескольких геометрических примитивов. Они сконфигурированы так же, как и сама форма продукта.

5.5 Поверхности

Поверхности описывают цвет и текстуру поверхности продукта. Каждая отдельная комбинация цвета и текстуры указывается один раз в файле обмена данных. Эта комбинация связана с геометрическими данными с помощью ссылки.

5.6 Порты

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

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

Порты продукта могут быть классифицированы следующим образом:

- порты для транспортирования сред [транспортирование сред (например, газа или жидкости) в трубы, воздуховоды, клапаны, фитинги и т.д.];

- порты крепления (средства для крепления продукта к дополнительному оснащению, стенам, потолкам, полам и т.д.);

- порты для передачи сигналов контроля и мониторинга.

Если программное приложение анализирует информацию о портах, оно может автоматически позиционировать продукт относительно других компонентов системы или предлагать альтернативные позиции, например размещение водонагревателя сверху, рядом или позади котла. Тот же принцип действует для вентиляторов и монтажных рам, насосов, опорных рам и т.д.

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

6 Методология описания геометрии

6.1 Принцип геометрического представления

Геометрическое представление продуктов в каталогах продукции состоит из четырех основных частей.

а) Комбинация трехмерных твердотельных примитивов и порядок их объединения с помощью логических операций. Может быть использована для представления формы продукта, его символьной геометрии или зоны продукта.

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

б) Определение поверхностей продукта для описания их внешнего вида путем назначения определенного материала.

в) Описание портов продукта для системы инженерно-технического обеспечения или других продуктов, включая их расположение, направление и размеры.

г) Функция (Например, "get_geometry_values") или набор функций, которые извлекают значения свойств продукта, необходимые для расчета его геометрии. Вместе с трехмерными твердотельными примитивами, значениями поверхностей и системами координат эти значения свойств образуют геометрическое представление одного идентифицируемого продукта (см. 6.5).

6.2 Уровень детализации

6.2.1 Здание может содержать тысячи компонентов инженерно-технического обеспечения. Если они все представлены детально в геометрической модели здания, объем данных резко возрастает.

Проектировщики, которые используют, например, тысячи радиаторов и радиаторных клапанов в одной модели здания, не заинтересованы в подробной детализации этих продуктов. На чертежах с большими масштабами условное обозначение или менее детальное изображение может быть более информативным, чем детальное изображение.

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

В разных документах целесообразно использовать разные уровни детализации:

а) схема чертежа:

1) горизонтальная схема (например, для планов расхода воздуха):

- трубы и воздуховоды изображены двумя параллельными линиями в 2D;

- устройства изображены 2D-символами;

2) вертикальная схема (например, для планов питьевой воды, планов канализации и планов отопления):

- трубы и воздуховоды изображены одной направляющей линией в 2D;

- устройства изображены общими 2D-символами;

3) изометрическая схема (например, для планов трубопроводов):

- трубы и воздуховоды изображены одной линией в 3D;

- устройства изображены общими 3D-символами;

б) пространственное представление:

- пространственное представление очень сильно зависит от области применения и пользователя.

Примеры

1 Изготовители продуктов для систем инженерно-технического обеспечения заинтересованы в наиболее фотореалистичном геометрическом представлении, которое дает максимум информации о продукте.

2 Проектировщики систем инженерно-технического обеспечения заинтересованы в геометрическом представлении, которое дает минимальную информацию о типе продуктов для определения размеров, выбора, установки и эксплуатации.

3 Архитекторы заинтересованы:

- в общем представлении о трубах и устройствах для мониторинга помещений;

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

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

5 Пользователи специализированного программного обеспечения заинтересованы в хорошей производительности своего программного обеспечения.

6.2.2 Для удовлетворения указанных в 6.2.1 требований настоящий стандарт предусматривает для каждого продукта инженерно-технического обеспечения параллельные уровни геометрической детализации при проектировании инженерных систем здания, указанные в 6.2.3-6.2.7.

6.2.3 Уровень 1

Менее подробное условное обозначение при проектировании схем для обзора систем инженерно-технического обеспечения. Обозначение характеризует основную функцию продукта. Обозначение различает, например, противопожарный клапан и воздуховод, радиатор и обогреватель, ванну и раковину или клапан и манометр. Геометрия может содержать четыре условных обозначения, которые будут использоваться в качестве 2D-вида сверху, 2D-вида спереди, 2D-вида сбоку или в качестве 3D-модели.

6.2.4 Уровень 2

Высокодетализированное условное обозначение при проектировании схем для обзора систем инженерно-технического обеспечения. Это обозначение характеризует явную основную функцию и подфункции продукта. Геометрия может содержать четыре условных обозначения, которые будут использоваться в качестве 2D-вида сверху, 2D-вида спереди, 2D-вида сбоку или в качестве 3D-модели.

6.2.5 Уровень 3

Менее подробная геометрическая 3D-форма, детализированная настолько, насколько это необходимо для основной классификации группы продуктов. Она различает, например, противопожарный клапан и воздуховод, радиатор и обогреватель, ванну и раковины, клапан и манометр.

Основная цель этого уровня - обеспечить максимальную производительность 3D-систем автоматизированного программирования. Поэтому геометрическая форма этого уровня должна быть максимально простой.

6.2.6 Уровень 4

Более подробная геометрическая 3D-форма, детализированная настолько, насколько это необходимо для различия между продуктами различных изготовителей. Основные геометрические различия могут быть отображены в форме продукта. Основной целью этого уровня является разделение различных продуктов при обеспечении приемлемой производительности 3D-систем автоматизированного проектирования.

6.2.7 Уровень 5

Высокодетализированная геометрическая 3D-форма, детализированная так, чтобы могли быть видны все основные геометрические свойства продукта. Это обеспечивает почти фотореалистичный вид продукта без визуализации деталей, представляющих меньший интерес, таких как заклепки или плоские швы из листового металла. Основной целью этого уровня является представление конкретных продуктов конечным пользователям или создание подробных изображений для выбора конкретных экземпляров продуктов в моделях систем инженерно-технического обеспечения.

6.2.8 Порты будут по-разному определяться на уровнях 1 и 2 в соответствии с конкретными требованиями уровней. Пространственное трехмерное представление портов на уровнях 3, 4 и 5 одинаково.

В отличие от описания форм трехмерное описание зон не зависит от уровней детализации.

6.3 Поверхности

Поверхность продукта состоит из поверхностей его компонентов. Таким же образом поверхность компонента состоит из поверхностей составляющих его примитивов. Каждый примитив имеет минимум одну или несколько поверхностей подобласти, окруженных ребрами.

В большинстве случаев все поверхности подобластей примитива имеют одинаковые цвет и текстуру. Таким образом, весь примитив наследует свой основной цвет или текстуру поверхности из одного определения поверхности.

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

Следовательно, в дальнейшем определяется метод назначения поверхности.

Путем ввода трехмерных координат точки в области, которая будет окрашена, выбирается конкретная подобласть поверхности примитива для индивидуального окрашивания или текстурирования. Специализированное программное обеспечение сравнивает эту точку со всеми частями поверхности, возникшими в результате генерации блока (см. рисунок 6). Точка отображается (проецируется) на каждую область. Область окрашенной поверхности - область с наименьшей длиной проекции, где проецируемая точка находится в пределах границы области.

Рисунок 6 - Определение областей, которые будут окрашены или текстурированы путем ввода трехмерных координат точек внутри предполагаемых поверхностей (пример)

Начальная точка текстуры должна лежать в определенной плоскости, определенном цилиндре, определенном конусе, определенной сфере или определенном тороиде области поверхности, которая должна быть окрашена (см. рисунок 7). Координатные оси u и v охватывают наносимое текстурное изображение, которое проецируется на площадь поверхности в соответствии с масштабными коэффициентами, то есть либо увеличивается, либо уменьшается. Шаблон текстуры будет повторяться в направлениях обеих осей с необходимой частотой. Текстура будет обрезана по внешним границам линейных элементов области.

Рисунок 7 - Определение начальной точки текстуры, направления и масштабирования (пример)

6.4 Порты

Порты описываются следующими атрибутами:

- ID порта - числовое значение идентифицирует порт внутри продукта.

Пример - 1, 2, 3...;

- функция - список буквенно-цифровых кодов, идентифицирующий использование порта для продукта.

Пример - "HFL" для потока тепла и "HRT" для возврата тепла;

- параметры среды - список буквенно-цифровых кодов, определяющий возможные типы сред в порту.

Пример - "PWC" для холодной питьевой воды, "SEW" для сточных вод;

- направление потока среды - буквенно-цифровое значение, иногда зависящее от несущей среды, определяет правильный способ вставки продукта в систему инженерно-технического обеспечения. Значениями являются:

- "IN" для входящей среды,

- "OUT" для исходящей среды,

- "INOUT" для изменения направления,

- "NO" для отсутствия потока среды (порты крепления и управления);

- положение порта - определяется местной системой координат.

Пример - X = 123, Y = 456, Z = 789;

- направление.

Х-вектор местной системы координат указывает направление порта.

Пример - XXL = 0,86602540378, XYL = 0,5, XZL = 0 (для направления с углом 30° в плоскости X-Y);

- ориентация.

Y-вектор местной системы координат определяет ориентацию порта, то есть определяет угол поворота геометрии порта вокруг направляющих осей.

Пример - YXL = -0,5, YYL = 0,86602540378, YZL = 0 (для ориентации с углом 120° в плоскости X-Y);

- форма - буквенно-цифровой код самого порта и список форм возможных контрпортов, определяющих форму подключения порта к другим портам.

Пример - "Ниппель" и "Втулка" или "Фланец" и "Фланец"; "Вспомогательный фланец";

- метод - буквенно-цифровой код, который должен быть одинаковым на двух подходящих портах, определяющий способ подключения порта к другим портам. Код ссылается на списки методов портов во внешних определяющих словарях;

- размеры - буквенно-цифровые значения, определяющие размеры самого порта, и список буквенно-цифровых значений, определяющих возможные размеры порта. Их количество и значения зависят от метода порта.

Пример - "DN 32" или "12x60".

Функция порта определяет роль порта либо в качестве точки передачи среды, либо в качестве порта крепления. Он также может определять диапазон разрешенной среды. Направление потока среды, положение, метод и размеры порта служат для автоматической установки компонентов инженерного обеспечения в систему (например, автоматического выравнивания) и геометрических проверок, определяющих возможность правильной установки в систему.

Видимые части формы порта (например, резьба, шестигранники, фланцы и рамы) не определяются самим портом. Они должны быть определены в форме продукта и зависят от уровней детализации.

Для портов "Функция", "Параметры среды", "Форма" и "Размеры" являются буквенно-цифровыми значениями. Стандартизация этих наборов значений выходит за рамки настоящего стандарта.

6.5 Генерация параметрических значений для геометрии

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

На рисунке 8 показаны размерные зависимости в небольшом примере. Все размеры зависят от параметров "rad" и "len". Математические принципы определяют правило, согласно которому круглое отверстие никогда не будет касаться окружающего его блока или проходить через него. Таким же образом гарантируется, что длина цилиндрического отверстия будет соответствовать длине блока.

Примечания

1 Параметры "rad" и "len" - см. подраздел "Определения атрибутов" в А.2 приложения А.

2 См. также примечание 1, рисунок А.1.

Рисунок 8 - Параметризация геометрической модели (пример)

Таким образом, можно создать несколько похожих вариантов геометрической модели (см. рисунок 9), изменив значения параметров (в данном случае "len" и "rad").

Рисунок 9 - Варианты геометрической модели (пример)

Значения параметров определяются доступными вариантами продукта. Каталоги продуктов обычно предоставляют таблицы значений основных размеров для описания формы и положения портов. Различные значения в серии продуктов не обязательно могут быть описаны математическими правилами. Некоторые размеры являются постоянными в частях серии, некоторые зависят от основных размеров, а некоторые зависят от дополнительного оснащения или производственного процесса.

Эти зависимости должны быть описаны в функции "get_geometry_values", которая выдает значения всех параметров, используемых в геометрической модели. С учетом выбора варианта из каталога продуктов эта функция работает аналогично функциям, которые предоставляют значения вычисленных свойств (например, потеря давления).

7 Геометрические элементы

7.1 Общие положения

Параметрическая модель, используемая в настоящем стандарте, нуждается в некоторых дополнительных примитивах, которые требуются для выполнения специальных требований по параметризации геометрических фигур и примитивов в инженерно-техническом обеспечении.

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

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

Геометрические элементы делятся:

- на линейные элементы (см. таблицу 1).

Таблица 1

Идентификатор примитива

Определение в IFC4

1 Линия

IFC4 8.9.3.32

2 Окружность

IFC4 8.9.3.17

3 Дуга окружности (усеченная кривая)

IFC4 8.9.3.58

4 Сплайн (В-сплайн кривая)

IFC4 8.9.3.7

Специально для символов линейные элементы должны отображать свою форму. Размеры и координаты линейных элементов параметризуемы;

- примитивы форм КБГ.

Обычные КБГ-примитивы, такие как блоки, цилиндры и изогнутые тела, могут быть объединены для создания форм. Их определение основано на определениях положений, направлений, кривых и граней.

- примитивы из листового металла КБГ.

Специальные примитивы из листового металла для инженерно-технического обеспечения, такие как прямоугольно-круглые переходы, овальные коробы, Т-образные и Y-образные соединения, могут обрабатываться так же, как и обычные КБГ-примитивы (см. рисунок 10).

Рисунок 10 - Примитивы из листового металла могут быть объединены с помощью логических операций (пример)

В качестве альтернативы программное обеспечение может отображать примитивы из листового металла тремя способами:

а) без учета толщины стенок и с отображением примитива в виде обычного твердого тела (см. рисунок 11);

б) без учета толщины стенок и с отображением торцов примитива прозрачными (см. рисунок 12);

в) с отображением толщины стенок как результата внутренней логической разности с меньшим телом (см. рисунок 13).

Рисунок 11 - Примитив из листового металла - толщина стенок примитивов из листового металла КБГ не отображается (пример)

Рисунок 12 - Примитив из листового металла - толщина стенок примитивов из листового металла КБГ не отображается, торцы отображаются прозрачными (пример)

Рисунок 13 - Примитив из листового металла - толщина стенок примитивов из листового металла КБГ как логическая разность с аналогичным меньшим твердым телом (пример)

Геометрические элементы внутри примитива (демпфирующие лопасти в противопожарных клапанах, измерительное оборудование) могут быть установлены как независимое дерево КБГ, не объединенное с окружающими примитивами из листового металла (см. рисунок 14).

Рисунок 14 - КБГ-модель противопожарного клапана воздуховода, собранная из примитивов из листового металла КБГ (пример)

7.2 Формы примитивов КБГ

Геометрическая модель использует приведенные в таблице 2 формы примитивов.

Таблица 2

Идентификатор примитива

Определение в IFC4

1 Твердотельное полупространство

IFC4 8.8.3.20

2 Блок

IFC4 8.8.3.3

3 Прямоугольный клин

-

4 Сфера

IFC4 8.8.3.35

5 Правильный круглый конус

IFC4 8.8.3.30

6 Правильный круглый цилиндр

IFC4 8.8.3.31

7 Особенный конус

-

8 Выпуклая грань твердого тела

IFC4 8.8.3.13

9 Повернутая грань твердого тела

IFC4 8.8.3.28

10 Многогранное граничное представление

IFC4 8.8.3.16

Дополнительно определяются формы примитивов, приведенные в таблице 3.

Таблица 3

Идентификатор примитива

Определение

Изображение

1 Однородная многогранная призма

А.2

Рисунок А.1

2 Тороидальный изогнутый переходник

А.3

Рисунок А.2

7.3 Примитивы из листового металла КБГ

Следующие формы примитивов из листового металла и соответствующие им идентификаторы определены в таблице 4.

Таблица 4

Пункт N

Идентификатор примитива

Определение

Изображение

1

Прямоугольный короб

А.4

Рисунок А.3

2

Переходник прямоугольного короба

А.5

Рисунок А.4

3

Изгиб прямоугольного короба

А.6

Рисунок А.5

4

Тройник прямоугольного короба

А.7

Рисунок А.6

5

Y-тройник прямоугольного короба

А.8

Рисунок А.7

6

Прямоугольный/овальный переходник

А.9

Рисунок А.8

7

Прямоугольный/круглый переходник

А.10

Рисунок А.9

8

Трапециевидный короб

А.11

Рисунок А.10

9

Переходник трапециевидного короба

А.12

Рисунок А.11

10

Овальный короб

А.13

Рисунок А.12

11

Переходник овального короба

А.14

Рисунок А.13

12

Изгиб овального короба

А.15

Рисунок А.14

13

Овальный/круглый переходник

А.16

Рисунок А.15

14

Круглая труба

А.17

Рисунок А.16

15

Переходник круглой трубы

А.18

Рисунок А.17

16

Радиальный переходник круглой трубы

А.19

Рисунок А.18

17

Изогнутый переходник круглой трубы

А.20

Рисунок А.19

18

Y-тройник круглой трубы

А.21

Рисунок А.20

19

Выдавленная грань короба

А.22

Рисунок А.21

20

Вращение грани короба

А.23

Рисунок А.22

7.4 Расширенные КБГ-примитивы

Расширенные примитивы и соответствующие им идентификаторы определены в таблице 5.

Таблица 5

Идентификатор примитива

Определение в IFC4

1 Текст

IFC4 8.11.2.90

2 Повтор

-

3 Ссылка

-

7.5 Соответствие геометрии настоящего стандарта и параметризуемой геометрии IFC

Определения примитивов настоящего стандарта основаны на определениях ГОСТ Р 10.0.02 (IFC).

Для целей настоящего стандарта необходимы 36 параметризуемых геометрических примитивов с наиболее распространенными формами в инженерно-техническом обеспечении во избежание использования многогранных граничных представлений.

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

Результатом выбора продукта в каталоге является определенный сгенерированный вариант продукта, в котором все примитивы имеют статичные размеры. Когда генерируется статичный вариант, все его примитивы, определенные в этом стандарте дополнительно к IFC, могут быть сопоставлены с примитивами IFC или граничными представлениями.

ГОСТ Р 10.0.02 (IFC) предлагает 13 объемных примитивов:

- IfcBlock;

- IfcBoxedHalfSpace;

- IfcExtrudedAreaSolid;

- IfcHalfSpaceSolid;

- IfcPolygonalBoundedHalfSpace;

- IfcRectangularPyramid;

- IfcRevolvedAreaSolid;

- IfcRightCircularCone;

- IfcRightCircularCylinder;

- IfcSectionedSpine;

- IfcSphere;

- IfcSurfaceCurveSweptAreaSolid;

- IfcSweptDiskSolid.

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

В таблице 6 показано соответствие объемных твердых примитивов настоящего стандарта и ГОСТ Р 10.0.02 (IFC 4).

Таблица 6 - Соответствие твердотельных объемных примитивов настоящего стандарта и ГОСТ Р 10.0.02 (IFC 4)

Настоящий стандарт

ГОСТ Р 10.0.02

Схема сечения

IfcHalfSpaceSolid

Кубоид

IfcBlock

Прямоугольная трехсторонняя призма

IfcExtrudedAreaSolid с IfcParametrizedProfileDef

Однородная многогранная призма

Многогранник не является определенным профилем в IfcParametrizedProfileDef для IfCExtrudedAreaSolid

Цилиндр

IfcRightCircularCylinder

Усеченный конус

IfcRightCircularCone с IfcHalfSpaceSolid

Сфера

IfcSphere

Тороидальный изгиб

IfcRevolvedAreaSolid с IfcParametrizedProfileDef

Тороидальный изогнутый переходник

Многогранное граничное представление

Твердотельный переходник

IfcExtrudedAreaSolid с IfcParametrizedProfileDef

Твердотельное вращение

IfcExtrudedAreaSolid с IfcParametrizedProfileDef

Целое ограниченное твердое тело

Многогранное граничное представление

Прямоугольный короб

Многогранное граничное представление

Переходник прямоугольного короба

IfcBlock

Изгиб прямоугольного короба

Многогранное граничное представление

Тройник прямоугольного короба

Многогранное граничное представление

Y-тройник прямоугольного короба

Многогранное граничное представление

Прямоугольный/овальный переходник

Многогранное граничное представление

Прямоугольный/круглый переходник

Многогранное граничное представление

Трапециевидный короб

IfcRevolvedAreaSolid с IfcParametrizedProfileDef

Переходник трапециевидного короба

Многогранное граничное представление

Овальный короб

IfcExtrudedAreaSolid с IfcParametrizedProfileDef

Переходник овального короба

Многогранное граничное представление

Изгиб овального короба

Многогранное граничное представление

Овальный/круглый переходник

Многогранное граничное представление

Круглая труба

IfcSweptDiskSolid с IfcParametrizedProfileDef

Переходник круглой трубы

IfcRightCircularCone с IfcHalfSpaceSolid

Радиальный переходник круглой трубы

IfcRevolvedAreaSolid с IfcParametrizedProfileDef

Изогнутый переходник круглой трубы

Многогранное граничное представление

Y-тройник круглой трубы

Многогранное граничное представление

Переходник короба

IfcExtrudedAreaSolid с IfcParametrizedProfileDef

Поворот короба

IfcRevolvedAreaSolid с IfcParametrizedProfileDef

Целый ограниченный короб

Многогранное граничное представление

Приложение А
(обязательное)

Дополнительные геометрические элементы

А.1 Общие принципы

В настоящем приложении описаны параметризуемые геометрические элементы, необходимые для представления компонентов инженерно-технического обеспечения, которые не стандартизированы в ГОСТ Р 10.0.02.

Определения этих примитивов перечислены как спецификации EXPRESS в форме настоящего стандарта и как спецификации EXPRESS (ГОСТ Р ИСО 10303-11) и XSD.

А.2 Однородная многогранная призма

Примечания

1 Рисунки А.1-А.22 нецелесообразно приводить в соответствии с требованиями стандартов Единой системы конструкторской документации и Системы проектной документации для строительства в части применения и расшифровки условных обозначений, использованных на рисунках, в связи с тем, что использованные на рисунках условные обозначения ang, angle, an1, an2, ch1, ch2, depth, hei, he1, he2, len, Ie1, Ie2, lof, lo1, lo2, Imx, Imy, rad, ram, ra1, ra2, ra3, rof, wid, wi1, wi2, wi3, wth, а также обозначения осей x, y, z именно в таком виде приведены в подразделах "Спецификация EXPRESS", "Спецификация XSD (IFC)", "Спецификация EXPRESS (IFC)" А.2-А.23 настоящего приложения, содержащих описания примитивов на языке EXPRESS.

2 Расшифровку условных обозначений, использованных на рисунках А.1-А.22, см. в подразделах "Определение атрибутов" А.2-А.23 настоящего приложения.

Рисунок А.1 - Однородная многогранная призма

Идентификатор примитива: "uniform_polyhedral_prism"

Однородная многогранная призма - тип обычного призматического примитива КБГ с однородным многогранным основанием. Все боковые грани представляют собой прямоугольники одинаковых длины и ширины.

Спецификация EXPRESS:

*)

ENTITY uniform_polyhedral_prism

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

len : positive_length_measure;

rad : positive_length_measure;

num : integer;

WHERE

WR1 : len > 0;

WR2 : rad > 0;

WR3 : num >= 3;

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для равномерной многогранной призмы. Основание uniform_polyhedral_prism имеет свой центр в position.location, а нижняя сторона (минимум z) многогранника параллельна плоскости х-у.

len:

Длина основного размера вдоль оси х (position.р[1]).

rad:

Радиус окружности, касательной ко всем ребрам базовой грани (совпадает с радиусом окружности, касательной ко всем ребрам торцевой грани).

num:

Количество ребер и соответствующих им вершин базовой грани (совпадает с количеством ребер и соответствующих им вершин торцевой грани).

Формальные утверждения:

WR1:

Длина len должна быть больше 0.

WR2:

Радиус rad должен быть больше 0.

WR3:

Число ребер num должно быть больше 2.

Спецификация в IFC:

Однородная многогранная призма определяется с помощью существующего примитива IFC: IfcExtrudedAreaSolid.

Базовая грань определяется как параметризуемый 2D-профиль.

XSD Спецификация 2D-профиля:

<xs : element name="IfcUniformPolyhedralProfileDef" type="ifс:IfcRectangleProfileDef"

substitutionGroup="ifc: IfcParametrizedProfileDef" nillable="true"/>

<xs : complexType name="IfcUniformPolyhedralProfileDef">

<xs : complexContent>

<xs : extension base="ifс: IfcParametrizedProfileDef ">

<xs : attribute name="rad" type="ifc: IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="num" type="ifc: Ifclnteger" use="optional"/>

</xs : extension>

</xs : complexContent>

</xs : complexType>

EXPRESS-спецификация 2D-профиля (IFC):

ENTITY IfcUniformPolyhedralProfileDef

SUBTYPE OF IfcParametrizedProfileDef;

<xs : attribute name="rad" type="ifc: IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="num" type="ifc: Ifclnteger" use="optional"/>

END_ENTITY;

А.3 Тороидальный изогнутый переходник

Рисунок А.2 - Тороидальный изогнутый переходник

Идентификатор примитива: "toroidal_bend_transition"

Тороидальный изогнутый переходник - это тип примитива КБГ с круглой базовой гранью и круглой торцевой гранью. Направляющая представляет собой сегмент окружности, лежащий в плоскости х-у с центром на положительном направлении оси у.

Поперечное сечение плоскости, перпендикулярной плоскости направляющей и ее центральной точке, всегда является окружностью. Радиусы всех этих окружностей - конусы на развернутой длине направляющей.

Спецификация EXPRESS:

*)

ENTITY toroidal_bend_transition

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

ram : positive_length_measure;

ra1 : positive_length_measure;

ra2 : positive_length_measure;

ang: positive_plane_angle_measure;

WHERE

WR1 : ram >= MAX (ra1, ra2);

WR2 : ra1 >= 0;

WR3 : ra2 >= 0;

WR4 : - ra2 = 0 ==> ra1 > 0;

NOT (ra2 = 0) OR (ra1 > 0);

WR5 : - ra1 = 0 ==> ra2 > 0;

NOT (ra1 = 0) OR (ra2 > 0);

WR6: ang > 0;

WR7: ang<= 360°;

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для тороидального изогнутого переходника. position определяет расположение системы координат для toroidal_bend_transition. Центр базовой круглой грани toroidal_bend_transition находится в position.location, а центр направляющей - на оси y.

ram:

Радиус (основной радиус) направляющей.

ra1:

Радиус базовой грани, параллельный плоскости у-z.

ra2:

Радиус торцевой грани.

ang:

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

Формальные утверждения:

WR1

Радиус ram должен быть больше или равен максимуму из ra1 и ra2.

WR2

Радиус ra1 должен быть больше или равен 0.

WR3

Радиус ra2 должен быть больше или равен 0.

WR4

Радиус ra1 должен быть больше 0, если ra2 равен 0.

WR5

Радиус ra2 должен быть больше 0, если ra1 равен 0.

WR6

Угол ang должен быть больше 0.

WR7

Угол ang должен быть меньше или равен 360°.

Неформальные утверждения:

IP1:

Toroidal_bend_transition может стать изогнутым тором, если начальный и конечный радиусы равны.

IP2:

Изогнутый тор с углом поворота 360° является замкнутым тором.

Спецификация в IFC:

Тороидальные изогнутые переходники определяются с помощью существующих определений IFC.

toroidal_bend_transition определяется как:

IfcRevolvedAreaSolid

Базовая грань - это параметризованный 2D-профиль:

IfcCircleProfileDef

Базовая грань будет преобразована с помощью:

IfcDerivedProfileDef

lfcCartesianTransformationOperator2D

А.4 Прямоугольный короб

Рисунок А.3 - Прямоугольный короб

Идентификатор примитива: "rectangular_duct"

Прямоугольный короб - тип правильного призматического примитива КБГ с прямоугольным основанием. Его поведение при логических операциях такое же, как и у блока. Основание и торцевая поверхность являются открытыми, поэтому они могут отображаться как невидимые для представления короба из листового металла.

Спецификация EXPRESS:

*)

ENTITY rectangular_duct

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth: positive_length_measure;

len: positive_length_measure;

wid: positive_length_measure;

hei: positive_length_measure;

WHERE

WR1 : wth > 0

WR2 : len > 0

WR3 : wid > 2*wth

WR4: hei > 2*wth

END_ENTITY;

(*

Определения атрибутов:

position:

Расположение и ориентация системы координатных осей прямоугольного короба.
rectangular_duct имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки листа металла, образующего короб (position.р[1]).

len:

Длина прямоугольного короба по оси х (position.р[1]).

wid:

Ширина прямоугольного короба по оси у (position.р[2]).

hei:

Высота прямоугольного короба по оси z (position.р[3]).

Формальные утверждения:

WR1

Толщина стенки wth должна быть больше 0.

WR2

Длина len должна быть больше 0.

WR3

Ширина wid должна быть больше 2*wth.

WR4

Высота hei должна быть больше 2*wth.

Спецификация в IFC:

Прямоугольный короб определяется с помощью существующих определений IFC.

rectangular_duct определяется как:

IfcExtrudedAreaSolid

Базовая грань - это параметризованный 2D-профиль:

IfcRectangleHollowProfileDef

А.5 Переходник прямоугольного короба

Рисунок А.4 - Переходник прямоугольного короба

Идентификатор примитива: "rectangular_duct_transition"

Переходник прямоугольного короба - тип обычного примитива КБГ с прямоугольными основной и торцевой гранями. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основная и торцевая грани могут отображаться как невидимые для изготовления переходника короба из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY rectangular_duct_transition

SUBTYPE OF (geometric_representation_item);

position : axis2_placement_3d;

wth : positive_length_measure;

len : positive_length_measure;

wi1 : positive_length_measure;

wi2 : positive_length_measure;

he1 : positive_length_measure;

he2 : positive_length_measure;

lof : length_measure;

vof : length_measure;

ra1 : positive_length_measure;

ra2 : positive_length_measure;

ch1 : positive_length_measure;

ch2 : positive_length_measure;

WHERE

WR1 : wth >= 0

WR2 : len > 0

WR3 : wi1 > 2*wth

WR4 : wi2 > 2*wth

WR5 : he1 > 2*wth

WR6 : he2 > 2*wth

WR7 : ra1 >= 0

WR8 : ra2 >= 0

WR9 : ch1 >= 0

WR10 : ch2 >= 0

WR10 : ch2 >= 0

WR11 : - ch1 > 0 ==> ra1 = 0

NOT (ch1 > 0) OR (ra1 = 0);

WR12 : - ch2 > 0 ==> ra2 = 0

NOT (ch2 > 0) OR (ra2 = 0);

WR13: - ra1 > 0 ==> ch1= 0

NOT (ra1 > 0) OR (ch1 = 0);

WR14 : - ra2 > 0 ==> ch2 = 0

NOT (ra2 > 0) OR (ch2 = 0);

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для переходника прямоугольного короба.
rectangular_duct_transition
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки листа металла, образующего переходник короба (position.р[1]).

len:

Длина переходника прямоугольного короба по оси х (position.р[1]).

wi1:

Ширина основной грани переходника прямоугольного короба вдоль оси у (position.р[2]).

wi2:

Ширина торцевой грани переходника прямоугольного короба вдоль оси у (position.р[2]).

he1:

Высота основной грани переходника прямоугольного короба вдоль оси z (position.р[3]).

he2:

Высота торцевой грани переходника прямоугольного короба вдоль оси z (position.р[3]).

lof:

Поперечное смещение торцевой грани переходника прямоугольного короба вдоль оси у (position.р[2]).

vof:

Вертикальное смещение торцевой грани переходника прямоугольного короба вдоль оси z (position.р[3]).

ra1:

Радиус закругления на нижней стороне основной грани по оси у.

ra2:

Радиус закругления на верхней стороне основной грани по оси у.

ch1:

Глубина выемки под 45° на нижней стороне основной грани по оси у.

ch2:

Глубина выемки под 45° на верхней стороне основной грани по оси у.

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Длина len должна быть больше 0.

WR3:

Ширина wi1 должна быть больше 2*wth.

WR4:

Ширина wi2 должна быть больше 2*wth.

WR5:

Высота he1 должна быть больше 2*wth.

WR6:

Высота he2 должна быть больше 2*wth.

WR7:

Радиус ra1 должен быть больше или равен 0.

WR8:

Радиус ra2 должен быть больше или равен 0.

WR9:

Глубина выемки ch1 должна быть больше или равна 0.

WR10:

Глубина выемки ch2 должна быть больше или равна 0.

WR11:

Радиус ra1 должен быть равен 0, если глубина выемки ch1 больше 0.

WR12:

Радиус ra2 должен быть равен 0, если глубина выемки ch2 больше 0.

WR13:

Глубина выемки ch1 должна быть равна 0, если радиус ra1 больше 0.

WR14:

Глубина выемки ch2 должна быть равна 0, если радиус ra2 больше 0.

Неформальные утверждения:

IP1:

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

IP2:

Радиусы входных отверстий или выемок могут быть указаны для одной или обеих сторон. Значения выемок входных отверстий определяют глубину выемок под 45°. В то же время для радиуса входного отверстия и выемки значения могут не указываться - указывается значение либо для радиуса, либо для выемки.

Спецификация в IFC:

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

rectangular_duct_transition определяется как:

IfcExtrudedAreaSolid

Базовая грань - это параметризованный 2D-профиль:

IfcRectangleHollowProfileDef

Включено преобразование стартовой грани с помощью:

IfcDerivedProfileDef

lfcCartesianTransformationOperator2D

Переходники коробов с радиусами и выемками определяются с помощью следующих определений IFC.

Спецификация XSD (IFC):

<xs : element name="IfcRectangularDuctTransition" type="ifс:IfcRectangularDuctTransition"

substitutionGroup="ifc : IfcCsgPrimitive3D" nillable="true"/>

<xs : complexType name="IfcRectangularDuctTransition">

<xs : complexContent>

<xs : extension base="ifc: IfcCsgPrimitive3D">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="len" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="he1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="he2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="lof" type="ifc : IfcLengthMeasure" use="optional"/>

<xs : attribute name="vof" type="ifc : IfcLengthMeasure" use="optional"/>

<xs : attribute name="ra1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ch1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ch2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS (IFC):

ENTITY IfcRectangularDuctTransition

SUBTYPE OF IfcCsgPrimitive3D;

wth : IfcPositiveLengthMeasure;

len : IfcPositiveLengthMeasure;

wi1 : IfcPositiveLengthMeasure;

wi2 : IfcPositiveLengthMeasure;

he1 : IfcPositiveLengthMeasure;

he2 : IfcPositiveLengthMeasure;

lof : IfcLengthMeasure;

vof : IfcLengthMeasure;

ra1 : IfcPositiveLengthMeasure;

ra2 : IfcPositiveLengthMeasure;

ch1: IfcPositiveLengthMeasure;

ch2 : IfcPositiveLengthMeasure;

END_ENTITY;

А.6 Изгиб прямоугольного короба

Рисунок А.5 - Изгиб прямоугольного короба

Идентификатор примитива: "rectangular_duct_bend"

Изгиб прямоугольного короба - тип обычного примитива КБГ с прямоугольными основной и торцевой гранями. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основная и торцевая грани могут отображаться как невидимые для изготовления изгиба короба из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY rectangular_duct_bend

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth : positive_length_measure;

ang : positive_plane_angle_measure;

wi1 : positive_length_measure;

wi2 : positive_length_measure;

hei : positive_length_measure;

ra1 : positive_length_measure;

ra2 : positive_length_measure;

ch1 : positive_length_measure;

ch2 : positive_length_measure;

WHERE

WR1 : wth >= 0

WR2 : ang > 0

WR3 : ang< 360

WR4 : wi1 > 2*wth

WR5 : wi2 > 2*wth

WR6 : hei > 2*wth

WR7 : ra1 >= 0

WR8 : ra2 >= 0

WR9 : ch1 >= 0

WR10 : ch2 >= 0

WR11 : - ch1 =0 ==> ra1 > 0

NOT (ch1 = 0) OR ra1 > 0;

WR12 : - ch2 = 0 ==> ra2 > 0

NOT (ch2 = 0) OR ra2 > 0;

WR13 : - ra1 = 0 ==> ch1 > 0

NOT (ra1 = 0) OR ch1 > 0;

WR14 : - ra2 = 0 ==> ch2 > 0

NOT (ra2 = 0) OR ch2 > 0;

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей изгиба прямоугольного короба.
rectangular_duct_bend
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки листа металла, образующего изгиб короба (position.р[1]).

len:

Длина изгиба прямоугольного короба по оси х (position.р[1]).

ang:

Размер изгиба прямоугольного короба вдоль оси х (position.р[1]).

wi1:

Размер основной грани изгиба прямоугольного короба вдоль оси у (position.р[2]).

wi2:

Размер торцевой грани изгиба прямоугольного короба в плоскости х-у.

hei:

Размер основной грани изгиба прямоугольного короба по оси z (position.р[3]).

ra1:

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

ra2:

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

ch1:

Глубина симметричной выемки на внутренней стороне изгиба короба.

ch2:

Глубина симметричной выемки на внешней стороне изгиба короба.

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Угол ang должен быть больше 0.

WR3:

Угол ang должен быть меньше или равен 360.

WR4:

Ширина wi1 должна быть больше 2*wth.

WR5:

Ширина wi2 должна быть больше 2*wth.

WR6:

Высота hei должна быть больше 2*wth.

WR7:

Радиус ra1 должен быть больше или равен 0.

WR8:

Радиус ra2 должен быть больше или равен 0.

WR9:

Глубина выемки ch1 должна быть больше или равна 0.

WR10:

Глубина выемки ch2 должна быть больше или равна 0.

WR11:

Радиус га1 должен быть равен 0, если глубина выемки ch1 больше 0.

WR12:

Радиус га2 должен быть равен 0, если глубина выемки ch2 больше 0.

WR13:

Глубина выемки ch1 должна быть равна 0, если радиус ra1 больше 0.

WR14:

Глубина выемки ch2 должна быть равна 0, если радиус ra2 больше 0.

Неформальные утверждения:

IP1:

Все общие формы изгибов и углов стен описываются путем ввода положительных значений (изгиб), отрицательных значений (выемки) или значением в градусах (угол) для радиусов. Радиусы или выемки могут быть указаны для одной или обеих сторон.

IP2:

Выемки симметричны. Следовательно, для общего угла, например, 90°, угол выемки равен 45°. Сечение wi2·hei находится на торцевой грани изгиба, имеющей радиус ra1 или ra2, или на конце соответствующих выемок ch1 или ch2.

IP3:

Нельзя одновременно указывать значения радиусов и выемок на одной стороне, указывают либо радиус, либо выемку. На рисунке А.5 приведены внутренний радиус ra1 и внешняя выемка ch2 (ra2 и ch1 не указаны).

IP4:

Выемки невозможны при углах от 180° до 360°. В этом случае игнорируется любое значение, данное для ra2. Затем ra2 вычисляется как наименьшая возможная касательная окружность на внешних стенках изгиба короба.

Спецификация в IFC:

Изгиб прямоугольного короба определяется с помощью следующих определений IFC.

Спецификация XSD (IFC):

<xs : element name="IfcRectangularDuctBend" type="ifс:IfcRectangularDuctBend"

substitutionGroup="ifc: IfcCsgPrimitive3D" nillable="true"/>

<xs : complexType name="IfcRectangularDuctBend">

<xs:complexContent>

<xs : extension base="ifс: IfcCsgPrimitive3D">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ang" type="ifc : IfcPlaneAngleMeasure" use="optional"/>

<xs : attribute name="wi1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="hei" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ch1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ch2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS (IFC):

ENTITY IfcRectangularDuctBend

SUBTYPE OF IfcCsgPrimitive3D;

wth: IfcPositiveLengthMeasure;

ang : IfcPlaneAngleMeasure;

wi1 : IfcPositiveLengthMeasure;

wi2 : IfcPositiveLengthMeasure;

hei : IfcPositiveLengthMeasure;

ra1 : IfcPositiveLengthMeasure;

ra2 : IfcPositiveLengthMeasure;

ch1 : IfcPositiveLengthMeasure;

ch2 : IfcPositiveLengthMeasure;

END_ENTITY;

А.7 Тройник прямоугольного короба

Рисунок А.6 - Тройник прямоугольного короба

Идентификатор примитива: "rectangular_duct_tee"

Тройник прямоугольного короба - тип обычного примитива КБГ с одним прямоугольным основанием и двумя прямоугольными торцевыми гранями. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевые поверхности могут отображаться как невидимые для выполнения тройника короба из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY rectangular_duct_tee

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth : positive_length_measure;

wi1 : positive_length_measure;

wi2 : positive_length_measure;

wi3 : positive_length_measure;

hei : positive_length_measure;

ra1 : positive_length_measure;

ra2 : positive_length_measure;

ch1 : positive_length_measure;

ch2 : positive_length_measure;

lo1 : positive_length_measure;

lo2 : positive_length_measure;

WHERE

WR1 : wth > 0

WR2 : wi1 > 2*wth

WR3 : wi2 > 2*wth

WR4 : wi3 > 2*wth

WR5 : hei > 2*wth

WR6 : ra1 >= 0

WR7 : ra2 >= 0

WR8 : ch1 >= 0

WR9 : ch2 >= 0

WR10 : - ch1 = 0 ==> ra1 > 0

NOT (ch1 = 0) OR ra1 > 0;

WR11: - ch2 = 0 ==> ra2 > 0

NOT (ch2 = 0) OR ra2 > 0;

WR12 : - ra1 = 0 ==> ch1 > 0

NOT (ra1 = 0) OR ch1 > 0;

WR13 : - ra2 = 0 ==> ch2 > 0

NOT (ra2 = 0) OR ch2 > 0;

WR14: lo1 >= 0

WR15: lo2 >= 0

WR16: - lo2 = 0 ==> lo1 > 0

NOT (lo2 = 0) OR lo1 > 0;

WR17 : - lo1 = 0 ==> lo2 > 0

NOT (lo1 = 0) OR lo2 > 0;

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей тройника прямоугольного короба.
rectangular_duct_tee
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей координат.

wth:

Размер толщины стенки тонкого листового металла, образующего тройник короба (position.р[1]).

wi1:

Размер базовой грани тройника прямоугольного короба по оси у (position.р[2]).

wi2:

Размер торцевой грани тройника прямоугольного короба вдоль оси х (position.р[1]) ниже оси у.

wi3:

Размер торцевой грани тройника прямоугольного короба вдоль оси х (position.р[1]) выше оси у.

hei:

Размер базовой грани тройника прямоугольного короба вдоль оси z (position.р[3]).

ra1:

Радиус скругления ниже оси у.

ra2:

Радиус скругления выше оси у.

ch1:

Глубина симметричной выемки ниже оси у.

ch2:

Глубина симметричной выемки выше оси у.

lo1:

Поперечное смещение радиуса или выемки ниже оси у вдоль оси х (position.р[1]).

lo2:

Поперечное смещение радиуса или выемки выше оси у вдоль оси х (position.р[1]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Ширина wi1 должна быть больше 2*wth.

WR3:

Ширина wi2 должна быть больше 2*wth.

WR4:

Ширина wi3 должна быть больше 2*wth.

WR5:

Высота hei должна быть больше 2*wth.

WR6:

Радиус ra1 должен быть больше или равен 0.

WR7:

Радиус ra2 должен быть больше или равен 0.

WR8:

Глубина выемки ch1 должна быть больше или равна 0.

WR9:

Глубина выемки ch2 должна быть больше или равна 0.

WR10:

Радиус ra1 должен быть равен 0, если глубина выемки ch1 больше 0.

WR11:

Радиус ra2 должен быть равен 0, если глубина выемки ch2 больше 0.

WR12:

Глубина выемки ch1 должна быть равна 0, если радиус ra1 больше 0.

WR13:

Глубина выемки ch2 должна быть равна 0, если радиус ra2 больше 0.

WR14:

Поперечное смещение lo1 должно быть больше или равно 0.

WR15:

Поперечное смещение lo2 должно быть больше или равно 0.

WR16:

Поперечное смещение lo1 должно быть равно 0, если поперечное смещение lo2 больше 0.

WR17:

Поперечное смещение lo2 должно быть равно 0, если поперечное смещение lo1 больше 0.

Неформальные утверждения:

IP1:

Радиусы или выемки могут быть указаны для одной или обеих сторон. Значения входных выемок определяют глубину выемок под 45°. Нельзя одновременно указывать значения для радиусов и выемок на одной стороне, указывают либо радиус, либо выемку.

IP2:

Либо lo1 = 0, либо lo2 = 0. Сечения wi2·hei и wi3·hei лежат на конце радиусов или выемок под 45°.

Спецификация в IFC:

Тройники коробов определяются с помощью следующих определений IFC.

Спецификация XSD (IFC):

<xs : element name="IfcRectangularDuctTee" type="ifс:IfcRectangularDuctTee"

substitutionGroup="ifс: IfcCsgPrimitive3D" nillable="true"/>

<xs : complexType name="IfcRectangularDuctTee">

<xs : complexContent>

<xs : extension base="ifс: IfcCsgPrimitive3D">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi3" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="hei" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ch1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ch2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="lo1" type="ifc : IfcLengthMeasure" use="optional"/>

<xs : attribute name="lo2" type="ifc : IfcLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS (IFC):

ENTITY IfcRectangularDuctTee

SUBTYPE OF IfcCsgPrimitive3D;

wth: IfcPositiveLengthMeasure;

wi1: IfcPositiveLengthMeasure;

wi2 : IfcPositiveLengthMeasure;

wi3 : IfcPositiveLengthMeasure;

hei: IfcPositiveLengthMeasure;

ra1: IfcPositiveLengthMeasure;

ra2 : IfcPositiveLengthMeasure;

ch1: IfcPositiveLengthMeasure;

ch2 : IfcPositiveLengthMeasure;

lo1: IfcPositiveLengthMeasure;

lo2 : IfcPositiveLengthMeasure;

END_ENTITY;

А.8 Y-тройник прямоугольного короба

Рисунок А.7 - Y-тройник прямоугольного короба

Идентификатор примитива: "rectangular_duct_wye"

Y-тройник прямоугольного короба - тип обычного примитива КБГ с одной прямоугольной базовой гранью и двумя прямоугольными торцевыми гранями. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевые поверхности могут отображаться как невидимые для выполнения Y-тройника короба из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY rectangular_duct_wye

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth: positive_length_measure;

len: positive_length_measure;

wi1: positive_length_measure;

wi2: positive_length_measure;

wi3: positive_length_measure;

hei: positive_length_measure;

lmx: positive_length_measure;

lmy: length_measure;

lo1: length_measure;

lo2 : length_measure;

WHERE

WR1 : wth >= 0

WR2 : len > 0

WR3 : lmx >= 0

WR4 : lmx <= len

WR5 : lmy <= wi1 + lmx / len * lo2 - wth

WR6 : lmy >= lmx / len * lo1 + wth

WR7 : wi1 > 2 * wth

WR8 : wi2 > 2 * wth

WR9 : wi3 > 2 * wth

WR10 : hei > 2 * wth

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей Y-тройника прямоугольного короба.
rectangular_duct_wye
имеет одну вершину в position.location, а его ребра сонаправлены с положительными направлениями осей.

wth:

Величина толщины стенки тонкого листового металла, образующего Y-тройник короба (position.р[1]).

wi1:

Размер базовой грани Y-тройника прямоугольного короба вдоль оси у (position.р[2]).

wi2:

Размер торцевой грани Y-тройника прямоугольного короба вдоль оси х (position.р[1]) ниже оси у.

wi3:

Размер торцевой грани Y-тройника прямоугольного короба вдоль оси х (position.р[1]) выше оси у.

hei:

Размер базовой грани Y-тройника прямоугольного короба вдоль оси z (position.р[3]).

len

Длина Y-тройника прямоугольного короба по оси х (position.р[1]).

lmx:

Поперечное смещение Y-ветвления ребра по оси х (position.р[1]).

lmy:

Поперечное смещение Y-ветвления ребра по оси у (position.р[2]).

lo1:

Поперечное смещение Y-ветвления ребра ниже и вдоль оси у (position.р[2]).

lo2:

Поперечное смещение Y-ветвления ребра выше и вдоль оси у (position.р[2]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Длина len должна быть больше 0.

WR3:

Длина lmx должна быть меньше или равна len.

WR4:

Длина lmy должна быть меньше или равна wi1+lmx/len*lo2-wth.

WR5:

Длина lmy должна быть больше или равна lmx/len*lo1+wth.

WR6:

Ширина wi1 должна быть больше 2*wth.

WR7:

Ширина wi2 должна быть больше 2*wth.

WR8:

Ширина wi3 должна быть больше 2*wth.

WR9:

Высота hei должна быть больше 2*wth.

Неформальные утверждения:

IP1:

Смещения могут иметь положительные или отрицательные значения по оси у.

IP2:

Y-тройники с ножками разной длины можно создать с помощью примитива rectangle_duct_transition.

Спецификация в IFC:

Y-тройник прямоугольного короба определяется с помощью следующих определений IFC.

Спецификация XSD (IFC):

<xs : element name="IfcRectangularDuctWye" type="ifс: IfcRectangularDuctWye"

substitutionGroup="ifс: IfcCsgPrimitive3D" nillable="true"/>

<xs : complexType name="IfcRectangularDuctWye">

<xs:complexContent>

<xs : extension base="if с: IfcCsgPrimitive3D">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="len" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi3" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="hei" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="lmx" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="lmy" type="ifc : IfcLengthMeasure" use="optional"/>

<xs : attribute name="lo1" type="ifc : IfcLengthMeasure" use="optional"/>

<xs : attribute name="lo2" type="ifc : IfcLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS (IFC):

ENTITY IfcRectangularDuctWye

SUBTYPE OF IfcCsgPrimitive3D;

wth : IfcPositiveLengthMeasure;

len : IfcPositiveLengthMeasure;

wi1 : IfcPositiveLengthMeasure;

wi2 : IfcPositiveLengthMeasure;

wi3 : IfcPositiveLengthMeasure;

hei : IfcPositiveLengthMeasure;

lmx : IfcPositiveLengthMeasure;

lmy : IfcLengthMeasure;

lo1 : IfcLengthMeasure;

lo2 : IfcLengthMeasure;

END_ENTITY;

А.9 Прямоугольный/овальный переходник

Рисунок А.8 - Прямоугольный/овальный переходник

Идентификатор примитива: "rectangle_oval_transition"

Прямоугольный овальный переходник - тип обычного примитива КБГ с прямоугольной базовой гранью и овальной торцевой гранью. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевая поверхность могут отображаться как невидимые для выполнения прямоугольного/овального переходника из тонкого металлического листа.

Спецификация EXPRESS:

*)

ENTITY rectangle_oval_transition

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth: positive_length_measure;

len: positive_length_measure;

wi1: positive_length_measure;

wi2: positive_length_measure;

he1: positive_length_measure;

he2 : positive_length_measure;

lof: length_measure;

vof: length_measure;

WHERE

WR1: wth >= 0

WR2: len > 0

WR3: wi1 > 2*wth

WR4: wi2 > 2*wth

WR5: he1 > 2*wth

WR6: he2 > 2*wth

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для прямоугольного овального переходника.
rectangle_oval_transition
имеет одну вершину в position.location, а его ребра сонаправлены с положительными направлениями осей.

wth:

Размер толщины стенки тонкого листового металла, образующего прямоугольный овальный переходник (position.р[1]).

len:

Размер длины прямоугольного овального переходника по оси х (position.р[1]).

wi1:

Ширина базовой грани прямоугольного овального переходника основания по оси у (position.р[2]).

wi2:

Ширина торцевой грани прямоугольника овального переходника по оси у (position.р[2]).

he1:

Высота базовой грани прямоугольного овального переходника основания вдоль оси z (position.р[3]).

he2:

Высота торцевой грани прямоугольника овального переходника по оси z (position.р[3]).

lof:

Боковое смещение торцевой грани прямоугольного овального переходника вдоль оси у (position.р[2]).

vof:

Вертикальное смещение торцевой грани прямоугольного овального переходника по оси z (position.р[3]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Длина len должна быть больше 0.

WR3:

Ширина wi1 должна быть больше 2*wth.

WR4:

Ширина wi2 должна быть больше 2*wth.

WR5:

Высота he1 должна быть больше 2*wth.

WR6:

Высота he2 должна быть больше 2*wth.

Неформальные утверждения:

IP1:

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

IP2:

Расположение круглых стенок овального сечения зависит от того, какой из двух размеров поперечного сечения меньше (hei2 или wi2).

Спецификация в IFC:

Прямоугольный овальный переходник определяется с помощью следующих определений IFC.

Спецификация XSD (IFC):

<xs : element name="IfcRectangleOvalTransition" type="ifс:IfcRectangleOvalTransition"

substitutionGroup="ifc: IfcCsgPrimitive3D" nillable="true"/>

<xs : complexType name="IfcRectangleOvalTransition">

<xs : complexContent>

<xs : extension base="ifс: IfcCsgPrimitive3D">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="len" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="he1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="he2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="lof " type="ifc: IfcLengthMeasure" use="optional"/>

<xs : attribute name="vof " type="ifc : IfcLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS (IFC):

ENTITY IfcRectangleOvalTransition

SUBTYPE OF IfcCsgPrimitive3D;

wth : IfcPositiveLengthMeasure;

len : IfcPositiveLengthMeasure;

wi1 : IfcPositiveLengthMeasure;

wi2 : IfcPositiveLengthMeasure;

he1 : IfcPositiveLengthMeasure;

he2 : IfcPositiveLengthMeasure;

lof : IfcLengthMeasure;

vof : IfcLengthMeasure;

END_ENTITY;

А.10 Прямоугольный/круглый переходник

Рисунок А.9 - Прямоугольный/круглый переходник

Идентификатор примитива: "rectangle_round_transition"

Прямоугольный/круглый переходник - тип обычного примитива КБГ с прямоугольной базовой гранью и круглой торцевой гранью. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевая поверхность могут отображаться как невидимые для выполнения прямоугольного/круглого переходника из тонкого металлического листа.

Спецификация EXPRESS:

*)

ENTITY rectangle_round_transition

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth : positive_length_measure;

len : positive_length_measure;

wid : positive_length_measure;

hei : positive_length_measure;

rad : positive_length_measure;

lof : length_measure;

vof : length_measure;

WHERE

WR1 : wth >= 0

WR2 : len > 0

WR3 : wid > 2*wth

WR4 : hei > 2*wth

WR5 : rad > wth

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для прямоугольного круглого переходника.
rectangle_round_transition
имеет одну вершину в position.location, а его грани сонаправлены с положительным направлением осей.

wth:

Толщина стенки тонкого листового металла, образующего прямоугольный круглый переходник (position.р[1]).

len:

Длина прямоугольного круглого переходника вдоль оси х (position.р[1]).

wid:

Ширина базовой грани прямоугольного переходника по оси у (position.р[2]).

hei:

Высота базовой грани прямоугольного переходника по оси z (position.р[3]).

rad:

Радиус торцевой грани круглого переходника по оси у (position.р[2]).

lof:

Поперечное смещение торцевой грани круглого переходника по оси у (position.р[2]).

vof:

Вертикальное смещение торцевой грани круглого переходника по оси z (position.р[3]).

Формальные утверждения:

WR1

Толщина стенки wth должна быть больше 0.

WR2

Длина len должна быть больше 0.

WR3

Ширина должна быть больше 2*wth.

WR4

Высота hei должна быть больше 2*wth.

WR5

Радиус rad должен быть больше wth.

Неформальные утверждения:

IP1:

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

Спецификация в IFC:

Прямоугольный круглый переходник определяется с помощью следующих определений IFC.

Спецификация XSD (IFC):

<xs : element name="IfcRectangleRoundTransition" type="ifс:IfcRectangleRoundTransition"

substitutionGroup="ifс : IfcCsgPrimitive3D" nillable="true"/>

<xs : complexType name="IfcRectangleRoundTransition">

<xs:complexContent>

<xs : extension base="ifс : IfcCsgPrimitive3D">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="len" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wid" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="hei" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="rad" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="lof " type="ifc : IfcLengthMeasure" use="optional"/>

<xs : attribute name="vof " type="ifc : IfcLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS (IFC):

ENTITY IfcRectangleRoundTransition

SUBTYPE OF IfcCsgPrimitive3D;

wth: IfcPositiveLengthMeasure;

len: IfcPositiveLengthMeasure;

wid: IfcPositiveLengthMeasure;

hei: IfcPositiveLengthMeasure;

rad: IfcPositiveLengthMeasure;

lof: IfcLengthMeasure;

vof: IfcLengthMeasure;

END_ENTITY;

А.11 Трапециевидный короб

Рисунок А.10 - Трапециевидный короб

Идентификатор примитива: "trapezoidal_duct"

Трапециевидный короб - тип обычного призматического примитива КБГ с трапециевидными базовой и торцевой гранями. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевая поверхность могут отображаться как невидимые для выполнения короба из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY trapezoidal_duct

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth: positive_length_measure;

len: positive_length_measure;

wi1: positive_length_measure;

wi2: positive_length_measure;

hei: positive_length_measure;

tof: length_measure;

WHERE

WR1: wth >= 0

WR2: len > 0

WR3: wi1 > wth*2

WR4: wi2 >= 0

WR5: hei > wth*2

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей трапециевидного короба. trapezoidal_duct имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки тонкого листового металла, образующего короб (position.р[1]).

len:

Длина трапециевидного короба по оси х (position.р[1]).

wi1:

Ширина трапециевидного короба ниже оси z вдоль оси у (position.р[2]).

wi2:

Ширина трапециевидного короба выше оси z вдоль оси у (position.р[2]).

hei:

Высота трапециевидного короба по оси z (position.р[3]).

tof:

Поперечное смещение трапециевидного короба выше оси z вдоль оси у (position.р[2]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Длина len должна быть больше 0.

WR3:

Ширина wi1 должна быть больше 2*wth.

WR4:

Ширина wi2 должна быть больше или равна 0.

WR5:

Высота hei должна быть больше 2*wth.

Неформальные утверждения:

IP1:

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

IP2:

Значение ширины wi2 также может стать нулевым, и в этом случае трапециевидный короб является треугольным.

Спецификация в IFC:

Трапециевидный короб определяется с помощью существующего определения: IfcExtrudedAreaSolid.

Базовая грань определяется как параметризуемый 2D-профиль.

Спецификация XSD 2D-профиля (IFC):

Спецификация XSD:

<xs : element name="IfcTrapeziumHollowProfileDef" type="ifс:IfcTrapeziumHollowProfileDef"

substitutionGroup="ifс : IfcParametrizedProfileDef" nillable="true"/>

<xs : complexType name="IfcTrapeziumHollowProfileDef">

<xs : complexContent>

<xs : extension base="ifс : IfcParametrizedProfileDef">

<xs : attribute name="wth" type="ifc: IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="hei" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="tof " type="ifc : IfcLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS:

ENTITY IfcTrapeziumProfileDef

SUBTYPE OF IfcParametrizedProfileDef;

wth: IfcPositiveLengthMeasure;

wi1: IfcPositiveLengthMeasure;

wi2: IfcPositiveLengthMeasure;

hei: IfcPositiveLengthMeasure;

tof: IfcLengthMeasure;

END_ENTITY;

А.12 Переходник трапециевидного короба

Рисунок А.11 - Переходник трапециевидного короба

Идентификатор примитива: "trapezoidal_duct_transition"

Переходник трапециевидного короба - тип обычного примитива КБГ с трапециевидными базовой и торцевой гранями. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевая поверхность могут отображаться как невидимые для выполнения переходника короба из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY trapezoidal_duct_transition

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth : positive_length_measure;

len : positive_length_measure;

wi1 : positive_length_measure;

wi2 : positive_length_measure;

wi3 : positive_length_measure;

he1 : positive_length_measure;

he2 : positive_length_measure;

lof : length_measure;

vof : length_measure;

WHERE

WR1 : wth >= 0

WR2 : len > 0

WR3 : wi1 > 2*wth

WR4 : wi2 >= 0

WR5 : wi3 > 2*wth

WR6 : wi1 <= wi2 + wi3 * he1 / he2

WR7 : wi2 >= wi1 - wi3 * he1 / he2

WR8 : wi3 >= (wi1 - wi2 ) * he2 / he1

WR9 : he1 >= he2 * (wi1 - wi2) / wi3

WR10 : he2 <= he1 * wi3 / (wi1 - wi2 )

WR11 : he1 > 2*wth

WR12 : he2 > 2*wth

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для переходника трапециевидного короба.
trapezoidal_duct_transition
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки тонкого листового металла, образующего переходник трапециевидного короба (position.р[1]).

len:

Длина переходника трапециевидного короба по оси х (position.р[1]).

wi1:

Ширина базовой грани переходника трапециевидного короба ниже оси z вдоль оси у (position.р[2]).

wi2:

Ширина базовой грани переходника трапециевидного короба выше оси z вдоль оси у (position.р[2]).

wi3:

Ширина торцевой грани переходника трапециевидного короба ниже оси z вдоль оси у (position.р[2]).

he1:

Высота базовой грани переходника трапециевидного короба вдоль оси z (position.р[3]).

he2:

Высота торцевой грани переходника трапециевидного короба вдоль оси z (position.р[3]).

tof:

Поперечное смещение трапециевидного переходника выше оси z вдоль оси у (position.р[2]).

lof:

Поперечное смещение торцевой грани переходника трапециевидного короба вдоль оси у (position.р[2]).

vof:

Вертикальное смещение торцевой грани переходника трапециевидного короба вдоль оси z (position.р[3]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Длина len должна быть больше 0.

WR3:

Ширина wi1 должна быть больше 2*wth.

WR4:

Ширина wi2 должна быть больше или равна 0.

WR5:

Ширина wi3 должна быть больше 2*wth.

WR6-WR10:

Неравенства в WR6-WR10 представляют собой преобразования одного единственного неравенства, которое показывает, что две боковые поверхности не пересекаются.

WR11:

Высота he1 должна быть больше 2*wth.

WR12:

Высота he2 должна быть больше 2*wth.

Неформальные утверждения:

IP1:

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

Спецификация в IFC:

Переходник трапециевидного короба определяется с помощью существующих определений IFC.

trapezoidal_duct_transition определяется как:

IfcExtrudedAreaSolid

Базовая грань - это параметризованный 2D-профиль:

IfcTrapeziumHollowProfileDef (см. А.10)

Включено преобразование начальной грани с помощью:

IfcDerivedProfileDef

lfcCartesianTransformationOperator2D

А.13 Овальный короб

Рисунок А.12 - Овальный короб

Идентификатор примитива: "oval_duct"

Овальный короб - тип обычного призматического примитива КБГ с овальной базовой гранью. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевая поверхность могут отображаться как невидимые для выполнения короба из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY oval_duct

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth: positive_length_measure;

len: positive_length_measure;

wid: positive_length_measure;

hei: positive_length_measure;

WHERE

WR1: wth > 0

WR2: len > 0

WR3: wid > 2*wth

WR4: hei > 2*wth

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей овального короба.
Oval_duct
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки тонкого листового металла, образующего овальный короб (position.р[1]).

len:

Длина овального короба по оси х (position.р[1]).

wid:

Ширина овального короба по оси у (position.р[2]).

hei:

Высота овального короба по оси z (position.р[3]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Длина len должна быть больше 0.

WR3:

Ширина должна быть больше 2*wth.

WR4:

Высота hei должна быть больше 2*wth.

Неформальные утверждения:

IP1:

Ориентация овала определяется размером hei или wid, в зависимости от того, какое абсолютное значение больше.

|hei| > |wid| вертикальный овал

|hei| < |wid| горизонтальный овал

Спецификация в IFC:

Oval_duct определяется с помощью существующего определения: IfcExtrudedAreaSolid

Базовая грань определяется как параметризуемый 2D-профиль.

Спецификация XSD 2D-профиля (IFC):

Спецификация XSD:

<xs : element name="IfcOvalHollowProfileDef " type="ifс: IfcOvalHollowProfileDef"

substitutionGroup="ifc: IfcParametrizedProfileDef" nillable="true"/>

<xs : complexType name="IfcOvalHollowProfileDef">

<xs:complexContent>

<xs : extension base="ifc : IfcParametrizedProfileDef">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wid" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="hei" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS:

ENTITY IfcTrapeziumProfileDef

SUBTYPE OF IfcParametrizedProfileDef;

wth : IfcPositiveLengthMeasure;

wid : IfcPositiveLengthMeasure;

hei : IfcPositiveLengthMeasure;

END_ENTITY;

А.14 Переходник овального короба

Рисунок А.13 - Переходник овального короба

Идентификатор примитива: "oval_duct_transition"

Переходник овального короба - тип обычного примитива КБГ с овальными базовой и торцевой гранями. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевая поверхность могут отображаться как невидимые для выполнения переходника короба из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY oval_duct_transition

SUBTYPE OF (geometric_representation_item);

position : axis2_placement_3d;

wth : positive_length_measure;

len : positive_length_measure;

wi1 : positive_length_measure;

wi2 : positive_length_measure;

he1 : positive_length_measure;

he2 : positive_length_measure;

lof : length_measure;

vof : length_measure;

WHERE

WR1 : wth >= 0

WR2 : len > 0

WR3 : wi1 > 2*wth

WR4 : wi2 > 2*wth

WR5 : he1 > 2*wth

WR6 : he2 > 2*wth

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для переходника овального короба.
Oval_duct_transition
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки тонкого листового металла, образующего переходник короба (position.р[1]).

len:

Длина переходника овального короба вдоль оси х (position.р[1]).

wi1:

Ширина базовой грани переходника овального короба вдоль оси у (position.р[2]).

wi2:

Ширина торцевой грани переходника овального короба вдоль оси у (position.р[2]).

he1:

Высоты базовой грани переходника овального короба вдоль оси z (position.р[3]).

he2:

Высоты торцевой грани переходника овального короба вдоль оси z (position.р[3]).

lof:

Поперечное смещение торцевой грани переходника овального короба вдоль оси у (position.р[2]).

vof:

Вертикальное смещение торцевой грани переходника овального короба вдоль оси z (position.р[3]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Длина len должна быть больше 0.

WR3:

Ширина wi1 должна быть больше 2*wth.

WR4:

Ширина wi2 должна быть больше 2*wth.

WR5:

Высота he1 должна быть больше 2*wth.

WR6:

Высота he2 должна быть больше 2*wth.

Неформальные утверждения:

IP1:

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

IP2:

Ориентации овалов определяются в зависимости от наибольшего абсолютного значения размеров he1 или wi1 и he2 или wi2 соответственно.

Спецификация в IFC:

Переходник трапециевидного короба определяется с помощью существующих определений IFC.

Oval_duct_transition определяется как:

IfcExtrudedAreaSolid

Базовая грань - это параметризованный 2D-профиль:

IfcOvalHollowProfileDef (см. А.12)

Включено преобразование начальной грани с помощью:

IfcDerivedProfileDef

lfcCartesianTransformationOperator2D

А.15 Изгиб овального короба

Рисунок А.14 - Изгиб овального короба

Идентификатор примитива: "oval_duct_bend"

Изгиб овального короба - тип обычного примитива КБГ с овальными базовой и торцевой гранями. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевая поверхность могут отображаться как невидимые для выполнения изгиба короба из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY oval_duct_bend

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth : positive_length_measure;

ang : positive_plane_angle_measure;

wi1 : positive_length_measure;

wi2 : positive_length_measure;

hei : positive_length_measure;

ra1 : positive_length_measure;

ra2 : positive_length_measure;

WHERE

WR1 : wth >= 0

WR2 : len > 0

WR3 : ang > 0

WR4 : ang< 360

WR5 : wi1 > 2*wth

WR6 : wi2 > 2*wth

WR7 : hei > 2*wth

WR8 : ra1 >= 0

WR9 : ra2 > ra1+2*wth

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для изгиба овального короба.
Oval_duct_bend
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки тонкого листового металла, образующего изгиб короба (position.р[1]).

ang:

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

wi1:

Размер базовой грани изгиба овального короба вдоль оси у (position.р[2]).

wi2:

Размер торцевой грани изгиба овального короба в плоскости х-у.

hei:

Размер базовой грани изгиба овального короба вдоль оси z (position.р[3]).

ra1:

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

ra2:

Радиус закругления на внешней стороне изгиба воздуховода.

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Угол ang должен быть больше 0.

WR3:

Угол ang должен быть меньше или равен 360.

WR4:

Ширина wi1 должна быть больше 2*wth.

WR5:

Ширина wi2 должна быть больше 2*wth.

WR6:

Высота hei должна быть больше 2*wth.

WR7:

Радиус ra1 должен быть больше 0.

WR8:

Радиус ra2 должен быть больше ra1+2*wth.

Неформальные утверждения:

IP1:

При углах поворота от 180° до 360° любое значение, указанное для ra2, будет игнорироваться. ra2 рассчитывается как наименьшая касательная окружность на внешних стенках изгиба короба.

IP2:

Сечение wi2hei расположено в конце изгиба круга, имеющего радиус ra2 или ra1.

IP3:

Ориентации овалов определяются в зависимости от наибольшего абсолютного значения размеров hei или wi1 и hei или wi2 соответственно.

Спецификация в IFC:

Oval_duct_bend определяется с помощью следующих определений IFC.

Спецификация XSD (IFC):

<xs : element name="IfcOvalDuctBend" type="ifс : OvalDuctBend"

substitutionGroup="ifс : IfcCsgPrimitive3D" nillable="true"/>

<xs : complexType name="IfcOvalDuctBend">

<xs : complexContent>

<xs : extension base="ifc : IfcCsgPrimitive3D">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ang" type="ifc : IfcPlaneAngleMeasure" use="optional"/>

<xs : attribute name="wi1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wi2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="hei" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS (IFC):

ENTITY IfcOvalDuctBend

SUBTYPE OF IfcCsgPrimitive3D;

wth: IfcPositiveLengthMeasure;

ang: IfclfcPlaneAngleMeasure;

wi1: IfcPositiveLengthMeasure;

wi2: IfcPositiveLengthMeasure;

hei: IfcPositiveLengthMeasure;

ra1: IfcPositiveLengthMeasure;

ra2 : IfcPositiveLengthMeasure;

END_ENTITY;

А.16 Овальный/круглый переходник

Рисунок А.15 - Овальный/круглый переходник

Идентификатор примитива: "oval_round_transition"

Овальный/круглый переходник - тип обычного примитива КБГ с прямоугольной базовой гранью и круглой торцевой гранью. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевая поверхность могут отображаться как невидимые для выполнения прямоугольного/круглого переходника из тонкого металлического листа.

Спецификация EXPRESS:

*)

ENTITY oval_round_transition

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth : positive_length_measure;

len : positive_length_measure;

wid : positive_length_measure;

hei : positive_length_measure;

rad : positive_length_measure;

lof : length_measure;

vof : length_measure;

WHERE

WR1 : wth >= 0

WR2 : len > 0

WR3 : wid > 2*wth

WR4 : hei > 2*wth

WR5 : rad > wth

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для овального/круглого переходника.
Oval_round_transition
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки тонкого листового металла, образующего овальный/круглый переходник (position. р[1]).

len:

Длины овального/круглого переходника по оси х (position.р[1]).

wid:

Ширина базовой грани овального/круглого переходника по оси у (position.р[2]).

hei:

Высота базовой грани овального/круглого переходника вдоль оси z (position.р[3]).

rad:

Радиус торцевой грани круглого переходника по оси у (position.р[2]).

lof:

Поперечное смещение торцевой грани круглого переходника по оси у (position.р[2]).

vof:

Вертикальное смещение торцевой грани круглого переходника по оси z (position.р[3]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше или равна 0.

WR2:

Длина len должна быть больше 0.

WR3:

Ширина должна быть больше 2*wth.

WR4:

Высота hei должна быть больше 2*wth.

WR5:

Радиус rad должен быть больше wth.

Неформальные утверждения:

IP1:

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

IP2:

Ориентации овалов определяются в зависимости от наибольшего абсолютного значения размеров hei или wid.

Спецификация в IFC:

Oval_round_transition определяется с помощью следующих определений IFC.

Спецификация XSD (IFC):

<xs : element name="IfcOvalRoundTransition" type="ifс:IfcOvalRoundTransition"

substitutionGroup="ifc: IfcCsgPrimitive3D" nillable="true"/>

<xs : complexType name="IfcOvalRoundTransition">

<xs : complexContent>

<xs : extension base="ifс: IfcCsgPrimitive3D">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="len" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wid" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="hei" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="rad" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="lof " type="ifc : IfcLengthMeasure" use="optional"/>

<xs : attribute name="vof " type="ifc : IfcLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS (IFC):

ENTITY IfcOvalRoundTransition

SUBTYPE OF IfcCsgPrimitive3D;

wth : IfcPositiveLengthMeasure;

len : IfcPositiveLengthMeasure;

wid : IfcPositiveLengthMeasure;

hei : IfcPositiveLengthMeasure;

rad : IfcPositiveLengthMeasure;

lof : IfcLengthMeasure;

vof : IfcLengthMeasure;

END_ENTITY;

А.17 Круглая труба

Рисунок А.16 - Круглая труба

Идентификатор примитива: "round_pipe"

Круглая труба - тип обычного призматического примитива КБГ с круглой базовой гранью. Его поведение при логических операциях такое же, как и у правильного круглого цилиндра. Основание и торцевая поверхность могут отображаться как невидимые для выполнения труб из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY round_pipe

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth : positive_length_measure;

len : positive_length_measure;

rad : positive_length_measure;

WHERE

WR1 : wth >= 0

WR2 : len > 0

WR3 : rad > wth

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей круглой трубы.
round_pipe
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей. Центральной осью трубы является ось х.

wth:

Толщина стенки тонкого листового металла, образующего круглую трубу (position.р[1]).

len:

Длина круглой трубы по оси х (position.р[1]).

rad:

Радиус круглой трубы по оси у (position.р[2]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Длина len должна быть больше 0.

WR3:

Радиус rad должен быть больше wth.

Спецификация в IFC:

round_pipe определяется с помощью существующих определений IFC.

round_pipe определяется как:

IfcExtrudedAreaSolid

Базовая грань - это параметризованный 2D-профиль:

IfcCircleHollowProfileDef

А.18 Переходник круглой трубы

Рисунок А.17 - Переходник круглой трубы

Идентификатор примитива: "round_pipe_transition"

Переходник круглой трубы - тип обычного примитива КБГ с круглыми базовой и торцевой гранями. Его поведение при логических операциях такое же, как и у эксцентричного конуса. Основание и торцевая поверхность могут отображаться как невидимые для выполнения переходника круглой трубы из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY round_pipe_transition

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth: positive_length_measure;

len: positive_length_measure;

ra1: positive_length_measure;

ra2 : positive_length_measure;

lof: length_measure;

vof: length_measure;

WHERE

WR1: wth >= 0

WR2: len > 0

WR3: ra1 > wth

WR4: ra2 > wth

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей переходника круглой трубы.
round_pipe_transition имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки тонкого листового металла, образующего переходник круглой трубы (position.р[1]).

len:

Длина переходника круглой трубы по оси х (position.р[1]).

ra1:

Высота базовой грани переходника круглой трубы вдоль оси у (position.р[2]).

ra2:

Радиус торцевой грани круглого переходника по оси у (position.р[2]).

lof:

Поперечное смещение торцевой грани круглого переходника вдоль оси у (position.р[2]).

vof:

Вертикальное смещение торцевой грани круглого переходника вдоль оси z (position.р[3]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Длина len должна быть больше 0.

WR3:

Радиус ra1 должен быть больше wth.

WR4:

Радиус ra2 должен быть больше wth.

Неформальные утверждения:

IP1:

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

Спецификация в IFC:

Переходник круглой трубы определяется с помощью существующих определений IFC.

Round_pipe_transition определяется как:

IfcExtrudedAreaSolid

Базовая грань - это параметризованный 2D-профиль:

IfcCircleHollowProfileDef

Включено преобразование начальной грани с помощью:

IfcDerivedProfileDef

lfcCartesianTransformationOperator2D

А.19 Радиальный переходник круглой трубы

Рисунок А.18 - Радиальный переходник круглой трубы

Идентификатор примитива: "round_pipe_radius_transition"

Радиальный переходник круглой трубы - это тип обычного примитива КБГ с круглыми базовой и торцевой гранями. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевая поверхность могут отображаться как невидимые для выполнения переходника круглой трубы из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY round_pipe_radius_transition

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth : positive_length_measure;

len : positive_length_measure;

ra1 : positive_length_measure;

ra2 : positive_length_measure;

ra3 : length_measure;

WHERE

WR1 : wth >= 0

WR2 : len > 0

WR3 : ra1 > wth

WR4 : ra2 > wth

WR5 : ABS (ra3) > 0.5 * ( (ra2 -ra1) ^2 + len ^2) ^0.5

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для переходника круглой трубы.
round_pipe_radius_transition
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки тонкого листового металла, образующего радиальный переходник круглой трубы (position.р[1]).

len:

Длина радиального переходника круглой трубы вдоль оси х (position.р[1]).

ra1:

Высота базовой грани радиального переходника круглой трубы вдоль оси z (position.р[3]).

ra2:

Радиус торцевой грани радиального переходника круглой трубы по оси у (position.р[2]).

ra3:

Радиус между базовой и торцевой гранями радиального переходника круглой трубы вдоль оси у (position.р[2]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Длина len должна быть больше 0.

WR3:

Радиус ra1 должен быть больше wth.

WR4:

Радиус ra2 должен быть больше wth.

WR5:

Радиус ra3 строится как положительная (вогнутая) или отрицательная (выпуклая) дуга окружности между точками, определенными ra1, ra2 и len (основная геометрическая задача: заданы две точки и радиус окружности).

Следовательно, абсолютное значение ra3 не должно быть меньше половины расстояния между точками:

.

Спецификация в IFC:

round_pipe_radius_transition определяется с помощью следующих определений IFC.

Спецификация XSD (IFC):

<xs : element name="IfcRoundPipeRadiusTransition" type="ifс:IfcRoundPipeRadiusTransition"

substitutionGroup="ifc : IfcCsgPrimitive3D" nillable="true"/>

<xs : complexType name="IfcRoundPipeRadiusTransition">

<xs : complexContent>

<xs : extension base="ifc : IfcCsgPrimitive3D">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="len" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="wid" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra3" type="ifc : IfcLengthMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS (IFC):

ENTITY IfcOvalRoundTransition

SUBTYPE OF IfcCsgPrimitive3D;

wth: IfcPositiveLengthMeasure;

len : IfcPositiveLengthMeasure;

ra1 : IfcPositiveLengthMeasure;

ra2 : IfcPositiveLengthMeasure;

ra3 : IfcLengthMeasure;

END_ENTITY;

А.20 Изогнутый переходник круглой трубы

Рисунок А.19 - Изогнутый переходник круглой трубы

Идентификатор примитива: "round_pipe_bend_transition"

Изогнутый переходник круглой трубы - тип примитива КБГ с круглыми базовой и торцевой гранями. Направляющая - отрезок окружности, лежащий в плоскости х-у, с центром на положительной оси у.

Поперечное сечение плоскости, перпендикулярной плоскости, проходящей через направляющую и ее центральную точку, всегда является окружностью. Радиусы всех этих окружностей - это конусы на развернутой длине направляющей.

Спецификация EXPRESS:

*)

ENTITY round_pipe_bend_transition

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth : positive_length_measure:

ram : positive_length_measure;

ra1 : positive_length_measure;

ra2 : positive_length_measure;

ang : plane_angle_measure;

WHERE

WR1: wth > 0

WR2 : ram >= MAX (ra1, ra2)

WR3 : ra1 >= wth

WR4 : ra2 >= wth

WR5 : ang > 0

WR6 : ang<= 360

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей для изогнутого переходника круглой трубы.

Базовая круглая грань round_pipe_bend_transition имеет центр в position.location, а центр направляющей лежит на оси у.

wth:

Толщина стенки тонкого листового металла, образующего изогнутый переходник круглой трубы (position.р[1]).

ram:

Радиус (главный радиус) направляющей.

ra1:

Радиус стартовой грани, параллельной плоскости у-z.

ra2:

Радиус торцевой грани.

ang:

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

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Радиус ram должен быть больше или равен максимуму из ra1 и ra2.

WR3:

Радиус ra1 должен быть больше или равен wth.

WR4:

Радиус ra2 должен быть больше или равен wth.

WR5:

Угол ang должен быть больше 0.

WR6:

Угол наклона должен быть меньше или равен 360°.

Неформальные утверждения:

IP1:

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

IP2:

Изгиб тора с углом поворота 360° является замкнутым тором.

Спецификация в IFC:

round_pipe_bend_transition определяются с помощью существующих определений IFC.

round_pipe_bend_transition определяется как:

IfcRevolvedAreaSolid

Базовая грань - это параметризованный 2D-профиль:

IfcHollowCircleProfileDef

Базовая грань преобразовывается с помощью:

IfcDerivedProfileDef

lfcCartesianTransformationOperator2D

А.21 Y-тройник круглой трубы

Рисунок А.20 - Y-тройник круглой трубы

Идентификатор примитива: "round_pipe_wye"

Y-тройник круглой трубы - тип обычного примитива КБГ с одной круглой базовой гранью и двумя круглыми торцевыми гранями. Его поведение при логических операциях такое же, как и у твердотельного примитива. Основание и торцевые поверхности могут отображаться как невидимые для выполнения Y-тройника круглой трубы из тонкого листового металла.

Спецификация EXPRESS:

*)

ENTITY round_pipe_wye

SUBTYPE OF (geometric_representation_item);

position: axis2_placement_3d;

wth: positive_length_measure;

ra1 : positive_length_measure;

ra2 : positive_length_measure;

ra3 : positive_length_measure;

le1 : positive_length_measure;

le2 : positive_length_measure;

an1 : plane_angle_measure;

an2 : plane_angle_measure;

WHERE

WR1: wth > 0

WR2 : ra1 >= wth

WR3 : ra2 >= wth

WR4 : ra3 >= wth

WR5 : le1 > 0

WR6 : le2 > 0

WR7 : an1 > -90

WR8 : an1 < 90

WR9 : an2 > -90

WR10 : an2 < 90

END_ENTITY;

(*

Определения атрибутов:

position:

Положение и ориентация системы координатных осей Y-тройника круглой трубы.
round_pipe_wye
имеет одну вершину в position.location, а его ребра сонаправлены с положительным направлением осей.

wth:

Толщина стенки тонкого листового металла, образующего Y-тройник круглой трубы (position.р[1]).

ra1:

Радиус базовой грани Y-тройника круглой трубы по оси у (position.р[2]).

ra2:

Радиус торцевой грани Y-тройника круглой трубы по оси х (position.р[1]) ниже оси у.

ra3:

Радиус торцевой грани Y-тройника круглой трубы по оси х (position.р[1]) выше оси у.

Ie1:

Длина торцевой грани Y-тройника круглой трубы по оси х (position.р[1]) ниже оси у.

Ie2:

Длина торцевой грани Y-тройника круглой трубы по оси х (position.р[1]) выше оси у.

an1:

Угол между ветвью Y-тройника круглой трубы ниже оси у и осью х (position.р[1]).

an2:

Угол между ветвью Y-тройника круглой трубы выше оси у и осью х (position.р[1]).

Формальные утверждения:

WR1:

Толщина стенки wth должна быть больше 0.

WR2:

Радиус ra1 должен быть больше или равен 0.

WR3:

Радиус ra2 должен быть больше или равен 0.

WR4:

Радиус ra3 должен быть больше или равен 0.

WR5:

Длина le1 должна быть больше 0.

WR6:

Длина Ie2 должна быть больше 0.

WR7:

Угол an1 должен быть больше -90.

WR8:

Угол an1 должен быть меньше 90.

WR9:

Угол an2 должен быть больше -90.

WR10:

Угол an2 должен быть меньше 90.

Неформальные утверждения:

IP1:

Смещения могут быть определены положительными или отрицательными значениями по оси у. Y-тройники с ветвями разной длины можно создать с помощью примитива round_pipe_transition.

IP2:

Углы к осям конических ветвей начинают строиться от оси х вправо и влево соответственно. Они также могут быть введены как отрицательные значения.

Спецификация в IFC:

round_pipe_wye определяется с помощью следующих определений IFC.

Спецификация XSD (IFC):

<xs : element name="IfcRoundPipeWye" type="ifc : IfcRoundPipeWye"

substitutionGroup="ifс : IfcCsgPrimitive3D" nillable="true"/>

<xs : complexType name=" IfcRoundPipeWye">

<xs :complexContent>

<xs : extension base="ifc : IfcCsgPrimitive3D">

<xs : attribute name="wth" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="ra3" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="le1" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="le2" type="ifc : IfcPositiveLengthMeasure" use="optional"/>

<xs : attribute name="an1" type="ifc : IfcPlaneAngleMeasure" use="optional"/>

<xs : attribute name="an2" type="ifc : IfcPlaneAngleMeasure" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

Спецификация EXPRESS (IFC):

ENTITY IfcRoundPipeWye

SUBTYPE OF IfcCsgPrimitive3D;

wth: IfcPositiveLengthMeasure;

ra1 : IfcPositiveLengthMeasure;

ra2 : IfcPositiveLengthMeasure;

ra3 : IfcPositiveLengthMeasure;

le1 : IfcPositiveLengthMeasure;

le2 : IfcPositiveLengthMeasure;

an1 : IfcPlaneAngleMeasure;

an2 : IfcPlaneAngleMeasure;

END_ENTITY;

А.22 Выдавленная грань короба

1 - направление выдавливания

Рисунок А.21 - Выдавленная грань короба

Идентификатор примитива: "extruded_face_duct"

Выдавленная грань короба - твердое тело, определяемое с помощью выдавливания плоской грани. Направление выдавливания определяется вектором выдавливания, а расстояние выдавливания определяется глубиной. Плоская грань может не иметь никаких отверстий.

Спецификация EXPRESS:

*)

ENTITY extruded_face_duct

SUBTYPE OF (swept_face_solid);

wth: positive_length_measure;

DERIVE

extruded_direction: direction;

depth: positive_length_measure;

WHERE

WR1:

dot_product((SELF\swept_face_solid.swept_face.face_geometry\elementary_surface.

position.p[3]), extruded_direction) <>0.0;

END_ENTITY;

(*

Определения атрибутов:

SELF\swept_face_solid.swept_face:

Грань, которая будет выдавлена для создания твердого тела.

wth:

Толщина стенки тонкого листового металла, образующего выдавленную грань короба (position.р[1]).

extruded_direction:

Направление, в котором должна быть выдавлена грань.

depth:

Расстояние, на которое должна быть выдавлена грань.

Неформальные утверждения:

IP1:

Направление выдавливания не должно быть перпендикулярно нормали к плоскости выдавливаемой грани.

А.23 Вращение грани короба

1 - ось вращения

Рисунок А.22 - Вращение грани короба

Идентификатор примитива: "revolved_face_duct"

Вращение грани короба - это тело вращения, образованное поворотом плоской грани вокруг оси. Ось должна находиться в плоскости грани и не должна пересекать внутреннюю часть грани. Плоская грань может не иметь никаких отверстий. Направление вращения по часовой стрелке, если смотреть вдоль положительного направления оси. Точнее, если A - это местоположение оси, a d - это направление оси, а C - это дуга на поверхности вращения, созданная произвольной точкой р на границе грани, то С оставляет р в направлении d(р-А), как повернутую грань.

Спецификация EXPRESS:

*)

ENTITY revolved_face_solid

SUBTYPE OF (swept_face_solid);

axis: axis1_placement;

wth: positive_length_measure;

angle: plane_angle_measure;

DERIVE

axis_line:line: =representation_item(") | |

geometric_representation_item () | | curve () | |

line (axis.location, representation_item (") | |

geometric_representation_item() | |

vector (axis.z, 1.0));

END_ENTITY;

(*

Определения атрибутов:

SELF\swept_face_solid.swept_face:

Грань, которая будет вращаться для создания твердого тела.

wth:

Толщина стенки тонкого листового металла, образующего duct_wye (position.р[1]).

axis_line:

Ось, вокруг которой произойдет вращение.

angle:

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

axis_line:

Ось вращения.

Неформальные утверждения:

IP1:

axis_line должна лежать в плоскости атрибута swept_face супертипа swept_face_solid.

IP2:

axis_line не должна пересекать внутреннюю часть Swept_face.

IP3:

angle должен лежать в диапазоне 0° < angle 360°.

IP4:

Если угол поворота равен 0°, вращение грани короба считается геометрически несуществующим.

УДК 004.9:006.354

ОКС 35.240.01
35.240.67

Ключевые слова: информационное моделирование, электронные каталоги продуктов, проектирование, инженерное обеспечение

Электронный текст документа

и сверен по:

, 2020